Usare la shell per cercare i file
L’avvento delle interfacce grafiche (gnome, kde…) ha sicuramente ridotto l’uso della shell, l’interfaccia per eccellenza ancorchè a riga di comando. Tuttavia, a mio parere, niente è paragonabile alla bash per potenza e flessibilità, per cui quando si cercano queste caratteristiche ricorrervi è naturale. Se, per esempio, dobbiamo cercare dei file possiamo avvalerci degli strumenti integrati in gnome o kde (tracker, strigi…) oppure usare Il comando locate, il quale è appunto preposto alla ricerca di un file generico sul filesystem. Il vantaggio di questo comando rispetto ad altri più o meno deputati agli stessi compiti è la velocità, esso infatti effettua la sua ricerca su un piccolo database e non scansionando integralmente il disco; è chiaro però che troverà solo i file presenti nel database, e, anche se quest’ ultimo in genere viene aggiornato (da cron) una volta al giorno (col comando updatedb) questo può essere un limite. Comunque ecco la sintassi
:
- updatedb (senza argomenti leggerà da \ per tutta la struttura del filesystem e farà l’ update del database che in una distro debian, ad esempio, è in /var/cache/locate/locatedb);
- locate locate -m (in questo caso cercherà tutti file del manuale con locate nel nome *).
Le opzioni sono -b, -m, -s e servono per restringere le ricerche a binari, pagine di manuale o sorgenti.
*Ecco l’output della mia shell:
/etc/alternatives/locate
/etc/alternatives/locate.1.gz
/etc/cron.daily/mlocate
/usr/bin/locate
/usr/bin/mlocate
/usr/bin/updatedb.mlocate
/usr/include/krb5/locate_plugin.h
/usr/share/doc/mlocate
/usr/share/doc/mlocate/AUTHORS
/usr/share/doc/mlocate/NEWS.gz
/usr/share/doc/mlocate/README
/usr/share/doc/mlocate/TODO.Debian
/usr/share/doc/mlocate/changelog.Debian.gz
/usr/share/doc/mlocate/changelog.gz
/usr/share/doc/mlocate/copyright
/usr/share/locale-langpack/it/LC_MESSAGES/mlocate.mo
/usr/share/man/man1/locate.1.gz
/usr/share/man/man1/mlocate.1.gz
/usr/share/man/man3/XdbeAllocateBackBufferName.3.gz
/usr/share/man/man3/XdbeDeallocateBackBufferName.3.gz
/usr/share/man/man3/XtAllocateGC.3.gz
/usr/share/man/man5/mlocate.db.5.gz
/usr/share/snmp/mib2c-data/generic-data-allocate.m2i
/var/lib/mlocate
/var/lib/dpkg/alternatives/locate
/var/lib/dpkg/info/mlocate.conffiles
/var/lib/dpkg/info/mlocate.list
/var/lib/dpkg/info/mlocate.md5sums
/var/lib/dpkg/info/mlocate.postinst
/var/lib/dpkg/info/mlocate.postrm
/var/lib/dpkg/info/mlocate.prerm
/var/lib/mlocate/mlocate.db
/var/lib/mlocate/mlocate.db.hhctQ1
Post correlati...
L' Eeepc come un libro...? by Mad on November 24th, 2008
Volete ruotare lo schermo del vostro "piccolino" e magari usarlo per leggere un ebook? Vi basta questo comando: xrandr -o left.
JVM e Ubuntu 8.10 by Mad on February 17th, 2009
Appunti in libertà.
WP-Postviews e Php4... by Mad on September 4th, 2008
Questo articolo intende essere più un appunto personale che un post dedicato ad uno degli argomenti trattati abitualmente su tuxmind.
Checkinstall + auto-apt by Mad on June 24th, 2008
Volete compilare da sorgenti ma non sapete come rimuovere un software in caso di necessità? Ci soccorre il comando checkinstall.
Modifica l'aspetto della shell by Mad on April 18th, 2008
.
Se questo sito è di tuo gradimento abbonati gratuitamente sottoscrivendo il Feed RSS. Grazie per la visita!












22 giugno 2008 alle 2:51 pm
ciao! giusto una piccola precisazione… secondo te non può essere confusionario usare il termine “Bash” come sinonimo universale di shell, quando invece alcune distro (tipo Ubuntu) sono passate a Dash?
scusa la noiosa puntualizzazione, bel sito BTW!!!