Mentre ci sono molti modi con cui possiamo cercare e individuare file e directory su Linux, il più semplice e veloce è probabilmente attraverso il terminale. Tuttavia, non molti utenti Linux lo sanno, il che porta a una frustrazione non necessaria. Ecco una guida rapida che si spera vi aiuterà a individuare quello che stai cercando nel vostro sistema.
Usa il comando Locate
Il comando “locate” è il primo resort che un utente Linux dovrebbe utilizzare perché è molto più veloce di qualsiasi altra cosa là fuori., La ragione di questa velocità senza pari è che il comando locate non è in realtà la ricerca dischi rigidi locali per i file o le directory che avete bisogno di trovare, ma più come legge attraverso il mlocate.file di database db che contiene tutti i percorsi di file nel sistema.
Se non hai ancora installato locate, usa questi comandi:
Debian e Ubuntu
sudo apt-get install locate
CentOS
yum install locate
Prepara il comando locate per il primo utilizzo
Per aggiornare mlocate.,database db prima del primo utilizzo, eseguire:
sudo updatedb
Per utilizzare locate, aprire un terminale e digitare locate seguito dal nome del file che si sta cercando. In questo esempio, sto cercando i file che contengono la parola ‘sunny’ nel loro nome.
locate sunny
Locate può anche dirti quante volte una parola chiave di ricerca viene abbinata nel database. Ciò si ottiene includendo un parametro ” – c “nel comando, che sta per”count”.,
locate -c sunny
Ciò che gli utenti devono avere in mente qui è che “locate” ha bisogno del nome specifico ed esatto del file che stai cercando, contrariamente ad altri strumenti più flessibili. Ciò significa che locate è ottimo per trovare qualcosa che sei sicuro del suo nome, ma non così grande per quando non ricordi esattamente il nome del file.
locate howtoforge
vs
locate Howtoforge
Inoltre, e poiché “locate” legge un file di database, i risultati potrebbero essere obsoleti e non completamente veri., Per mitigare questo problema, è possibile aggiornare il database dei percorsi dei file digitando “sudo updatedb” in una sessione di terminale.
Dai un’occhiata qui per ulteriori esempi su come utilizzare il comando locate.
Se dopo di che non stai ancora ottenendo quello che stavi cercando, o sei semplicemente sopraffatto dal numero dei risultati, procedi al passaggio successivo che è il comando “trova”.
Usa il comando Find
Il comando “find” è un’utilità di ricerca molto più potente ma anche più lenta., Questo perché, contrariamente al comando “locate”, “find” cerca effettivamente i tuoi dischi per i file e le directory che l’utente sta cercando. Trova è perfetto per quando si sta cercando di individuare un file o una directory, ma non si riesce a ricordare il suo nome, perché “trova” può cercare i file che appartengono a un determinato utente o gruppo di utenti, i file che sono stati modificati o accessibili di recente, i file che di un intervallo di dimensioni specifico, file nascosti, eseguibili, , La parte migliore è che un utente è libero di combinare più dei criteri di cui sopra in un comando “trova”, essenzialmente restringendo i risultati.
Parlando di restringimento, la prima cosa che vuoi fare quando esegui “find” è dirgli di cercare su una directory specifica. Ciò velocizzerà significativamente il processo di ricerca, ma sempre in base alle dimensioni della directory. Se sai dove potrebbe essere il file, apri il terminale, vai alla directory ed esegui ” trova . ”. Quel punto dice a find di cercare nella directory corrente., Se invece vuoi cercare la tua Home directory, sostituisci il punto con”~/”, e se vuoi cercare l’intero filesystem, usa invece”/”.
Ad esempio, voglio cercare un file che contiene un poster nella mia directory di download. So che il nome del file contiene la parola “poster”, ma non ricordo esattamente il nome., Per questo motivo, vorrei passare alla cartella di download attraverso il terminale con “cd” Downloads”, e quindi digitare il comando:
sudo find . -name "*poster*"
Ecco il risultato:
Questo mi dice che c’è un file pdf denominato “billy_poster copia” nella cartella Downloads. Se non sapevo dove fosse, “trova” mi avrebbe comunque fatto sapere che si trova nella cartella Download se ho cercato in una directory principale.
Ora, se sostituisco il parametro “- name “con” – iname”, potrei ottenere risultati senza riguardo al caso della lettera., Questo è qualcosa che non c’è in “locate”, quindi un altro elemento utile per quando non sei sicuro del nome del file.
sudo find . -iname "*poster*"
Ora, supponiamo che sto ancora cercando lo stesso file poster, e l’unica cosa che ricordo è che è inferiore a 5 MB di dimensione. Il comando che userei in questo caso è:
find ~/ -size -5M
Se sapessi che è superiore a 2 MB, il comando sarebbe “find ~ / – size +2M”. La parte migliore è che find supporta gli operatori booleani per rendere la ricerca ancora più forte., Per questo esempio, userò un comando che combina la mia conoscenza che il file ha una dimensione inferiore a 5 megabyte e anche più di 2. Il comando per questo sarebbe:
find / -size -5M -and -size +2M
Infine, suggeriamo di non ricordare nulla del file, ma ricordiamo che ci siamo accessibili entro tre minuti fa. Per trovarlo, usa il comando find come:
find / -amin -3
Questo sarebbe “find / – amin -30” per mezz’ora e “-amin -120” per due ore, ecc., Se hai effettuato l’accesso al file due giorni fa, usa questo:
find / -time -2
Questo mostrerà tutti i file a cui hai avuto accesso negli ultimi due giorni nella posizione della ricerca.
Penso che quanto sopra copra la maggior parte dei soliti scenari di casi d’uso. Per maggiori informazioni sul potente comando “trova”, apri un terminale e digita “man find”. Buona fortuna a trovare quello che stai cercando.
Altri esempi di comando Linux find possono essere trovati qui.
Leave a Reply