ShareThis

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