Corsi on-line
Chiudi
Newsletter:
  • Seguici su Facebook
  • Seguici su Twitter
  • Seguici su Google+
  • Seguici via RSS
  • Seguici col tuo Smartphone

Cercare un file: locate, find e grep

In questa lezione vedremo come effettuare delle ricerche per individuare determinati file o directory all'interno del nostro file system.
Per fare ciò Linux dispone di diversi comandi, in questa guida vedremo come funzionano e a cosa servono i tre principali.

Il modo più semplice e veloce per cercare file o directory ci è offerto dal comando locate che effettua ricerche sulla base del nome dei file. Il suo funzionamento è semplicissimo: è sufficiente accompagnare locate al termine che si vuole cercare. Il risultato sarà un elenco di file e directory che contengono nel loro nome e percorso la parola che si è cercato.

(L'articolo continua più sotto...)

locate termine_da_cercare
Se, ad es., volessimo cercare nel nostro server tutti i file che hanno nel nome il termine "pippo", useremo:

locate pippo
Locate è davvero velocissimo! Il perchè di questa velocità sta nel fatto che in realta il comando in questione non effettua una ricerca real-time tra i file della macchina, ma si limita a spulciare un apposito database contenente informazioni sui files presenti nella macchina in un dato momento. E' pertanto importante tenere aggiornato questo database usando, di volta in vola, l'apposito comando, ovvero updatedb.

Altro comando utile è find che ci consente di ricercare file e directory in base al nome, alla data di creazione o alla sua dimensione.
Il comando find è molto potente... ma attenzione, talvolta è anche piuttosto lento!!!

Vediamo ora come usare find:

Se volessimo cercare in base al nome del file useremo l'opzione -name, in questo modo:

find /directory/dove/cercare/ -name termine_da_cercare
Se ad es. volessimo cercare in tutta la macchina tutti i file che hanno nel nome il termine "pippo" (come abbiamo fatto con locate), useremo:
find / -name pippo
Se volessimo cercare in base alla data di creazione del file useremo l'opzione -ctime seguita dall'età (espressa in giorni) del file da cercare.

find /directory/dove/cercare/ -ctime età_in_giorni
Se ad es. volessimo cercare nella directory /home/web/miosito/ un file creato 7 giorni fa useremo:
find /home/web/miosito/ -ctime 7
Se, per finire, volessimo cercare in base alla dimensione useremo l'opzione -size seguita dalla dimensione in K. Find restituirà tutti i file di dimensione uguale o superiore.

find /directory/dove/cercare/ -size dimensione_in_K
Se ad es. volessimo cercare nella directory /home/web/miosito/fotografie/ tutti i file con dimensione uguale o maggiore di 100 K scriveremo:
find /home/web/miosito/fotografie/ -size 100
Per finire questa nostra lezione vediamo un ultimo, utilissimo comando: grep.
Con grep possiamo cercare i file che conengono una determinata parola o una determinata stringa di testo. La sintassi è la seguente:
grep pattern file
Poniamo, per fare un esempio, di voler cercare tutti i file .html che contengono la parola "casa":
grep casa *.html
Grazie alla sintassi qui sopra verrà cercata la stringa "casa" tra tutti i file .html (l'asterisco, infatti, sta ad indicare "qualsiasi cosa" - c.d. wildcards - ed è utilizzato, nel nostro esempio, per cercare ogni files con estensione .html).

Da notare che nel nostro esempio abbiamo cercato non la parola "casa", ma la stringa! Ne consegue che nei risultati potremo trovare anche files che contengono, ad esempio, la parola "casale" o "casata".

Se avessimo voluto cercare solo a parola "casa" avremmo dovuto usare l'opzione -w in questo modo:

grep -w "casa" *.html
Le potenzialità di grep sono tantissime, tuttavia rimando ad altra sede la trattazione completa di questo comando il quale può essere compreso a pieno solo dopo aver introdotto le espressioni regolari (argomento che tratteremo in futuri tutorial).

Corsi
Corso LinuxCorso Linux
Guida completa al sistema open-source. A partire da 39 €.
Corso PHPCorso PHP
Corso completo per la creazione di siti Web dinamici. A partire da 49 €.
Corso Ruby e Ruby On RailsCorso Ruby e Ruby On Rails
Creare software ed applicazioni Web con Ruby e ROR. A partire da 49 €.
Sommario
Annunci

Mr.Webmaster

Pubblicità
Chi Siamo
Contattaci
Collabora
Note Legali
© 2003 - 2012 Mr.Webmaster - Il portale dei Webmaster Italiani - Tutti i diritti riservati | Powered by IKIweb Internet Media S.r.l. - PIVA 02848390122