GNU/Linux >> Znalost Linux >  >> Linux

Třídění souborů podle velikosti rekurzivně?

Potřebuji najít největší soubory ve složce.
Jak mohu rekurzivně skenovat složku a třídit obsah podle velikosti?

Zkoušel jsem použít ls -R -S , ale zde jsou uvedeny také adresáře.
Zkoušel jsem také použít find .

Přijatá odpověď:

Můžete to udělat také pomocí pouhého du . Pro jistotu používám tuto verzi du :

$ du --version
du (GNU coreutils) 8.5

Přístup:

$ du -ah ..DIR.. | grep -v "/$" | sort -rh

Rozdělení přístupu

Příkaz du -ah DIR vytvoří seznam všech souborů a adresářů v daném adresáři DIR . -h vytvoří velikosti čitelné pro člověka, které preferuji. Pokud je nechcete, zahoďte přepínač. Používám head -6 jen pro omezení množství výstupu!

$ du -ah ~/Downloads/ | head -6
4.4M    //eadn-wc01-5196795.nxedge.io/home/saml/Downloads/kodak_W820_wireless_frame/W820_W1020_WirelessFrames_exUG_GLB_en.pdf
624K    //eadn-wc01-5196795.nxedge.io/home/saml/Downloads/kodak_W820_wireless_frame/easyshare_w820.pdf
4.9M    //eadn-wc01-5196795.nxedge.io/home/saml/Downloads/kodak_W820_wireless_frame/W820_W1020WirelessFrameExUG_GLB_en.pdf
9.8M    /home/saml/Downloads/kodak_W820_wireless_frame
8.0K    /home/saml/Downloads/bugs.xls
604K    //eadn-wc01-5196795.nxedge.io/home/saml/Downloads/netgear_gs724t/GS7xxT_HIG_5Jan10.pdf

Dost snadné na to, abyste je seřadili od nejmenších po největší:

$ du -ah ~/Downloads/ | sort -h | head -6
0   /home/saml/Downloads/apps_archive/monitoring/nagios/nagios-check_sip-1.3/usr/lib64/nagios/plugins/check_ldaps
0   /home/saml/Downloads/data/elasticsearch/nodes/0/indices/logstash-2013.04.06/0/index/write.lock
0   /home/saml/Downloads/data/elasticsearch/nodes/0/indices/logstash-2013.04.06/0/translog/translog-1365292480753
0   /home/saml/Downloads/data/elasticsearch/nodes/0/indices/logstash-2013.04.06/1/index/write.lock
0   /home/saml/Downloads/data/elasticsearch/nodes/0/indices/logstash-2013.04.06/1/translog/translog-1365292480946
0   /home/saml/Downloads/data/elasticsearch/nodes/0/indices/logstash-2013.04.06/2/index/write.lock

Otočte to, od největší k nejmenší:

$ du -ah ~/Downloads/ | sort -rh | head -6
10G /home/saml/Downloads/
3.8G    /home/saml/Downloads/audible/audio_books
3.8G    /home/saml/Downloads/audible
2.3G    /home/saml/Downloads/apps_archive
1.5G    /home/saml/Downloads/digital_blasphemy/db1440ppng.zip
1.5G    /home/saml/Downloads/digital_blasphemy

Neukazujte mi adresář, pouze soubory:

$ du -ah ~/Downloads/ | grep -v "/$" | sort -rh | head -6 
3.8G    /home/saml/Downloads/audible/audio_books
3.8G    /home/saml/Downloads/audible
2.3G    /home/saml/Downloads/apps_archive
1.5G    /home/saml/Downloads/digital_blasphemy/db1440ppng.zip
1.5G    /home/saml/Downloads/digital_blasphemy
835M    /home/saml/Downloads/apps_archive/cad_cam_cae/salome/Salome-V6_5_0-LGPL-x86_64.run

Pokud chcete vyloučit všechny adresáře z výstupu můžete použít trik s přítomností znaku tečky. To předpokládá, že názvy vašich adresářů neobsahují tečky a že soubory, které hledáte, ano. Poté můžete odfiltrovat adresáře pomocí grep -v '\s/[^.]*$' :

$ du -ah ~/Downloads/ | grep -v '\s/[^.]*$' | sort -rh | head -2
1.5G    /home/saml/Downloads/digital_blasphemy/db1440ppng.zip
835M    /home/saml/Downloads/apps_archive/cad_cam_cae/salome/Salome-V6_5_0-LGPL-x86_64.run

Pokud chcete pouze seznam nejmenších po největší, ale 6 nejčastěji problematických souborů, můžete obrátit přepínač řazení, pusťte (-r ) a použijte tail -6 místo head -6 .

$ du -ah ~/Downloads/ | grep -v "/$" | sort -h | tail -6
835M    /home/saml/Downloads/apps_archive/cad_cam_cae/salome/Salome-V6_5_0-LGPL-x86_64.run
1.5G    /home/saml/Downloads/digital_blasphemy
1.5G    /home/saml/Downloads/digital_blasphemy/db1440ppng.zip
2.3G    /home/saml/Downloads/apps_archive
3.8G    /home/saml/Downloads/audible
3.8G    /home/saml/Downloads/audible/audio_books

Linux
  1. Jak najít soubory větší nebo menší než X v Linuxu

  2. Jak najít všechny soubory s velikostí souboru nula (0) bajtů v adresáři rekurzivně

  3. Rekurzivně vyhledejte soubory s konkrétní příponou

  1. Rekurzivně mazat soubory bezpečně:skartace

  2. Jak hledat soubory podle velikosti a přípony?

  3. Jak komprimovat soubory s omezením velikosti?

  1. Najít největší soubory rekurzivně?

  2. Jak rekurzivně kopírovat soubory podle přípony souboru?

  3. Rekurzivně optimalizujte soubory PNG