Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
doc:fdupes [13/09/2020 21:34] cyrille [Installation] |
doc:fdupes [01/05/2023 14:45] (Version actuelle) arpinux tag @placer |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== fdupes : recherche de doublons ====== | + | ====== fdupes ====== |
* Objet : fdupes et la recherche de doublons | * Objet : fdupes et la recherche de doublons | ||
Ligne 5: | Ligne 5: | ||
* Commentaires : Rechercher des doublons sur votre espace de stockage | * Commentaires : Rechercher des doublons sur votre espace de stockage | ||
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
- | * Suivi : {{tag>cyrille}} - FIXME Pour choisir, voir les autres Tags possibles dans [[:atelier:#tags|l'Atelier]]. | + | * Suivi : {{tag>à-placer}} |
* Création par [[user>cyrille]] 13/09/2020 | * Création par [[user>cyrille]] 13/09/2020 | ||
- | * Testé par <cyrille> le <13/09/2020> | + | * Testé par [[user>cyrille]] le <13/09/2020> |
* Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=343017 | Lien vers le forum concernant ce tuto]] | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=343017 | Lien vers le forum concernant ce tuto]] | ||
Ligne 19: | Ligne 19: | ||
__Voici la chaîne de comparaison utilisée__ | __Voici la chaîne de comparaison utilisée__ | ||
- | 1/ Comparaison de taille | + | - Comparaison de taille |
- | 2/ Comparaison de signature MD5 partielle | + | - Comparaison de signature MD5 partielle |
- | 3/ Comparaison de signature MD5 complète | + | - Comparaison de signature MD5 complète |
- | 4/ Comparaison octet à octet. | + | - Comparaison octet à octet. |
| | ||
Ligne 28: | Ligne 28: | ||
===== Installation ===== | ===== Installation ===== | ||
- | + | <note warning>Chaque installation demande préalablement une mise à jour</note> | |
- | Sous base DEBIAN | + | On utilise [[doc:systeme:apt|les outils apt]] ainsi : |
- | <code root>apt-get install fdupes</code> | + | * Sous base DEBIAN<code root>apt update && apt full-upgrade</code><code root>apt install fdupes</code> |
- | + | * Sous base UBUNTU<code user>sudo apt-get update && apt-get dist-upgrade</code><code user>sudo apt-get install fdupes</code> | |
- | Sous base UBUNTU | + | |
- | <code user>sudo apt-get install fdupes</code> | + | |
- | + | ||
- | </code> | + | |
===== Utilisation ===== | ===== Utilisation ===== | ||
- | + | ==== Syntaxe ==== | |
- | <WRAP center round info 60%> | + | |
- | Syntaxe : | + | <code user>fdupes <options> <répertoire></code> |
- | + | ||
- | <code bash> fdupes <option> <répertoire></code> | + | ==== Exemple ==== |
- | </WRAP> | + | |
- | |||
Soit un répertoire, **dupli-test** contenant 3 fichiers distincts de nom et de contenu. | Soit un répertoire, **dupli-test** contenant 3 fichiers distincts de nom et de contenu. | ||
- | |||
- | <code bash>$ ls test-dupli/ | ||
- | aze1.txt aze3.txt aze.txt</code> | ||
- | Utilisons un GUI et copions les, via **ctrl +C / ctrl + V** : | + | <code user>ls test-dupli/</code> |
+ | <code>aze1.txt aze3.txt aze.txt</code> | ||
- | <code bash>$ ls test-dupli/ | + | Utilisons un GUI, par exemple [[doc:environnements:gnome:gedit|gedit]] et copions-les, via les //2 raccourcis clavier// : ''ctrl +C'' / ''ctrl + V'' : |
+ | |||
+ | <code user>ls test-dupli/ | ||
'aze1 (copie 1).txt' 'aze3 (copie 1).txt' 'aze (copie 1).txt' | 'aze1 (copie 1).txt' 'aze3 (copie 1).txt' 'aze (copie 1).txt' | ||
'aze1 (copie 2).txt' 'aze3 (copie 2).txt' 'aze (copie 2).txt' | 'aze1 (copie 2).txt' 'aze3 (copie 2).txt' 'aze (copie 2).txt' | ||
Ligne 65: | Ligne 59: | ||
- | + | ==== Recherche de base ==== | |
- | Pour rechercher les doublons, en être informé, sans aucune autre action, pas besoin d'option : | + | |
- | <code bash>$ fdupes test-dupli/ | + | Pour rechercher les doublons et en être informé, sans aucune autre action, pas besoin d'option : |
- | test-dupli/aze3.txt | + | <code user>fdupes test-dupli/</code> |
+ | <code config retour de la commande fdupe>test-dupli/aze3.txt | ||
test-dupli/aze3 (copie 1).txt | test-dupli/aze3 (copie 1).txt | ||
test-dupli/aze3 (copie 3).txt | test-dupli/aze3 (copie 3).txt | ||
Ligne 92: | Ligne 87: | ||
test-dupli/aze1 (copie 5).txt | test-dupli/aze1 (copie 5).txt | ||
</code> | </code> | ||
- | __Pour rechercher les doublons, en être informé, et connaitre l'espace disque qu'ils utilisent, **utiliser l'option -S (Size)** :__ | ||
- | <code bash>$ fdupes -S test-dupli/ | + | ==== Recherche simple avec rapport d'espace disque ==== |
- | 13 bytes each: | + | |
+ | __Pour rechercher les doublons, en être informé et **connaître l'espace disque qu'ils utilisent**, **Ajouter l'option -S (Size)** :__ | ||
+ | |||
+ | <code user>fdupes -S test-dupli/</code> | ||
+ | <code>13 bytes each: | ||
test-dupli/aze3.txt | test-dupli/aze3.txt | ||
test-dupli/aze3 (copie 1).txt | test-dupli/aze3 (copie 1).txt | ||
Ligne 112: | Ligne 110: | ||
.... | .... | ||
test-dupli/aze1 (copie 5).txt</code> | test-dupli/aze1 (copie 5).txt</code> | ||
+ | |||
+ | ==== Suppression de doublons ==== | ||
__ Pour supprimer les doublons, **utiliser l'option -d (delete)** :__ | __ Pour supprimer les doublons, **utiliser l'option -d (delete)** :__ | ||
Pour chaque doublon, une liste sera proposée, il faudra indiquer le fichier à préserver et les autres seront marqués à supprimer. | Pour chaque doublon, une liste sera proposée, il faudra indiquer le fichier à préserver et les autres seront marqués à supprimer. | ||
+ | |||
+ | {{/file-R0fc9b825af448863959a645518d82e8d.png}} | ||
- | **[Normalement ici image mais je n'ai pas les droits pour la uploader]** | + | Pour supprimer les doublons, sans invite prompt (le nom le plus simple sera alors préservé), utiliser les options -d et -N (Non-prompt) \\ |
- | + | ||
- | Pour supprimer les doublons, sans invite prompt (le nom le plus simple sera alors préserver), utiliser les options -d et -N (Non-prompt) | + | |
La suppression sera alors immédiate. | La suppression sera alors immédiate. | ||
- | **[Normalement ici image mais je n'ai pas les droits pour la uploader]** | + | |
- | + | {{/file-Rad22566c08d6fbd811649612e809a9f1.png}} | |
+ | ==== Recherche / suppression récursive ==== | ||
+ | |||
__ Pour faire de de même de façon récursive, **ajouter aux options précédentes simplement l'option -r** :__ | __ Pour faire de de même de façon récursive, **ajouter aux options précédentes simplement l'option -r** :__ | ||
- | <code bash> $ fdupes -rdN .</code> | + | <code user>fdupes -rdN .</code> |
Donnera une suppression récursive des doublons du répertoire courant (**.**) | Donnera une suppression récursive des doublons du répertoire courant (**.**) | ||
- | <code bash> $ fdupes -rS /home/$USER</code> | + | <code user>fdupes -rS /home/$USER</code> |
Donnera la liste des doublons et leurs occupations disques pour le /home de l'utilisateur courant. | Donnera la liste des doublons et leurs occupations disques pour le /home de l'utilisateur courant. | ||
- | + | ||
- | Pour sauvegader cette liste dans un fichier, utiliser une redirection | + | ==== Sortie d'une requête dans un fichier ==== |
- | <code bash> $ fdupes -rS /home/$USER > /home/$USER/liste-de-doublons</code> | + | Pour sauvegarder cette liste dans un fichier, utiliser une redirection : |
- | | + | <code user>fdupes -rS /home/$USER > /home/$USER/liste-de-doublons</code> |
| | ||
+ | ==== L'avantage de la comparaison md5 ==== | ||
+ | |||
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. | 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/aze.txt test-dupli/test.sh | + | <code user>cat test-dupli/aze.txt test-dupli/test.sh |
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. | ||
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. | ||
</code> | </code> | ||
+ | |||
On voit bien que les 2 fichiers ont exactement le même contenu. | On voit bien que les 2 fichiers ont exactement le même contenu. | ||
- | <code bash>$ fdupes -rS test-dupli/ | + | |
- | 81 bytes each: | + | <code user>fdupes -rS test-dupli/</code> |
+ | <code>81 bytes each: | ||
test-dupli/aze.txt | test-dupli/aze.txt | ||
test-dupli/test.sh</code> | test-dupli/test.sh</code> | ||
- | fdupes les analyse bien comme doublon. | + | **fdupes** les analyse bien comme doublon. |
+ | ==== Gestion des fichiers cachés ==== | ||
__Pour ne pas prendre en compte les fichiers cachés, **utiliser l'option -A**.__ | __Pour ne pas prendre en compte les fichiers cachés, **utiliser l'option -A**.__ | ||
+ | ===== Aller plus loin ===== | ||
Pour des plus amples informations | Pour des plus amples informations | ||
- | <code bash>$ man fdupes | + | <code user>man fdupes</code> |
- | $ fdupes --help | + | <code user>fdupes --help</code> |
- | $ fdupes -h</code> | + | <code user>fdupes -h</code> |