28Jun
La maggior parte delle persone usa un gestore di file grafico per trovare file in Linux, come Nautilus in Gnome, Dolphin in KDE e Thunar in Xfce. Tuttavia, esistono diversi modi per utilizzare la riga di comando per trovare i file in Linux, indipendentemente dal gestore desktop che si utilizza.
utilizzando il comando Trova
Il comando "trova" consente di cercare file per i quali si conoscono 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. Trova
.Il punto dopo "trova" indica la directory corrente.
Per trovare i file che corrispondono a un modello specifico, utilizzare l'argomento -name. Puoi usare i metacaratteri del nome del file( come *), ma dovresti mettere un carattere di escape( \) davanti a ognuno di essi o racchiuderlo tra virgolette.
Ad esempio, se vogliamo trovare tutti i file che iniziano con "pro" nella directory Documenti, dovremmo usare il comando cd Documenti / per passare alla directory Documenti e quindi digitare il seguente comando:
find.-name pro \ *Vengono elencati tutti i file nella directory corrente che inizia con "pro".
NOTA: il comando find è impostato su maiuscole e minuscole. Se si desidera che la ricerca di una parola o di una frase sia insensibile al maiuscolo / minuscolo, utilizzare l'opzione -iname con il comando find.È la versione maiuscola / minuscola del comando -name.
Se find non individua alcun file corrispondente ai 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 Terminal e premere Invio.
Utilizzo del comando Locate
Il comando locate è più veloce del comando find poiché utilizza un database precedentemente costruito, mentre il comando find esegue la ricerca 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 è possibile aggiornarlo autonomamente in qualsiasi momento in modo da ottenere risultati aggiornati al minuto. Per fare ciò, digitare il seguente comando al prompt:
sudo updatedbImmettere la password quando richiesto.
La forma base del comando locate trova tutti i file sul file system, a partire dalla radice, che contengono tutti o parte dei criteri di ricerca.
individua mydataAd esempio, il comando precedente ha trovato due file contenenti "mydata" e un file contenente "dati".
Se si desidera trovare tutti i file o le directory che contengono esattamente e solo i propri criteri di ricerca, utilizzare l'opzione -b conil comando locate, come segue.
locate -b '\ mydata'Il backslash nel comando precedente è un carattere globbing, che fornisce un modo di 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 rappresenta un singolo carattere e l'asterisco( *), che rappresenta una stringa contigua di caratteri. Nell'esempio precedente, il backslash disabilita la sostituzione implicita di "mydata" con "* mydata *" in modo da ottenere solo risultati contenenti "mydata".
Il comando mlocate è una nuova implementazione di locate. Indica l'intero file system, ma i risultati della ricerca includono solo i file a cui l'utente corrente ha accesso. Quando si aggiorna il database mlocate, mantiene le informazioni di data e ora nel database. Ciò consente a mlocate di sapere se il contenuto di una directory è cambiato senza leggere nuovamente il contenuto e rende gli aggiornamenti al database più rapidi e meno impegnativi sul disco rigido.
Quando si installa mlocate, /usr/bin/ individua le modifiche del file binario in modo che puntino a mlocate. Per installare mlocate, se non è già incluso nella distribuzione Linux, digitare il seguente comando al prompt.
sudo apt-get install mlocateNOTA: verrà mostrato un comando più avanti in questo articolo che consente di determinare dove si trova l'eseguibile per un comando, se esiste.
Il comando mlocate non utilizza lo stesso file di database del comando di individuazione standard. Pertanto, è possibile creare manualmente il database digitando il seguente comando al prompt:
sudo /etc/cron.daily/ mlocateIl comando mlocate non funzionerà finché il database non viene creato manualmente o quando lo script viene eseguito da cron.
Per ulteriori informazioni sul comando locate o sul comando mlocate, digitare man locate o man mlocate in una finestra Terminal e premere Invio. La stessa schermata di aiuto viene visualizzata per entrambi i comandi.
Utilizzo del comando
Il comando "which" restituisce il percorso assoluto dell'eseguibile 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 che firefox visualizza i risultati mostrati nell'immagine sottostante.
Per impostazione predefinita, il comando which visualizza solo il primo eseguibile corrispondente. Per visualizzare tutti gli eseguibili corrispondenti, utilizzare l'opzione -a con il comando:
che -a firefoxÈ possibile 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 "ps".
NOTA: il comando which cerca solo la variabile PATH dell'utente corrente. Se si cerca un eseguibile che è disponibile solo per l'utente root come utente normale, non verrà visualizzato alcun risultato.
Per ulteriori informazioni sul comando which, digitare "man which"( senza virgolette) al prompt dei comandi in una finestra di Terminale e premere Invio.
Utilizzo del 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 vengono visualizzati i risultati come mostrato nell'immagine seguente.
Se si desidera visualizzare solo il percorso dell'eseguibile da visualizzare e non i percorsi delle pagine di origine e uomo( ual), utilizzare l'opzione -b. Ad esempio, il comando whereis -b firefox visualizzerà solo il firefox /usr/bin/ 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.È anche possibile cercare solo i file di origine( -s) o solo le pagine man( -m).
Per ulteriori informazioni sul comando whereis, digitare man whereis in una finestra di Terminal e premere Invio.
Comprensione della differenza tra il comando Whereis e il comando
Il comando whereis mostra la posizione per le pagine binaria, di origine e man per un comando, mentre il comando which mostra solo la posizione del file binario per il comando.
Il comando whereis cerca attraverso un elenco di directory specifiche per i file binary, source e man mentre il comando who cerca le directory elencate nella variabile di 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 visualizza tutto ciò che trova mentre il comando which visualizza solo il primo eseguibile che trova. Puoi cambiarlo usando l'opzione -a, discussa in precedenza, per il comando which.
Poiché il comando whereis utilizza solo percorsi codificati nel comando, potrebbe non essere sempre possibile trovare ciò che si sta cercando. Se si sta cercando un programma che si pensa possa essere installato in una directory non elencata nelle pagine man per il comando whereis, si potrebbe voler usare il comando which con l'opzione -a per trovare tutte le occorrenze del comando in tutto il sistema.