Comenzile df și du raportează despre utilizarea spațiului pe disc din interiorul shell-ului Bash utilizat pe Linux, macOS și multe alte sisteme de operare asemănătoare Unix. Aceste comenzi vă permit să identificați cu ușurință ce folosește spațiul de stocare al sistemului.
Vizualizarea spațiului pe disc total, disponibil și utilizat
Bash conține două comenzi utile legate de spațiul pe disc. Pentru a afla spațiul de disc disponibil și utilizat, utilizați df (sisteme de fișiere pe disc, numite uneori disc free). Pentru a descoperi ce ocupă spațiul de disc folosit, utilizați du (utilizarea discului).
Tastați df și apăsați enter într-o fereastră de terminal Bash pentru a începe. Veți vedea o mulțime de rezultate similare cu captura de ecran de mai jos. Utilizarea df fără opțiuni va afișa spațiul disponibil și utilizat pentru toate sistemele de fișiere montate. La prima vedere, ar putea părea impenetrabil, dar este destul de ușor de înțeles.
df
Fiecare linie a afișajului este alcătuită din șase coloane.
Sistem de fișiere: numele acestui sistem de fișiere.
1K-Blocks: numărul de blocuri 1K disponibile pe acest sistem de fișiere.
Folosit: numărul de blocuri de 1K care au fost utilizate pe acest sistem de fișiere.
Disponibil: numărul de blocuri de 1K care sunt neutilizate pe acest sistem de fișiere.
Use%: cantitatea de spațiu utilizată în acest sistem de fișiere, dată ca procent.
Fișier: Numele sistemului de fișiere, dacă este specificat pe linia de comandă.
Montat pe: punctul de montare al sistemului de fișiere.
Puteți înlocui numărul de blocuri de 1K cu rezultate mai utile utilizând opțiunea -B (dimensiunea blocului). Pentru a utiliza această opțiune, tastați df, un spațiu, apoi -B și o literă din lista de K, M, G, T, P, E, Z sau Y. Aceste litere reprezintă kilo, mega, giga, tera, valorile peta, exa, zeta și yotta de la scara multiplu de 1024.
De exemplu, pentru a vedea cifrele de utilizare a discului în megaocteți, ați folosi următoarea comandă. Rețineți că nu există spațiu între B și M.
df -BM
Opțiunea -h (lizibilă) îi indică df să folosească cea mai aplicabilă unitate pentru dimensiunea fiecărui sistem de fișiere. În următoarea ieșire, rețineți că există sisteme de fișiere cu dimensiuni de gigabyte, megabyte și chiar kilobyte.
df -h
Dacă trebuie să vedeți informațiile reprezentate în numere de inoduri, utilizați opțiunea -i (inode). Un inode este o structură de date folosită de sistemele de fișiere Linux pentru a descrie fișiere și pentru a stoca metadate despre ele. Pe Linux, inodele dețin date precum numele, data modificării, poziția pe hard disk și așa mai departe pentru fiecare fișier și director. Acest lucru nu va fi util pentru majoritatea oamenilor, dar administratorii de sistem trebuie uneori să se refere la acest tip de informații.
df -i
Dacă nu i se spune, df va oferi informații despre toate sistemele de fișiere montate. Acest lucru poate duce la un afișaj aglomerat cu multă ieșire. De exemplu, intrările /dev/loop din liste sunt pseudo sisteme de fișiere care permit montarea unui fișier ca și cum ar fi o partiție. Dacă utilizați noua metodă Ubuntu snap de instalare a aplicațiilor, puteți achiziționa multe dintre acestea. Spațiul disponibil pe acestea va fi întotdeauna 0, deoarece nu sunt cu adevărat un sistem de fișiere, așa că nu trebuie să le vedem.
Îi putem spune df să excludă sistemele de fișiere de un anumit tip. Pentru a face acest lucru, trebuie să știm ce tip de sistem de fișiere dorim să excludem. Opțiunea -T (tip tipărire) ne va oferi aceste informații. Îi indică df să includă tipul de sistem de fișiere în rezultat.
df -T
Intrările /dev/loop sunt toate sisteme de fișiere squashfs. Le putem exclude cu următoarea comandă:
df -x squashfs
Asta ne oferă un rezultat mai ușor de gestionat. Pentru a obține un total, putem adăuga opțiunea –total.
df -x squashfs --total
Putem cere df să includă numai sisteme de fișiere de un anumit tip, folosind opțiunea -t (tip).
df -t ext4
Dacă vrem să vedem dimensiunile pentru un set de sisteme de fișiere, le putem specifica după nume. Numele unităților în Linux sunt alfabetice. Prima unitate se numește /dev/sda, a doua unitate este /dev/sdb și așa mai departe. Partitiile sunt numerotate. Deci /dev/sda1 este prima partiție de pe unitatea /dev/sda. Îi spunem df să returneze informații despre un anumit sistem de fișiere, trecând numele sistemului de fișiere ca parametru de comandă. Să ne uităm la prima partiție a primului hard disk.
df /dev/sda1
Rețineți că puteți utiliza caractere metalice în numele sistemului de fișiere, unde * reprezintă orice set de caractere și ? reprezintă orice caracter individual. Deci, pentru a ne uita la toate partițiile de pe prima unitate, am putea folosi:
df /dev/sda*
Putem cere df să raporteze asupra unui set de sisteme de fișiere numite. El solicităm dimensiunile sistemelor de fișiere /dev și /run și am dori un total.
df -h --total /dev /run
Pentru a personaliza în continuare afișajul, putem spune df ce coloane să includă. Pentru a face acest lucru, utilizați opțiunea –output și furnizați o listă separată prin virgulă cu numele de coloane necesare. Asigurați-vă că nu includeți niciun spațiu în lista separată prin virgulă.
sursă: numele sistemului de fișiere.
fstype: tipul sistemului de fișiere.
itotal: dimensiunea sistemului de fișiere în inoduri.
iused: spațiul folosit pe sistemul de fișiere în inoduri.
iavail: spațiul disponibil pe sistemul de fișiere în inoduri.
ipcent: procentul de spațiu utilizat pe sistemul de fișiere în inoduri, ca procent.
dimensiune: dimensiunea sistemului de fișiere, implicit în blocuri de 1K.
utilizat: spațiul folosit pe sistemul de fișiere, implicit în blocuri de 1K.
avail: spațiul disponibil pe sistemul de fișiere, implicit în blocuri de 1K.
pcent: procentul de spațiu utilizat pe sistemul de fișiere în inoduri, implicit în blocuri de 1K.
fișier: Numele sistemului de fișiere, dacă este specificat pe linia de comandă.
target: punctul de montare pentru sistemul de fișiere.
Să-i cerem df să raporteze despre prima partiție de pe prima unitate, cu numere care pot fi citite de om și cu coloanele sursă, fstype, size, used, avail și cent:
df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent
Comenzile lungi sunt candidații perfecti pentru a fi transformate într-un alias. Putem crea un alias dfc (pentru df custom ) tastând următoarele și apăsând Enter:
alias dfc="df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent"
Tastând dfc și apăsând enter va avea același efect ca și tastarea comenzii lungi. Pentru a face acest alias permanent, adăugați-l în fișierul dvs. .bashrc sau .bash_aliases.
Am căutat modalități de a rafina rezultatul de la df, astfel încât informațiile pe care le afișează să corespundă cerințelor dvs. Dacă doriți să adoptați o abordare opusă și să solicitați df să returneze toate informațiile, poate utiliza opțiunea -a (toate) și opțiunea -output așa cum se arată mai jos. Opțiunea -a (toate) cere df să includă fiecare sistem de fișiere, iar utilizarea opțiunii –output fără o listă de coloane separate prin virgulă face ca df să includă fiecare coloană.
df -a --output
Transmiterea ieșirii de la df prin comanda less este o modalitate convenabilă de a revizui cantitatea mare de ieșire pe care aceasta o poate produce.
df -a --output | less
Aflați ce ocupă spațiul folosit pe disc
Să facem niște investigații și să aflăm ce ocupă spațiu pe acest computer. Vom începe cu una dintre comenzile noastre df.
df -h -t ext4
Există 78% spațiu pe disc utilizat pe prima partiție a primului hard disk. Putem folosi comanda du pentru a arăta care foldere dețin cele mai multe date. Emiterea comenzii du fără opțiuni va afișa o listă cu toate directoarele și subdirectoarele de sub directorul în care a fost emisă comanda du. Dacă faceți acest lucru din folderul dvs. de acasă, lista va fi foarte lungă.
du
Formatul de ieșire este foarte simplu. Fiecare linie arată dimensiunea și numele unui director. În mod implicit, dimensiunea este afișată în blocuri de 1K. Pentru a forța du să folosească o dimensiune diferită a blocului, utilizați opțiunea -B (dimensiunea blocului). Pentru a utiliza această opțiune, tastați du, un spațiu și apoi -B și o literă din lista de K, M, G, T, P, E, Z și Y, așa cum am făcut mai sus pentru df . Pentru a utiliza blocuri de 1M, utilizați această comandă:
du -BM
La fel ca df, du are o opțiune care poate fi citită de om, -h, care utilizează o gamă de dimensiuni de bloc în funcție de dimensiunea fiecărui director.
du -h
Opțiunea -s (summarize) oferă un total pentru fiecare director fără a afișa subdirectoarele din fiecare director. Următoarea comandă cere lui du să returneze informații în format rezumat, în numere care pot fi citite de om, pentru toate directoarele
du -h -s *
sub directorul de lucru curent.
du -sm Pictures/* | sort -nr
Dosarul Picture conține de departe cele mai multe date. Putem cere du să sorteze folderele în dimensiune de la cel mai mare la cel mai mic.
Prin rafinarea informațiilor returnate de df și du este ușor să aflați cât spațiu pe hard disk este folosit și să descoperiți ce ocupă acel spațiu. Puteți lua apoi o decizie în cunoștință de cauză cu privire la mutarea unor date în alt spațiu de stocare, adăugarea unui alt hard disk pe computer sau ștergerea datelor redundante. Aceste comenzi au o mulțime de opțiuni. Am descris cele mai utile opțiuni aici, dar puteți vedea o listă completă a opțiunilor pentru comanda df iar pentru du command
în paginile de manual Linux.