Wie Sie vielleicht bereits wissen, verwenden wir den Befehl rm in Linux, um Dateien und Ordner zu löschen. Die zu löschenden Dateinamen müssen als Argumente an rm übergeben werden . Aber rm bietet selbst keine anderen Optionen, wie das Löschen von Dateien basierend auf Zeitstempeln.
Aus diesem Grund verwenden wir den Find-Befehl in Linux, mit dem nach Dateien und Ordnern basierend auf verschiedenen Parametern gesucht wird. Es ist ein komplexer Befehl, der verwendet werden kann, um mit Parametern wie Dateiname, Größe, Dateityp usw. zu suchen.
Es gibt eine Option im Suchbefehl um nach Dateien basierend auf ihrem Alter zu suchen, und heute werden wir sehen, wie man find verwendet und rm zusammen, um Dateien zu löschen, die älter als die angegebene Anzahl von Tagen sind.
Dateien finden, die älter als N Tage sind
Wir verwenden das Argument '-atime'
des Find-Befehls, um Dateien zu finden, die älter als N sind Tagen, d.h. zuletzt aufgerufen vor mindestens N Tage.
$ find <directory_path> -atime +<N> $ find . -atime +3
Im aktuellen befinden sich zwei Dateien, auf die zuletzt vor mindestens 4 Tagen zugegriffen wurde. Lassen Sie uns die „Statistik“ verwenden ‘ Befehl, um dies zu überprüfen:
$ stat tmp2 tmp3
Wie Sie sehen können, sind die Dateien 4 und 5 Tage alt bzw. Beachten Sie, dass das Programm bei der Berechnung des Alters einer Datei alle Bruchteile des Zeitstempels ignoriert; Wenn also beispielsweise Dateien angegeben werden sollen, die älter als 4 Tage oder älter sind, geben wir +3
an .
Dateien löschen, die älter als N Tage sind
Rufen wir zum Schluss noch den rm-Befehl auf mit dem Argument '-exec'
um diese Dateien zu löschen.
$ find . -atime +3 -exec rm {} \;
Somit werden die beiden Dateien „tmp2 “ und „tmp3 “ wurden gelöscht.
Schlussfolgerung
In diesem Artikel haben wir gesehen, wie man unter Linux Dateien löscht, die älter als eine bestimmte Anzahl von Tagen sind. Wie Sie vielleicht wissen, wird in Linux- (und Unix-) Dateisystemen die Erstellungszeit einer Datei nicht beibehalten. Die drei für eine Datei verwalteten Zeitstempel sind:die Uhrzeit des letzten Zugriffs, die Uhrzeit der letzten Änderung und die Uhrzeit der letzten Statusänderung.
Hier haben wir den Zeitpunkt des letzten Zugriffs zum Durchsuchen der Dateien betrachtet. Benutzer können sich auch für die Änderungs- oder Statusänderungszeit entscheiden:Verwenden Sie einfach die Optionen '-mtime'
oder '-ctime'
bzw. statt '-atime'
, und der Rest der Syntax bleibt gleich.
Vielen Dank fürs Lesen! Teilen Sie uns Ihre Gedanken in den Kommentaren unten mit!