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.