Website-Suche

So finden Sie aktuelle oder heute geänderte Dateien unter Linux


In diesem Artikel erklären wir zwei einfache Befehlszeilentipps, mit denen Sie nur alle aktuellen Dateien auflisten können.

Eines der häufigsten Probleme, auf die Linux-Benutzer in der Befehlszeile stoßen, ist das Auffinden von Dateien mit einem bestimmten Namen. Dies kann viel einfacher sein, wenn Sie den Dateinamen tatsächlich kennen.

Angenommen, Sie haben den Namen einer Datei vergessen, die Sie zu einem früheren Zeitpunkt des Tages erstellt haben (in Ihrem home-Ordner, der Hunderte von Dateien enthält) und die Sie dennoch dringend verwenden müssen.

Im Folgenden finden Sie verschiedene Möglichkeiten, nur alle Dateien aufzulisten, die Sie heute erstellt oder (direkt oder indirekt) geändert haben.

1. Mit dem Befehl ls können Sie die heutigen Dateien in Ihrem Home-Ordner nur wie folgt auflisten, wobei:

  1. -a – listet alle Dateien auf, einschließlich versteckter Dateien
  2. -l – aktiviert das lange Listenformat
  3. --time-style=FORMAT – zeigt die Zeit im angegebenen FORMAT an
  4. +%D – Datum im Format %m/%d/%y anzeigen/verwenden
ls  -al --time-style=+%D | grep 'date +%D'

Darüber hinaus können Sie die resultierende Liste alphabetisch sortieren, indem Sie das Flag -X einfügen:

ls -alX --time-style=+%D | grep 'date +%D'

Mit dem Flag -S können Sie auch nach Größe auflisten (größte zuerst):

ls -alS --time-style=+%D | grep 'date +%D'

2. Auch hier ist es möglich, den Find-Befehl zu verwenden, der praktisch flexibler ist und viele Optionen bietet als ls, für den gleichen Zweck wie unten.

  1. -max Depth level wird verwendet, um die Ebene (in Bezug auf Unterverzeichnisse) unterhalb des Startpunkts (in diesem Fall aktuelles Verzeichnis) anzugeben, bis zu dem der Suchvorgang ausgeführt wird.
  2. -newerXY, dies funktioniert, wenn Zeitstempel X der betreffenden Datei neuer ist als Zeitstempel Y der Dateireferenz. X und Y stehen für einen der folgenden Buchstaben:

    1. a – Zugriffszeit der Dateireferenz
    2. B – Geburtszeit des Aktenzeichens
    3. c – Referenzzeit der Inode-Statusänderung
    4. m – Änderungszeit der Dateireferenz
    5. t – Referenz wird direkt als Zeit interpretiert

Dies bedeutet, dass nur Dateien berücksichtigt werden, die am 06.12.2016 geändert wurden:

find . -maxdepth 1 -newermt "2016-12-06"

Wichtig: Verwenden Sie das korrekte Datumsformat als Referenz im Suchbefehl oben. Sobald Sie ein falsches Format verwenden, wird eine Fehlermeldung angezeigt das untenstehende:

find . -maxdepth 1 -newermt "12-06-2016"

find: I cannot figure out how to interpret '12-06-2016' as a date or time

Alternativ können Sie die folgenden korrekten Formate verwenden:

find . -maxdepth 1 -newermt "12/06/2016"
OR
find . -maxdepth 1 -newermt "12/06/16"

Weitere Informationen zur Verwendung der Befehle ls und find finden Sie in unserer folgenden Artikelserie zu diesen Befehlen.

  1. Beherrschen Sie den Linux-Befehl „ls“ mit diesen 15 Beispielen
  2. Nützliche 7 skurrile „ls“-Tricks für Linux-Benutzer
  3. Beherrschen Sie den Linux-Befehl „find“ mit diesen 35 Beispielen
  4. Möglichkeiten, mehrere Dateinamen mit Erweiterungen in Linux zu finden

In diesem Artikel haben wir zwei wichtige Tipps erklärt, wie Sie mithilfe der Befehle ls und find nur die aktuellen Dateien auflisten. Nutzen Sie das unten stehende Feedback-Formular, um uns Fragen oder Kommentare zum Thema zu senden. Sie können uns auch alle Befehle mitteilen, die für dasselbe Ziel verwendet werden.