• Allgemein
  • Sortierung von Dateien nach Größe mit dem Befehl „ls“ in Linux

Sortierung von Dateien nach Größe mit dem Befehl „ls“ in Linux

Sortierung von Dateien nach Größe mit "ls"

Der Befehl "ls" von Linux ermöglicht dir die Auflistung von Dateien und Verzeichnissen in einem bestimmten Verzeichnis. Er verfügt außerdem über eine Reihe von Optionen, mit denen du deine Ergebnisse nach verschiedenen Kriterien sortieren kannst, darunter auch nach Größe.

Verwendung der Größensortierungsoptionen

Um Dateien nach ihrer Größe zu sortieren, verwende die Option -S, gefolgt vom Sortiermodus:

  • -S: Sortiert Dateien nach Größe.
  • -Sr: Sortiert Dateien nach Größe (umgekehrt).

Mehrere Sortierkriterien festlegen

Du kannst auch mehrere Sortierkriterien angeben, um deine Ergebnisse genauer zu filtern. Beispielsweise kannst du Dateien zunächst nach Größe und dann nach Namen sortieren:

ls -S -r | sort -k1,1 -k2,2

Sortierreihenfolge ändern

Standardmäßig sortiert "ls" die Dateien in aufsteigender Reihenfolge. Um die Sortierreihenfolge umzukehren, verwende die Option -r:

ls -Sr

Anzeigen des Speicherplatzes für Dateien

Die Option -h fügt der Ausgabe eine benutzerfreundliche Darstellung des Speicherplatzes hinzu, sodass du leicht die Dateigrößen ablesen kannst:

ls -S -h

Optionen zur Größensortierung verwenden

Um Dateien nach Größe zu sortieren, kannst du die Option -S verwenden. Diese Option sortiert Dateien in aufsteigender Reihenfolge nach ihrer Größe, wobei die kleinste Datei zuerst angezeigt wird. Möchtest du die Sortierung in absteigender Reihenfolge durchführen, kannst du die Option -r verwenden, wodurch die größte Datei zuerst angezeigt wird.

Sortierung nach Dateigröße in Bytes

Die Option -S sortiert Dateien standardmäßig nach ihrer Größe in Bytes. Dies kann jedoch für große Dateien unübersichtlich sein. Um die Dateigröße in anderen Einheiten anzuzeigen, kannst du die Optionen -h (human-readable) oder --si (internationales Einheitensystem) verwenden.

ls -Sr

Sortierung nach Dateigröße in Blöcken

Manchmal kann es nützlich sein, Dateien nach ihrer Größe in Blöcken zu sortieren. Dies kann insbesondere dann hilfreich sein, wenn du auf einem Dateisystem mit blockbasierter Zuweisung arbeitest. Um Dateien nach ihrer Größe in Blöcken zu sortieren, kannst du die Option -k verwenden.

ls -Sk

Mehrere Sortierkriterien festlegen

Sortieren nach Größe und dann nach Name

Um Dateien zuerst nach Größe und dann nach Name zu sortieren, verwende das folgende Kommando:

ls -SR

Die Option -S sortiert nach Größe, während die Option -R nach Name sortiert. Die Sortierung erfolgt zuerst nach Größe und dann nach Name innerhalb jeder Größenkategorie.

Sortieren nach Größe und dann nach Datum zuletzt geändert

Zum Sortieren von Dateien zuerst nach Größe und dann nach Datum zuletzt geändert, verwende das folgende Kommando:

ls -St

Die Option -t sortiert nach Datum zuletzt geändert. Die Sortierung erfolgt zuerst nach Größe und dann nach Datum zuletzt geändert innerhalb jeder Größenkategorie.

Sortieren nach Größe und dann nach mehreren anderen Kriterien

Du kannst mehrere Sortierkriterien angeben, indem du sie mit Kommas trennst. Beispielsweise kannst du das folgende Kommando verwenden, um Dateien zuerst nach Größe, dann nach Datum zuletzt geändert und dann nach Besitzer zu sortieren:

ls -Srtu

Die Option -u sortiert nach Besitzer. Die Sortierung erfolgt zuerst nach Größe, dann nach Datum zuletzt geändert und dann nach Besitzer innerhalb jeder Kategorie.

Sortierreihenfolge ändern

Standardmäßig sortiert der Befehl ls Dateien nach Größe in aufsteigender Reihenfolge, beginnend mit den kleinsten Dateien. Du kannst jedoch die Sortierreihenfolge umkehren und die Dateien in absteigender Reihenfolge sortieren, sodass die größten Dateien zuerst angezeigt werden.

Die Option -r für umgekehrte Sortierung

Um die Sortierreihenfolge umzukehren, verwende die Option -r. Diese Option wechselt die Sortierrichtung von aufsteigend zu absteigend.

