GNU/Linux >> Linux Esercitazione >  >> Linux

Trova file di grandi dimensioni in Linux

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 registro o di backup di grandi dimensioni.

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

Trova file di grandi dimensioni usando find Comando #

Il find command è uno degli strumenti più potenti nell'arsenale degli amministratori di sistema Linux. Ti consente di cercare file e directory in base a diversi criteri, inclusa la dimensione del file.

Ad esempio, per cercare file con dimensioni maggiori di 100 MB, nella directory di lavoro corrente, eseguire 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 alcuna informazione aggiuntiva.

/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 find comando può anche essere usato in combinazione con altri strumenti come ls o sort per eseguire operazioni su quei file.

Nell'esempio seguente, stiamo passando l'output di find comando a ls che stamperà la dimensione di ogni file trovato e quindi reindirizza l'output a sort comando 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 a questo:

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

Il find comando viene fornito con molte potenti opzioni. Ad esempio, puoi cercare file di grandi dimensioni che sono 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 usando il du Comando #

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

Il comando seguente 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 i formati in un formato leggibile (h ) e salta le directory su file system diversi (x ).
  • sort -rh :ordina le righe confrontando i valori in un formato leggibile (-h ) e invertire il risultato (-r ).
  • head -5 :stampa solo le prime cinque righe dell'output in pipe.

Il du comando ha molte altre opzioni che possono essere utilizzate per perfezionare l'output dell'utilizzo dello spazio su disco.

Conclusione #

Ti abbiamo mostrato come trovare i file e le directory più grandi usando find e du comandi.

Ora che impari come trovare 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.

Se hai domande o commenti, lascia un commento qui sotto.


Linux
  1. Come trovare file modificati recenti o di oggi in Linux

  2. 5 strumenti da riga di comando per trovare rapidamente file in Linux

  3. Come trovare file duplicati in Linux

  4. Come trovare file di grandi dimensioni Linux con i comandi find e du

  5. Comandi di ricerca di Linux

Come trovare file in base alle loro autorizzazioni in Linux

3 modi per trovare file e directory in Linux

Come spostare un gran numero di file in Linux

Come copiare un gran numero di file in Linux

Trova facilmente file e directory su Linux

Trova testo nei file su Linux usando grep