Când listați conținutul unui director utilizând comanda ls
, este posibil să fi observat că dimensiunea din directoare este aproape întotdeauna 4096 octeți (4 KB). Aceasta este dimensiunea spațiului de pe disc care este utilizat pentru a stoca meta-informațiile pentru director, nu ceea ce conține.
Comanda pe care doriți să o utilizați pentru a obține dimensiunea reală a unui director este du
, care este prescurtarea pentru „utilizarea discului”.
Obținerea dimensiunii unui director #
afișează cantitatea de spațiu de fișiere utilizată de fișierele sau directoarele specificate. Dacă calea specificată este un director, du
rezumă utilizarea discului pentru fiecare subdirector din acel director . Dacă nu este specificată nicio cale, du
raportează utilizarea discului din directorul de lucru curent.
Când este invocat fără opțiuni, du
afișează utilizarea discului a directorului dat și a fiecăruia dintre subdirectoarele sale în octeți.
De obicei, doriți să afișați spațiul ocupat de director într-un format care poate fi citit de om. De exemplu, pentru a obține dimensiunea totală a /var
director, ați rula următoarea comandă:
Rezultatul va arăta cam așa:
Să explicăm comanda și argumentele sale:
- Comanda începe cu
sudo
deoarece majoritatea fișierelor și directoarelor din interiorul/var
sunt deținute de utilizatorul root și nu pot fi citite de utilizatorii obișnuiți. Dacă omitețisudo
comandadu
va imprima „du: cannot read directory”. -
s
– Afișați numai dimensiunea totală a directorului specificat, nu afișați totalul mărimii fișierului pentru subdirectoare. -
h
– Dimensiuni de imprimare într-un format lizibil de către om (h
). -
/var
– Calea către directorul pe care doriți să îl obțineți dimensiunea.
Ce se întâmplă dacă doriți să afișați utilizarea discului din subdirectoarele de primul nivel? Aveți două opțiuni. Prima este să utilizați simbolul asterisc (*
) așa cum se arată mai jos, ceea ce înseamnă” potriviți tot ceea ce nu începe cu un punct (.
) ”. Opțiunea -c
spune du
să imprime un total mare de toate dimensiunile:
O altă modalitate de a obține un raport despre utilizarea discurilor din subdirectoarele de primul nivel este să utilizați opțiunea --max-depth
:
În mod implicit, comanda du
arată spațiul pe disc utilizat de director sau fișier. Pentru a găsi dimensiunea aparentă a unui director, utilizați opțiunea --apparent-size
. „Dimensiunea aparentă” a unui fișier este cantitatea de date care există în fișier.
Când transferați un director prin SCP, Rsync. Sau SFTP cantitatea de date care este transferată prin rețea este dimensiunea aparentă a fișierelor. Acesta este motivul pentru dimensiunea spațiului de pe disc utilizat pe sursă atunci când este afișat cu du
(fără --apparent-size
) nu este aceeași cu dimensiunea țintei.
Comanda du
poate fi, de asemenea, combinată cu alte comenzi cu țevi.
De exemplu, pentru a imprima cele mai mari 5 directoare din directorul /var
, veți trimite ieșirea du
la comanda sort
pentru a sorta directoarele după dimensiunea lor și apoi conduceți ieșirea la comanda head
care va imprima numai primele 5 directoare:
Concluzie #
În Linux, tu poate obține dimensiunea unui director folosind comanda du
.