Trovare file e cartelle da linea di comando

trovare file
Potete usare un file manager grafico per trovare i file in linux, come Nautilus in Gnome, Dolphin in KDE, e Thunar in Xfce. Tuttavia ci sono diversi modi di usare la linea di comando per trovare file in ogni gestore desktop Linux.

trovare file

Trovare file e cartelle da linea di comando: Usare il comando find

Il comando find vi permette di cercare file di cui conoscete i nomi file approssimati. La forma più semplice del comando ricerca i file nella directory corrente e ricorsivamente nelle sottocartelle che corrispondono alle richieste. Potete cercare file per nome, utente, gruppo, tipo, permessi, data e altri criteri.

Scrivere il seguente comando elenca tutti i file che si trovano nella directory corrente:

find .

Il punto dopo “find” indica la directory corrente.
trovare file

Per trovare file che corrispondono a uno specifico schema, usate l’opzione -name. Potete usare metacaratteri per i nomi di file come *, ma dovreste sempre mettere un carattere di escape davanti a ognuno di essi o inserirli in virgolette.

Per esempio, se vogliamo trovare tutti i file che iniziano con “pro” in Documents, usiamo il comando “cd Documents” senza le virgolette per cambiare la directory a quella Documents, e poi inseriamo il seguente comando

find . -name pro*

Tutti i file nella directory corrente che iniziano per pro* sono elencati.

Nota: il comando find di default è case sensitive. Se volete cercare una parola o una frase senza questa opzione, usate l’opzione -iname col comando find. E’ la versione non case sensitive del comando -name.
trovare file

Se find non trova nessun file che corrisponde ai vostri criteri, non produce output.

Il comando find ha molte opzioni disponibili per la raffinazione della ricerca. Per altre informazioni sul comando find, scrivete man find nella riga di comando e premete Invio.

Trovare file e cartelle da linea di comando: Usare il comando Locate

Il comando locate è più rapido del comando file perchè usa un database costruito in precedenza, mentre il comando find cerca nel verso sistema, attraverso tutte le directory reali e i file. Il comando locate ritorna una lista di tutti i nomi di percorsi contenenti un gruppo specificato di caratteri.

Il database è aggiornato periodicamente da cron, ma potete anche aggiornarlo voi stessi in ogni momento per ottenere risultati aggiornatissimi. Per fare ciò inserite il seguente comando nel prompt:

sudo updatedb

Inserite la vostra password quando vi è richiesto.
trovare file

La forma base del comando locate trova tutti i file sul file system, iniziando dalla radice, che contengono tutte o alcune parti dei criteri di ricerca.

locate mydata

Per esempio, il comando qui sopra ha trovato due file contenenti mydata e un file contenente data.
trovare file

Se volete trovare tutti i file o le cartelle che contengono esattamente e solo il vostro criterio di ricerca, usate l’opzione -b col comando locate, come segue.

locate -b -mydata’

Il backslash “” nel comando qui sopra è un carattere speciale che fornisce un modo di espandere i metacaratteri in un nome file non specifico in un set di nomi file specifici. Un metacarattere è un simbolo che può essere rimpiazzato da uno o piùcaratteri quando l’espressione viene considerata. Il metacarattere più comune è il punto interrogativo che sostituisce un singolo carattere, oppure l’asterisco che rappresenta una stringa di caratteri contigui. Nell’esempio qui sopra, il backslash disabilita la sostituzione implicita di mydata con *mydata* quindi otterrete solo i risultati che contengono mydata.
trovare file

Il comando mlocate è una nuova implementazione di locate. Indicizza l’intero file system, ma i risultati di ricerca includono solo i file a cui l’utente corrente ha accesso. Quando aggiornate il database di mlocate, mantiene informazioni temporali nel database. Questo permette a mlocate di sapere se i contenuti di una directory sono cambiati senza leggerli e aggiornare il database più rapidamente e in modo meno oneroso per il vostro hard disk.

Quando installate mlocate, il file binario /usr/bin/locate cambia e punta a mlocate. Per installare mlocate, se non è già incluso nella vostra distro Linux, scrivete il seguente comando nel terminale.

