Opensuse: alla ricerca dei files.

L’importanza di organizzare i propri dati non sarà argomento di questo post, la metodologia organizzativa varia da persona a persona, il che vuol dire che se non so dove metto i dati poi come li ritrovo? per i “casualmente distratti” o perché magari nella furia non ricordiamo dove abbiamo spostato i files vediamo come ritrovarli con opensuse ed ecco le varie opzioni.

  • Interfaccia grafica
  • Comando locate, find, grep, whereis, wich, type.

Da gnome possiamo utilizzare il Desktop search tool e Gnome search tool, questi tool grafici hanno la stessa familiarità degli equivalenti in windows quali windows search e google desktop, perciò al loro utilizzo lascio alla v/s intuizione essendo basati su interfaccia grafica.

I comandi della shell.

locate

Abbastanza semplice nell’utilizzo, basta digitare locate nome_da_cercare, questa ricerca non si basa effettivamente sul classico “trova” per intendersi, ma si limita a ricercare su un apposito database contenente informazioni sui file presenti nella macchina in un dato momento per questo bisogna in caso volete utilizzare tale comando da prompt digitare updatedb.

locate foo.txt cerca ffo.txt nella directory corrente.

find

Questo in assoluto è il comando che permette di trovare e fare qualsiasi cosa con ciò che troviamo, i parametri da abbinare al comando seguono questa sintassi;

find  percorso + criterio + azione_da_eseguire (dove percorso, criterio, azione_da_eseguire sono i parametri)

percorso: ovviamente dove cercare il file directory e sub directory, se non indicato niente viene cercato nella directory in cui stiamo lavorando e nelle varie sub directory.

criterio:le proprietà del file che devono essere visualizzate per il file cercato, ne riporto alcune tra i più comuni.

-name “termine da cercare”     cerca in base alla caratteristiche del nome indicate in termine da cercare, abitualmente nei manuali linux questo termine viene indicato come pattern ed è accompagnato ai caratteri wildcards tipo * racchiuso negli apici (quotations marks”) per far si che il sistema linux non lo interpeti come dei comandi dal prompt.

-ctime[+/-] giorni       cerca in base alla data indicata ad esempio non precedente di n giorni.

-type tipo_di_file cerca in base al tipo di file, dopo type segue un altro argomento che può essere “f” per un file, “d” per una directory, “l” per un link simbolico.

-uid specifica l’ user id (uid) dell’utente da cercare.

-user nome_utente specifica il file di cui il proprietario è nome_utente.

-group cerca in base al gruppo che è proprietario dei file.

azione: terzo ed ultimo parametro indica cosa fare dei vari files trovati, le opzioni che seguono sono due

print: stampa il file

exec comando: esegue un determianto comando.

partiamo con un esempio che forse è la soluzione migliore:

find /home/prova/doc -name “ilmiofax*” -type f -exec grep data invio {} \;

(questo è quello che ritornerà al prompt)

data invio fax 12/11/09

Spieghiamo un po’ il tutto renderlo più comprensibile.

find cercherà nella directory /home/prova/doc (parametro del percorso) un file che contiene la stringa che corrisponde al nome ilmiofax (questo è parametro del  criterio), sarà eseguito poi il  comando grep (parametro dell’azione da eseguire) che cercherà nel file specifico, passato attraverso le parentesi graffe, per la stringa data invio và notato come  l’espressione di ricerca viene chiusa da lo slash \ e il ; essendo questi caratteri speciali non verrano inteerpretati dalla shell.

Grep è un comando che serve per cercare stringhe all’internto dei vari file con la seguente sintassi.

grep stringa_ da_ cercare  percorso_file

Utilizzato da solo grep si impiega per cercare stringhe in un file la cui posizione è nota nel filesystem, ne caso descritto sopra l’abbinamento con find risulta un potente mezzo di ricerca per trovare si ai n/s file che l’espriossini delle vari stringhe che ci interessano dentro di essi.

which

Ricerca tutti i percorsi elencati nella variabile PATH per ogni determinato comando e visualizza sul prompt tale percorso,  è utile per visualizzare quale comando viene lanciato dal prompt se non viene specificato il percorso.

La variabile PATH contiene i percorsi degli eseguibili dove la shell deve cercare prima di lanciare il comando.

Un esempio utile potrebbe essere quello di capire quale versione del comando viene lanciato se presenti più versioni di questo digitando ad esempio

which cp

dovremmo ricevere

/bin/cp   come percorso corretto

which find

Dovremmo ottenere

/usr/sbin/find

type

Questo comando esegue una funzione simile a which però a differenza di questo visualizza un messaggio che indica se tale comando è uno dei comandi inclusi nella shell di linux oppure un alias, oppure una funzione ecc,ecc ma ecco alcuni esempi:

type type

type is a shell built in

type grep

grep is /usr/bin/grep

  1. Lascia un commento

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: