• Allgemein
  • Sortierung von Linux-Dateien nach Datum mit dem Befehl „ls“

Sortierung von Linux-Dateien nach Datum mit dem Befehl „ls“

Syntax des Befehls "ls" zum Sortieren nach Datum

Du kannst den Befehl "ls" verwenden, um Linux-Dateien nach ihrem Datumsattribut zu sortieren. Hier ist die grundlegende Syntax:

ls -t [Optionen] [Dateien/Verzeichnisse]

Dateisortierelemente

Folgende Datumsattribute stehen zum Sortieren zur Verfügung:

  • ctime (Erstellungsdatum): Datum, an dem die Datei erstellt wurde
  • atime (Zugriffsdatum): Datum, an dem auf die Datei zuletzt zugegriffen wurde
  • mtime ( Änderungsdatum): Datum, an dem die Datei zuletzt geändert wurde

Sortierreihenfolge

Standardmäßig sortiert "ls" Dateien in aufsteigender Reihenfolge nach dem angegebenen Datumsattribut. Das bedeutet, dass die ältesten Dateien zuerst aufgelistet werden. Um die Sortierreihenfolge umzukehren, verwende die Option "-r":

ls -tr [Optionen] [Dateien/Verzeichnisse]

Beispiele

Um beispielsweise Dateien in einem Verzeichnis nach ihrem Änderungsdatum in absteigender Reihenfolge aufzulisten, würdest du folgenden Befehl verwenden:

ls -tr mtime

Standard-Sortierreihenfolge

Wenn du den Befehl ls ohne Sortieroptionen verwendest, sortiert er die Dateien standardmäßig in lexikografischer Reihenfolge nach dem Dateinamen. Bei Dateien mit dem gleichen Namen sortiert er nach der Erstellungszeit, wobei die neuesten Dateien zuerst angezeigt werden.

Sortierung nach Erstellungszeit

Die Standard-Sortierreihenfolge für ls basiert auf der Erstellungszeit der Dateien. Dies ist das Datum und die Uhrzeit, zu der die Datei ursprünglich erstellt wurde.

Sortierung nach anderen Kriterien

Wenn du die Sortierreihenfolge ändern möchtest, kannst du die folgenden Optionen verwenden:

  • -t: Sortiert nach Änderungsdatum (Datum, zu dem der Dateiinhalt zuletzt geändert wurde)
  • -u: Sortiert nach Zugriffsdatum (Datum, zu dem die Datei zuletzt geöffnet wurde)

Diese Optionen können mit der Standard-Sortierreihenfolge kombiniert werden, um komplexere Sortierungen zu erstellen. Beispielsweise sortiert ls -t -r alle Dateien in umgekehrter Sortierreihenfolge nach Änderungsdatum.

Umkehrte Sortierreihenfolge

Um die Sortierreihenfolge umzukehren, verwendest du die Option -r. Diese bewirkt, dass die Dateien in absteigender Reihenfolge sortiert werden, d. h. die neuesten Dateien werden zuerst aufgeführt.

Ausführung

Führe folgenden Befehl aus, um Dateien in umgekehrter Reihenfolge nach Änderungsdatum zu sortieren:

ls -rt

Auswirkungen auf die Standardreihenfolge

Die Option -r wirkt sich wie folgt auf die Standardreihenfolge aus:

  • Aufsteigende Sortierung: Die Standardreihenfolge ist aufsteigend, d. h. die ältesten Dateien werden zuerst aufgelistet.
  • Absteigende Sortierung: Die Option -r kehrt diese Reihenfolge um, sodass die neuesten Dateien zuerst aufgelistet werden.

Vorteile

Die umgekehrte Sortierreihenfolge kann in folgenden Situationen nützlich sein:

  • Anzeige der neuesten Dateien: Wenn du die neuesten Dateien in einem Verzeichnis schnell finden möchtest.
  • Fehlersuche: Wenn du wissen möchtest, welche Dateien kürzlich geändert wurden, um Probleme einzugrenzen.

Sortieren nach Zugriffsdatum oder Änderungsdatum

Wenn du deine Dateien nach ihrem Zugriffsdatum oder Änderungsdatum sortieren möchtest, kannst du die folgenden Optionen verwenden:

Sortieren nach Zugriffsdatum

Um Dateien nach dem Datum zu sortieren, an dem sie zuletzt aufgerufen wurden, verwende die Option -u:

ls -u

Sortieren nach Änderungsdatum

Um Dateien nach dem Datum zu sortieren, an dem sie zuletzt geändert wurden, verwende die Option -c:

ls -c

Berücksichtigung von Symlinks

Standardmäßig folgt der Befehl ls Symlinks nicht. Wenn du möchtest, dass Symlinks den Zeitstempeln der Zieldateien folgen, verwende die Option -L:

ls -Lc

Sortieren von Unterverzeichnissen

Um Dateien in Unterverzeichnissen nach Zugriffs- oder Änderungsdatum zu sortieren, verwende die Option -R rekursiv:

ls -LRc

Sortieren mit Platzhaltern

Platzhalter können verwendet werden, um bestimmte Dateitypen auszuwählen. Beispielsweise sortiert der folgende Befehl alle Dateien mit der Endung .txt:

ls -c *.txt

Sortieren versteckter Dateien

Standardmäßig werden versteckte Dateien (Dateien, die mit einem Punkt beginnen) von ls nicht angezeigt. Um auch versteckte Dateien zu sortieren, verwende die Option -a:

ls -ac

Sortieren von Dateien in Unterverzeichnissen

