Frage: Ich würde gerne wissen, ob es in Linux einen einzigen Befehl gibt, mit dem ich alle Dateien löschen kann, die älter als sagen wir 10 Tage sind? – Ravi
Lösung: Ja, Sie können „find“ verwenden ‘-Befehl mit wenigen Argumenten – z. B. um alle Dateien oder Dateien mit bestimmten Erweiterungen (z. B. *.tar) zu durchsuchen ), berechnen Sie die Dateiänderungszeit und einen Befehl, der für jede Datei ausgeführt werden soll.
Der folgende Befehl löscht beispielsweise alle Dateien, die älter als 10 Tage sind.
find * -mtime +10 -exec rm {} \;
Hier,
finden – das Befehlsdienstprogramm zum Suchen von Dateien.
* – gibt alle Dateien an. Wenn Sie nach Dateien mit einer bestimmten Erweiterung suchen möchten, geht der Befehl so …
find *.tar -mtime +10 -exec rm {} \;
-mtime – Daten der Datei wurden zuletzt vor n*24 Stunden geändert.
+10 – bedeutet Dateien, die älter als 10 Tage sind.
-exec – führt einen externen Befehl aus
rm – Befehl zum Entfernen von Dateien
{} \; – beendet den Befehl
Achtung: Notieren Sie sich das Verzeichnis, in dem der Befehl ausgeführt wird, da die gelöschten Dateien nicht wiederhergestellt werden können, es sei denn, Sie verwenden eine Wiederherstellungssoftware.