Sebbene il terminale Linux sia un'interfaccia di testo che sembra complessa, in realtà è molto flessibile, facile da usare e uno strumento piuttosto utile. I comandi possono essere facilmente copiati da fonti online e incollati nel terminale per eseguire varie operazioni. Ci sono tonnellate di comandi, ma questo post si concentrerà sul comando di ricerca.
Il comando trova viene utilizzato per trovare, filtrare o cercare file e cartelle nel sistema in base alle condizioni specificate dall'utente ed eseguire diverse operazioni su di essi.
Discutiamo in dettaglio come utilizzare il comando trova, la sua sintassi e le varie operazioni eseguite da questo comando.
Sintassi del comando find in Linux
La sintassi del comando trova è mostrata di seguito:
trova [il percorso] [opzioni] [espressione]
Tre attributi vanno con il comando find:
- [percorso]: definisce la directory dove iniziare la ricerca.
- [opzioni]: definisce i criteri di filtraggio ad es. ricerca di un file/cartella in base al nome, all'autorizzazione, all'ora o alla data.
- [espressione]: definisce quali azioni eseguire con il file.
Tutti gli attributi di cui sopra sono facoltativi in quanto possono essere utilizzati in base al requisito.
Per dimostrazione, ho creato diverse directory e alcuni file di testo, vedi l'immagine qui sotto:
Trovare un file per nome
Per cercare il file per nome, usa il comando indicato di seguito:
$trova.-nomeMioFileTesto1.txt
Il punto dopo trova nel comando precedente indica la directory corrente.
Se non ricordi il nome esatto del file, la ricerca può essere ulteriormente perfezionata e non fa distinzione tra maiuscole e minuscole utilizzando -iname al posto del nome:
$trova.-nominomiofiletesto1.txt
Trovare un file per tipo
Per trovare un file in base al tipo, utilizzare l'opzione -type con lettere note anche come descrittori come f per i file, d per le directory, l per il collegamento simbolico e s per i socket.
Per cercare in tutte le directory utilizzare:
$trova.-genereD
Per cercare i file, usa:
$trova.-genereF
Trovare un file in base all'estensione del file
Per cercare il file in base al modello, ad esempio l'estensione del file, ad esempio la visualizzazione di tutti i file con .txt, utilizzare il seguente comando:
$trova.-nome *.testo
Tutti i file con .txt verranno visualizzati insieme alle directory corrispondenti.
Trovare ed eliminare un file
Per cercare ed eliminare un file, utilizzare il comando seguente:
$trova.-nominomiofiletesto1.txt-exec rm {};
Il comando precedente cerca prima il file e poi lo elimina. L'immagine dimostra che MyTextFile1 è stato eliminato.
Per eliminare tutti i file con estensione .txt, puoi utilizzare il comando aggiunto:
$trova.-nome *.testo-Elimina
Trovare un file per dimensione
Il comando trova può anche cercare un file per dimensione. Usa semplicemente l'opzione -size insieme ai suoi descrittori come b per blocchi da 512 Kb, c per byte, k per kilobyte, M e G rispettivamente per megabyte e gigabyte:
$trova.-genereF-dimensione -1024c
Il comando sopra menzionato cerca tutti i file con una dimensione inferiore a 1024 byte. La ricerca può essere ulteriormente affinata, ad esempio, se vogliamo trovare tutti i file inferiori a 1Mb, allora utilizziamo il comando seguente:
$trova.-genereF-dimensione1 M
Per tutti i file maggiori di 1Mb, usa il comando seguente:
$trova.-genereF-dimensione+1 M
È inoltre possibile definire un intervallo di dimensioni, utilizzando il comando allegato:
$trova. -genereF-dimensione+1 M-dimensione10 MTrovare file per permesso
Per cercare un file per autorizzazione, utilizzeremo l'opzione -perm, quindi il codice di autorizzazione, come mostrato di seguito:
$trova.-permanente 664
Trova un testo all'interno di file di testo
Per trovare il testo in più file di testo nel tuo sistema, usa il comando indicato di seguito:
$trova.-genereF-nome *.testo-exec presa'Ciao'{};
Il comando sta cercando la parola Hello nei file di testo. L'output è costituito da stringhe di testo dai file di testo contenenti Hello.
Ricerca di un file per data e ora di modifica
Per accedere a un file con la sua ultima modifica, utilizzare il comando seguente:
$trova.-genereF-nomino *.testo-mmin+10
Il comando precedente sta cercando un file modificato l'ultima volta quattro minuti fa e m indica la modifica.
$trova. -genereF-nomino *.testo-amin -10
Il comando sopra sta cercando un file l'ultimo accesso 4 minuti fa e la a in amin sta a significare Access. Per accedere a un file che è stato modificato quattro giorni fa, usa -mtime +4 al posto di mmin +4.
Conclusione
Il comando find in Linux è un comando molto utile che consente di cercare un file o una directory utilizzando criteri diversi e consente anche di modificare i file dal terminale. In questa guida abbiamo osservato la sintassi del comando find in Linux e abbiamo appreso come utilizzare il comando find per eseguire varie funzioni.