Analiza Utilizării Spațiului pe Disc în Sistemele Linux și macOS
Comenzile df
și du
sunt instrumente esențiale în shell-ul Bash, disponibile pe platforme Linux, macOS și alte sisteme de operare asemănătoare Unix. Aceste utilitare oferă o perspectivă clară asupra modului în care este gestionat spațiul de stocare, facilitând identificarea elementelor care consumă resursele sistemului.
Vizualizarea Detaliată a Spațiului de Stocare
Bash pune la dispoziție două instrumente importante pentru gestionarea spațiului pe disc. df
(disk free) este utilizată pentru a vizualiza spațiul total, disponibil și utilizat. Pe de altă parte, du
(disk usage) ajută la identificarea acelor fișiere și directoare care ocupă cel mai mult spațiu.
Pentru a începe, deschideți o fereastră terminal și introduceți comanda df
, urmată de tasta Enter. Veți observa o serie de informații, structurate în coloane. La prima vedere, această ieșire poate părea complexă, dar în realitate, este ușor de interpretat.
df
Fiecare rând afișează informații despre un sistem de fișiere și este organizat în șase coloane:
- Sistem de fișiere: Numele asociat sistemului de fișiere.
- 1K-Blocks: Numărul total de blocuri de 1K disponibile pe sistem.
- Folosit: Numărul de blocuri de 1K deja utilizate.
- Disponibil: Numărul de blocuri de 1K neutilizate.
- Use%: Procentul de spațiu utilizat, calculat pe baza blocurilor de 1K.
- Fișier: Denumirea sistemului de fișiere, dacă aceasta este specificată în linia de comandă.
- Montat pe: Locul de montare al sistemului de fișiere.
Pentru o interpretare mai ușoară a datelor, puteți utiliza opțiunea -B
(block size) pentru a modifica unitatea de măsură. De exemplu, pentru a afișa informațiile în megaocteți, introduceți df -BM
. Nu este nevoie de spațiu între B
și M
.
df -BM
Opțiunea -h
(human-readable) ajustează automat unitățile de măsură (kilobyte, megabyte, gigabyte, etc.), în funcție de dimensiunea fiecărui sistem de fișiere. Această opțiune face datele mult mai ușor de citit.
df -h
În cazul în care aveți nevoie de informații despre inoduri, utilizați opțiunea -i
. Inodul este o structură de date fundamentală în sistemele de fișiere Linux, utilizată pentru a stoca metadatele asociate fiecărui fișier și director. Această informație este utilă mai ales administratorilor de sistem.
df -i
În mod implicit, df
afișează informații despre toate sistemele de fișiere montate, ceea ce poate crea o ieșire greu de gestionat. Pentru a exclude anumite sisteme, cum ar fi pseudo-sistemele de fișiere de tip /dev/loop
, puteți folosi opțiunea -x
, împreună cu tipul de sistem de fișiere. Dar, pentru a afla ce tipuri de sisteme de fișiere sunt prezente, utilizați mai întâi opțiunea -T
(print type), care include tipul sistemului de fișiere în rezultat.
df -T
Pentru a exclude sistemele squashfs
(exemplu pentru /dev/loop
) utilizați comanda df -x squashfs
. Pentru un total al tuturor sistemelor de fișiere, adăugați opțiunea --total
.
df -x squashfs
df -x squashfs --total
Puteți solicita afișarea informațiilor doar pentru anumite tipuri de sisteme de fișiere. Spre exemplu, pentru a vedea exclusiv sistemele de tip ext4
, utilizați df -t ext4
.
df -t ext4
De asemenea, df
poate afișa informații despre sisteme de fișiere specifice. În Linux, unitățile sunt numite alfabetic (/dev/sda, /dev/sdb, etc.), iar partițiile sunt numerotate (/dev/sda1, /dev/sda2, etc.). Pentru a vizualiza informațiile despre o anumită partiție, utilizați comanda df
urmată de numele acesteia (ex: df /dev/sda1
).
df /dev/sda1
Puteți folosi caractere speciale, ca de exemplu *
pentru a înlocui orice set de caractere și ?
pentru a înlocui un caracter individual. Deci, pentru a afișa informații despre toate partițiile de pe prima unitate, puteți introduce df /dev/sda*
.
df /dev/sda*
Pentru a obține un total al dimensiunilor sistemelor de fișiere /dev
și /run
, se poate folosi comanda df -h --total /dev /run
.
df -h --total /dev /run
Afișarea df
poate fi personalizată folosind opțiunea --output
și specificând o listă de coloane separate prin virgulă (fără spații). Coloanele disponibile sunt:
- sursă: Numele sistemului de fișiere.
- fstype: Tipul sistemului de fișiere.
- itotal: Dimensiunea sistemului de fișiere în inoduri.
- iused: Spațiul utilizat pe sistemul de fișiere în inoduri.
- iavail: Spațiul disponibil pe sistemul de fișiere în inoduri.
- ipcent: Procentul spațiului utilizat în inoduri.
- dimensiune: Dimensiunea sistemului de fișiere (implicit în blocuri de 1K).
- utilizat: Spațiul utilizat (implicit în blocuri de 1K).
- avail: Spațiul disponibil (implicit în blocuri de 1K).
- pcent: Procentul de spațiu utilizat (implicit în blocuri de 1K).
- fișier: Numele sistemului de fișiere.
- target: Punctul de montare.
Un exemplu de comandă complexă ar fi: df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent
, care afișează informații despre prima partiție a primului hard disk într-un format ușor de citit, incluzând sursa, tipul, dimensiunea, spațiul utilizat, spațiul disponibil și procentul de utilizare.
df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent
Pentru a simplifica utilizarea unei comenzi lungi, se poate crea un alias. De exemplu, alias dfc="df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent"
creează un alias numit dfc
, care execută comanda completă. Pentru a face aliasul permanent, adăugați-l în fișierul .bashrc
sau .bash_aliases
.
alias dfc="df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent"
Dacă se dorește afișarea tuturor informațiilor, utilizați opțiunea -a
(all) și --output
fără a specifica coloane. Astfel, df -a --output
va oferi un afișaj complet.
df -a --output
Pentru a naviga prin ieșirea lungă a comenzii, se poate transmite rezultatul către less
cu comanda df -a --output | less
.
df -a --output | less
Identificarea Directorului Care Utilizează Cel Mai Mult Spațiu
Pentru a determina ce directoare ocupă spațiul pe disc, folosim comanda du
. Începem cu o comandă df
pentru a afla cât spațiu este folosit pe o anumită partiție.
df -h -t ext4
Comanda du
, lansată fără opțiuni, listează toate directoarele și subdirectoarele din directorul curent. Dacă o executați din directorul home, veți primi o listă foarte mare.
du
În mod implicit, du
afișează dimensiunea în blocuri de 1K. Pentru a schimba unitatea de măsură, utilizați opțiunea -B
, urmată de litera corespunzătoare (K, M, G, T, P, E, Z sau Y). De exemplu, pentru a afișa dimensiunile în megaocteți, folosiți du -BM
.
du -BM
Similar comenzii df
, și du
are opțiunea -h
(human-readable), care ajustează automat unitățile de măsură.
du -h
Opțiunea -s
(summarize) afișează un total pentru fiecare director, fără a include subdirectoarele. De exemplu, du -h -s *
va afișa dimensiunile tuturor directoarelor din directorul curent într-un format lizibil.
du -h -s *
Pentru a sorta rezultatele după dimensiune, se poate folosi comanda sort -nr
, de exemplu du -sm Pictures/* | sort -nr
, unde Pictures
este directorul care ne interesează.
du -sm Pictures/* | sort -nr
Cu ajutorul comenzilor df
și du
, puteți înțelege cum este utilizat spațiul de stocare și puteți identifica acele fișiere și directoare care ocupă cel mai mult spațiu. Aceste informații vă vor ajuta să luați decizii informate despre gestionarea spațiului de stocare (mutarea datelor, ștergerea fișierelor redundante sau adăugarea de spațiu de stocare nou). Pentru informații suplimentare despre opțiunile comenzilor df
și du
, consultați paginile de manual Linux: df
și du
.