Utilizzando il comando Trova
Il comando "trova" ti permette di cercare file per i quali conosci i nomi dei file approssimativi. La forma più semplice del comando cerca i file nella directory corrente e in modo ricorsivo attraverso le sue sottodirectory che corrispondono ai criteri di ricerca forniti. È possibile cercare i file per nome, proprietario, gruppo, tipo, autorizzazioni, data e altri criteri.
Digitando il seguente comando al prompt vengono elencati tutti i file trovati nella directory corrente.
find.
Il punto dopo "trova" indica la directory corrente.
-name
discussione. È possibile utilizzare i metacaratteri del nome file (come ad esempio
*
), ma dovresti inserire un carattere di escape (
) di fronte a ciascuno di essi o li racchiudono tra virgolette.
Ad esempio, se vogliamo trovare tutti i file che iniziano con "pro" nella directory Documenti, useremo il
cd Documents/
comando per passare alla directory Documenti, quindi digitare il seguente comando:
find. -name pro*
Tutti i file nella directory corrente che iniziano con "pro" sono elencati.
NOTA: il comando find è impostato su Maiuscole / minuscole. Se si desidera che la ricerca di una parola o di una frase non abbia distinzione tra maiuscole e minuscole, utilizzare
-iname
opzione con il comando find. È la versione non sensibile al caso del
-name
comando.
find
non trova alcun file che corrisponda ai tuoi criteri, non produce output.
Il comando find ha molte opzioni disponibili per perfezionare la ricerca. Per ulteriori informazioni sul comando find, eseguire
man find
in una finestra di Terminale e premere Invio.
Utilizzando il comando Locate
Il comando locate è più veloce del comando find perché utilizza un database costruito in precedenza, mentre il comando find cerca nel sistema reale, attraverso tutte le directory e i file effettivi. Il comando locate restituisce un elenco di tutti i nomi di percorso contenenti il gruppo di caratteri specificato.
Il database viene aggiornato periodicamente da cron, ma puoi anche aggiornarlo da solo in qualsiasi momento, in modo da ottenere risultati aggiornati al minuto. Per fare ciò, digitare il seguente comando al prompt:
sudo updatedb
Inserisci la password quando richiesto.
locate mydata
Ad esempio, il comando precedente ha trovato due file contenenti "mydata" e un file contenente "dati".
-b
opzione con il comando locate, come segue.
locate -b ‘mydata’
Il backslash nel comando precedente è un carattere globbing, che fornisce un modo per espandere i caratteri jolly in un nome file non specifico in un set di nomi file specifici. Un carattere jolly è un simbolo che può essere sostituito da uno o più caratteri quando viene valutata l'espressione. I simboli jolly più comuni sono il punto interrogativo (
), che sta per un singolo carattere e l'asterisco (
*
), che rappresenta una stringa contigua di caratteri. Nell'esempio precedente, la barra rovesciata disabilita la sostituzione implicita di "mydata" con "* mydata *" in modo da ottenere solo risultati contenenti "mydata".
Quando si installa mlocate, il file binario / usr / bin / locate cambia in modo da puntare a mlocate. Per installare mlocate, se non è già incluso nella distribuzione Linux, digitare il seguente comando al prompt.
sudo apt-get install mlocate
NOTA: ti mostreremo un comando più avanti in questo articolo che ti consente di determinare dove si trova l'eseguibile per un comando, se esiste.
sudo /etc/cron.daily/mlocate
Il comando mlocate non funzionerà finché il database non viene creato manualmente o quando lo script viene eseguito da cron.
man locate
o
man mlocate
in una finestra di Terminale e premere Invio. La stessa schermata di aiuto viene visualizzata per entrambi i comandi.
Usando il comando che
Il comando "which" restituisce il percorso assoluto dell'eseguibile che viene chiamato quando viene emesso un comando. Questo è utile per trovare la posizione di un eseguibile per creare un collegamento al programma sul desktop, su un pannello o in un altro posto nel desktop manager. Ad esempio, digitando il comando
which firefox
visualizza i risultati mostrati nell'immagine qui sotto.
-a
opzione con il comando:
which -a firefox
Puoi cercare più eseguibili contemporaneamente, come mostrato nell'immagine seguente. Vengono visualizzati solo i percorsi dei file eseguibili trovati.Nell'esempio seguente, è stato trovato solo l'eseguibile.
Per ulteriori informazioni sul comando, digitare "uomo" che (senza virgolette) al prompt dei comandi in una finestra di Terminale e premere Invio.
Utilizzando il comando Whereis
Il comando whereis viene utilizzato per scoprire dove si trovano i file binario, di origine e man page per un comando. Ad esempio, digitando
whereis firefox
al prompt visualizza i risultati come mostrato nell'immagine seguente.
-b
opzione. Ad esempio, il comando
whereis -b firefox
verrà visualizzato solo
/usr/bin/firefox
come risultato. Questo è utile perché molto probabilmente si cerca il file eseguibile di un programma più spesso di quanto si farebbe per cercare le pagine di origine e man per quel programma. Puoi anche cercare solo i file sorgente (
-s
) o solo per le pagine man (
-m
).
Per ulteriori informazioni sul comando whereis, digitare
man whereis
in una finestra di Terminale e premere Invio.
Capire la differenza tra il comando Whereis e il comando
Il comando whereis mostra la posizione per le pagine binary, source e man per un comando, mentre il comando which mostra solo la posizione del binario per il comando.
Il comando whereis cerca attraverso un elenco di directory specifiche per i file binario, source e man mentre il comando who cerca le directory elencate nella variabile d'ambiente PATH dell'utente corrente. Per il comando whereis, l'elenco di directory specifiche può essere trovato nella sezione FILES delle pagine man per il comando.
Quando si tratta di risultati visualizzati per impostazione predefinita, il comando whereis mostra tutto ciò che trova, mentre il comando mostra solo il primo eseguibile che trova. Puoi cambiarlo usando il
-a
opzione, discussa in precedenza, per quale comando.
Poiché il comando whereis utilizza solo percorsi codificati nel comando, potrebbe non essere sempre possibile trovare ciò che si sta cercando. Se stai cercando un programma che pensi possa essere installato in una directory non elencata nelle pagine man per il comando whereis, potresti voler usare il comando which con
-a
opzione per trovare tutte le occorrenze del comando in tutto il sistema.