Come controllare lo spazio su disco su Linux dalla riga di comando

author
4 minutes, 37 seconds Read

Domanda veloce: Quanto spazio ti è rimasto sui tuoi dischi? Poco o molto? Domanda successiva: Sai come scoprirlo? Se ti capita di usare un desktop con interfaccia grafica (ad esempio, GNOME, KDE, Mate, Pantheon, ecc.), il compito è probabilmente abbastanza semplice. Ma cosa succede se stai guardando un server headless, senza GUI? Avete bisogno di installare strumenti per questo compito? La risposta è un sonoro no. Tutti i bit necessari sono già presenti per aiutarvi a scoprire esattamente quanto spazio rimane sui vostri dischi. Infatti, avete due opzioni molto facili da usare a portata di mano.

In questo articolo, dimostrerò questi strumenti. Userò Elementary OS, che include anche un’opzione GUI, ma ci limiteremo alla linea di comando. La buona notizia è che questi strumenti a riga di comando sono facilmente disponibili per ogni distribuzione Linux. Sul mio sistema di test, ci sono diverse unità collegate (sia interne che esterne). I comandi utilizzati sono agnostici rispetto a dove un’unità è collegata; si preoccupano solo che l’unità sia montata e visibile al sistema operativo.

Detto questo, diamo un’occhiata agli strumenti.

df

Il comando df è lo strumento che ho usato per la prima volta per scoprire lo spazio su disco su Linux, molto indietro negli anni ’90. È molto semplice sia nell’uso che nei rapporti. Fino ad oggi, df è il mio comando di riferimento per questo compito. Questo comando ha alcuni interruttori ma, per i rapporti di base, ne serve davvero solo uno. Quel comando è df -H. Lo switch -H è per il formato leggibile all’uomo. L’output di df -H riporterà quanto spazio è usato, disponibile, la percentuale usata e il punto di montaggio di ogni disco collegato al vostro sistema (Figura 1).

Figura 1: L’output di df -H sul mio sistema Elementary OS.

E se la vostra lista di unità è estremamente lunga e volete solo vedere lo spazio usato su una singola unità? Con df, questo è possibile. Diamo un’occhiata a quanto spazio è stato utilizzato sul nostro disco primario, situato in /dev/sda1. Per farlo, date il comando:

df -H /dev/sda1

L’output sarà limitato a quella sola unità (Figura 2).

Figura 2: Quanto spazio c’è su una particolare unità?

E’ anche possibile limitare i campi riportati mostrati nell’output di df. I campi disponibili sono:

  • source – la sorgente del file system

  • size – numero totale di blocchi

  • used – spazio usato su un drive

  • avail – spazio disponibile su un drive

  • pcent – percentuale di spazio usato, diviso per la dimensione totale

  • target – punto di montaggio di un’unità

Visualizziamo l’output di tutte le nostre unità, mostrando solo i campi dimensione, usato e disponibile (o disponibilità). Il comando per questo sarebbe:

df -H --output=size,used,avail

L’output di questo comando è abbastanza facile da leggere (Figura 3).

Figura 3: Specificare quale output visualizzare per i nostri drive.

L’unica avvertenza qui è che non conosciamo la fonte dell’output, quindi vorremmo includere la fonte così:

df -H --output=source,size,used,avail

Ora l’output ha più senso (Figura 4).

Figura 4: Ora conosciamo la fonte del nostro utilizzo del disco.

du

Il nostro prossimo comando è du. Come ci si potrebbe aspettare, sta per utilizzo del disco. Il comando du è abbastanza diverso dal comando df, in quanto riporta le directory e non le unità. Per questo motivo, vorrete conoscere i nomi delle directory da controllare. Diciamo che ho una directory che contiene i file della macchina virtuale sulla mia macchina. Quella directory è /media/jack/HALEY/VIRTUALBOX. Se voglio scoprire quanto spazio è usato da quella particolare directory, emetterò il comando:

du -h /media/jack/HALEY/VIRTUALBOX

L’output del comando precedente mostrerà la dimensione di ogni file nella directory (Figura 5).

Figura 5: L’output del comando du su una specifica directory.

Finora, questo comando non è molto utile. E se volessimo conoscere l’utilizzo totale di una particolare directory? Fortunatamente, du può gestire questo compito. Sulla stessa directory, il comando sarebbe:

du -sh /media/jack/HALEY/VIRTUALBOX/

Ora sappiamo quanto spazio totale stanno usando i file in quella directory (Figura 6).

Figura 6: I file della mia macchina virtuale stanno usando 559GB di spazio.

Puoi anche usare questo comando per vedere quanto spazio viene usato su tutte le directory figlie di un genitore, così:

du -h /media/jack/HALEY

L’output di questo comando (Figura 7) è un buon modo per scoprire quali sottodirectory stanno occupando spazio su un disco.

Figura 7: Quanto spazio stanno usando le mie sottodirectory?

Il comando du è anche un ottimo strumento da usare per vedere una lista di directory che stanno usando più spazio su disco sul tuo sistema. Il modo per farlo è quello di passare l’output di du ad altri due comandi: sort e head. Il comando per trovare le prime 10 directory che consumano spazio su un disco sarebbe qualcosa di simile a questo:

du -a /media/jack | sort -n -r | head -n 10

L’output elencherebbe queste directory, dalla più grande alla meno offensiva (Figura 8).

Figura 8: La nostra top ten delle directory che occupano spazio su un disco.

Non è così difficile come si pensa

Trovare quanto spazio viene usato sui vostri dischi collegati a Linux è abbastanza semplice. Finché i vostri dischi sono montati sul sistema Linux, sia df che du faranno un lavoro eccezionale nel riportare le informazioni necessarie. Con df si può vedere rapidamente una panoramica di quanto spazio è utilizzato su un disco e con du si può scoprire quanto spazio è utilizzato da directory specifiche. Questi due strumenti in combinazione dovrebbero essere considerati un must per ogni amministratore Linux.

E, nel caso ti sia sfuggito, ho recentemente mostrato come determinare l’utilizzo della memoria su Linux. Insieme, questi suggerimenti faranno molta strada per aiutarti a gestire con successo i tuoi server Linux.

Impara di più su Linux attraverso il corso gratuito “Introduzione a Linux” di The Linux Foundation e edX.

Similar Posts

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.