Löschen Sie bestimmte Dateien rekursiv

Mit dem Befehl find können Sie Dateien basierend auf vielen Attributen wie Dateityp suchen und löschen. Dieses Technikrezept zeigt, wie Sie Dateien anhand eines Teils ihres Dateinamens suchen und löschen können.


Um alle Dateien auf dem System zu suchen und zu löschen, die auf .log enden, führen Sie diesen als Superuser aus:

find / -name \ *. log -exec rm {} \;

Die umgekehrten Schrägstriche (\) sind in diesem Befehl wichtig. Wenn Sie die Option -exec verwenden, kann ein beliebiger Befehl, in diesem Fall rm, verwendet werden, bei dem der Dateiname anstelle der {} -Zeichen verwendet wird.

Dieser Befehl wäre gefährlich auszuführen. Eine sicherere Alternative verwendet den Befehl -ok anstelle von -exec. Wenn Sie auf diese Weise verwendet werden, werden Sie vor jeder Ausführung des Befehls nach -ok gefragt. Um optional alle Dateien mit der Erweiterung .tmp im Dateisystem / var zu löschen, verwenden Sie Folgendes:

find / var -name \ *. tmp -ok rm {} \;