Provided by: manpages-it_0.3.4-1_all bug

NOME

       find - cerca i file in una gerarchia di directory

SINTASSI

       find [percorso...] [espressione]

DESCRIZIONE

       Questa  pagina  di  manuale  documenta  la  versione GNU di find.  find
       effettua una ricerca negli alberi di directory aventi radice in  ognuno
       dei  nomi  di  file  specificati,  valutando  da  sinistra a destra, in
       accordo con le regole di precedenza (si  veda  la  sezione  OPERATORI),
       l’espressione  data  finché  non  ne conosca il valore (è falso il lato
       sinistro delle operazioni and, o è vero quello delle or),  spostando  a
       questo punto la propria attenzione sul successivo nome di file.

       Il  primo  argomento  che  inizia  con  ‘-’,  ‘(’,  ‘)’,  ‘,’,  o ‘!’ è
       considerato l’inizio dell’espressione; qualsiasi argomento precedente è
       assunto  essere  un  percorso  nel  quale  fare la ricerca, e qualsiasi
       argomento  successivo  è  il  seguito  dell’espressione.   Se   non   è
       specificato alcun percorso è usata la directory corrente. Se non è data
       nessuna espressione è usata l’espressione ‘-print’.

       find esce con stato 0  se  tutti  i  file  sono  stati  processati  con
       successo, con uno stato maggiore di 0 se accadono degli errori.

