GNU/Linux >> Linux Esercitazione >  >> Linux

Trova i file e le directory più grandi in Linux

Introduzione

A volte è necessario sapere quali file o directory stanno consumando tutto lo spazio su disco. Inoltre, potrebbe essere necessario trovarlo nella particolare posizione della directory sul filesystem come /tmp/ o /var/ o /home/.

Inoltre è molto necessario trovare le cianfrusaglie non necessarie e liberarle dal disco rigido.

Questo tutorial descrive come trovare i file e le cartelle più grandi in Linux usando trova e du comandi.

Trova i file e le directory più grandi

Per scoprire le directory più grandi in /home partizione eseguita:

[unixcop@rhel-pc ~]$  du -a /home | sort -n -r | head -n 5
2435568	/home/qadry
2435568	/home
1530928	/home/qadry/.cache
846976	/home/qadry/.cache/mozilla/firefox/c2ivcm3y.default-default
846976	/home/qadry/.cache/mozilla/firefox
[unixcop@rhel-pc ~]$ 

O

# du -a / 2>/dev/null | sort -n -r | head -n 5

I due comandi precedenti mostrano le 5 directory più grandi di /home .

Trova le directory più grandi

Per scoprire le directory più grandi nella directory di lavoro corrente, esegui:

[root@rhel-pc var]# du -hsx * | sort -rh | head -5
3.1G	lib
324M	cache
38M	tmp
28M	log
632K	snap
[root@rhel-pc var]#

Le opzioni di du comando :

h :dimensioni di stampa in formato leggibile dall'uomo

x :salta le directory su diversi file system.

s :mostra solo un totale per ogni argomento (riepilogo).

ordina :Ordina le righe dei file di testo

r :Invertire i confronti.

testa :genera la prima parte dei file.

n :numero di righe

Per scoprire le directory più grandi in una directory specifica... per esempio /var directory , esegui:

[root@rhel-pc ~]# du -hs /var | sort -rh | head -5
7.0G	/var
[root@rhel-pc ~]# 

E per visualizzare le cartelle/file più grandi comprese le sottodirectory, eseguire:

[root@rhel-pc var]# du -Sh | sort -rh | head -5
1.1G	./lib/snapd/snaps
553M	./lib/snapd/snap/kde-frameworks-5-core18/32/usr/lib/x86_64-linux-gnu
327M	./lib/snapd/snap/gnome-3-28-1804/161/usr/lib/x86_64-linux-gnu
251M	./lib/snapd/snapshots
240M	./lib/snapd/snap/spotify/46/usr/share/spotify
[root@rhel-pc var]# 

Per scoprire solo le dimensioni principali dei file, esegui:

[root@rhel-pc var]# find -type f -exec du -Sh {} + | sort -rh | head -n 5
261M	./lib/snapd/snaps/kde-frameworks-5-core18_32.snap
251M	./lib/snapd/snapshots/2_spotify_1.1.55.498.gf9a83c60_46.zip
192M	./lib/rpm/Packages
180M	./lib/snapd/snaps/spotify_46.snap
165M	./lib/snapd/snaps/gnome-3-28-1804_161.snap
[root@rhel-pc var]# 

Nel comando precedente, sono state visualizzate solo le dimensioni dei file più grandi.

Per trovare i file più grandi in una posizione specificata, includi il percorso oltre a trova comando come mostrato di seguito:

[root@rhel-pc ~]# find /home/qadry/ -type f -exec du -Sh {} + | sort -rh | head -n 5
138M	/home/qadry/Downloads/Video/▶ TroubleShootingTools.mp4
102M	/home/qadry/.local/share/TelegramDesktop/tupdates/temp/Telegram
102M	/home/qadry/Downloads/Telegram/Telegram
53M	/home/qadry/xdm-setup-7.2.11.tar.xz
53M	/home/qadry/install.sh
[root@rhel-pc ~]# 

Il comando precedente mostrerà il file più grande da /home/qadry posizione.

Trova il file più grande in una directory e le sue sottodirectory usando il comando trova

Digita il seguente comando GNU/find:

## Warning: only works with GNU find ##
# find /path/to/dir/ -printf '%s %p\n'| sort -nr | head -5  #for a specified location
# find . -printf '%s %p\n'| sort -nr | head -5

Ad esempio:

Una posizione specificata: (ad es. /var )

[root@rhel-pc ]# find /var/ -printf '%s %p\n'| sort -nr | head -5
273375232 /var/lib/snapd/snaps/kde-frameworks-5-core18_32.snap
273375232 /var/lib/snapd/cache/127632cc622891a2cd69da70616530d2a15cccf0a9adb50f7d2dca3c1bfc56c0cc9052c39a8b22cadc619a43fd87048f
262885666 /var/lib/snapd/snapshots/2_spotify_1.1.55.498.gf9a83c60_46.zip
201011200 /var/lib/rpm/Packages
188289024 /var/lib/snapd/snaps/spotify_46.snap

O

Directory di lavoro attuale:

[root@rhel-pc var]# find . -printf '%s %p\n'| sort -nr | head -5
273375232 ./lib/snapd/snaps/kde-frameworks-5-core18_32.snap
273375232 ./lib/snapd/cache/127632cc622891a2cd69da70616530d2a15cccf0a9adb50f7d2dca3c1bfc56c0cc9052c39a8b22cadc619a43fd87048f
262885666 ./lib/snapd/snapshots/2_spotify_1.1.55.498.gf9a83c60_46.zip
201011200 ./lib/rpm/Packages
188289024 ./lib/snapd/snaps/spotify_46.snap

Conclusione

Hai appena imparato a cercare, trovare ed elencare le directory/file più grandi o più grandi in Linux usando la combinazione di du/find e altri comandi.


Linux
  1. Come utilizzare il comando trova di Linux per trovare i file

  2. Linux Elimina file e directory

  3. Come trovare tutti i file sparsi in Linux

  4. Come posso vedere la dimensione dei file e delle directory in Linux?

  5. Come posso spostare file e directory nella cartella principale in Linux?

Come comprimere file e directory in Linux

Come trovare ed elencare in modo ricorsivo i file per data in Linux

3 modi per trovare file e directory in Linux

Come trovare ed eliminare directory vuote in Linux

Come trovare file con il comando fd in Linux

Trova facilmente file e directory su Linux