androide

Trova file di grandi dimensioni in Linux

Giga Allegati

Giga Allegati

Sommario:

Anonim

Nel tempo, l'unità disco potrebbe essere ingombra di molti file non necessari che occupano grandi quantità di spazio su disco. Di solito, i sistemi Linux esauriscono lo spazio su disco a causa di file di log o di backup di grandi dimensioni.

Questo tutorial spiega come trovare i file e le directory più grandi nei sistemi Linux usando i comandi find e du .

Trova file di grandi dimensioni utilizzando il comando find

Il comando find è uno degli strumenti più potenti nell'arsenale degli amministratori di sistema Linux. Ti permette di cercare file e directory in base a diversi criteri tra cui la dimensione del file.

Ad esempio, se si desidera cercare file con dimensioni superiori a 100 MB, nella directory di lavoro corrente si utilizzerà il comando seguente:

sudo find. -xdev -type f -size +100M Sostituisci con il percorso della directory in cui si desidera cercare i file più grandi.

L'output mostrerà un elenco di file senza ulteriori informazioni.

/var/lib/libvirt/images/centos-7-desktop_default.img /var/lib/libvirt/images/bionic64_default.img /var/lib/libvirt/images/win10.qcow2 /var/lib/libvirt/images/debian-9_default.img /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img /var/lib/libvirt/images/centos-7_default.img

Il comando find può anche essere usato in combinazione con altri strumenti come ls o sort per eseguire operazioni su quei file.

Nell'esempio che segue, stiamo passando l'output del comando find a ls che stamperà la dimensione di ciascun file trovato e quindi reindirizzerà l'output al comando sort per ordinarlo in base alla quinta colonna che è la dimensione del file.

find. -xdev -type f -size +100M -print | xargs ls -lh | sort -k5, 5 -h -r

L'output sarà simile al seguente:

-rw------- 1 root root 40967M Jan 5 14:12 /var/lib/libvirt/images/win10.qcow2 -rw------- 1 root root 3725M Jan 7 22:12 /var/lib/libvirt/images/debian-9_default.img -rw------- 1 root root 1524M Dec 30 07:46 /var/lib/libvirt/images/centos-7-desktop_default.img -rw------- 1 root root 999M Jan 5 14:43 /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img -rw------- 1 root root 562M Dec 31 07:38 /var/lib/libvirt/images/centos-7_default.img -rw------- 1 root root 378M Jan 7 22:26 /var/lib/libvirt/images/bionic64_default.img

Se l'output contiene molte righe di informazioni, è possibile utilizzare il comando head per stampare solo le prime 10 righe:

find. -xdev -type f -size +100M -print | xargs ls -lh | sort -k5, 5 -h -r | head

Analizziamo il comando:

  • find. -xdev -type f -size +100M -print find. -xdev -type f -size +100M -print - cerca solo i file ( -type f ) nella directory di lavoro corrente ( . ), maggiore di -size +100M MB ( -size +100M ), non discendere le directory su altri filesystem ( -xdev ) e stampa il nome file completo sull'output standard, seguito da una nuova riga ( -print ). xargs ls -lh - l'output del comando xargs viene ls -lh a xargs che esegue il comando ls -lh che stamperà l'output in un formato leggibile dall'elenco lungo. sort -k5, 5 -h -r - ordina le righe in base alla quinta colonna ( -k5, 5 ), confronta i valori in formato leggibile dall'uomo ( -h ) e inverti il ​​risultato ( -r ). head : stampa solo le prime 10 righe dell'output convogliato.

Il comando find include molte opzioni potenti. Ad esempio, è possibile cercare file di grandi dimensioni più vecchi di x giorni, file di grandi dimensioni con un'estensione specifica o file di grandi dimensioni che appartengono a un determinato utente.

Trova file e directory di grandi dimensioni utilizzando il comando du

Il comando du viene utilizzato per stimare l'utilizzo dello spazio file ed è particolarmente utile per trovare directory e file che consumano grandi quantità di spazio su disco.

Il seguente comando stamperà i file e le directory più grandi:

du -ahx. | sort -rh | head -5

La prima colonna include la dimensione del file e la seconda il nome del file:

55G. 24G./.vagrant.d/boxes 24G./.vagrant.d 13G./Projects 5.2G./.minikube

Spiegazione del comando:

  • du -ahx. : stima l'utilizzo dello spazio su disco nella directory di lavoro corrente ( . ), conta sia i file che le directory ( a ), stampa le dimensioni in un formato leggibile dall'uomo ( h ) e salta le directory su diversi file system ( x ). sort -rh : ordina le linee confrontando i valori in formato leggibile ( -h ) e invertendo il risultato ( -r ). head -5 : stampa solo le prime 5 righe dell'output convogliato.

Il comando du include altre opzioni che è possibile utilizzare per perfezionare l'output dell'utilizzo dello spazio su disco.

Conclusione

Trovare file di grandi dimensioni è molto utile quando il disco è pieno e si desidera liberarlo.

Ora che hai trovato i file più grandi sul tuo sistema, potresti voler leggere la nostra guida su Come rimuovere file e directory usando la riga di comando di Linux.

trova il terminale del disco