Dominique Meeùs
Dernière modification le
retour à la table des matières
— à l’index
— à ma page de départ
find
ou locate
, aussi fdupes
) La commande find
a plein d’options pour rechercher des fichiers. Un exemple simple est
find /chemin -name "fich*"⚓
qui cherche les fichiers de nom correspondant dans le répertoire indiqué et dans ses
sous-répertoires. (Les guillemets sont essentiels si on veut trouver des fichiers
dont le nom contient le segment fich, y compris dans un nom de fichier en plusieurs
mots.) La commande distingue les majuscules des minuscules. Sinon, il faut utiliser
plutôt -iname
. La mention du chemin est obligatoire. Pour chercher à partir du dossier courant,
on peut mettre là un point comme dans l’exemple ci-dessous.
On pourrait chercher aussi les fichiers des dernier jours, ou les fichiers plus récents qu’un fichier donné. Comme on peut aussi prendre la négation d’une condition, cela donne le moyen de chercher des fichiers plus anciens que le fichier donné :
find . ! -newer thisfile⚓
où ici le chemin de départ de la recherche est dossier courant.
La commande locate fich*
cherche dans une base de données (pas un chemin). Cette base de données doit être
à jour (commande updatedb
). Certaines distributions remplacent locate par slocate.
⁂
Après des années, on peut avoir réorganisé la hiérarchie de ses dossiers et on peut
avoir hésité sur la bonne localisation pour un fichier, d’où la possibilité d’avoir
des fichiers en double. La commande fdupes
(à installer par sudo apt install fdupes
) détecte les doubles : ~$ fdupes -rAn .
recherche tous les doublons de dossier personnel. (Avec -r
pour récursif, -A
exclut les fichiers cachés, -n
exclut les fichiers vides.) Si on est conservateur, on peut avoir beaucoup plus de
doublons qu’on ne l’imagine. Il est bon d’abord d’éviter les fichiers cachés (surtout
les répertoires cachés genre ./local
). On pourrait préférer ensuite faire un premier nettoyage un dossier à la fois :
fdupes -r thisfolder
.