Der Find-Befehl in Linux wird verwendet, um nach Dateien zu suchen und Ordner basierend auf verschiedenen Parametern. Diese Parameter können der Dateiname sein , Größe , Dateityp usw.
[Das könnte Ihnen auch gefallen:So finden Sie unter Linux Dateien, die eine bestimmte Textzeichenfolge enthalten]
Einer dieser Parameter ist der Zeitstempel der Datei. In Linux (und allen Unix-basierten Dateisystemen) gibt es 3 Zeitstempel für jede Datei gepflegt:
- Letzte Änderungszeit
- Zeitpunkt des letzten Zugriffs
- Zeitpunkt der letzten Statusänderung (d. h. wann Metadaten der Datei wie Berechtigungen geändert wurden)
Sehen wir uns an, wie man find verwendet um nach Dateien basierend auf jedem dieser Zeitstempel zu suchen .
Dateizeitstempel in Linux finden
Als erstes können wir die 'stat ausführen ‘-Befehl in Linux, um all diese Zeitstempel für eine Datei zu erhalten. Zum Beispiel für eine Datei mit dem Namen „stat ‘, ausführen:
$ stat tmp
Dateien anhand des Zeitstempels finden
Nun, um Dateien basierend auf dem Zeitstempel zu finden verwenden wir das Argument '-newerXY'
von finden von der Manpage.
man find
Also im Argument '-newerXY'
, können wir X haben als ein , c , oder m , jeweils für letzten Zugriff, letzte Statusänderung und letzte Änderungszeiten, und Y als t , sodass das nächste Argument ein Zeitstempel sein kann Zeichenfolge.
Hinweis :Die Geburtszeit, d. h. die Erstellungszeit einer Datei, wird in Unix nicht gepflegt basierte Dateisysteme
Verallgemeinert sieht der auszuführende Befehl so aus:
find <directory_path> -newer<a/m/c>t ‘<timestamp>’
Hier das Format des Zeitstempels sollte sein:‘YYYY-MM-DD HH:MM:SS’ .
Versuchen wir dies an einem Ordner mit wenigen Dateien und nur zwei Dateien, auf die zugegriffen wurde, die geändert wurden und deren Status sich nach einer bestimmten Zeit geändert hat.
find . -newerat ‘2021-02-19 06:34’ find . -newerct ‘2021-02-19 06:34’ find . -newermt ‘2021-02-19 06:34’
Bestätigen Sie mit ‘stat’ wenn die Zeitstempel beider Dateien sind tatsächlich größer als die angegebene Zeit.
stat tmp2 tmp3
Schlussfolgerung
Wir haben gelernt, wie man '-newerXY'
verwendet das Argument des Befehls find um nach Dateien basierend auf Zeitstempel zu suchen .
Beachten Sie, dass Sie auch eine andere Datei für einen Referenz-Zeitstempel verwenden können anstatt den Zeitstempel explizit anzugeben , in diesem Fall das 't' aus dem Argument kann übersprungen werden.
Vielen Dank fürs Lesen und teilen Sie uns Ihre Gedanken in den Kommentaren unten mit!