GNU/Linux >> Belajar Linux >  >> Linux

Menyortir File Menurut Ukuran Secara Rekursif?

Saya perlu menemukan file terbesar dalam folder.
Bagaimana cara memindai folder secara rekursif dan mengurutkan konten berdasarkan ukuran?

Saya telah mencoba menggunakan ls -R -S , tetapi ini juga mencantumkan direktori.
Saya juga mencoba menggunakan find .

Jawaban yang Diterima:

Anda juga dapat melakukannya hanya dengan du . Untuk berjaga-jaga, saya menggunakan versi du ini :

$ du --version
du (GNU coreutils) 8.5

Pendekatannya:

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

Rincian pendekatan

Perintah du -ah DIR akan menghasilkan daftar semua file dan direktori dalam direktori tertentu DIR . -h akan menghasilkan ukuran yang dapat dibaca manusia yang saya sukai. Jika Anda tidak menginginkannya, jatuhkan sakelar itu. Saya menggunakan head -6 hanya untuk membatasi jumlah output!

$ 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

Cukup mudah untuk mengurutkannya dari terkecil hingga terbesar:

$ 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

Balikkan, terbesar ke terkecil:

$ 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

Jangan tunjukkan direktorinya, hanya filenya:

$ 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

Jika Anda ingin mengecualikan semua direktori dari output, Anda dapat menggunakan trik dengan adanya karakter titik. Ini mengasumsikan bahwa nama direktori Anda tidak mengandung titik, dan file yang Anda cari mengandung titik. Kemudian Anda dapat memfilter direktori dengan 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

Jika Anda hanya ingin daftar dari yang terkecil hingga terbesar, tetapi 6 file teratas yang mengganggu Anda dapat membalikkan tombol pengurutan, jatuhkan (-r ), dan gunakan tail -6 bukannya 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. Hapus file secara rekursif dengan aman:merobek-robek

  2. Bagaimana Cara Mencari File Berdasarkan Ukuran Dan Ekstensi?

  3. File .o vs file .a

  1. Cara Membuat File Dengan Ukuran Tertentu Di Linux

  2. Cara Menemukan File Yang Lebih Besar Atau Lebih Kecil Dari Ukuran X Di Linux

  3. Temukan File Terbesar Secara Rekursif?

  1. Bagaimana Cara Menyalin File Secara Rekursif Dengan Ekstensi File??

  2. Cara Menemukan Semua File dengan Ukuran File Nol (0) Bytes di Direktori Secara Rekursif

  3. Optimalkan File PNG Secara Rekursif