15%

Economisește 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul:

Skills
Începeți
02.09.2025

Cum să listezi directoare în Linux: Un ghid complet pentru începători și administratori de sistem

Lucrul în Linux adesea se simte ca navigarea într-o bibliotecă vastă. În loc de rafturi, ai directoare (foldere), și în loc de cărți, ai fișiere. Indiferent dacă ești un administrator de sistem experimentat, un dezvoltator, sau un începător curios care tocmai a început, stăpânirea fundamentelor navigării în sistemul de fișiere este obligatorie. Una dintre cele mai critice abilități fundamentale este știind cum să listezi directoarele eficient și precis.

Acest ghid te ghidează prin fiecare metodă practică pentru listarea directoarelor în Linux, explică punctele forte și limitările fiecărei abordări, și te arată exact când să folosești care instrument — inclusiv în mediile de scripting și servere de producție.

De ce contează listarea directoarelor

Pe un computer personal, s-ar putea să răsfoiești ocazional folderul tău „Documente” sau „Descărcări” printr-o interfață grafică. Pe un server Linux, totuși, directoarele sunt la inima aproape fiecărei sarcini administrative pe care o vei efectua:

  • Administrarea sistemului: Auditează rapid ce se află în /etc/, /var/log/, sau /usr/local/bin/.
  • Găzduire web: Localizează și gestionează folderele de proiecte sub /var/www/ sau /home/.
  • Dezvoltare software: Identifică directoarele de control al versiunilor și mediu, cum ar fi .git/ sau .venv/.
  • Auditarea securității: Confirmă exact ce este instalat, configurat și rulează pe sistem.
  • Automatizare și scripting: Enumerează în mod fiabil directoarele pentru utilizare în scripturi shell și joburi cron.

Dacă nu poți lista directoarele eficient, vei simți întotdeauna dezorientare — mai ales într-un mediu VPS la distanță unde nu ai un manager de fișiere grafic pe care să te bazezi.

Metoda 1: Comanda ls — Rapidă și simplă

Comanda ls este instrumentul implicit pentru afișarea conținutului unui director. Este prima comandă pe care o învață majoritatea utilizatorilor Linux, și din bună dreptate: este rapidă, ușor de citit, și disponibilă pe fiecare sistem asemănător Unix.

Utilizare de bază

ls

Aceasta listează toate fișierele și directoarele non-ascunse din directorul de lucru curent.

Listează doar directoarele

ls -d */

Iată ce face fiecare parte:

  • -d — Spune ls să nu coboare în subdirectoare, ci să listeze intrările de director în sine.
  • */ — Un model glob shell care se potrivește cu toate directoarele (și legăturile simbolice către directoare) din folderul curent.

Listează directoarele cu informații detaliate

ls -ld */

Adăugarea -l îți dă un format de listare lungă care include:

  • Permisiuni de fișier
  • Numărul de linkuri hard
  • Proprietar și grup
  • Dimensiunea fișierului
  • Marca de timp a ultimei modificări

Exemplu de ieșire:

drwxr-xr-x 3 root root 4096 Jun 10 14:22 backups/
drwxr-xr-x 5 www-data www-data 4096 Jun 12 09:15 html/
drwxr-xr-x 2 deploy deploy 4096 Jun 11 18:03 logs/

Limitare: Directoarele ascunse sunt excluse

Globul */ nu se potrivește cu directoarele ascunse — cele ale căror nume încep cu un punct (.), cum ar fi .git/, .ssh/, sau .config/. Aceasta este o avertizare importantă, mai ales în mediile sensibile la securitate.

Când să folosești ls -d */: Verificări rapide și interactive unde ai nevoie doar de directoare vizibile și nu necesită fiabilitate de scripting.

Metoda 2: Comanda find — Puternică și fiabilă

Comanda find este alegerea profesionistului pentru enumerarea directoarelor. Spre deosebire de ls, este proiectată pentru utilizare programatică, suportă traversare recursivă, include directoare ascunse în mod implicit, și se comportă în mod consistent pe diferite distribuții Linux și localizări.

Listează toate directoarele recursiv

find . -type d
  • . — Începe din directorul curent.
  • -type d — Se potrivește doar cu intrări de director (nu fișiere, symlink-uri, sau alte tipuri).

Aceasta va lista recursiv fiecare director la fiecare nivel de adâncime sub locația ta curentă.

Listează doar directoarele de nivel superior (metoda portabilă)

find . -mindepth 1 -maxdepth 1 -type d
  • -mindepth 1 — Exclude directorul curent în sine (.) din rezultate.
  • -maxdepth 1 — Previne recursiunea dincolo de copiii imediate.

Aceasta este cea mai portabilă și fiabilă modalitate de a lista doar subdirectoarele directe ale folderului curent, și funcționează identic pe sistemele GNU/Linux, macOS și BSD.

Alternativă pentru sistemele GNU/Linux

Pe majoritatea distribuțiilor Linux moderne — inclusiv pe cele care rulează pe Servere dedicate — poți folosi și:

find . -maxdepth 1 -type d

Rețineți că aceasta va include . în sine în ieșire. Folosiți -mindepth 1 alături de -maxdepth 1 pentru a o exclude curat.

