Keywords: guide

Next: Espressioni Up: find, per cercare i Previous: find, per cercare i

## Generalità

Tra i vari comandi visti finora, ce ne sono alcuni che permettono all'utente di scendere ricorsivamente nell'albero delle directory per fare qualche azione: gli esempi canonici sono `ls -R` e `rm -R`. Bene. `find` è il comando ricorsivo. Ogni volta che pensate ``Beh, devo fare questo e quest'altro su tutti questi tipi di file nella mia partizione'', dovreste pensare di usare `find`. In un certo senso il fatto che `find` trovi file è un effetto secondario: il suo vero compito è valutare.

La struttura di base del comando è la seguente:

`find` percorso [...] espressione [...]

Questo almeno vale per la versione GNU; altre versioni non permettono di specificare più di un percorso, ed inoltre è molto raro che serva una cosa del genere. La spiegazione della sintassi del comando è piuttosto semplice: dite da dove volete che cominci la ricerca (la parte percorso; con GNU si può omettere e per default verrà presa in considerazione la directory corrente `.`), e che tipo di ricerca volete fare (la parte espressione).

Il comportamento standard del comando è piuttosto complicato, quindi vale la pena notarlo. Supponiamo che nella vostra home directory ci sia una directory `butta`, che contiene il file `pippo`. Digitate `find . -name pippo` (che come potete indovinare ricerca un file di nome `pippo`), e ottenete ...niente altro che il prompt. Il problema sta nel fatto che `find` è per default silenzioso: rende 0 se la ricerca è stata completata (trovando qualcosa o meno) o un valore non-zero se ci sono stati dei problemi. Questo non accade con la versione che trovate su Linux, ma è comunque utile da ricordare.

Next: Espressioni Up: find, per cercare i Previous: find, per cercare i