Find i locate

Última actualització: setembre 2018

Find

És molt flexible a l'hora de buscar, però pot ser bastant lent ja que repassa tota la llista d'inodes fins que troba el que busca.

Exemples:

Buscar "seamonkey" case insensitive, a /home:

find /home -iname seamonkey

(atenció: no podem posar només "seamonk", si volem trobar seamo nkey, haurem de posar o bé la paraula completa o bé *seamonk*)

Buscar fitxers .sh, case sensitive, a /home:

find /home -name '*.sh'

Buscar fitxers i directoris més grans de 1 GB a tot el sistema:

find / -size +1G

Llistar els fitxers modificats les últimes 24 h:

find /var/log -mtime 0

Esborrar logs més antics de 15 dies:

find /var/log/mylogs -name '*.tar.gz' -mtime +14 -exec rm -f {} \;

Locate

Locale genera una base de dades amb tots els noms dels fitxers i carpetes del sistema. Aquesta base de dades s'actualitza si executem

updatedb

El sistema normalmente te un cron (/etc/cron.daily/locate) que diariament actualitza aquesta base de dades.

Buscar "seamonkey" a /home:

locate seamonkey

(atenció: amb locate no fa falta posar la paraula completa. Podrem ficar semonk, p.e.)

Buscar fitxers .sh, a /home:

locate *.sh

-----

Finalment, veiem la diferència en temps de cerca entre find i locate amb un exemple:

time find / -iname raspberrypi.pdf

real 0m11.242s

time locate raspberrypi.pdf

real 0m0.315s