sudo apt-get install mlocate

Nota: Vi mostreremo un comando più tardi nell’articolo che vi permette di determinare dove l’eseguibile per un comando viene posizionato, se esiste.
trovare file

Il comando mlocate non usa lo stesso file di database dello standard locate. Quindi potreste voler creare il database manualmente scrivendo il seguente comando nel terminale.

sudo /etc/cron.daily/mlocate

Il comando mlocate non funzionerà finché il database è creato manualmente o quando lo script è eseguito da cron.
trovare file

Per altre informazioni sul comando locate o mlocate, scrivete man locate o man mlocate nel prompt dei comandi in una finestra di terminale e premete Invio. La stessa schermata di aiuto uscirà per entrambi i comandi.

Trovare file e cartelle da linea di comando: Usare il comando which

Il comando which ritorna il percorso assoluto dell’eseguibile che è chiamato quando un comando è eseguito. Questo è utile per trovare la posizione di un file eseguibile per creare una scorciatoia al programma sul desktop, su un pannello o in un altro posto nel desktop manager. Per esempio, inserite il comando which Firefox per visualizzare i risultati mostrati nell’immagine qui sotto.

Nota: di default, il comando which mostra solo il primo eseguibile che viene trovato. Per trovare tutti i file eseguibili, usate l’opzione -a nel comando. Il comando diventerebbe quindi which -a Firefox.
trovare file

Potete cercare diversi eseguibili insieme, come mostrato nella seguente immagine. Solo i percorsi agli eseguibili trovati sono mostrati. Nell’esempio qui sotto, solo l’eseguibile di ps è stato trovato.

Nota: l’eseguibile di ps riporta un’immagine dei processi correntemente in esecuzione sul vostro sistema.
trovare file

Nota: il comando which cerca solo nella variabile PATH dell’utente corrente. Se cercate un eseguibile che è solo disponibile per l’utente root come utente normale, non troverete nulla.

Per altre informazioni sul comando which, scrivete man which nel prompt dei comandi in una finestra di terminale e premete Invio.

Trovare file e cartelle da linea di comando: Usare il comando whereis

Il comando whereis è usato per cercare dove sono i file binari, sorgenti e il manuale per un comando. Per esempio, inserire whereis firefox nel prompt dei comandi mostra i risultati visualizzabili nell’immagine qui sotto.
trovare file

Se volete solo vedere il percorso dell’eseguibile, e non i percorsi per i sorgenti e le pagine di manuale, usate l’opzione -b. Per esempio, il comando whereis -b firefox mostra solo /usr/bin/firefox come risultato. Questo è comodo perché probabilmente cercherete solo l’eseguibile di un programma più spesso rispetto ai sorgenti o le pagine di manuale per quel programma. Potete anche cercare solo i file sorgenti con -s o solo le pagine di manuale con -m.

Per altre informazioni sul comando whereis, inserite man whereis nel prompt dei comandi di un terminale e premete Invio.

Trovare file e cartelle da linea di comando: Capire la differenza tra il comando whereis e il comando which

Il comando whereis vi mostra la posizione del codice sorgente, i binari e le pagine di manuale di un comando, mentre il comando which vi mostra solo il file binario.

Il comando whereis cerca in una lista di directory specifiche il file binario, la sorgente e i file di manuale mentre il comando which cerca solo nelle directory elencate nella variabile d’ambiente PATH dell’utente corrente. Per il comando whereis, la lista di directory specifiche viene salvata nella sezione FILES delle pagine di manuale del comando.

Parlando di risultati mostrati di default, il comando whereis mostra tutto ciò che trova mentre il comando which mostra solo il primo eseguibile che trova. Potete cambiare questa cosa usando l’opzione -a, discussa poco fa, per il comando which.

Poiché il comando whereis usa solo i percorsi nel comando, potreste non trovare sempre ciò che state cercando. Se state cercando un programma che potrebbe essere installato in una directory non elencata nelle pagine di manuale per il comando whereis, potreste voler usare il comando which con l’opzione -a per trovare tutte le occorrenze di quel comando nel sistema.

Trackbacks

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>