So finden Sie die letzten oder heute geänderten Dateien in Linux
In diesem Artikel erklären wir Ihnen zwei einfache Befehlszeilentipps, mit denen Sie nur alle heutigen Dateien auflisten können.
Eines der häufigsten Probleme, auf die Linux-Benutzer auf der Befehlszeile stoßen, ist das Auffinden von Dateien mit einem bestimmten Namen, es 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 im Laufe des Tages erstellt haben (in Ihrem Home-Ordner, der Hunderte von Dateien enthält), und Sie müssen sie dennoch dringend verwenden.
Im Folgenden finden Sie verschiedene Möglichkeiten, nur alle Dateien aufzulisten, die Sie heute (direkt oder indirekt) erstellt oder geändert haben.
1. Mit dem Befehl ls können Sie die heutigen Dateien in Ihrem Home-Ordner nur wie folgt auflisten, wobei:
-a– listet alle Dateien auf, einschließlich versteckter Dateien-l– ermöglicht das Format einer langen Auflistung--time-style=FORMAT– zeigt die Zeit im angegebenen FORMAT an+%D– Anzeige/Verwendung des Datums im Format %m/%d/%y
# 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'
Sie können auch basierend auf der Größe (größte zuerst) mit dem Flag -S auflisten:
# ls -alS --time-style=+%D | grep 'date +%D'
2. Auch hier ist es möglich, den Befehl find zu verwenden, der praktisch flexibler ist und viele Optionen als ls bietet, und zwar für den gleichen Zweck wie unten.
-maxdepthlevel wird verwendet, um die Ebene (in Bezug auf Unterverzeichnisse) unterhalb des Ausgangspunkts (in diesem Fall das aktuelle Verzeichnis) anzugeben, auf die der Suchvorgang ausgeführt wird.-newerXY,dies funktioniert, wenn der Zeitstempel X der betreffenden Datei neuer ist als der Zeitstempel Y der Dateireferenz. X und Y stehen für einen der folgenden Buchstaben:- A – Zugriffszeit des Aktenzeichens
- B – Geburtszeit des Aktenzeichens
- C – Änderung des Inode-Status, Zeitpunkt der Referenz
- M – Änderungszeit der Dateireferenz
- t – Referenz wird direkt als Zeit interpretiert
Das 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 obigen Find-Befehl, sobald Sie ein falsches Format verwenden, erhalten Sie eine Fehlermeldung wie die folgende:
# 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 Formate verwenden:
# find . -maxdepth 1 -newermt "12/06/2016"
OR
find . -maxdepth 1 -newermt "12/06/16"
Weitere Informationen zur Verwendung von ls und Befehlen finden Sie in unserer folgenden Artikelreihe zu diesem Thema.
- Meistern Sie den Linux-Befehl 'ls' mit diesen 15 Beispielen
- Nützliche 7 skurrile "ls"-Tricks für Linux-Benutzer
- Meistern Sie den Linux-Befehl 'find' mit diesen 35 Beispielen
- Möglichkeiten, mehrere Dateinamen mit Erweiterungen in Linux zu finden
In diesem Artikel haben wir zwei wichtige Tipps erklärt, wie Sie mit Hilfe der Befehle ls und find nur die heutigen Dateien auflisten können. Nutzen Sie das untenstehende Feedback-Formular, um uns Fragen oder Kommentare zu diesem Thema zu senden. Sie können uns auch über alle Befehle informieren, die für das gleiche Ziel verwendet werden.


