GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So löschen Sie Dateien, die älter als die angegebenen Tage in Linux sind

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!


Linux
  1. So finden Sie unter Linux Dateien, die größer oder kleiner als X sind

  2. Wie lösche ich alle Dateien, die älter als X Tage in Linux sind?

  3. So entfernen Sie Dateien, die älter als N Tage sind, mit tmpreaper in Linux

  4. So löschen Sie die Dateien, die älter als n Tage sind, OHNE den Befehl find zu verwenden

  5. So finden und löschen Sie Dateien, die älter als ein bestimmter Zeitraum in Linux sind

So finden Sie Dateien unter Linux

So zählen Sie Dateien im Verzeichnis in Linux

So finden und löschen Sie doppelte Dateien in Linux

So löschen Sie Dateien, die älter als die angegebenen Tage in Linux sind

Wie finde ich unter Linux alle Dateien, die größer als 1 GB sind?

Dateien oder Ordner finden und löschen, die älter als x Tage sind