Elimina in modo ricorsivo alcuni file

Utilizzando il comando find, è possibile individuare ed eliminare file in base a molti attributi come il tipo di file. Questa ricetta tecnica dimostrerà come trovare ed eliminare i file in base a parte del loro nome file.


Per trovare ed eliminare tutti i file sul sistema che terminano in .log, esegui questo come superutente:

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

I backslash (\) sono importanti in questo comando. L'utilizzo dell'opzione -exec consente di utilizzare un comando arbitrario, in questo caso rm, con il nome file sostituito al posto dei caratteri {}.

Questo comando sarebbe pericoloso da eseguire. Un'alternativa più sicura usa il comando -ok invece di -exec. Se usato in questo modo, find ti chiederà prima di ogni esecuzione del comando seguente -ok. Per cancellare facoltativamente tutti i file che terminano con .tmp nel filesystem / var, usa il comando seguente:

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