GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Dateien rekursiv nach Größe sortieren?

Ich muss die größten Dateien in einem Ordner finden.
Wie scanne ich einen Ordner rekursiv und sortiere den Inhalt nach Größe?

Ich habe versucht, ls -R -S zu verwenden , aber dies listet auch die Verzeichnisse auf.
Ich habe es auch mit find versucht .

Akzeptierte Antwort:

Das geht auch einfach mit du . Sicherheitshalber verwende ich diese Version von du :

$ du --version
du (GNU coreutils) 8.5

Der Ansatz:

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

Aufschlüsselung des Ansatzes

Der Befehl du -ah DIR erzeugt eine Liste aller Dateien und Verzeichnisse in einem gegebenen Verzeichnis DIR . Das -h wird menschenlesbare Größen erzeugen, die ich bevorzuge. Wenn Sie sie nicht wollen, lassen Sie diesen Schalter fallen. Ich verwende den head -6 nur um die Ausgabemenge zu begrenzen!

$ 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

Einfach genug, um es vom kleinsten zum größten zu sortieren:

$ 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

Kehren Sie es um, vom größten zum kleinsten:

$ 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

Zeig mir nicht das Verzeichnis, nur die Dateien:

$ 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

Wenn Sie alle Verzeichnisse ausschließen möchten Aus der Ausgabe können Sie einen Trick mit dem Vorhandensein eines Punktzeichens verwenden. Dies setzt voraus, dass Ihre Verzeichnisnamen keine Punkte enthalten und dass die Dateien, nach denen Sie suchen, Punkte enthalten. Dann können Sie die Verzeichnisse mit grep -v '\s/[^.]*$' herausfiltern :

$ 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

Wenn Sie nur die Liste von den kleinsten bis zu den größten, aber den 6 am häufigsten problematischen Dateien haben möchten, können Sie den Sortierschalter umkehren, löschen (-r ) und verwenden Sie tail -6 anstelle des 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. Wie suche ich nach Dateien nach Größe und Erweiterung?

  2. Größte Dateien rekursiv finden?

  3. So finden Sie rekursiv alle Dateien mit einer Dateigröße von Null (0) Bytes in einem Verzeichnis

  4. PNG-Dateien rekursiv optimieren

  5. Dateien in einem Linux-Verzeichnis rekursiv zählen

So ändern Sie die Dateiberechtigungen in Linux rekursiv

So kopieren Sie Dateien mit einer bestimmten Dateierweiterung rekursiv

Wie man Dateien in Linux rekursiv auflistet

Erstellen Sie Dateien mit benutzerdefinierter Größe in Linux

So überprüfen Sie die Größe von Dateien und Verzeichnissen unter Linux

Wie listet man alle Dateien in Linux nach Größe sortiert auf?