Cercare file in Linux (da terminale e non solo)

Ci sono diversi modi per cercare file in Linux, come documenti, foto, video, testo, etc.

Alcuni prevedono un uso del terminale (che già nell’installazione di base ha le funzioni di ricerca su tutte le distribuzioni), altri mediante comodi strumenti con interfaccia grafica che sono legati alla distribuzione installata.

Analizzerò entrambi i sistemi, evidenziando diverse casistiche.

Terminale

Cercare files in Linux tramite terminale

Per una ricerca semplice tramite riga di comando, dove si vuole individuare un files con filtro per date si può digitare:

  • touch –date “2010-01-01” /tmp/start

per impostare in un file temporaneo la data iniziale,

  • touch –date “2011-01-01” /tmp/stop

per impostare in un file temporaneo la data finale,
e poi ricercare tramite il comando “find”

  • find /data/images -type f -newer /tmp/start -not -newer /tmp/end

per cercare nella directory “data/images” solo Files (-type f) con filtro tra le due date impostate in precedenza.

Per abbreviare si può anche sintetizzare utilizzando il seguente comando:

  • find . -type f -newermt 2010-01-01 ! -newermt 2011-01-01

Il ! sostituisce il -not

Il comando sopra scritto cerca in tutti i files della directory dove si è posizionati, filtrando tra le due date.
Aggiungendo il comando “| more” si chiede di bloccare l’elenco generato alla schermata del proprio monitor.

  • find . -type f -newermt 2010-01-01 ! -newermt 2011-01-01 | more

Premendo “invio” si scorre di un rigo, “Barra spaziatrice” per passare avanti di una schermata.
CTRL-C per uscire.

Per cercare una estensione o un tipo di file specifico:

  • find /home/cartellaricerca -iname “*.jpg” -newermt 2010-01-01 -type f

Il comando sopra scritto cerca in tutti i files della directory indicata, filtrata nel nome “*.jpg” a partire dal primo gennaio 2010.

Il parametri “-iname” è assimilabile al parametro “name” con la differenza che il primo è “case insensitive”, ovvero non tiene conto delle maiuscole o minuscole”.

  • find /home/cartellaricerca -iname “*.c” -mtime -30 -type f

L’opzione “-mtime” con l’aggiunta del numero dei giorni, ricerca i files modificati entro quel periodo.

In sostituzione di “-mtime” si può utilizzare “-atime” per il filtro sulla data di accesso, oppure “-ctime” sulla data di creazione del file.

Altra interessante aggiunta è che si può inviare il risultato della ricerca in un file di testo normalmente poi visualizzabile con un semplice editor.

  • find . -type f -newermt 2010-01-01 ! -newermt 2011-01-01 > output.txt

Il risultato sarà consultabile nel file di testo indicato.
Detto file può anche essere generato in un’altra directory:

ad es:  > ~/tmp/output.txt

Ovvero  > /home/cartellapersonale/tmp/output.txt.

Ovviamente la cartella deve già esistere altrimenti viene restituito un errore.

Per trovare un files in base alla propria dimensione, si può aggiungere il parametro “-size”, facendolo seguire dalla dimensione.

  • find /var/www/nome_cartella -type f -size +1024k

Find è un comando molto potente, ma a volte potrebbe risultare lento.

In un altro capitolo analizzeremo i comandi “locate” e “grep” per cercare rispettivamente tramite nome del file o una stringa di testo all’interno di un file.

E’ possibile anche ricercare la path di esecuzione di un programma (verificando anche se sia installato o meno) col comando which.

  • which gimp

Se il programma è installato, il sistema ci restituirà un rigo con il percorso del comando.

Find

Cercare files in Linux tramite interfaccia grafica

Logo CatfishPer la ricerca tramite programma, è possibile utilizzare Catfish

Il programma ha un’interfaccia abbastanza semplice ed intuitiva.

schermata Catfish

In alto è possibile inserire il termine da ricercare contenuto nel nome del file.

Con l’apertura delle impostazioni avanzate (vedi immagine in alto) attivabile tramite la ruota ad ingranaggio sulla destra, si può ricercare filtrando per data di modifica, oppure per tipo di file – se documento, immagine, cartella etc. o tramite una estensione specifica, col comando + Altro.

Logo PCManFM
Io uso con soddisfazione la ricerca del File manager PCManFM, richiamabile tramite menù o tramite la combinazione Maiusc + CTRL + F.

Find PCManFM

 

Per attivare il modulo di ricerca (potrebbe non installato di base assieme al programma), bisogna installare anche la libreria libfm-modules e relative dipendenze.

Nelle varie schede ci sono le opzioni avanzate per la ricerca del contenuto del file, del tipo di file, un filtro per la data e per la dimensione.

Ci sono anche altri programmi grafici che svolgono il medesimo lavoro, ma ritengo che sia Catfish ma soprattutto il Find di PCManFM, siano al tempo stesso potenti ma leggeri.


Altri searcher:

Tutti installabili dai repository ufficiali Debian.

 

Se pensi che l'articolo che possa essere d'aiuto a qualcuno condividi, grazie.

Giuseppe Guida

Ho da sempre la passione per Internet e le nuove tecnologie. Mi interesso particolarmente dell'ottimizzazione delle risorse informatiche, dell'open source, dei servizi web e cyber-sicurezza | Seguimi su Twitter @tecnopassopasso

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.