Il comando trova consente di cercare una posizione specifica per file e directory che aderiscono ad alcuni criteri di ricerca. Cerca ricorsivamente la struttura delle directory, comprese le sottodirectory e il loro contenuto, a partire dal percorso di ricerca immesso. Puoi eseguire una o più azioni sui file trovati.
L'opzione -type ti consente di specificare il tipo di oggetto che stai cercando, come d per directory o f per file. L'opzione -name è dove specifichi il nome dell'oggetto che stai cercando. L'esempio seguente cerca nella home directory di un utente (e in tutte le sottodirectory) tutti i file denominati 2021_report:
$ find /home/user -type f -name 2021_report
Sintassi
La sintassi del comando trova è:
$ find [options] {search locations} {search criteria} [actions]
trova VS. individuare i comandi
Il comando locate ricerca un database e recupera le informazioni sui file presenti nel sistema. Tuttavia, il mancato aggiornamento di questo database può produrre risultati obsoleti. Il comando trova, d'altra parte, esegue una ricerca in tempo reale del file system e può concentrarsi su una posizione specifica. Il comando trova potrebbe richiedere più tempo per completare una ricerca rispetto al comando individuare.
Opzioni per i file trovati
Quando il sistema trova un elenco che soddisfa i tuoi criteri, ci sono diverse azioni che puoi eseguire sui risultati. Molte di queste opzioni sono descritte nella tabella seguente.
Opzione | Usato a |
---|---|
-stampa | Visualizza la posizione dei file trovati. |
-exec | Esegue il comando che segue. |
-ok | Esegue il comando che segue in modo interattivo. |
-elimina | Elimina i file trovati. |
-fprint | Memorizza i risultati nel file di destinazione. |
trova esempi di comandi
1. Per trovare il file con il nome, all'interno della directory specificata:
# find / -name file.txt # find . -name file.txt (within current directory)
2. Per trovare il file delle autorizzazioni specificate:
# find / -perm 775 # find / -perm a+x # find . -perm 775(within current directory)
3. Per avere almeno un bit di scrittura impostato (autorizzazione specifica):
# find / -perm /a+w # find . -perm /a+w (within current directory)
4. Per trovare un file che non ha alcun bit eseguibile impostato:
# find / ! -perm /111 # find / ! -perm /a+x # find . ! -perm /a+x (within current directory)
5. Per cercare un file leggibile dal mondo, almeno un bit di scrittura e non eseguibile da nessuno:
# find . -perm -a+r -perm /a+w ! -perm /a+x
6. Per evitare di seguire i link simbolici:
# find -p / -name file
7. Per seguire i link simbolici:
# find -p / -name file
8. Non seguire i collegamenti simbolici, tranne durante l'elaborazione degli argomenti della riga di comando:
# find -H / -name file
9. Per trovare il file con la profondità specificata nella struttura delle directory:
# find -d 2 / -name file
10. Per specificare il livello di discesa:
# find -maxdepth 2 / -name file
11. Per specificare il livello di profondità minimo:
# find -mindepth 4 / -name file
12. Per elaborare il contenuto di ciascuna directory prima della directory stessa:
# find -depth / -name file
13. Per dare il giorno di inizio per le marche temporali di archivio:
# find -daystart -atime file
14. Per visualizzare non verrà emesso alcun messaggio di errore (se il file viene eliminato durante l'elaborazione):
# find -ignore_readdir_race / -name file
15. Per disattivare -ignore_readdir_race:
# find -noignore_readdir_race / -name file
16. Per non includere directory da altri punti di montaggio:
# find -mount / -name file
17. To Modifica la sintassi dell'espressione regolare compresa:
# find -regextype type
18. Per attivare o disattivare i messaggi di avviso:
# find -warn / -name file # find -nowarn / -name file
19. Non scendere nelle directory sui filesystem autofs:
# find -xautofs / -name file
20. Non scendere nelle directory su altri filesystem:
# find -xdev / -name