Il comando find in linux

ShareThis

Find in Linux - Avete mai utilizzato questo comando ?


Find e' uno dei comandi piu' utili in ambiente Linux. In Linux tutto e' un file. Sapere trovare un file, semplifica molte attivita'.

Il comando find puo' sembrare complicato a causa della sua sintassi, ma quando avrete raggiunto un discreto livello di confidenza, semplificherete molteplici attivita'.

Eccovi un esempio

find . -name trovami.pdf

questo comando find trovera' i file trovami.pdf e ci mostrera' il loro percorso

supponiamo ora che non ci ricordiamo se il file che cerchiamo e' un pdf o che altro... comunque inizia con trovami

find . -name trovami\*

questo comando find trovera' i file inizianti con trovami e ci mostrera' il loro percorso

NOTA: abbiamo aggiunto il carattere ESCAPE (il backslash \) prima del simbolo wildcard *

supponiamo ora che non ci ricordiamo del nome del file, ma siamo certi che e' stato creato tre giorni addietro

find . -ctime 3

questo comando find trovera' i file creati tre giorni addietro

... ma c'e' un problema. Find trovera' i file creati tre giorni fa, non negli ultimi tre giorni.

find . -ctime -3

questo comando find trovera' i file creati negli ultimi tre giorni

OK... ma adesso che ho trovato quello che cercavo... cosa me ne faccio ???

find /home -atime +3 -type f -exec rm -f {} \;

(NON LANCIATELO... cancellerete tutto cio' che find trovera'...mi serviva per fare pulizia...)

trova nella directory /home i file (-type f) che non sono stati aperti negli ultimi 3 giorni (-atime +3) ed esegui il comando rm -f (-exec rm -f {} \;) .

Note:

{} significa una riga di risultato del find, ovvero il nome del file trovato.

\; significa il terminatore del comando (il terminatore e' ;) a cui andiamo ad anteporre il (\) per evitare interpretazioni del carattere successivo (il ; appunto)

Per maggiori informazioni ricordiamoci delle man ..... man find