J'aimerais indexer l'ensemble de mon disque pour une recherche rapide. J'ai essayé Tracker, mais il ne me permet pas d'ajouter "/" comme répertoire indexé récursivement. Comment faire ?
Réponses
Trop de publicités?updatedb
/ locate
est certainement un bon choix si vous cherchez à indexer des noms de fichiers. Voir/voter la réponse de cYrus.
Toutefois, une autre option consiste à utiliser simplement find
pour lister les noms de tous les fichiers présents sur votre disque dur et les placer dans un fichier :
sudo find / > files.list
Par la suite, vous pouvez rechercher des fichiers avec grep
:
grep 'myfavoritesong' files.list
Bien que cette méthode semble plutôt boiteuse, elle est en fait rapide dans la pratique, même lorsque vous avez beaucoup de fichiers.
Bien sûr, cela ne fait guère mieux que locate
. Cependant, il s'agit d'un moyen rapide et facile d'indexer les disques durs externes.
Pour aller plus loin, vous pourriez vouloir hacher tous les fichiers de votre disque dur :
sudo find / -type f -exec sha256sum {} \; > files.sha256
Cela prendra probablement beaucoup de temps.
Ce qu'il fait pour vous, c'est qu'il vous donne un moyen de localiser des fichiers identiques. Supposons que vous trouviez un énorme .iso
sur votre ordinateur :
$ sha256sum huge.iso
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 huge.iso
Vous avez l'impression que le même fichier existe ailleurs sur votre disque dur et vous souhaitez en supprimer un pour gagner de la place. Vous pouvez parcourir la liste des hachages pour le trouver :
$ grep 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 files.sha256
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 huge.iso
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 archive/path/to/other/huge.iso