ESPRESSIONI

       L’espressione  è  fatta  di opzioni (le quali hanno effetto su tutte le
       operazioni piuttosto che nell’elaborazione  di  un  file  specifico,  e
       ritornano  sempre  vero),  test  (che  possono  ritornare  sia vero che
       falso), e azioni (che hanno effetti  collaterali  e  ritornano  vero  o
       falso),  tutte separate da operatori. Se l’operatore è omesso è assunto
       l’operatore -and. Se l’espressione non contiene altre  azioni  oltre  a
       -prune,  è  effettuata  l’azione  -print  su  tutti  i file per i quali
       l’espressione è vera.

   OPZIONI
       Tutte le opzioni ritornano sempre vero. Hanno sempre effetto, piuttosto
       che   essere   processate   solo  quando  è  raggiunto  il  loro  posto
       nell’espressione. Quindi, per chiarezza, è meglio  metterle  all’inizio
       dell’espressione.

       -daystart
              Misura  il  tempo  (per  -amin,  -atime, -cmin, -ctime, -mmin, e
              -mtime) a partire dell’inizio della giornata  attuale  piuttosto
              che da 24 ore fa.

       -depth Processa  il  contenuto  di ogni directory prima della directory
              stessa.

       -follow
              Deferenzia i link simbolici. Implica -noleaf.

       -help, --help
              Mostra un sunto dell’uso in riga di comando di find ed esce.

       -maxdepth livelli
              Discende al più livelli (un  intero  non  negativo)  livelli  di
              directory   sotto   degli   argomenti  della  riga  di  comando.
              ‘-maxdepth 0’ fa sì che le azioni e  i  test  vengano  applicati
              solo agli argomenti della riga di comando.

       -mindepth liveli
              Non applica nessun test o azione a livelli minori di livelli (un
              intero  non  negativo).   ‘-mindepth  1’  fa  sì   che   vengano
              processati  tutti i file ad eccezione degli argomenti della riga
              di comando.

       -mount Non discende  le  directory  su  altri  filesystem.  È  un  nome
              alternativo  per  -xdev,  mantenuto per compatibilità con alcune
              altre versioni di find.

       -noleaf
              Non ottimizza la ricerca supponendo che le directory  contengano
              due  sotto-directory in meno del loro numero di link hard ("hard
              link count"). Questa opzione è necessaria quando  si  effettuano
              ricerche  su  filesystem che non seguono le convenzioni Unix sui
              link a directory, come i filesystem dei CD-ROM o MS-DOS oppure i
              volumi  AFS.  In  un  normale  filesystem Unix ogni directory ha
              almeno due hard link: il suo nome e il suo campo  ‘.’.  Inoltre,
              ognuna  delle  sue  sotto-directory  (se ce ne sono) ha un campo
              ‘..’ collegato a quella directory. Quando  find  sta  esaminando
              una  directory,  dopo  aver  assunto  che  ci  siano  due sotto-
              directory in meno del numero di link hard, sa che il  resto  dei
              campi   nella   directory  non  sono  directory  (file  ‘foglie’
              nell’albero della directory). Se devono essere esaminati solo  i
              nomi  dei  file,  non c’è bisogno di fare questa assunzione; ciò
              incrementa notevolmente la velocità di ricerca.

       -version, --version
              Mostra il numero di versione di find ed esce.

       -xdev  Non discende le directory su altri filesystem.

   TEST
       Gli argomenti numerici possono essere specificati come

       +n     per i valori maggiori di n,

       -n     per quelli minori di n,

       n      se si vuole intendere esattamente n.

       -amin n
              Il file ha subito l’ultimo accesso n minuti fa.

       -anewer file
              Il file ha subito l’ultimo accesso prima dell’ultima modifica di
              file.   -anewer  subisce  l’effetto  di  -follow solo se -follow
              compare prima di -anewer nella riga di comando.

       -atime n
              Il file ha subito l’ultimo accesso n*24 ore fa.

       -cmin n
              Lo stato del file ha subito l’ultima modifica n minuti fa.

       -cnewer file
              Lo stato del file è stato modificato prima dell’ultima  modifica
              di  file.   -cnewer subisce l’effetto di -follow solo se -follow
              compare prima di -cnewer nella riga di comando.

       -ctime n
              Lo stato del file ha subito l’ultima modifica n*24 ore fa.

       -empty Il file è vuoto ed è o un file regolare o una directory.

       -false Sempre falso.

       -fstype tipo
              Il file è su un filesystem di tipo tipo. I  tipi  di  filesystem
              validi  variano  tra  le  diverse  varianti  di  Unix; un elenco
              incompleto di tipi di filesystem accettati in alcune versioni di
              Unix  è:  ufs, 4.2, 4.3, nfs, tmp, mfs, S51K, S52K. Si può usare
              -printf con la  direttiva  %F  per  vedere  i  tipi  dei  propri
              filesystem.

       -gid n L’identificatore (ID) numerico di gruppo del file è n.

       -group gruppo
              Il  file  appartiene  al  gruppo  gruppo (sono permessi anche ID
              numerici di gruppi).

       -ilname modello
              Simile a -lname, ma per la  corrispondenza  non  si  considerano
              diverse   le   lettere  minuscole  da  quelle  maiuscole  ("case
              insensitive").

       -iname modello
              Simile a -name, ma per  la  corrispondenza  non  si  considerano
              diverse   le   lettere  minuscole  da  quelle  maiuscole  ("case
              insensitive").  Per  esempio,   il   modello   ‘fo*’   e   ‘F??’
              corrispondono ai nomi di file ‘Foo’, ‘FOO’, ‘foo’, ‘fOo’, ecc.

       -inum n
              Il file ha numero di inode n.

       -ipath modello
              Simile  a  -path,  ma  per  la corrispondenza non si considerano
              diverse  le  lettere  minuscole  da  quelle   maiuscole   ("case
              insensitive").

       -iregex modello
              Simile  a  -regex,  ma  per la corrispondenza non si considerano
              diverse  le  lettere  minuscole  da  quelle   maiuscole   ("case
              insensitive").

       -links n
              Il file ha n link.

       -lname modello
              Il  file  è  un  link  simbolico il cui contenuto corrisponde al
              modello shell modello.  I metacaratteri  non  trattano  in  modo
              speciale i caratteri ‘/’ or ‘.’.

       -mmin n
              I dati del file sono stati modificati n minuti fa.

       -mtime n
              I dati del file sono stati modificati n*24 ore fa.

       -name modello
              Il  nome  di base del file (il percorso a cui sono state rimosse
              le directory iniziali) corrisponde al modello shell modello.   I
              metacaratteri (‘*’, ‘?’, e ‘[]’) non fanno la corrispondenza con
              il ‘.’ all’inizio del nome di base. Per ignorare una directory e
              tutti  i  file  che  contiene,  si usi -prune; si veda l’esempio
              nella descrizione di -path.

       -newer file
              Il file è stato modificato  più  di  recente  rispetto  a  file.
              -newer  subisce  l’effetto  di  -follow  solo se -follow compare
              prima di -newer nella riga di comando.

       -nouser
              Nessun   utente   corrisponde   all’ID   numerico    dell’utente
              proprietario del file.

       -nogroup
              Nessun   gruppo   corrisponde   all’ID   numerico   del   gruppo
              proprietario del file.

       -path modello
              Il file corrisponde al modello shell  modello.  I  metacaratteri
              non  trattano  in modo speciale i caratteri ‘/’ o ‘.’; così, per
              esempio,
                        find . -path ’./sr*sc’
              mostrerà un campo per una directory chiamata ’./src/misc’ (se ne
              esiste  una). Per ignorare un intero albero di directory, si usi
              -prune piuttosto che fare una verifica su ogni file nell’albero.
              Per esempio, per saltare la directory ‘src/emacs’ e tutti i file
              in essa contenuti, e stampare i nomi degli altri  file  trovati,
              si può usare qualcosa di simile a:
                        find . -path ’./src/emacs’ -prune -o -print

       -perm mode
              I  bit  di  permesso del file sono esattamente uguali a mode (in
              ottale o simbolico). I mode simbolici usano mode 0 come punto di
              partenza.

       -perm -mode
              Tutti i bit di permesso in mode sono impostati per il file.

       -perm +mode
              Uno  qualsiasi  dei  bit  di permesso in mode è impostato per il
              file.

       -regex modello
              Il nome del file corrisponde all’espressione regolare modello. È
              una  corrispondenza  sull’intero  percorso, non una ricerca. Per
              esempio, per  fare  una  corrispondenza  con  un  file  chiamato
              ‘./fubar3’,  si  può  usare  l’espressione  regolare  ‘.*bar.’ o
              ‘.*b.*3’, ma non ‘b.*r3’.

       -size n[bckw]
              Il file usa n unità di spazio. Di default o se n  è  seguito  da
              ‘b’,  le  unità  sono blocchi di 512 byte, oppure sono byte se n
              seguito da ‘c’, kilobyte se è seguito da ‘k’, parole di  2  byte
              se  è  seguito  da  ‘w’.  La  dimensione  non  conta  i  blocchi
              indiretti, ma conta i  blocchi  in  file  sparsi  che  non  sono
              realmente allocati.

       -true  Sempre vero.

       -type c
              Il file è di tipo c:

              b      speciale a blocchi (bufferizzato)

              c      speciale a caratteri (non bufferizzato)

              d      directory

              p      named pipe (FIFO)

              f      file regolare

              l      link simbolico

              s      socket

       -uid n L’identificativo numerico dell’utente proprietario del file è n.

       -used n
              Il file ha subito l’ultimo accesso n giorni dopo la  sua  ultima
              modifica.

       -user nome_utente
              Il  file  è  di proprietà dell’utente nome_utente (sono permessi
              anche identificativi numerici di utente).

       -xtype c
              Analogo a -type finché il file non è un link  simbolico.  Per  i
              link simbolici: se non è stato specificato -follow, è vero se il
              file è un link a un file di tipo c; se  è  specificato  -follow,
              vero  se  c è ‘l’. In altre parole, per i link simbolici, -xtype
              verifica i tipi di file non verificati da -type.

   AZIONI
       -exec comando ;
              Esegue comando;  vero  se  è  ritornato  lo  stato  0.  Tutti  i
              successivi  argomenti  di  find  sono  considerati argomenti del
              comando fino a che non è incontrato  un  argomento  composto  da
              ‘;’. Ovunque compaia negli argomenti del comando, non solo negli
              argomenti dov’è da sola come in  alcune  versioni  di  find,  la
              stringa  ‘{}’  è  rimpiazzata  dal  nome  di  file  che  si  sta
              attualmente processando. Entrambi questi costrutti possono  aver
              bisogno  di  essere prefissi da un ‘\’ (escaped) o racchiusi tra
              virgolette  per  proteggerli  dall’espansione  della  shell.  Il
              comando è eseguito nella directory di avvio.

       -fls file
              Vero; simile a -ls ma scrive su file come -fprint.

       -fprint file
              Vero;  scrive  l’intero nome del file nel file file. Se file non
              esiste quando  è  lanciato  find,  è  creato;  ma  se  esiste  è
              troncato.  I nomi di file ‘‘/dev/stdout’’ e ‘‘/dev/stderr’’ sono
              trattati in modo  speciale;  fanno  riferimento  rispettivamente
              allo standard output e allo standard error output.

       -fprint0 file
              Vero; simile a -print0 ma scrive su file come -fprint.

       -fprintf file formato
              Vero; simile a -printf ma scrive su file come -fprint.

       -ok comando ;
              Simile  a  -exec  ma  chiede  prima  conferma  all’utente (nello
              standard input); se la risposta non inizia con ‘y’  o  ‘Y’,  non
              lancia il comando e ritorna falso.

       -print Vero;  stampa  sullo  standard  output  l’intero  nome  del file
              seguito da un newline.

       -print0
              Vero; stampa  sullo  standard  output  l’intero  nome  del  file
              seguito   da   un  carattere  null.  Ciò  permette  la  corretta
              interpretazione da parte di programmi che elaborano l’output  di
              find, dei nomi di file che contengono caratteri di newline.

       -printf formato
              Vero;  stampa  formato  sullo  standard  output interpretando le
              sequenze di escape ‘\’ e le  direttive  ‘%’.  Le  larghezze  dei
              campi  e  le  precisioni  possono  essere specificate come nella
              funzione  C  ‘printf’.  Diversamente  da  -print,  -printf   non
              aggiunge  un  newline  alla  fine  della stringa. Le sequenze di
              escape e le direttive sono:

              \a     Alarm bell.

              \b     Backspace.

              \c     Blocca la stampa a partire da questo carattere e  scarica
                     il buffer per l’output.

              \f     Form feed.

              \n     Newline.

              \r     Carriage return.

              \t     Tab orizzontale.

              \v     Tab verticale.

              \\     Un backslash (‘\’).

              Un  carattere  ‘\’  seguito  da  un  qualsiasi altro carattere è
              trattato come un  carattere  ordinario,  e  così  sono  stampati
              entrambi.

              %%     Un segno di percento.

              %a     Il  tempo  dell’ultimo  accesso  al  file  ritornato  nel
                     formato della funzione C ‘ctime’.

              %Ak    Il  tempo  dell’ultimo  accesso  al  file   nel   formato
                     specificato  da  k,  che  è  o ‘@’ o una direttiva per la
                     funzione C ‘strftime’. I  possibili  valori  per  k  sono
                     elencati  sotto; alcuni possono non essere disponibili in
                     tutti  i  sistemi,  a  causa   delle   differenze   nella
                     ‘strftime’ tra i vari sistemi.

                      @      secondi  a  partire  dalle  ore  00:00  GMT del 1
                             Gennaio 1970.

                     Campi dell’ora:

                      H      ora (00..23)

                      I      ora (01..12)

                      k      ora ( 0..23)

                      l      ora ( 1..12)

                      M      minuti (00..59)

                      p      AM o PM locale

                      r      ora, 12 ore (ore:minuti:secondi [AP]M)

                      S      secondi (00..61)

                      T      ora, 24 ore (ore:minuti:secondi)

                      X      rappresentazione locale dell’ora (H:M:S)

                      Z      zona temporale ("fuso  orario")  (p.es.  MET),  o
                             niente se non è determinabile.

                     Campi della data:

                      a      abbreviazioni  locali  dei  nomi dei giorni della
                             settimana (lun..dom)

                      A      nomi completi locali dei giorni della  settimana,
                             a lunghezza variabile (lunedì..domenica)

                      b      abbreviazioni locali dei nomi dei mesi (gen..dic)

                      B      nomi  completi  locali  dei  mesi,  a   lunghezza
                             variabile (gennaio..dicembre)

                      c      data e ora locale (sab 12 apr 1997 08:06:53)

                      d      giorno del mese (01..31)

                      D      data (mese/giorno/anno)

                      h      analogo a b

                      j      giorno dell’anno (001..366)

                      m      mese (01..12)

                      U      numero  di  settimana dell’anno con domenica come
                             primo giorno della settimana (00..53)

                      w      giorno della settimana (0..6)

                      W      numero di settimana  dell’anno  con  lunedì  come
                             primo giorno della settimana (00..53)

                      x      rappresentazione      locale      della      data
                             (mese/giorno/anno)

                      y      ultime due cifre dell’anno (00..99)

                      Y      anno (1970...)

              %b     Dimensione (arrotondata) del file in blocchi da 512 byte.

              %c     Data  e ora dell’ultimo modifica dello stato del file nel
                     formato restituito dalla funzione C ‘ctime’.

              %Ck    Data e ora dell’ultimo modifica dello stato del file  nel
                     formato specificato da k, che è analogo a quello di %A.

              %d     Profondità  del  file  nell’albero di directory; 0 indica
                     che il file è un argomento della riga di comando.

              %f     Nome del file con le  directory  iniziali  rimosse  (solo
                     l’ultimo elemento).

              %F     Tipo  del  filesystem  sul  quale risiede il file; questo
                     valore può essere usato per -fstype.

              %g     Nome del gruppo del file, o ID numerico del gruppo se  il
                     gruppo non ha nome.

              %G     ID numerico del gruppo del file.

              %h     Directory  iniziali  del  nome  del  file  (tutto  tranne
                     l’ultimo elemento).

              %H     Argomento della riga di comando sotto il  quale  è  stato
                     trovato il file.

              %i     Numero di inode del file (in decimale).

              %k     Dimensione  (arrotondata) del file in blocchi da 1 Kbyte.

              %l     Oggetto di un link simbolico (una  stringa  vuota  se  il
                     file non è un link simbolico).

              %m     Bit di permesso del file (in ottale).

              %n     Numero di link hard al file.

              %p     Nome del file.

              %P     Nome  del  file rimosso il nome dell’argomento della riga
                     di comando sotto il quale è stato trovato il file.

              %s     Dimensione del file in byte.

              %t     Data e ora  dell’ultima  modifica  al  file  nel  formato
                     restituito della funzione C ‘ctime’.

              %Tk    Data  e  ora  dell’ultima  modifica  al  file nel formato
                     specificato da k, che è analogo a quello di %A.

              %u     Nome dell’utente proprietario del  file,  o  ID  numerico
                     dell’utente se l’utente non ha nome.

              %U     ID numerico dell’utente proprietario del file.

              Un  carattere  ‘%’  seguito  da  un  qualsiasi altro carattere è
              scartato (mentre è stampato l’altro carattere).

       -prune Se non è dato -depth, vero; non discende la directory  corrente.
              Se è dato -depth, falso; non ha effetto.

       -ls    Vero;  elenca nello standard output il file corrente nel formato
              di ‘ls -dils’. Il conteggio dei blocchi è fatto  usando  blocchi
              da 1 Kbyte, a meno che non sia impostata la variabile d’ambiente
              POSIXLY_CORRECT, nel qual caso sono usati blocchi da 512 byte.

   OPERATORI
       Sono elencati in ordine di precedenza decrescente:

       ( espr )
              Forza la precedenza.

       ! espr Vera se espr è falsa.

       -not expr
              Identico a ! espr.

       espr1 espr2
              And (implicito); espr2 non è valutata se espr1 è falsa.

       espr1 -a espr2
              Identico a espr1 espr2.

       espr1 -and espr2
              Identico a espr1 espr2.

       espr1 -o espr2
              Or; espr2 non è valutata se espr1 è vera.

       espr1 -or espr2
              Identico a espr1 -o espr2.

       espr1 , espr2
              Lista; sono sempre valutate sia espr1 che espr2.  Il  valore  di
              espr1 è scartato; il valore della lista è il valore di espr2.

VEDERE ANCHE

       locate(1L),  locatedb(5L),  updatedb(1L), xargs(1L) Finding Files (Info
       in linea, o stampato).

                                                                      FIND(1L)