Trovare dati in un sistema con migliaia di file diventa molto difficile per gli amministratori, specialmente per gli utenti del sistema che non hanno familiarità con la riga di comando. Sebbene la ricerca tramite l'interfaccia utente grafica sia possibile, presenta alcune limitazioni in termini di velocità e funzionalità. La riga di comando offre flessibilità per cercare rapidamente i file utilizzando vari criteri di ricerca. In Linux, ci sono diversi comandi che puoi usare per trovare file e cartelle sul tuo sistema.
In questo articolo impareremo come usare vari comandi per trovare file e cartelle nel tuo sistema Debian. Useremo i seguenti comandi per trovare i file:
- Trova comando
- Individua comando
- Comando Grep
Nota che abbiamo usato Debian 10 e Debian 11 per eseguire i comandi e le procedure menzionati in questo articolo.
Utilizzo del comando Trova
Trova è il comando più efficace per la ricerca di file in un sistema. Risulta utile anche se non conosci il nome del file, consentendoti di cercare i file in base a varie condizioni come la data di creazione del file, la data di modifica, i permessi, ecc.
La seguente sintassi può essere utilizzata per cercare un file utilizzando il comando Trova:
$ find /path/to/file/ -iname filename
Ad esempio, per cercare un file denominato "license.pdf" nella directory ~/Download, utilizzare il comando seguente:
$ find ~/Downloads/ -iname license.pdf
Ricorda che, se non specifichi la directory, cercherà i file nella directory corrente.
Cerca nel file utilizzando il carattere jolly
I caratteri jolly possono essere utilizzati anche per trovare i file che corrispondono alla query.
$ find /path/to/file/ -iname filename\*
Ad esempio, per cercare tutti i file in una directory che inizia con la parola "test", è possibile utilizzare il seguente comando:
$ find ~/Downloads -iname test\*
Cerca file vuoti
Per cercare file vuoti in una directory, utilizzare la seguente sintassi dei comandi:
$ find /path/to/file/ -empty
Ad esempio, per trovare tutti i file vuoti nella directory ~/Downloads, verrà utilizzato il seguente comando:
$ find ~/Downloads/ -empty
Cerca i file in base a data e ora
Puoi anche cercare i file in base a quando sono stati consultati o modificati. Puoi cercare i file in base alle seguenti condizioni:
- mtime (tempo di modifica in giorni)
- atime (tempo di accesso in giorni)
- ctime (cambia l'ora in giorni)
Per trovare i file che sono stati modificati meno di 3 giorni fa, usa il seguente comando in Terminale:
$ find /path/to/file -mtime -3
Allo stesso modo, per trovare i file che sono stati modificati più di 3 giorni fa, usa +3.
Per trovare i file a cui è stato effettuato l'accesso meno di 3 giorni fa, utilizza il seguente comando in Terminale:
$ find /path/to/file -atime -3
Per trovare i file che sono stati modificati meno di 3 giorni fa, usa il seguente comando in Terminale:
$ find /path/to/file -ctime -3
Cerca in base alla dimensione del file
Per cercare i file in base alle dimensioni, utilizzare l'opzione -size seguita dalla dimensione del file. Per trovare il file con una dimensione di 5kb, usa:
Per trovare file di dimensioni inferiori a 5 M, utilizzare:
$ find /path/to/file -size -5M
Per trovare file con dimensioni superiori a 5 M, utilizzare:
$ find /path/to/file -size +5M
Ricerca in base alle autorizzazioni dei file
Per cercare file con autorizzazioni particolari, utilizzare la seguente sintassi:
$ find /path/to/file/ -type -perm mode
Immettere d oppure f dopo il parametro type per menzionare il tipo di file. (d per le directory e f per i file). Sostituisci modalità con autorizzazioni numeriche (es. 777, 655.. etc ) o simboliche (es. u=x, a=r+x).
Ad esempio, per cercare un file con il permesso di 655, utilizzare il seguente comando in Terminale:
$ find /path/to/file -type f -perm 777
Utilizzo del comando di localizzazione
Un altro comando Localizza può essere utilizzato anche per cercare file in Linux. Non offre tutti i criteri di ricerca del comando Trova, tuttavia è molto più rapido ed efficiente del comando Trova. Mantiene il proprio database tenendo un registro dei nuovi file aggiunti al sistema. Quindi ogni volta che cerchi un file, non lo cerca nel tuo disco rigido. Invece, cerca il file nel proprio database.
Installazione di Localizza
Locate non è preinstallato nelle distribuzioni Linux. Dovrai installarlo manualmente. Eseguire il comando seguente nel terminale della riga di comando per installare l'utilità di localizzazione.
$ sudo apt-get install locate
Una volta installato, puoi iniziare a usarlo per cercare file nel tuo sistema.
È possibile utilizzare la seguente sintassi per cercare i file:
$ locate –i <path/to/file or filename>
-i è usato per ignorare le maiuscole e minuscole del nome del file.
Ricerca di un file
Ad esempio, per cercare un nome di file "licenza", inserisci il seguente comando in Terminale:
$ locate –i license.pdf
Cerca più file
Può anche essere utilizzato per cercare più nomi di file contemporaneamente. Ad esempio, utilizza il seguente comando in Terminale per cercare due file separati "license.pdf" e "file di prova1" contemporaneamente:
Cerca utilizzando caratteri jolly
Puoi anche trovare i file che corrispondono alla query utilizzando il carattere jolly. Ad esempio, per cercare tutti i file che terminano con ".ttf", utilizzare il seguente comando in Terminale:
$ locate –i ~/Downloads/*.ttf
Aggiorna database di localizzazione
Il comando di localizzazione dipende dal proprio database per funzionare. Quindi, per funzionare correttamente, il database deve essere aggiornato regolarmente. Per farlo, esegui il seguente comando in Terminale:
$ sudo updatedb
Utilizzo di Grep comando
Il comando Grep è fondamentalmente utilizzato per stampare testo da file che corrispondono a un modello specifico. Tuttavia, puoi usarlo anche per trovare file in una directory. Ad esempio, stiamo cercando un file ma non conosciamo il nome del file. In tal caso, possiamo cercare la sua posizione utilizzando una parola chiave che contiene.
$ grep OPTIONS PATTERN /path/to/file
Dove OPZIONI contiene alcune opzioni di controllo della ricerca e PATTERN contiene la parola chiave che desideriamo cercare.
Nell'esempio seguente, utilizzeremo grep per trovare i file che contengono la parola chiave "account".
$ grep –r -i “account” ~/Downloads
Dove
-i è abituato a ignorare il caso delle parole chiave citate
-r è usato per cercare ricorsivamente nella directory specificata
In questo articolo, abbiamo discusso alcuni metodi da riga di comando con cui trovare i file in un sistema Debian. Puoi utilizzare la GUI per la ricerca di file, ma la riga di comando offre maggiore efficienza in termini di velocità e funzionalità.