La ricerca di file è relativamente facile quando si utilizza una GUI. Ma in alcuni ambienti come i server senza GUI, è necessario cercare i file utilizzando la riga di comando.
 C'è un potente comando in Linux che ti aiuta a cercare file e cartelle chiamato find . In questo articolo, discuteremo del find comando con alcuni esempi.
Cos'è il comando find in Linux?
 Il find Il comando consente di cercare in modo efficiente file, cartelle e dispositivi di caratteri e blocchi. 
 Di seguito è riportata la sintassi di base di find comando:
find /path/ -type f -name file-to-search
Dove,
- /pathè il percorso in cui dovrebbe essere trovato il file. Questo è il punto di partenza per cercare i file. Il percorso può anche essere- /o- .che rappresentano rispettivamente la directory principale e quella corrente.
- -typerappresenta i descrittori di file. Possono essere uno dei seguenti:
 f – File normale come file di testo, immagini e file nascosti.
 d – Rubrica . Queste sono le cartelle in esame.
 l – Link simbolico . I collegamenti simbolici puntano a file e sono simili alle scorciatoie.
 c – Dispositivi a caratteri . I file utilizzati per accedere ai dispositivi dei caratteri sono chiamati file dei dispositivi dei caratteri. I driver comunicano con i dispositivi a caratteri inviando e ricevendo singoli caratteri (byte, ottetti). Gli esempi includono tastiere, schede audio e mouse.
 b – Blocca dispositivi . I file utilizzati per accedere ai dispositivi a blocchi sono chiamati file dei dispositivi a blocchi. I driver comunicano con i dispositivi a blocchi inviando e ricevendo interi blocchi di dati. Gli esempi includono USB, CD-ROM
- -nameè il nome del tipo di file che vuoi cercare.
Esempi del comando trova
 Ora conosciamo la sintassi di find comando, diamo un'occhiata ad alcuni esempi.
Come cercare i file per nome o estensione
Supponiamo di dover trovare i file che contengono "stile" nel loro nome. Useremo questo comando:
find . -type f -name style*Risultato
 
 
 Ora supponiamo di voler trovare file con un'estensione particolare come .html . Modificheremo il comando in questo modo:
find . -type f -name *.htmlRisultato
 
 Come cercare file nascosti
 I file nascosti sono rappresentati da un punto all'inizio del nome del file. Normalmente sono nascosti, ma possono essere visualizzati con ls -a nella directory corrente.
 Possiamo modificare il find comando come mostrato di seguito per cercare i file nascosti.
find . -type f -name ".*"Risultato
 
 Come cercare file di registro e file di configurazione
 I file di registro di solito hanno l'estensione .log , e possiamo trovarli così:
 find . -type f -name "*.log"Risultato
 
 Allo stesso modo, possiamo cercare file di configurazione come questo:
 find . -type f -name "*.conf"Come cercare altri file per tipo
 Possiamo cercare file di blocchi di caratteri fornendo c a -type :
find / -type c
 Allo stesso modo, i file di blocco del dispositivo possono essere trovati utilizzando b :
find / -type bCome cercare nelle directory
 Nell'esempio seguente, troviamo le cartelle denominate lib . Nota che stiamo usando -type d .
find . -type d -name "lib*"Risultato
 
 
 💡 Suggerimento:possiamo identificare le directory guardando il d flag nell'output di ls -lrt .
 
 Come cercare i file per dimensione
 Un uso incredibilmente utile di find il comando consiste nell'elencare i file in base a una dimensione particolare.
find / -size +250MBAltre unità includono:
- G:GigaByte.
- M:Megabyte.
- K:KiloByte
- b:byte.
 Basta sostituire 
find <directory> -type f -size +N<Unit Type>
Come cercare i file per ora di modifica
find /path -name "*.txt" -mtime -10 
- -mtime +10 significa che stai cercando un file modificato 10 giorni fa.
- -mtime -10 significa meno di 10 giorni.
- -mtime 10 Se salti + o – significa esattamente 10 giorni.
Di seguito sono riportati i contenuti della mia home directory:
 
 Applichiamo un esempio nella mia home directory.
find . -type f -name ".*" -mtime +10 
 Esempi pratici di find con script bash
 
 Possiamo combinare find con rm o mv per creare script bash significativi che possono essere automatizzati.
 Supponiamo di voler creare uno script che sposti i file di registro più vecchi di 7 giorni in un percorso di backup. Da lì, elimina i file di registro più vecchi di 30 giorni. Possiamo creare uno script e programmarlo con cron . Puoi saperne di più su cron lavori qui.
Vediamo lo script:
#!/bin/bash
# Script to move from logs older than 7 days to backup logs path: /app/backup_logs/ESB0*
# move ESB01 logs to backup
find /logs/esb01/audit  -name "*.tar.gz" -mtime +7 -exec mv {} app/backup_logs/ESB01/ \;
# Remove logs from backup path after 30 days
find /app/backup_logs/ESB01 -name "*.tar.gz" -mtime +30  -exec rm {} \;
 Nota che stiamo usando exec con find . Fondamentalmente, exec esegue il comando fornito ( mv e rm nel nostro caso). {} è il segnaposto che contiene i risultati del comando. Infine, forniamo il delimitatore ; . Poiché non vogliamo che la shell interpreti il punto e virgola, esciamo con \ .
Lo script condiviso è molto utile per archiviare e rimuovere i log.
Conclusione
 In questo articolo abbiamo studiato il find comando in dettaglio e imparato a cercare i file per nome, tipo, dimensione e tempo di modifica.
Spero che questo tutorial ti sia stato utile.
Condividi i tuoi pensieri su Twitter!
Puoi leggere i miei altri post qui.
Risorse:immagini banner dalle illustrazioni di Office di Storyset e Canva.