Un problema comune è che non riesci a trovare i file che hai inserito da qualche parte. Mentre si lavora sotto Linux, indipendentemente dalla distribuzione, molte opzioni GUI consentono di cercare i file. In molti casi, tuttavia, si avrà solo il terminale della riga di comando, soprattutto se si gestiscono server o si utilizza SSH per accedere al sistema. Se non riesci a trovare i tuoi file, devi cercarli usando le applicazioni a riga di comando su Linux.
Questo articolo mostra come trovare i file utilizzando il Terminale che è l’applicazione a riga di comando in Ubuntu OS., Ci sono tre metodi ben noti per cercare i file sulla shell:
- Usando il comando Find
- Usando Locate command
- Usando Grep command
I comandi Find e Locate sono usati per cercare i file nel sistema mentre grep è usato per cercare i file in base al testo che contiene. Find è un metodo più lento ma contiene diverse condizioni di ricerca mentre Locate non include tante condizioni ma è molto più veloce di Find.
Iniziamo con la procedura. Useremo Ubuntu 18.04 LTS per descrivere la procedura menzionata in questo articolo.,
Metodo 1: Utilizzo del comando Find
Find è un comando altamente flessibile utilizzato per cercare i file in base a una varietà di condizioni. Si tratta di uno strumento molto utile durante la ricerca di un file per il quale non si ricorda il nome del file. Utilizzando il comando Trova è possibile effettuare ricerche in base al nome del file e della cartella, alla data di creazione, alla data di modifica e alle autorizzazioni. È possibile combinare queste condizioni multiple in un comando One Find. È uno strumento di ricerca molto potente ma più lento.,
La sintassi generale del comando è:
$ find /path/to/file/ -iname filename
Cerca file in una directory specifica
Puoi usare il comando Find per cercare tutti i file in una directory specifica., La sintassi generale sarebbe:
$ find /path/to/file/
Per esempio, per trovare tutti i file nella cartella /home/tin/Downloads/ directory, avviare il Terminale premendo Ctrl+Alt+T e quindi eseguire il seguente comando nel Terminale:
$ find /home/tin/Downloads/
Ricerca i file nella directory corrente
per cercare i file nella directory corrente, utilizzare
$ find .
Per cercare un file denominato e.,g “software” nella directory corrente, usa il seguente comando nel Terminale:
$ find . -iname Softwares
Cerca usando un carattere jolly
Puoi anche usare i caratteri jolly per trovare i file che corrispondono alla query. La sintassi generale sarebbe:
$ find /path/to/file/ -iname filename*
Per esempio per cercare i file che iniziano con la parola “cento”, eseguire il seguente comando nel Terminale:
$ find /home/tin/ -iname cent*
di Ricerca per i file vuoti
Si può anche cercare per file vuoti, utilizzando il comando Trova., La sintassi generale sarebbe:
$ find /path/to/file/ -iname -empty
Per esempio, per trovare i file vuoti sotto /home/tin directory, eseguire il seguente comando nel Terminale:
$ find /home/tin/ -empty
Ricerca in base alla data e ora
Utilizzando il comando Trova, è anche possibile cercare i file a seconda di quando erano di accesso 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 (tempo di accesso): quando è stato effettuato l’accesso al file l’ultima volta.,
- ctime (Change time): quando gli attributi del file sono stati modificati l’ultima volta.,2 giorni fa, eseguire il seguente comando nel Terminale:
$ find . –atime -2
per cercare i file che sono stati modificati a meno di 2 giorni fa, eseguire il seguente comando nel Terminale:
$ find . –ctime -2
Ricerca in base alle dimensioni del file
Per esempio, per la ricerca di file la cui dimensione è maggiore di 5 mb di dimensione, possiamo utilizzare il seguente comando nel Terminale:
$ find . –size +5M\
Ricerca in base alle autorizzazioni di file
è utilizzato per trovare i file con una specifica autorizzazione., La sintassi generale sarebbe:
$ find /path/to/file/ -type -perm mode
Dove:
Il parametro di tipo include i valori d o f utilizzati per specificare il tipo del file. d per le directory e f solo per i file.
la modalità può essere sia con il permesso numerico (ad esempio 777, 655.. ecc) o permesso simbolico (ad esempio u=x, a=r+x).,Per esempio, per cercare un file con il permesso di 644, possiamo utilizzare il seguente comando nel Terminale:
$ find . –type f –perm 644
Metodo 2: Utilizzo di Individuare comando
C’è un altro comando Locate, che può essere utilizzato per la ricerca di file in Linux. Non ha tante condizioni di ricerca come l’utilità Trova offre, ma è molto meglio e più veloce rispetto all’utilità Trova. Il motivo è il processo in background che viene effettivamente eseguito nel sistema e cerca e memorizza nuovi file nel proprio database., A differenza di comando Find, non cerca il disco rigido locale per i file e le directory, ma invece, li cerca nel proprio database. Il suo database dovrebbe essere aggiornato regolarmente affinché l’utilità di ricerca funzioni.
Installazione di Locate
Locate non è installato di default nel sistema operativo Linux. Sarà necessario installarlo manualmente. Premere Ctrl+Alt + T per avviare il Terminale e quindi digitare il seguente comando come sudo per installare l’utilità Locate:
$ sudo apt-get install locate
Una volta completata l’installazione, è possibile utilizzare l’utilità Locate subito.,
La sintassi generale del comando è:
$ locate –i filename
Dove-i è usato per ignorare le distinzioni di caso.
Ricerca di un file
Ad esempio, per cercare un nome di file “centos”, usa il seguente comando nel Terminale:
$ locate –i centos
Cercherà tutti i file che includono la stringa “centos” nei loro nomi di file.
Ricerca di più file
È anche possibile cercare più nomi di file contemporaneamente. Ad esempio, utilizzare il seguente comando in Terminal per cercare due file “sdn.,txt ” e “centos”:
$ locate –i sdn.txt centos
Cerca usando il carattere jolly
Puoi anche usare il carattere jolly per trovare i file che corrispondono alla query. Ad esempio per cercare tutti i file che finiscono in “.iso”, utilizzare il seguente comando nel terminale:
$ locate –i *.iso
Update locate database
Locate command si basa sul suo database per funzionare, quindi deve essere aggiornato regolarmente., Eseguire il seguente comando nel Terminale per aggiornare il database dell’utilità Locate:
$ sudo updatedb
Metodo 3: Utilizzo del comando Grep
Sebbene Grep non sia per la ricerca diretta di file nel sistema, viene invece utilizzato per la ricerca di testo. Tuttavia, è possibile utilizzarlo per visualizzare i nomi dei file che contengono la particolare stringa di caratteri che corrisponde alla query di ricerca. Per cercare una stringa, è necessario racchiuderla tra virgolette.,
La sintassi generale del comando è:
Se stai cercando un file che contenga una parola, che sospetti possa essere nella tua directory specifica, puoi cercarla usando la sintassi del comando precedente in Terminal.
Per esempio, per cercare un file che contiene la parola “tintin” e pensiamo che il file potrebbe essere nella nostra cartella Download, possiamo usare il seguente comando per individuare quel file.,
$ grep -r –i "tintin” /home/tin/Downloads
Dove
-i è usato per ignorare le distinzioni di caso
–r è usato per cercare la directory specificata ricorsivamente
Cerca più parole
Puoi anche cercare più stringhe contemporaneamente. Devi usare i caratteri backslash ” \ “e pipe sign ” |” tra le tue stringhe.,
Ad esempio per cercare due stringhe “tintin” e “ping”, possiamo usare il seguente comando nel Terminale:
$ grep –r –I "tintin\|ping” /home/tin/Downloads
Quindi, questa era la breve panoramica di come è possibile cercare i file usando la riga di comando in Ubuntu. In questo articolo, abbiamo visto tre metodi da riga di comando utili per la ricerca di file. È possibile scegliere uno qualsiasi di questi metodi a seconda della velocità di ricerca e le condizioni.
Come trovare i file sulla riga di comando di Ubuntu