ls -r

Kombination mit anderen Optionen

Du kannst die Option -r mit anderen Sortieroptionen kombinieren, um die Sortierung weiter anzupassen. Beispielsweise kannst du die folgenden Befehle verwenden:

  • Dateien nach Größe in absteigender Reihenfolge und dann nach Namen in aufsteigender Reihenfolge sortieren:
ls -r -S
  • Dateien nach Größe in absteigender Reihenfolge und dann nach Zugriffszeit in aufsteigender Reihenfolge sortieren:
ls -r -t

Sortieren nach mehreren Kriterien

Wenn du Dateien nach mehreren Kriterien sortieren möchtest, kannst du die Option -sort mit mehreren Argumenten verwenden. Jedes Argument gibt eines der Sortierkriterien an, wobei die Argumente in der Reihenfolge der gewünschten Sortierreihenfolge angegeben werden.

ls -sort=size:desc,name:asc

Dieser Befehl sortiert Dateien zuerst nach Größe in absteigender Reihenfolge und dann nach Namen in aufsteigender Reihenfolge.

Anzeigen des Speicherplatzes für Dateien

Neben der Sortierung von Dateien nach Größe kannst du mit dem ls-Befehl auch den Speicherplatz anzeigen, den jede Datei belegt. Dies ist besonders nützlich, wenn du Speicherplatz freigeben oder große Dateien identifizieren möchtest.

Option -s

Die Option -s weist ls an, die Größe jeder Datei in Bytes auszugeben. Wenn du diese Option verwendest, wird eine Spalte mit der Größe der Datei vor dem Dateinamen angezeigt.

ls -s

Option -h

Die Option -h kann in Kombination mit -s verwendet werden, um die Größe der Datei in einem für Menschen lesbaren Format anzuzeigen. Beispielsweise wird die Größe als Kilobytes (K), Megabytes (M) oder Gigabytes (G) angezeigt.

ls -sh

Option --giga

Die Option --giga ist eine Alternative zu -h, die die Größe der Datei in Gibibyte (GiB) anzeigt. Dies ist besonders nützlich, wenn du mit sehr großen Dateien arbeitest.

ls --giga

Anzeigen des kumulativen Speicherplatzes

Mit der Option -l kannst du ls anweisen, zusätzliche Informationen über jede Datei anzuzeigen, einschließlich des kumulativen Speicherplatzes für alle Dateien im aktuellen Verzeichnis.

ls -l

Die angezeigte Spalte "Größe" gibt die kumulative Größe aller Dateien im aktuellen Verzeichnis an. Dies kann nützlich sein, um zu ermitteln, wie viel Speicherplatz von Dateien in einem bestimmten Verzeichnis belegt wird.

Beispiele

Hier sind einige Beispiele für die Verwendung der oben genannten Optionen:

  • Um den Speicherplatz aller Dateien im aktuellen Verzeichnis in Bytes anzuzeigen, verwende:
ls -s
  • Um den Speicherplatz aller Dateien im aktuellen Verzeichnis in einem für Menschen lesbaren Format anzuzeigen, verwende:
ls -sh
  • Um den kumulativen Speicherplatz für alle Dateien im aktuellen Verzeichnis anzuzeigen, verwende:
ls -l
  • Um den Speicherplatz aller Dateien im aktuellen Verzeichnis in Gibibyte anzuzeigen, verwende:
ls --giga

Dateien in verschiedene Größenkategorien sortieren

Möchtest du deine Dateien in übersichtliche Größenkategorien sortieren? Mit dem Befehl ls kannst du genau das erreichen. Hier erfährst du, wie du vorgehen kannst:

Bestimme die Größenkategorien

Überlege dir zunächst, welche Größenkategorien du erstellen möchtest. Mögliche Kategorien könnten sein:

  • Klein (< 1 MB)
  • Mittel (1 MB – 10 MB)
  • Groß (10 MB – 100 MB)
  • Sehr groß (über 100 MB)

Verwende die Option -size

Nutze die Option -size des ls-Befehls, um Dateien nach ihrer Größe zu filtern. Beispielsweise kannst du mit folgendem Befehl alle Dateien auflisten, die kleiner als 1 MB sind:

ls -size -1M

Erstelle Unterverzeichnisse für jede Kategorie

Erstelle für jede Größenkategorie ein eigenes Unterverzeichnis. Du kannst dies mit dem Befehl mkdir tun, wie folgt:

mkdir klein mittel groß sehr_groß

Verschiebe Dateien in die entsprechenden Unterverzeichnisse

Verwende die Befehle find und mv, um Dateien automatisch in die richtigen Unterverzeichnisse zu verschieben. Hier ist ein Beispiel:

