Un problema tipico quando si lavora con i computer è che non riesci a trovare i file che hai salvato da qualche parte. Molti programmi GUI ti consentono di cercare file mentre lavori sotto Linux, indipendentemente dalla distribuzione. Tuttavia, in alcune situazioni, avrai accesso solo al terminale della riga di comando, in particolare se gestisci server o utilizzi SSH per accedere al sistema. Se non riesci a trovare i tuoi file, devi utilizzare i programmi della riga di comando su Linux per cercarli.
Questo tutorial ti mostrerà come utilizzare il Terminale, che è il programma da riga di comando nel sistema operativo Ubuntu, per trovare i file. Sulla shell, ci sono tre modi ben noti per cercare i file:
- Trova i file utilizzando Trova comando
- Utilizzo di Trova comando per trovare i file
- Utilizzo di Grep comando per cercare nei file
I comandi Trova e Trova vengono utilizzati per cercare i file nel sistema mentre grep viene utilizzato per cercare i file in base al testo che contiene. Trova è un metodo più lento ma contiene diverse condizioni di ricerca mentre Trova non include tante condizioni ma è molto più veloce di Trova.
Iniziamo con la procedura. Utilizzeremo Ubuntu 20.04 LTS per descrivere la procedura menzionata in questo articolo.
Metodo 1:utilizzo del comando Trova
Trova è un comando altamente flessibile utilizzato per cercare i file in base a una varietà di condizioni. È uno strumento molto utile durante la ricerca di un file di cui non si ricorda il nome. Utilizzando il comando Trova è possibile effettuare ricerche in base al nome di file e cartelle, alla data di creazione, alla data di modifica e alle autorizzazioni. Puoi combinare queste condizioni multiple in un unico comando Trova. È uno strumento di ricerca molto potente ma più lento.
La sintassi generale del comando è:
$ find /path/to/file/ -iname filename
Cerca i file in una directory specifica
È possibile utilizzare il comando Trova per cercare tutti i file in una directory specifica. La sintassi generale sarebbe:
$ find /path/to/file/
Ad esempio, per trovare tutti i file in /home/tin/Downloads/ directory, avvia il Terminale premendo Ctrl+Alt+T e quindi esegui il seguente comando in Terminale:
$ find /home/tin/Downloads/
Cerca i file nella directory corrente
Per cercare i file in una directory corrente, usa
$ find .
Per cercare un file chiamato ad esempio "software" nella directory corrente, utilizzare il seguente comando in Terminale:
$ find . -iname Softwares
Cerca utilizzando un carattere jolly
Puoi anche utilizzare i caratteri jolly per trovare i file che corrispondono alla query. La sintassi generale sarebbe:
$ find /path/to/file/ -iname filename*
Ad esempio, per cercare file che iniziano con la parola "cent", eseguire il seguente comando in Terminale:
$ find /home/tin/ -iname cent*
Cerca file vuoti
Puoi anche cercare file vuoti usando il comando Trova. La sintassi generale sarebbe:
$ find /path/to/file/ -iname -empty
Ad esempio per trovare file vuoti in /home/tin directory, esegui il seguente comando in Terminale:
$ find /home/tin/ -empty
Cerca in base a data e ora
Usando il comando Trova, puoi anche cercare i file a seconda di quando sono stati consultati o modificati. Ci sono tipi di tempo che puoi usare per cercare i file:
- mtime (Tempo di modifica) :quando il contenuto del file è stato modificato l'ultima volta.
- atime (ora di accesso) :quando è stato effettuato l'ultimo accesso al file.
- ctime (Cambia ora) :quando gli attributi del file sono stati modificati l'ultima volta.
Ad esempio, per cercare i file in una directory corrente che sono stati modificati meno di 2 giorni fa, eseguire il seguente comando in Terminale:
$ find . -mtime -2
Per cercare file a cui è stato effettuato l'accesso meno di 2 giorni fa, esegui il seguente comando in Terminale:
$ find . –atime -2
Per cercare i file che sono stati modificati meno di 2 giorni fa, esegui il seguente comando in Terminale:
$ find . –ctime -2
Cerca in base alla dimensione del file
Ad esempio, per cercare file la cui dimensione è maggiore di 5 MB, possiamo utilizzare il seguente comando in Terminale:
$ find . –size +5M\
Ricerca in base alle autorizzazioni dei file
Viene utilizzato per trovare file con permessi specifici. La sintassi generale sarebbe:
$ find /path/to/file/ -type -perm mode
Dove:
Digita il parametro include d o f valore utilizzato per specificare il tipo di file. d per le directory e f solo per i file.
modalità può essere sia con autorizzazione numerica (es. 777, 655.. ecc.) che simbolica (es. u=x, a=r+x).
Ad esempio, per cercare un file con il permesso di 644, possiamo usare il seguente comando in Terminale:
$ find . –type f –perm 644
Metodo 2:utilizzo del comando Localizza
C'è un altro comando Localizza che può essere usato per cercare file in Linux. Non ha tutte le condizioni di ricerca offerte dall'utilità Trova, ma è molto migliore e più veloce dell'utilità Trova. Il motivo è il processo in background che viene effettivamente eseguito nel sistema e ricerca e archivia nuovi file nel proprio database. A differenza del comando Trova, non ricerca file e directory nel disco rigido locale, ma li ricerca nel proprio database. Il suo database dovrebbe essere aggiornato regolarmente affinché l'utilità di ricerca funzioni.
Installazione di Localizza
Locate non è installato per impostazione predefinita nel sistema operativo Linux. Dovrai installarlo manualmente. Premi Ctrl+Alt+T per avviare il Terminale e quindi digitare il seguente comando come sudo per installare l'utilità di localizzazione:
$ sudo apt-get install locate
Una volta completata l'installazione, puoi utilizzare subito l'utilità di localizzazione.
La sintassi generale del comando è:
$ locate –i filename
Dove -i è usato per ignorare le distinzioni tra maiuscole e minuscole.
Ricerca di un file
Ad esempio, per cercare un nome file "centos", utilizzare il seguente comando in Terminale:
$ locate –i centos
Cercherà tutti i file che includono la stringa "centos" nei loro nomi di file.
Cerca più file
Puoi anche cercare più nomi di file contemporaneamente. Ad esempio, utilizza il seguente comando in Terminale per cercare due file "sdn.txt" e "centos" :
$ locate –i sdn.txt centos
Cerca utilizzando caratteri jolly
Puoi anche utilizzare il carattere jolly per trovare i file che corrispondono alla query. Ad esempio, per cercare tutti i file che terminano con ".iso", utilizzare il seguente comando in Terminale:
$ locate –i *.iso
Aggiorna database di localizzazione
Il comando Locate si basa sul suo database per funzionare, quindi deve essere aggiornato regolarmente. Eseguire il comando seguente in Terminale per aggiornare il database dell'utilità di localizzazione:
$ sudo updatedb
Metodo 3:utilizzo del comando Grep
Sebbene Grep non sia per cercare direttamente i file nel tuo sistema, viene invece utilizzato per cercare testo. Tuttavia, puoi usarlo per visualizzare i nomi dei file che contengono la particolare stringa di caratteri che corrisponde alla tua query di ricerca. Per cercare una stringa, devi racchiuderla tra virgolette.
La sintassi generale del comando è:
$ grep [opzioni] [modello] [/percorso/del/file]
dove [opzioni] contiene opzioni generiche per controllare la ricerca e [pattern] contiene la stringa che vogliamo cercare.
Se stai cercando un file che contenga una parola, che sospetti possa trovarsi in una directory specifica, puoi cercarla utilizzando la sintassi dei comandi sopra in Terminale.
Ad esempio, per cercare un file che contiene la parola "tintin" e pensiamo che quel file potrebbe essere nei nostri Download cartella, possiamo usare il seguente comando per individuare quel file.
$ grep -r –i “tintin” /home/tin/Downloads
Dove
-i è usato per ignorare le distinzioni tra maiuscole e minuscole
–r viene utilizzato per cercare ricorsivamente la directory specificata
Cerca più parole
Puoi anche cercare più stringhe contemporaneamente. Devi usare la barra rovesciata "\" e il segno di pipe "|" caratteri tra le tue stringhe.
Ad esempio per cercare due stringhe “tintin” e “ping”, possiamo usare il seguente comando in Terminale:
$ grep –r –I “tintin\|ping” /home/tin/Downloads
Quindi, questa è stata la breve panoramica di come cercare file utilizzando la riga di comando in Ubuntu. In questo articolo, abbiamo visto tre utili metodi da riga di comando per cercare i file. Puoi scegliere uno qualsiasi di questi metodi a seconda della velocità e delle condizioni di ricerca.