Wenn du Dateien in Unterverzeichnissen sortieren möchtest, kannst du die Option -R (rekursiv) verwenden. Diese Option weist den Befehl ls an, auch in Unterverzeichnissen zu suchen und die darin enthaltenen Dateien in die Sortierung einzubeziehen.

Rekursives Sortieren

Mit der Option -R kannst du rekursiv durch die gesamte Verzeichnishierarchie navigieren und alle darin enthaltenen Dateien sortieren. Die Sortierung erfolgt dabei über alle Ebenen hinweg.

ls -R | sort -t / -k 9

Dieser Befehl sortiert alle Dateien rekursiv nach ihrem Pfad, wobei die oberste Verzeichnisebene als Primärschlüssel und die Dateinamen als Sekundärschlüssel dienen.

Ausschluss bestimmter Verzeichnisse

Du kannst auch bestimmte Verzeichnisse vom rekursiven Sortieren ausschließen. Verwende dazu die Option -prune. Diese Option weist den Befehl ls an, ein bestimmtes Verzeichnis zu überspringen und die Rekursion darin zu beenden.

ls -R -prune -type d -o '!/path/to/excluded/directory' | sort -t / -k 9

Dieser Befehl schließt das Verzeichnis path/to/excluded/directory vom rekursiven Sortieren aus.

Sortieren nach Tiefe

Wenn du Dateien nach ihrer Verzeichnistiefe sortieren möchtest, kannst du die Option -d verwenden. Diese Option weist den Befehl ls an, Verzeichnisse vor Dateien aufzulisten.

ls -Rd | sort -t / -k 11

Dieser Befehl sortiert alle Dateien und Verzeichnisse rekursiv nach ihrer Verzeichnistiefe, wobei das Stammverzeichnis als Ebene 1 gilt.

Verwendung von Platzhaltern für die Dateiauswahl

Mithilfe von Platzhaltern kannst du bestimmte Dateien aus deiner Sortierung auswählen, ohne jeden Dateinamen einzeln einzugeben. Platzhalter sind Sonderzeichen, die mehrere Zeichen oder einen beliebigen Text ersetzen können.

Sternchen (*)

Das Sternchen (*) ersetzt eine beliebige Anzahl von Zeichen. Du kannst es verwenden, um alle Dateien mit einer bestimmten Dateierweiterung auszuwählen:

ls -t *.txt

Dies sortiert alle Textdateien im aktuellen Verzeichnis nach dem Datum.

Fragezeichen (?)

Das Fragezeichen (?) ersetzt ein einzelnes Zeichen. Du kannst es verwenden, um Dateien auszuwählen, die einen bestimmten Buchstaben an einer bestimmten Position in ihrem Namen enthalten:

ls -t ?a*

Dies sortiert alle Dateien, die ein "a" im Dateinamen haben.

Klammern ([] und [][])

Klammern ermöglichen es dir, eine Zeichenklasse anzugeben. Alle Zeichen innerhalb der Klammern sind zulässig. Du kannst beispielsweise alle Dateien auswählen, die mit einem Vokal beginnen:

ls -t [aeiou]*

Du kannst auch einen Bereich von Zeichen angeben, indem du einen Bindestrich (-) zwischen den Zeichen verwendest:

ls -t [a-z]*

Dies sortiert alle Dateien, die mit einem Kleinbuchstaben beginnen.

Tipps zur Verwendung von Platzhaltern

  • Platzhalter sind case-sensitiv.
  • Du kannst mehrere Platzhalter in einem Befehl verwenden.
  • Platzhalter können sowohl für Dateien als auch für Verzeichnisse verwendet werden.
  • Achte darauf, dass du die Platzhalter richtig verwendest, um unerwünschte Ergebnisse zu vermeiden.

Sortieren von Dateien mit versteckten Namen

Neben der Sortierung sichtbarer Dateien kannst du mit dem Befehl ls auch versteckte Dateien sortieren. Dies kann nützlich sein, wenn du eine vollständige Übersicht über den Inhalt eines Verzeichnisses benötigst, einschließlich der Dateien, die standardmäßig ausgeblendet sind.

Verwendung der Option "-a"

Um versteckte Dateien in die Sortierung einzubeziehen, verwende die Option -a (für "all"). Diese Option weist ls an, alle Dateien im aktuellen Verzeichnis anzuzeigen, unabhängig von ihren Berechtigungen oder ob sie verborgen sind oder nicht.

ls -a

Versteckte Dateien erkennen

Versteckte Dateien werden in der Ausgabe von ls normalerweise durch einen vorangestellten Punkt (.) gekennzeichnet. Beispielsweise würde die Datei .bashrc als ./.bashrc angezeigt.

Berücksichtigung versteckter Dateien in der Sortierreihenfolge

Wenn du die Option -a verwendest, werden versteckte Dateien in der Sortierreihenfolge berücksichtigt. Dies bedeutet, dass sie zusammen mit den sichtbaren Dateien nach dem angegebenen Kriterium (z. B. Datum, Größe oder Typ) sortiert werden.

Tipps

  • Wenn du versteckte Dateien zusammen mit ihren sichtbaren Gegenstücken anzeigen möchtest, kannst du die Option -A (Großbuchstabe "A") verwenden. Dies schließt jedoch die Sortierung von Dateien aus, deren Namen mit einem Punkt beginnen.
  • Wenn du nur versteckte Dateien anzeigen und sortieren möchtest, kannst du die Kombination ls -d .[!.]* verwenden. Dadurch werden alle Dateien und Verzeichnisse im aktuellen Verzeichnis angezeigt, deren Namen nicht mit einem Punkt beginnen.