Include directoare ascunse

Deoarece find nu se bazează pe glob-uri shell, include automat directoare ascunse:

find . -mindepth 1 -maxdepth 1 -type d

Aceasta va arăta .git/, .ssh/, .config/, și orice alte directoare cu prefix punct alături de cele vizibile.

Folosiți find în scripturi

find este instrumentul corect pentru scripting shell deoarece:

  • Gestionează în siguranță numele de fișiere cu spații și caractere speciale.
  • Nu este afectat de setările de localizare sau configurațiile de culoare ale terminalului.
  • Produce ieșire consistentă și analizabilă.

Exemplu: Buclă peste toate directoarele de nivel superior

find . -mindepth 1 -maxdepth 1 -type d | while read -r dir; do
    echo "Processing: $dir"
done

Când să folosești find: Oricând ai nevoie de directoare ascunse incluse, rezultate recursive, sau ieșire fiabilă pentru scripting și automatizare.

Metoda 3: Comanda tree — Hărți vizuale de directoare

Comanda tree redă o hartă vizuală și ierarhică a structurii directorului tău. Nu este instalată în mod implicit pe toate distribuțiile, dar este extrem de utilă pentru documentație, onboarding și înțelegerea aspectelor complexe ale proiectelor.

Instalează tree

Debian/Ubuntu:

sudo apt install tree

CentOS/RHEL/AlmaLinux:

sudo yum install tree

Listează doar directoarele (fără fișiere)

tree -d

Limitează adâncimea pentru a evita ieșirea copleșitoare

tree -d -L 2
  • -d — Arată doar directoare.
  • -L 2 — Limitează afișajul la 2 niveluri de adâncime.

Exemplu de ieșire:

.
├── backups
│   └── daily
├── html
│   ├── assets
│   └── uploads
└── logs

Include directoare ascunse

tree -d -a

Când să folosești tree: Vizualizarea structurilor de proiecte, scrierea documentației, sau explorarea unui aspect de server necunoscut pentru prima dată.

Metoda 4: De ce ar trebui să eviți ls -l | grep "^d"

Vei întâlni ocazional acest model sugerat online:

ls -l | grep "^d"

Ideea este să filtrezi ieșirea listării lungi a ls pentru a arăta doar liniile care încep cu d — ceea ce indică un director. Deși pare ingenios, este fundamental fragil și ar trebui evitat în orice context serios:

ProblemăExplicație
Sensibilitate la localizareUnele localizări sau configurații de terminal alterează formatul de ieșire al ls -l, rupând modelul grep.
Coduri de culoareDacă ls produce coduri de escape ANSI de culoare, modelul ^d poate eșua să se potrivească.
Directoare ascunseNu sunt afișate, la fel ca și cu ls -d */.
Linkuri simboliceSymlink-urile care indică directoare se afișează ca l, nu d, deci sunt excluse în tăcere.
Fiabilitate de scriptingAnaliza ieșirii ls în scripturi este în mod explicit descurajată în cele mai bune practici de scripting shell.

Folosiți find în schimb. Este proiectată în mod special pentru această sarcină și evită toate problemele de mai sus.

Referință rapidă: Alegerea metodei corecte

ObiectivCea mai bună comandă
Verificare interactivă rapidă (doar directoare vizibile)ls -d */
Listare detaliată cu permisiunils -ld */
Directoare de nivel superior inclusiv ascunsefind . -mindepth 1 -maxdepth 1 -type d
Toate directoarele recursivfind . -type d
Structură de arbore vizualtree -d
Utilizare într-un script shellfind . -mindepth 1 -maxdepth 1 -type d

Cele mai bune practici pentru mediile de servere de producție

Când lucrezi pe un server live — indiferent dacă este un cont de Găzduire web partajată sau un VPS complet gestionat — ține cont de aceste principii:

  1. Verifică întotdeauna directoarele ascunse în timpul auditurilor de securitate. Directoare cum ar fi .ssh/, .git/, .env/, și .config/ conțin adesea credențiale sensibile, chei și fișiere de configurare. Folosiți find cu -mindepth 1 pentru a vă asigura că apar în ieșirea dvs.
  1. Folosiți find în toate scripturile, niciodată ls. Analiza ieșirii ls este un anti-model cunoscut în scripting shell. Comanda find este deterministă, independentă de localizare și gestionează cazurile limită cu grație.
  1. Combinați find cu -exec pentru operații în masă. De exemplu, pentru a lista dimensiunile directoarelor:
   find . -mindepth 1 -maxdepth 1 -type d -exec du -sh {} ;
  1. Folosiți tree -d -L 2 la onboarding. Când te conectezi SSH pentru prima dată pe un server necunoscut, o rapidă tree -d -L 2 din /var/www/ sau /home/ îți dă o imagine de ansamblu structurală instantanee.
  1. Restricționează permisiunile cu atenție. Știind ce directoare există este doar o parte din imagine. Auditează în mod regulat permisiunile directoarelor cu ls -ld */ pentru a detecta directoare configurate greșit care sunt scrise de lume.
15%

Economisește 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul:

Skills
Începeți