1. Motori di ricerca per
cercare file in Linux
Roberto Marmo, Università di Pavia
Laboratorio di Computer Vision and Multimedia
https://vision.unipv.it/ email marmo@unipv.it
2. Dove ho messo il file?
Motori di ricerca per cercare file in Linux 2
3. Avere parole simili a quella da cercare
• la espressione regolare (regexp, regex o RE) è una
sequenza di simboli che rappresenta tante stringhe
• cercando la stringa con RE cerco tante altre stringhe
• /c[ao]sa/ corrisponde a “casa” e a “cosa ”
• /ab{2}/ stringhe con due caratteri “b” di seguito
• /[^c]ode/ contiene "ode" ma non contiene "code"
• /^[A-Z]{6}d{2}[A-Z]d{2}[A-Z]d{3}[A-Z]$/ equivale
a un codice fiscale come MRNRRT79D21S793K
• https://it.wikipedia.org/wiki/Espressione_regolare
Motori di ricerca per cercare file in Linux 3
4. Avere parole simili a quella da cercare
• https://neilpatel.com/ubersuggest/ fornisce le
parole scritte nelle query che gli utenti hanno
digitato quando fanno una ricerca dentro Google
• utile per trovare parole chiave correlate, simili a
quelle che si vuole cercare
• esempio ricerca: scuola pavia
Motori di ricerca per cercare file in Linux 4
5. Avere parole simili a quelle da cercare
tra i risultati forniti trovo altre idee per cercare
Motori di ricerca per cercare file in Linux 5
6. Comando Linux: locate
• funzione: ricerche sulla base del nome dei file
• problema: usa un database contenente
informazioni sui files presenti nel computer in un
dato momento, per aggiornarlo usare comando
updatedb
• esempio: locate parola
Motori di ricerca per cercare file in Linux 6
7. Comando Linux: find
• funzione: ricercare file e directory in base a nome,
data di creazione o sua dimensione
• problema: talvolta è piuttosto lento
• esempio:
• find /directorydovecercare/ -name parola
• find / -name parola cerca in tutto il computer
• find /directorydovecercare/ -ctime giorni
• utile lettura https://www.wikihow.it/Trovare-un-
File-in-Linux
Motori di ricerca per cercare file in Linux 7
8. Comando Linux: grep
• funzione: cercare i file contenenti una certa parola
o una stringa di testo
• problema: conoscere le espressioni regolari
• esempio:
• grep case *.txt trova nomi di file come
caserma.txt casette.txt case.txt
• grep -w "case" *.txt trova solo case.txt
Motori di ricerca per cercare file in Linux 8
9. Posso usare l'interfaccia grafica
• consigli utili per distribuzione Ubuntu
https://www.nigiara.it/pc/linux/come-cercare-file-
programmi-su-ubuntu.htm
Motori di ricerca per cercare file in Linux 9
10. Posso usare il desktop search tool
Motori di ricerca per cercare file in Linux 10
database
nome file
meta data
data
posizione
Linux open source desktop
search tool application
ricerca di
utente
11. ANGRYsearch
• modifica i risultati mentre si scrive la ricerca
Motori di ricerca per cercare file in Linux 11
12. ANGRYsearch
• crea un database per rendere veloce la ricerca
• scritto in linguaggio Python 3
• il codice creato si può leggere e studiare da
https://github.com/DoTheEvo/ANGRYsearch/releases
• istruzioni per installare su
https://github.com/DoTheEvo/ANGRYsearch e
http://ubuntuhandbook.org/index.php/2016/10/an
grysearch-everything-search-ubuntu-linux/
Motori di ricerca per cercare file in Linux 12
13. • cerca nei documenti, email, cronologia browser,
codice sorgente, immagini, applicazioni
• usa un database dove conserva i meta tag
• http://beagle-project.org/
Motori di ricerca per cercare file in Linux 13
14. • esempio ricerca artist:Beatles ext:mp3 OR ext:ogg
-album:"Abbey Road"
• vantaggio: non devo conoscere il nome del file
• svantaggio: serve spazio per grosso database, per
45 GB servono 700 MB
Motori di ricerca per cercare file in Linux 14
15. • cerca documenti, immagini, video, ecc.
Motori di ricerca per cercare file in Linux 15
1 stringa da cercare
2 risultati
3 anteprima
contenuto
4 dimensione
minima massima
5 tipo di file
6 posizione file
7 preferenze
16. 1. richiede avere installato Java
2. per installare digitare
3. sudo apt-get install openjdk-7-jre
4. scaricare la versione da
http://docfetcher.sourceforge.net/it/index.html
5. estrarre il file .zip e da terminale all’interno della
cartella e digitare: sh DocFetcher.sh
6. e si può usare DocFetcher
Motori di ricerca per cercare file in Linux 16
17. Fsearch
• http://www.fsearch.org/
• download https://github.com/cboxdoerfer/fsearch/
• ricerche veloci con risultati mentre si scrive
• filtri per escludere cartelle e file in cui cercare
• interfaccia personalizzabile
Motori di ricerca per cercare file in Linux 17
20. InvestigateIX
• eseguire la potente ricerca nei testi di
opensemanticsearch in file protetti da crittografia
• sito https://www.mandalka.name/investigateix/
Motori di ricerca per cercare file in Linux 20
21. • ricerca testuale per cercare i file secondo il loro
contenuto e non solo con il nome del file
• basato su Xapian motore di ricerca open source
con ricerca per frase ed approssimazione, rilevanza
dei feedback, richieste booleane ed altro
• https://www.lesbonscomptes.com/recoll/
Motori di ricerca per cercare file in Linux 21
23. Criteri di scelta
• lingua della interfaccia, soprattutto inglese
• velocità di ricerca
• filtrare per includere/escludere file e cartelle
• possibilità di ordinare i risultati
• visualizzare anteprima dei contenuti del file
• supporto, documentazione
• adatto alla propria distribuzione Linux
• creare una ricerca da provare con tutti i sistemi
per confrontare i risultati
Motori di ricerca per cercare file in Linux 23
24. Criteri di scelta
• importante verificare il database interno:
–potrebbe volerci tempo per aggiornare
–potrebbe rallentare il funzionamento di Linux
–potrebbe occupare molta memoria
Motori di ricerca per cercare file in Linux 24
database
nome file
meta data
data
posizione
25. E se il file è su Internet? Google!
• tipico uso di browser e motore di ricerca
• parole chiave filetype:TIPO_DI_FILE
• esempio: linux day programma filetype:pdf
• leggere le tante funzioni disponibili su
https://support.google.com/websearch/answer/1
34479?hl=it
Motori di ricerca per cercare file in Linux 25
26. E se il file è su Internet? Googler!
• Googler scritto in Python da usare con linea di
comando per cercare in Google e mostrare risultati
• https://www.tecmint.com/google-commandline-
search-terminal/ consigli per installare
• codice su https://github.com/jarun/googler
occasione anche per imparare come funziona
Motori di ricerca per cercare file in Linux 26
27. E se il file è su Internet?
• demo su https://asciinema.org/a/85019
Motori di ricerca per cercare file in Linux 27