find . -size -1M -exec mv {} klein \;

Dieser Befehl sucht nach allen Dateien, die kleiner als 1 MB sind, und verschiebt sie in das Unterverzeichnis klein.

Vorteile der Größenkategorisierung

Die Sortierung von Dateien nach Größenkategorien bietet zahlreiche Vorteile:

  • Bessere Übersichtlichkeit: Du kannst deine Dateien leicht nach Größe finden und verwalten.
  • Platzersparnis: Durch das Verschieben großer Dateien in eigene Verzeichnisse kannst du Speicherplatz auf deinem Hauptverzeichnis freigeben.
  • Effizientere Backups: Die Kategorisierung erleichtert das Sichern und Wiederherstellen von Dateien, da du dich auf bestimmte Größenkategorien konzentrieren kannst.

Sortierte Ausgabe in eine Datei umleiten

Du kannst die Ausgabe des Befehls ls, die nach Größe sortiert ist, in eine Datei umleiten. Dies ist hilfreich, wenn du die sortierten Dateien später in einem anderen Programm oder Skript verwenden möchtest.

Verwendung des Operators >

Die grundlegende Syntax zur Umleitung der Ausgabe in eine Datei lautet:

ls [Optionen] | sort | > datei.txt

Beispielsweise kannst du die nach Größe sortierten Dateien im aktuellen Verzeichnis in die Datei files_by_size.txt umleiten:

ls -l | sort -k5,nr | > files_by_size.txt

Verwendung von --output

Du kannst auch die Option --output von sort verwenden, um die sortierte Ausgabe direkt in eine Datei zu schreiben. Dies ist etwas effizienter als die Verwendung des Operators >, da es die Ausgabe nicht durch die Pipeline leitet.

Syntax:

ls [Optionen] | sort [Optionen] --output=datei.txt

Beispielsweise:

ls -l | sort -k5,nr --output=files_by_size.txt

Beachte

  • Stelle sicher, dass du den Befehl mit Administratorrechten ausführst, wenn du in systemweiten Verzeichnissen sortieren möchtest.
  • Die umgeleitete Datei überschreibt vorhandenen Inhalt, wenn sie bereits existiert. Überlege daher, ob du die Datei anhängen oder überschreiben möchtest, bevor du den Befehl ausführst.
  • Du kannst weitere Sortieroptionen verwenden, um die Ausgabe nach mehreren Kriterien oder in umgekehrter Reihenfolge zu sortieren.

Fortgeschrittene Sortieroptionen

Neben den grundlegenden Sortierfunktionen bietet der Befehl ls noch weitere fortgeschrittene Optionen, mit denen du deine Sortierergebnisse noch präziser anpassen kannst.

Sortieren nach Dateityp

Mit der Option -F kannst du Dateien nach ihrem Typ sortieren. Diese Option fügt ein Präfix zu jeder Datei hinzu, das ihren Typ angibt:

  • / für Verzeichnisse
  • * für ausführbare Dateien
  • @ für Symlinks

Beispiel:

ls -F

Ausgabe:

.bash_history/  Desktop/  Downloads/  Music/  Pictures/  Public/  Templates/  Videos/

Sortieren nach numerischen Werten

Manchmal möchtest du vielleicht Dateien nach numerischen Werten sortieren, wie z. B. nach der Dateigröße oder den Zugriffsrechten. Dazu kannst du die Option -n verwenden. Diese Option behandelt die Eingaben als numerische Werte und sortiert sie entsprechend.

Beispiel:

ls -n

Ausgabe:

100.txt  101.txt  102.txt  103.txt  104.txt

Sortieren rekursiver Verzeichnisse

Mit der Option -R kannst du Dateien in allen Unterverzeichnissen rekursiv sortieren. Diese Option durchsucht jedes Verzeichnis und sortiert die darin enthaltenen Dateien nach den angegebenen Kriterien.

Beispiel:

ls -R | sort

Sortieren nach mehreren Sortierkriterien

Du kannst den Befehl ls verwenden, um Dateien nach mehreren Sortierkriterien zu sortieren. Um dies zu tun, musst du die Sortieroptionen in der gewünschten Reihenfolge angeben.

Beispiel:

ls -t -r

Diese Option sortiert Dateien zuerst nach Zeitstempel (mit -t) und dann in umgekehrter Reihenfolge (mit -r).

Sortieren nach aufsteigender/absteigender Reihenfolge

Standardmäßig sortiert der Befehl ls Dateien in aufsteigender Reihenfolge. Um die Sortierreihenfolge umzukehren, kannst du die Option -r verwenden.

Beispiel:

ls -r

Diese Option sortiert Dateien in absteigender Reihenfolge.