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]
Se riscontri un errore di seguito durante l'esecuzione del comando trova:
find: command not found
puoi provare a installare il pacchetto seguente secondo la tua distribuzione:
Distribuzione | Comando |
---|---|
OS X | brew install findutils |
Debian | apt-get install findutils |
Ubuntu | apt-get install findutils |
Alpino | apk aggiunge findutils |
Arci Linux | pacman -S findutils |
Kali Linux | apt-get install findutils |
CentOS | yum install findutils |
Fedora | dnf install findutils |
Raspbian | apt-get install findutils |
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