Je sauvegarde toujours les fichiers de configuration ou tous les anciens fichiers quelque part sur mon disque dur avant de les éditer ou de les modifier, afin de pouvoir les restaurer à partir de la sauvegarde si j'ai accidentellement fait quelque chose de mal. Mais le problème est que j'ai oublié de nettoyer ces fichiers et que mon disque dur est rempli de nombreux fichiers en double après un certain temps. Je me sens trop paresseux pour nettoyer les anciens fichiers ou j'ai peur de supprimer des fichiers importants. Si vous êtes comme moi et submergé par plusieurs copies des mêmes fichiers dans différents répertoires de sauvegarde, vous pouvez rechercher et supprimer les fichiers en double à l'aide des outils indiqués ci-dessous dans les systèmes d'exploitation de type Unix.
Mise en garde :
Soyez prudent lorsque vous supprimez des fichiers en double. Si vous ne faites pas attention, cela vous conduira à une perte accidentelle de données . Je vous conseille de faire très attention lorsque vous utilisez ces outils.
Rechercher et supprimer les fichiers en double sous Linux
Pour les besoins de ce guide, je vais discuter de trois utilitaires à savoir,
- Rdtrouver,
- Fdupes,
- FSlint.
Ces trois utilitaires sont gratuits, open source et fonctionnent sur la plupart des systèmes d'exploitation de type Unix.
1. Rdtrouver
Rdtrouver , signifie r redondant d ata trouver , est un utilitaire gratuit et open source pour trouver des fichiers en double dans et/ou dans des répertoires et sous-répertoires. Il compare les fichiers en fonction de leur contenu, et non de leurs noms de fichiers. Rdfind utilise le classement algorithme pour classer les fichiers originaux et dupliqués. Si vous avez deux fichiers égaux ou plus, Rdfind est assez intelligent pour trouver le fichier d'origine et considérer le reste des fichiers comme des doublons. Une fois qu'il a trouvé les doublons, il vous les signalera. Vous pouvez décider de les supprimer ou de les remplacer par des liens physiques ouliens symboliques (soft) .
Installer Rdfind
Rdfind est disponible en AUR . Ainsi, vous pouvez l'installer dans des systèmes basés sur Arch en utilisant n'importe quel programme d'assistance AUR comme Yay comme indiqué ci-dessous.
$ yay -S rdfind
Sur Debian, Ubuntu, Linux Mint :
$ sudo apt-get install rdfind
Sur Fedora :
$ sudo dnf install rdfind
Sur RHEL, CentOS :
$ sudo yum install epel-release
$ sudo yum install rdfind
Utilisation
Une fois installé, exécutez simplement la commande Rdfind avec le chemin du répertoire pour rechercher les fichiers en double.
$ rdfind ~/Downloads
Scanner un répertoire avec Rdfind
Comme vous le voyez dans la capture d'écran ci-dessus, la commande Rdfind analysera le répertoire ~/Downloads et enregistrera les résultats dans un fichier nommé results.txt dans le répertoire de travail courant. Vous pouvez afficher le nom des éventuels fichiers en double dans le fichier results.txt.
$ cat results.txt # Automatically generated # duptype id depth size device inode priority name DUPTYPE_FIRST_OCCURRENCE 1469 8 9 2050 15864884 1 /home/sk/Downloads/tor-browser_en-US/Browser/TorBrowser/Tor/PluggableTransports/fte/tests/dfas/test5.regex DUPTYPE_WITHIN_SAME_TREE -1469 8 9 2050 15864886 1 /home/sk/Downloads/tor-browser_en-US/Browser/TorBrowser/Tor/PluggableTransports/fte/tests/dfas/test6.regex [...] DUPTYPE_FIRST_OCCURRENCE 13 0 403635 2050 15740257 1 /home/sk/Downloads/Hyperledger(1).pdf DUPTYPE_WITHIN_SAME_TREE -13 0 403635 2050 15741071 1 /home/sk/Downloads/Hyperledger.pdf # end of file
En examinant le fichier results.txt, vous pouvez facilement trouver les doublons. Vous pouvez supprimer les doublons manuellement si vous le souhaitez.
En outre, vous pouvez -dryrun option pour trouver tous les doublons dans un répertoire donné sans rien changer et sortir le résumé dans votre Terminal :
$ rdfind -dryrun true ~/Downloads
Une fois que vous avez trouvé les doublons, vous pouvez les remplacer par des liens physiques ou des liens symboliques.
Pour remplacer tous les doublons par des liens physiques, exécutez :
$ rdfind -makehardlinks true ~/Downloads
Pour remplacer tous les doublons par des liens symboliques/liens symboliques, exécutez :
$ rdfind -makesymlinks true ~/Downloads
Vous pouvez avoir des fichiers vides dans un répertoire et vouloir les ignorer. Si c'est le cas, utilisez -ignoreempty comme ci-dessous.
$ rdfind -ignoreempty true ~/Downloads
Si vous ne voulez plus des anciens fichiers, supprimez simplement les fichiers en double au lieu de les remplacer par des liens matériels ou logiciels.
Pour supprimer tous les doublons, exécutez simplement :
$ rdfind -deleteduplicates true ~/Downloads
Si vous ne voulez pas ignorer les fichiers vides et les supprimer avec tous les doublons, exécutez :
$ rdfind -deleteduplicates true -ignoreempty false ~/Downloads
Pour plus de détails, consultez la section d'aide :
$ rdfind --help
Et, les pages de manuel :
$ man rdfind
Suggestion de lecture :
- Supprimer les fichiers en double de votre Android avec le fixateur de fichiers en double
2. Fdupes
Fdupes est encore un autre utilitaire de ligne de commande pour identifier et supprimer les fichiers en double dans les répertoires spécifiés et les sous-répertoires. C'est un utilitaire open source gratuit écrit en C langage de programmation. Fdupes identifie les doublons en comparant les tailles de fichiers, les signatures MD5 partielles, les signatures MD5 complètes, et enfin en effectuant une comparaison octet par octet pour vérification.
Semblable à l'utilitaire Rdfind, Fdupes est livré avec une poignée d'options pour effectuer des opérations, telles que :
- Rechercher récursivement les fichiers en double dans les répertoires et sous-répertoires
- Exclure les fichiers vides et les fichiers cachés
- Afficher la taille des doublons
- Supprimez les doublons dès qu'ils sont rencontrés
- Exclure les fichiers avec différents propriétaires/groupes ou bits d'autorisation en tant que doublons
- Et bien plus encore.
Installation de Fdupes
Fdupes est disponible dans les dépôts par défaut de la plupart des distributions Linux.
Sur Arch Linux et ses variantes comme Antergos, Manjaro Linux, installez-le en utilisant Pacman comme ci-dessous.
$ sudo pacman -S fdupes
Sur Debian, Ubuntu, Linux Mint :
$ sudo apt-get install fdupes
Sur Fedora :
$ sudo dnf install fdupes
Sur RHEL, CentOS :
$ sudo yum install epel-release
$ sudo yum install fdupes
Utilisation
L'utilisation de Fdupes est assez simple. Exécutez simplement la commande suivante pour trouver les fichiers en double dans un répertoire, par exemple ~/Downloads .
$ fdupes ~/Downloads
Exemple de sortie de mon système :
/home/sk/Downloads/Hyperledger.pdf /home/sk/Downloads/Hyperledger(1).pdf
Comme vous pouvez le voir, j'ai un fichier en double dans /home/sk/Downloads/ annuaire. Il affiche uniquement les doublons du répertoire parent. Comment afficher les doublons des sous-répertoires ? Utilisez simplement -r comme ci-dessous.
$ fdupes -r ~/Downloads
Vous verrez maintenant les doublons de /home/sk/Downloads/ répertoire et ses sous-répertoires également.
Fdupes peut également être en mesure de trouver des doublons à partir de plusieurs répertoires à la fois.
$ fdupes ~/Downloads ~/Documents/ostechnix
Vous pouvez même rechercher plusieurs répertoires, un de manière récursive comme ci-dessous :
$ fdupes ~/Downloads -r ~/Documents/ostechnix
Les commandes ci-dessus recherchent les doublons dans le répertoire "~/Downloads" et le répertoire "~/Documents/ostechnix" et ses sous-répertoires.
Parfois, vous voudrez peut-être connaître la taille des doublons dans un répertoire. Si oui, utilisez -S comme ci-dessous.
$ fdupes -S ~/Downloads 403635 bytes each: /home/sk/Downloads/Hyperledger.pdf /home/sk/Downloads/Hyperledger(1).pdf
De même, pour afficher la taille des doublons dans les répertoires parent et enfant, utilisez -Sr option.
Nous pouvons exclure les fichiers vides et cachés de l'examen en utilisant -n et -A respectivement.
$ fdupes -n ~/Downloads
$ fdupes -A ~/Downloads
La première commande exclura les fichiers de longueur nulle de la prise en compte et la seconde exclura les fichiers cachés de la prise en compte lors de la recherche de doublons dans le répertoire spécifié.
Pour résumer les informations sur les fichiers en double, utilisez -m option.
$ fdupes -m ~/Downloads 1 duplicate files (in 1 sets), occupying 403.6 kilobytes
Pour supprimer tous les doublons, utilisez -d option.
$ fdupes -d ~/Downloads
Exemple de sortie :
[1] /home/sk/Downloads/Hyperledger Fabric Installation.pdf [2] /home/sk/Downloads/Hyperledger Fabric Installation(1).pdf Set 1 of 1, preserve files [1 - 2, all]:
Cette commande vous demandera des fichiers pour conserver et supprimer tous les autres doublons. Entrez simplement n'importe quel nombre pour conserver le fichier correspondant et supprimer les fichiers restants. Faites plus attention lorsque vous utilisez cette option. Vous pouvez supprimer les fichiers d'origine si vous ne faites pas attention.
Si vous souhaitez conserver le premier fichier de chaque ensemble de doublons et supprimer les autres sans demander à chaque fois, utilisez -dN option (non recommandée).
$ fdupes -dN ~/Downloads
Pour supprimer les doublons au fur et à mesure qu'ils sont rencontrés, utilisez -I drapeau.
$ fdupes -I ~/Downloads
Pour plus de détails sur Fdupes, consultez la section d'aide et les pages de manuel.
$ fdupes --help
$ man fdupes
Lire aussi :
- Fixateur de photos en double :bien organiser votre photothèque
3. FSlin
FSlint est encore un autre utilitaire de recherche de fichiers en double que j'utilise de temps en temps pour me débarrasser des fichiers en double inutiles et libérer de l'espace disque sur mon système Linux. Contrairement aux deux autres utilitaires, FSlint possède à la fois les modes GUI et CLI. C'est donc un outil plus convivial pour les débutants. FSlint ne trouve pas seulement les doublons, mais aussi les mauvais liens symboliques, les mauvais noms, les fichiers temporaires, les mauvais IDS, les répertoires vides et les binaires non supprimés, etc.
Installer FSlint
FSlint est disponible en AUR , vous pouvez donc l'installer à l'aide de n'importe quel assistant AUR.
$ yay -S fslint
Sur Debian, Ubuntu, Linux Mint :
$ sudo apt-get install fslint
Sur Fedora :
$ sudo dnf install fslint
Sur RHEL, CentOS :
$ sudo yum install epel-release
$ sudo yum install fslint
Une fois installé, lancez-le depuis le menu ou le lanceur d'applications.
Voici à quoi ressemble l'interface graphique de FSlint.
FSlint interface
Comme vous pouvez le constater, l'interface de FSlint est conviviale et explicite. Dans le Chemin de recherche , ajoutez le chemin du répertoire que vous souhaitez analyser et cliquez sur Rechercher bouton dans le coin inférieur gauche pour trouver les doublons. Cochez l'option recurse pour rechercher récursivement les doublons dans les répertoires et sous-répertoires. Le FSlint va scanner rapidement le répertoire donné et les lister.
interface graphique fslint
Dans la liste, choisissez les doublons que vous souhaitez nettoyer et sélectionnez l'une d'entre elles en fonction d'actions telles que Enregistrer, Supprimer, Fusionner et Lien symbolique.
Dans les Paramètres de recherche avancée , vous pouvez spécifier les chemins à exclure lors de la recherche de doublons.
fslint recherche avancée
Options de ligne de commande de FSlint
FSlint fournit une collection des utilitaires CLI suivants pour trouver des doublons dans votre système de fichiers :
- trouver -- trouver les fichiers DUPLICATES
- trouver -- trouver Name Lint (problèmes avec les noms de fichiers)
- findu8 -- trouver les noms de fichiers avec un encodage utf8 invalide
- trouver -- trouver les mauvais liens (différents problèmes avec les liens symboliques)
- trouven -- trouver le même nom (problèmes de conflits de noms)
- trouvé -- trouver les répertoires vides
- trouver -- trouver des fichiers avec des identifiants d'utilisateurs morts
- trouver -- trouver les exécutables non dépouillés
- chercheurs -- trouver les espaces blancs redondants dans les fichiers
- trouver -- trouver les fichiers temporaires
- trouver -- trouver les bibliothèques éventuellement inutilisées
- répertoire zip -- Récupérer l'espace perdu dans les entrées du répertoire ext2
Tous ces utilitaires sont disponibles sous /usr/share/fslint/fslint/fslint emplacement.
Par exemple, pour trouver des doublons dans un répertoire donné, faites :
$ /usr/share/fslint/fslint/findup ~/Downloads/
De même, pour trouver des répertoires vides, la commande serait :
$ /usr/share/fslint/fslint/finded ~/Downloads/
Pour obtenir plus de détails sur chaque utilitaire, par exemple findup , exécutez :
$ /usr/share/fslint/fslint/findup --help
Pour plus de détails sur FSlint, consultez la section d'aide et les pages de manuel.
$ /usr/share/fslint/fslint/fslint --help
$ man fslint
Conclusion
Vous connaissez maintenant trois outils pour rechercher et supprimer les fichiers en double indésirables sous Linux. Parmi ces trois outils, j'utilise souvent Rdfind. Cela ne signifie pas que les deux autres utilitaires ne sont pas efficaces, mais je suis juste satisfait de Rdfind jusqu'à présent. Eh bien, c'est votre tour. Quel est votre outil préféré et pourquoi ? Faites-nous en part dans la section des commentaires ci-dessous.