Tra i compiti di un amministratore di un server Linux c'è quello della gestione degli spazi. Avere contezza e  la consapevolezza per la gestione dello spazio su disco è indispensabile anche al fine di ottimizzare le prestazioni la valutazione di cosa e come convenga agire nell’installazione di nuovi programmi e servizi.

Essendo un fautore della CLI non potevo esimermi da mostrare che anche in un campo in cui la grafica la fa da padrona la command line non è proprio "da buttar via".

Come si può effettuare un monitoraggio attraverso la CLI?

Il comando da shell che ci serve è df l’output di questo comando ci mostra lo spazio su disco disponibile all’interno del volume attualmente montato. Il comando ci consente nello specifico di determinare:

spazio utilizzato e disponibile;

capacità residua del filesystem corrente;

numero di inode disponibili - nei sistemi Unix, un inode (o i-node, abbreviazione di index node) è una struttura dati sul file system che archivia e descrive attributi base su file, directory o qualsiasi altro oggetto) ;

se c'è disponibilità e la quantità dello spazio per installare o aggiornare nuove applicazioni.

La sintassi basilare di df è quella riportata (digitare ogni singola riga seguita da Invio).

 

df
df /path/specifico/a/piacere
df [opzioni]
df [opzioni] /path/specifico/a/piacere

 

Esempi

 

Dopo aver aperto una finestra del terminale, se digitiamo:

df -H

avremo come output qualcosa del genere (lo spazio libero è indicato nella colonna “Available”).

 

Filesystem    512-blocks      Used Available Capacity   iused   ifree %iused  Mounted on

/dev/disk0s2   975093952 937222688  37359264    97% 117216834 4669908   96%   /

devfs                360       360         0   100%       624       0  100%   /dev

map -hosts             0         0         0   100%         0       0  100%   /net

map auto_home          0         0         0   100%         0       0  100%   /home

 

L’esempio successivo fornirà informazioni relative esclusivamente alla partizione o dispositivo disco che contiene la cartella home:

df -h /home

Se vogliamo visualizzare gli inode anzichè quello dei vari blocchi, digitiamo:

df -i

df -i /

oppure

df -ih /

o ancora 

df -i /dev/md0

il che produrrà come output qualcosa del genere (lo spazio libero è indicato nella colonna “IFree”).

Filesystem Inodes IUsed IFree IUse% Mounted on

/dev/md0 7872512 35813 7836699 1% /

Aggiungendo anche l'opzione -T avremo informazioni anche sul tipo di filesystem:

df -T -h

in questo caso avremo come output (spazio libero: colonna "Avail"):

Filesystem Type Size Used Avail Use% Mounted on

/dev/md0 ext4 119G 1.8G 111G 2% /

tmpfs tmpfs 1002M 0 1002M 0% /lib/init/rw

udev tmpfs 1000M 260K 1000M 1% /dev

tmpfs tmpfs 1002M 0 1002M 0% /dev/shm

/dev/md2 ext4 1.5T 658G 745G 47% /data

/dev/mapper/backup

ext3 591G 78G 484G 14% /securebackup

 

Altre opzioni di df disponibili sono :

-a, --all 

Visualizza anche quanto spazio occupano i file contenuti nelle directory specificate e nelle loro sottodirectory. 

-B, --block-size=SIZE utilizza SIZE-byte blocchi

--total produce a grand total

-h, --human-readable stampa le dimensioni in un formato più user-friendly (es. 1K 234M 2G)

-H, --si utilizza potenze di 1000 anzichè 1024

-i, --inodes mostra informazioni in termini di inode anzichè blocchi

-k equivalente a --block-size=1K

-l, --local limita la lista di file e directory ai file system locali

--no-sync (attivato di default) evita di richiamare la sincronizzazione (sync) prima di ottenere informazioni riguardo il disco ed il suo utilizzo

-P, --portability usa il formato POSIX

--sync attiva sync prima di ottenere le informazioni richieste

-t, --type=TIPO limita la lista dei file esclusivamente ai file system del TIPO indicato

-T, --print-type visualizza il tipo di filesystem

-x, --exclude-type=TIPO filtra la lista dei file escludendo i file system del TIPO indicato