Ci-dessous, les différences entre deux révisions de la page.
| — | fdupes [2020/09/13 19:13] (Version actuelle) – créée cyrille | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ====== fdupes et la recherche de doublons ====== | ||
| + | |||
| + | **fdupes** est utilitaire en ligne de commande qui permet de retrouver très rapidement les fichiers en doublon présents sur vos espaces de stockage. | ||
| + | Pour repérer les doublons, il ne se base pas sur le nom des fichiers mais les identifie en comparant **la signature MD5 des fichiers suivie d'une comparaison octet à octet**. | ||
| + | Cet utilitaire, écrit en C, sous licence MIT, possède de très nombreuses options afin de répertorier, | ||
| + | |||
| + | __Voici la chaîne de comparaison utilisée__ | ||
| + | 1/ Comparaison de taille | ||
| + | 2/ Comparaison de signature MD5 partielle | ||
| + | 3/ Comparaison de signature MD5 complète | ||
| + | 4/ Comparaison octet à octet. | ||
| + | | ||
| + | |||
| + | |||
| + | ===== Installation ===== | ||
| + | |||
| + | |||
| + | Sous base DEBIAN | ||
| + | <code bash># apt-get install fdupes</ | ||
| + | |||
| + | Sous base UBUNTU | ||
| + | <code bash>$ sudo apt-get install fdupes</ | ||
| + | |||
| + | Sous freeBSD, depuis les repos | ||
| + | <code bash> # pkg install fdupes</ | ||
| + | |||
| + | Sous freeBSD, depuis les ports | ||
| + | <code bash># cd / | ||
| + | # make install clean | ||
| + | </ | ||
| + | |||
| + | ===== Utilisation ===== | ||
| + | |||
| + | |||
| + | <WRAP center round info 60%> | ||
| + | | ||
| + | |||
| + | <code bash> fdupes < | ||
| + | </ | ||
| + | |||
| + | |||
| + | Soit un répertoire, | ||
| + | |||
| + | <code bash>$ ls test-dupli/ | ||
| + | aze1.txt | ||
| + | |||
| + | Utilisons un GUI et copions les, via **ctrl +C / ctrl + V** : | ||
| + | |||
| + | <code bash>$ ls test-dupli/ | ||
| + | 'aze1 (copie 1).txt' | ||
| + | 'aze1 (copie 2).txt' | ||
| + | 'aze1 (copie 3).txt' | ||
| + | 'aze1 (copie 4).txt' | ||
| + | 'aze1 (copie 5).txt' | ||
| + | 'aze1 (copie 6).txt' | ||
| + | | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | Pour rechercher les doublons, en être informé, sans aucune autre action, pas besoin d' | ||
| + | <code bash>$ fdupes | ||
| + | test-dupli/ | ||
| + | test-dupli/ | ||
| + | test-dupli/ | ||
| + | test-dupli/ | ||
| + | test-dupli/ | ||
| + | test-dupli/ | ||
| + | test-dupli/ | ||
| + | |||
| + | test-dupli/ | ||
| + | test-dupli/ | ||
| + | test-dupli/ | ||
| + | test-dupli/ | ||
| + | test-dupli/ | ||
| + | test-dupli/ | ||
| + | test-dupli/ | ||
| + | |||
| + | test-dupli/ | ||
| + | test-dupli/ | ||
| + | test-dupli/ | ||
| + | test-dupli/ | ||
| + | test-dupli/ | ||
| + | test-dupli/ | ||
| + | test-dupli/ | ||
| + | </ | ||
| + | __Pour rechercher les doublons, en être informé, et connaitre l' | ||
| + | |||
| + | <code bash>$ fdupes -S test-dupli/ | ||
| + | 13 bytes each: | ||
| + | test-dupli/ | ||
| + | test-dupli/ | ||
| + | .... | ||
| + | test-dupli/ | ||
| + | |||
| + | 169 bytes each: | ||
| + | test-dupli/ | ||
| + | test-dupli/ | ||
| + | .... | ||
| + | test-dupli/ | ||
| + | |||
| + | 49 bytes each: | ||
| + | test-dupli/ | ||
| + | test-dupli/ | ||
| + | .... | ||
| + | test-dupli/ | ||
| + | |||
| + | __ Pour supprimer les doublons, **utiliser l' | ||
| + | |||
| + | Pour chaque doublon, une liste sera proposée, il faudra indiquer le fichier à préserver et les autres seront marqués à supprimer. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Pour supprimer les doublons, sans invite prompt (le nom le plus simple sera alors préserver), | ||
| + | La suppression sera alors immédiate. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | |||
| + | __ Pour faire de de même de façon récursive, **ajouter aux options précédentes simplement l' | ||
| + | |||
| + | <code bash> $ fdupes -rdN .</ | ||
| + | | ||
| + | |||
| + | <code bash> $ fdupes -rS / | ||
| + | | ||
| + | |||
| + | |||
| + | Pour sauvegader cette liste dans un fichier, utiliser une redirection | ||
| + | <code bash> $ fdupes -rS /home/$USER > / | ||
| + | | ||
| + | | ||
| + | A savoir, 2 fichiers au même contenu mais avec des noms différents seront considérés comme doublon, même avec des extensions différentes. | ||
| + | |||
| + | <code bash>$ cat test-dupli/ | ||
| + | Test de doubon. Test de doubon. Test de doubon. Test de doubon. Test de doubon. | ||
| + | Test de doubon. Test de doubon. Test de doubon. Test de doubon. Test de doubon. | ||
| + | </ | ||
| + | On voit bien que les 2 fichiers ont exactement le même contenu. | ||
| + | <code bash>$ fdupes | ||
| + | 81 bytes each: | ||
| + | test-dupli/ | ||
| + | test-dupli/ | ||
| + | fdupes les analyse bien comme doublon. | ||
| + | |||
| + | |||
| + | __Pour ne pas prendre en compte les fichiers cachés, **utiliser l' | ||
| + | |||
| + | |||
| + | Pour des plus amples informations | ||
| + | <code bash>$ man fdupes | ||
| + | $ fdupes --help | ||
| + | $ fdupes -h</ | ||
| + | |||
| + | |||
| + | |||