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