- En Linux Il existe des outils en ligne de commande (fdupes, rdfind, fclones, yadf) et des outils graphiques (FSlint, dupeGuru, Czkawka) pour localiser les fichiers en double par leur contenu.
- Les utilitaires modernes tels que fclones et yadf permettent de filtrer par taille, modèles et nombre de copies, et offrent également des modes de simulation pour éviter les suppressions accidentelles.
- Les applications graphiques permettent de visualiser facilement les résultats et de sélectionner les éléments à supprimer, déplacer ou lier sans avoir à mémoriser les options. terminal.
- Il est essentiel de tester d'abord sur des itinéraires de test, d'utiliser des modes de simulation et de conserver des sauvegardes avant de supprimer en masse les doublons.
Si vous utilisez Linux quotidiennement, vous rencontrerez tôt ou tard le classique message d'avertissement « espace disque insuffisant », même si vous avez l'impression de ne presque rien enregistrer . Sauvegardes, téléchargements répétés , photos volumineuses et images RAW, vidéos, documents dupliqués à l'infini… tout cela s'accumule jusqu'à ce que le système manque d'espace.
La bonne nouvelle, c'est que GNU/Linux propose une multitude d'utilitaires, en ligne de commande et graphiques, pour détecter et supprimer en toute sécurité les fichiers en double. La mauvaise nouvelle, c'est que si vous n'êtes pas tout à fait sûr de ce que vous faites, vous risquez de supprimer accidentellement un fichier important. C'est pourquoi nous allons explorer tous les outils, classiques et modernes, leur fonctionnement et les précautions à prendre.
Pourquoi il est utile de rechercher les fichiers en double sous Linux
Les disques durs sont relativement bon marché de nos jours, mais la quantité de données que nous stockons ne cesse de croître, et une grande partie de ces données est constituée de fichiers volumineux comme des photos RAW, des vidéos haute résolution et des sauvegardes complètes . Si vous avez en plus plusieurs copies du même fichier éparpillées dans différents dossiers, l'espace gaspillé peut être considérable.
Dans les environnements partagés, comme les serveurs de fichiers d'une école ou d'une entreprise, il est fréquent que chaque utilisateur crée sa propre copie des documents partagés, au lieu d'utiliser des liens symboliques ou physiques pour pointer vers le fichier original . Il en résulte un espace de stockage saturé de doublons, le système manquant cruellement de place.
Outre le gaspillage d'espace, les doublons nuisent également à l'organisation. Il est facile de se retrouver avec plusieurs versions d'un même fichier à différents emplacements et de ne plus savoir laquelle est l'originale, laquelle est la bonne copie et laquelle doit être supprimée . C'est pourquoi il est si important de disposer d'outils qui analysent le contenu des fichiers, et pas seulement leur nom.
Méthodes de détection des doublons : interface console vs interface graphique
Sous Linux, ce problème peut être résolu grâce à des utilitaires de terminal ou des applications graphiques. Les outils en ligne de commande comme fdupes, rdfind, fclones ou yadf s'intègrent parfaitement aux scripts et aux flux de travail avancés , et sont généralement plus rapides et plus flexibles pour le filtrage des résultats.
En revanche, si vous souhaitez examiner tranquillement vos photos sur un disque dur externe de 500 Go et décider sans crainte de ce qu'il faut supprimer, vous trouverez probablement beaucoup plus pratique d'utiliser des interfaces graphiques comme FSlint, dupeGuru, Czkawka, Krokiet ou fclones-gui , où les résultats sont affichés sous forme de listes, avec des cases à cocher pour sélectionner et désélectionner.
fdupes : l’outil classique pour trouver les doublons depuis le terminal
fdupes est l'un des outils les plus anciens et les plus utilisés pour localiser les fichiers en double sous Linux en ligne de commande . Écrit en C, c'est un logiciel libre, disponible dans les dépôts de la quasi-totalité des distributions.
Sa méthodologie est très robuste : elle compare d’abord la taille des fichiers, puis calcule des hachages MD5 partiels, puis des hachages MD5 complets, et enfin effectue une comparaison octet par octet pour garantir l’identité des deux fichiers. Cela permet d’éviter les faux positifs basés uniquement sur les hachages ou les noms.
Sur Debian, Ubuntu et leurs dérivés, vous pouvez l'installer avec :
sudo apt-get install fdupes
Dans les distributions de type Red Hat et leurs dérivés, vous utiliseriez :
sudo yum install fdupes
Fedora (dnf) ou Arch Linux proposent également des paquets :
sudo dnf install fdupes
sudo pacman -S fdupes
Une fois installé, son utilisation de base pour lister les doublons dans un répertoire, tel que votre dossier de téléchargements, est aussi simple que :
fdupes ~/Descargas
Si vous souhaitez que l'analyse soit récursive et inclue tous les sous-répertoires , ajoutez l'option -r :
fdupes -r ~/Descargas
Pour éviter d'inclure des fichiers vides qui ne font qu'encombrer la liste , vous pouvez utiliser :
fdupes -n <ruta del directorio>
Pour savoir quelle capacité votre système gaspille à cause des doublons, vous pouvez utiliser l'option -S, qui affiche la taille des fichiers répétés :
fdupes -S <ruta del directorio>
Et si vous avez besoin d'un rapport à traiter ultérieurement avec d'autres outils, vous pouvez toujours rediriger la sortie vers un fichier texte :
fdupes <ruta del directorio> > output.txt
Supprimez les fichiers en double avec fdupes (avec la plus grande prudence).
fdupes ne se contente pas de trouver les fichiers clonés, il vous aide aussi à les supprimer. Avec l'option -d, le programme vous demandera, groupe par groupe, quels fichiers vous souhaitez conserver et supprimera les autres.
fdupes -d <ruta del directorio>
Il est possible d'automatiser davantage le processus avec des paramètres tels que –delete, –noprompt ou -N, qui forcent la suppression des doublons tout en ne conservant que le premier fichier trouvé , mais en pratique, il est extrêmement risqué de les utiliser aveuglément.
Par mesure de sécurité, il est fortement recommandé d'utiliser fdupes uniquement pour générer une liste des chemins de fichiers en double, puis de les déplacer vers un autre emplacement avec mv . Vous pourrez ainsi vérifier cette « quarantaine » avant de procéder à la suppression définitive.
fdupes -r <ruta> > duplicados.log
Il est également judicieux de prendre en compte l'option -m, qui fournit un résumé du nombre de fichiers dupliqués et de l'espace total qu'ils occupent, très utile pour évaluer les gains que vous retirerez du nettoyage :
fdupes -m <ruta del directorio>
Enfin, soyez très prudent avec le paramètre -s, qui permet à fdupes de suivre les liens symboliques . Si vous le combinez avec des options de suppression, vous risquez d'affecter des fichiers situés en dehors du chemin que vous souhaitiez analyser, car les liens mènent vers d'autres zones du système de fichiers.
rdfind : recherche de données redondantes grâce à une approche intelligente
rdfind (redundant data find) est un autre utilitaire très populaire pour détecter les fichiers dupliqués sous Linux . C'est également un logiciel libre, disponible dans les principaux dépôts : apt, yum, dnf, pacman, etc.
Sa philosophie est similaire à celle de fdupes, mais il intègre son propre algorithme de tri pour déterminer quels fichiers sont considérés comme « originaux » et lesquels sont des doublons . Les règles de priorité qu'il utilise sont les suivantes :
- Si le fichier A a été trouvé lors de l'analyse des arguments d'entrée avant B, alors A a priorité sur B.
- Si A se trouve à un niveau de profondeur inférieur à celui de B (plus proche du répertoire racine analysé), A a la priorité.
- Si les deux critères sont à égalité, il reste avec celui qui a été trouvé en premier lors du scan.
Pour l'installer sur Debian ou Ubuntu, il suffit de :
sudo apt-get install rdfind
CentOS/RHEL requiert généralement le dépôt EPEL :
sudo yum install epel-release
sudo yum install rdfind
Il est également disponible sous forme de paquets pour Fedora et Arch Linux :
sudo dnf install rdfind
sudo pacman -S rdfind
L'utilisation de base n'est pas compliquée. Pour analyser votre répertoire personnel, il vous suffit de procéder comme suit :
rdfind /home/usuario
Le programme créera un fichier nommé results.txt dans le répertoire où vous l'avez exécuté . Ce fichier contiendra tous les groupes de doublons détectés. Vous pourrez ensuite consulter ce fichier pour décider des actions à entreprendre, soit manuellement, soit automatiquement.
Si vous souhaitez effectuer une première analyse sans rien modifier, l'option `-dryrun` est votre alliée. Elle génère le rapport de duplication sans appliquer aucune modification au système de fichiers.
rdfind -dryrun true /home/usuario
Une fonctionnalité très intéressante de rdfind est qu'elle permet de remplacer les fichiers en double par des liens physiques au lieu de les supprimer , conservant ainsi une seule copie physique des données sur le disque :
rdfind -makehardlinks true /home/usuario
Si vous souhaitez supprimer directement les doublons, vous pouvez l'utiliser comme ceci (là encore, il est préférable de faire un essai au préalable dans un dossier de test) :
rdfind -deleteduplicates true /home/usuario
fclones et yadf : des outils modernes et très rapides
Outre les utilitaires classiques, de nouveaux outils comme fclones et yadf ont vu le jour ces dernières années . Écrits en Rust, ils offrent des performances exceptionnelles sur les disques de grande capacité . Conçus pour la vitesse, ils ne prennent en compte la taille des fichiers, les hachages et les comparaisons octet par octet qu'en cas d'absolue nécessité.
fclones : groupes, liens, déplacements et déduplications
fclones est défini comme un outil permettant de trouver et de supprimer les fichiers en double depuis le terminal , mais sa puissance va bien au-delà : il identifie des groupes de fichiers identiques et permet différentes actions sur ces fichiers, allant de leur suppression à leur remplacement par des liens ou à leur déduplication à l’aide des capacités de copie sur écriture du système de fichiers.
Sur Arch Linux et ses dérivés, vous pouvez l'installer depuis l'AUR avec :
paru -S fclones
Dans d'autres distributions, le développeur recommande de le compiler à partir du code source en utilisant cargo :
cargo install fclones
Après l'installation, il est très utile d'activer la saisie semi-automatique en fonction de votre shell en ajoutant une ligne comme celle-ci à votre configuration :
- Frapper:
eval "$(fclones complete bash)"en~/.bashrc - Zsh:
source <(fclones complete zsh)en~/.zshrc - Poissons:
fclones complete fish | sourceen~/.config/fish/config.fish
fclones divise les opérations en plusieurs sous-commandes, vous obligeant à bien séparer le moment où vous détectez les doublons du moment où vous les modifiez ou les supprimez :
- groupe: identifie les groupes de fichiers identiques et les affiche sur la sortie standard.
- supprimez: supprime les fichiers redondants en fonction de la sortie précédemment générée par le groupe.
- lien: remplace les doublons par des « liens physiques » ou des liens symboliques.
- Bougez: déplace les doublons vers un répertoire de destination que vous spécifiez.
- déduplicationDans les systèmes de fichiers avec copie sur écriture, les données sont dédupliquées sans suppression de fichiers, grâce au partage des blocs internes.
Pour localiser les doublons dans le répertoire courant, la commande la plus simple serait :
fclones group .
Si vous souhaitez filtrer par taille, par exemple pour n'afficher que les fichiers de plus de 10 Mo, vous devez ajouter :
fclones group -s 10M .
Vous pouvez également vous limiter aux fichiers qui comportent plus d'un certain nombre de copies , par exemple plus de cinq occurrences :
fclones group . --rf-over 5
Et bien sûr, il prend en charge les modèles de nommage, ce qui est idéal pour travailler avec des ensembles de photos ou d'images :
fclones group . --name '*.jpg' '*.png'
Une fois la liste des doublons obtenue (par exemple, dans un fichier nommé duplicates.txt), vous pouvez appliquer différentes actions. Par exemple, remplacer les doublons par des liens physiques se ferait comme suit :
fclones link <duplicados.txt
Si vous préférez les liens symboliques :
fclones link -s <duplicados.txt
Pour envoyer tous les doublons dans un autre dossier « quarantaine » :
fclones move target_dir <duplicados.txt
Et pour supprimer directement :
fclones remove <duplicados.txt
Dans tous ces cas, vous pouvez également enchaîner les commandes à l'aide de tubes , par exemple pour grouper et supprimer simultanément :
fclones group . | fclones remove
Bien que cela fonctionne, il est beaucoup plus judicieux d'utiliser l' option `--dry-run` pour voir ce qui se passera sans rien toucher, par exemple :
fclones group . | fclones remove --dry-run
Ce mode de simulation vous épargnera bien des soucis, surtout si vous travaillez sur des disques contenant des données importantes.
yadf : Encore un détecteur de doublons
yadf (Yet Another Duplicate Finder) est un autre outil moderne écrit en Rust pour localiser les doublons , avec une syntaxe assez propre et une stratégie d'analyse étape par étape : il regroupe d'abord par taille, puis il calcule les hachages uniquement lorsque cela est nécessaire, et enfin il confirme l'égalité par des comparaisons octet par octet.
Son utilisation est très simple. Pour trouver les doublons dans le répertoire courant, il suffit d'exécuter :
yadf
Si vous souhaitez comparer deux chemins spécifiques, par exemple Documents et Images, vous pouvez procéder comme suit :
yadf ~/Documents ~/Pictures
Il peut également être utilisé avec une profondeur de 0 pour comparer des fichiers spécifiques sans descendre dans les sous-répertoires , ce qui est utile lorsque vous soupçonnez que deux fichiers spécifiques sont identiques :
yadf --depth 0 file1 file2
Pour limiter la recherche au répertoire courant sans descendre dans l'arborescence, ajustez la profondeur :
yadf --depth 1
L'un des atouts de yadf est son excellente intégration avec d'autres utilitaires comme fd. Par exemple, vous pouvez d'abord filtrer les répertoires ou les fichiers par nom , puis transmettre la liste à yadf :
- Recherchez les répertoires contenant un « a », puis recherchez les doublons sans récursivité :
fd --type d a | yadf --depth 1 - Recherchez les fichiers contenant « a » et vérifiez s’il existe des doublons :
fd --type f a | yadf
En ce qui concerne les filtres, vous avez plusieurs options intéressantes :
- Doublons d'au moins 100 Mo:
yadf --min 100M - Doublons de moins de 100 Mo:
yadf --max 100M - Fichiers JPG uniquement:
yadf --pattern '*.jpg' - Fichiers dont le nom commence par « g »:
yadf --regex '^g' - Fichiers contenant plus de 10 copies:
yadf --rfactor over:10 - Fichiers contenant moins de 10 copies:
yadf --rfactor under:10 - Fichiers uniques (sans doublons):
yadf --rfactor equal:1
Il permet également de formater la sortie pour l'intégrer à d'autres scripts ou outils. D'après les tests de l'auteur, yadf est généralement légèrement plus rapide que fclones dans certains cas , mais il est conseillé d'effectuer vos propres tests de performance sur votre système et avec vos propres données.
Outils graphiques pour la recherche de doublons sous Linux
Si vous n'êtes pas à l'aise avec le terminal, ou si vous gérez d'importantes collections de photos et souhaitez prévisualiser les vignettes avant de supprimer des éléments, la solution la plus simple consiste à utiliser des applications dotées d'une interface graphique . Plusieurs options éprouvées existent dans l'écosystème Linux.
FSlint : Interface simple et version CLI incluses
FSlint est un outil éprouvé permettant de localiser et de nettoyer les fichiers inutiles du système de fichiers : doublons, répertoires vides, fichiers temporaires , liens symboliques brisés, fichiers binaires obsolètes et autres éléments résiduels.
Il est disponible dans les dépôts de nombreuses distributions. Sous Ubuntu, par exemple, vous pouvez l'installer depuis le Centre logiciel ou via le terminal avec :
sudo apt-get install fslint
Lorsque vous ouvrez l'application graphique, vous constaterez que le panneau « Doublons » est sélectionné par défaut et que votre répertoire personnel est défini comme chemin de recherche initial . Il vous suffit de cliquer sur « Rechercher » pour que FSlint analyse le dossier et affiche la liste des fichiers en double.
Dans cette liste, vous pouvez sélectionner les éléments à supprimer, fusionner ou traiter. Un double-clic vous permet de prévisualiser un fichier avant de le supprimer , ce qui est très pratique pour les photos et les documents importants.
FSlint inclut également un composant console qui, cependant, n'est pas conçu pour être invoqué directement comme un binaire dans le PATH, mais comme un script dans son propre chemin :
/usr/share/fslint/fslint/fslint carpeta
Cette commande liste simplement les doublons et vous laisse le soin de décider de la suite (suppression, déplacement, etc.). Pour consulter toutes les options, vous pouvez vous référer à l'aide.
/usr/share/fslint/fslint/fslint --help
man fslint
dupeGuru : multiplateforme, rapide et très sécurisé
dupeGuru est une autre application graphique bien connue pour localiser les fichiers en double sous Linux, Windows et macOS . Elle peut analyser les fichiers par nom et par contenu et utilise un algorithme de correspondance approximative qui détecte les noms similaires, ce qui est idéal lorsque vous avez des milliers de chansons ou de photos aux noms presque identiques.
Son interface est très simple : vous sélectionnez un ou plusieurs dossiers à analyser, choisissez le mode (fichiers généraux, musique ou images) et laissez le logiciel faire son travail. Une fois l’analyse terminée, il affiche des groupes de doublons parmi lesquels vous pouvez choisir les éléments à conserver et ceux à supprimer en cochant des cases.
Sur Debian, Ubuntu et leurs dérivés, vous pouvez l'installer à partir d'un PPA maintenu par le projet :
sudo add-apt-repository ppa:dupeguru/ppa
sudo apt-get update
sudo apt-get install dupeguru
Sous Arch Linux, il est disponible dans les dépôts de la distribution :
sudo pacman -S dupeguru
L'un des principaux avantages de dupeGuru est sa conception qui minimise le risque de suppression accidentelle d'éléments importants. Toutefois, comme toujours, la décision finale vous appartient. C'est pourquoi il est essentiel de conserver des sauvegardes et de vérifier attentivement vos sélections.
Czkawka et Krokiet : un moteur moderne avec deux interfaces différentes
Czkawka est une application moderne écrite en Rust qui détecte et supprime les doublons, les fichiers vides, les fichiers temporaires, les fichiers volumineux et autres éléments inutiles . Multiplateforme, elle a pour principal objectif la rapidité et l'efficacité.
En interne, Czkawka utilise le même moteur que Krokiet, une autre interface graphique qui privilégie une conception plus légère et plus rapide . Czkawka s'appuie sur GTK et offre une interface plus complète, tandis que Krokiet utilise Slint et simplifie quelque peu la présentation, au prix d'une consommation de ressources moindre.
Dans les deux cas, le processus est similaire à celui d'autres outils graphiques : vous sélectionnez les dossiers à analyser, lancez la recherche de doublons, puis travaillez avec une liste groupée en indiquant les éléments à conserver et ceux à supprimer . C'est beaucoup plus pratique que de se souvenir des options de la console si vous ne souhaitez effectuer un nettoyage que ponctuellement.
Si vous recherchez un système d'exploitation actif et au développement assez dynamique, Czkawka est l'une des options les plus recommandées ; si vous préférez la légèreté, Krokiet convient parfaitement aux ordinateurs modestes.
fclones-gui : une interface simple pour fclones
Pour ceux qui ont déjà utilisé fclones mais préfèrent éviter la ligne de commande, il existe fclones-gui, une interface graphique très simple qui exploite le moteur de fclones . Elle n'affiche pas toutes les options avancées, mais présente les plus courantes.
C'est très simple : sélectionnez le répertoire à analyser, ajustez les options de recherche de base et cliquez sur le bouton pour trouver les doublons . Une fois l'analyse terminée, vous pouvez choisir les fichiers à traiter et l'action à effectuer (supprimer, déplacer, créer un lien, etc.).
Le seul inconvénient est que le rythme de développement de fclones-gui semble plus lent que celui d'autres interfaces graphiques alternatives comme Czkawka ou Krokiet. Par conséquent, si la maintenance continue est importante pour vous, vous préférerez peut-être ces dernières. Néanmoins, si fclones-gui répond à vos besoins, c'est une option tout à fait valable.
Solutions « artisanales » utilisant find, sort, uniq et md5sum
Si vous préférez procéder manuellement ou si vous ne souhaitez pas utiliser d'outils supplémentaires, vous pouvez également combiner des utilitaires Unix classiques tels que `find`, `md5sum`, `sort` et `uniq` pour localiser les fichiers en double . Le principe est de générer un hachage pour chaque fichier, de trier les fichiers selon ce hachage, puis de conserver les entrées identiques.
Par exemple, vous pourriez parcourir votre répertoire personnel, générer des sommes de contrôle MD5 pour chaque fichier et écrire les résultats dans un fichier :
find /home/usuario -type f -print0 \
| xargs -0 md5sum \
| sort > /tmp/archivos-duplicados.txt
Ensuite, à l'aide des fonctions `sort` et `uniq`, vous pouvez repérer les hachages qui apparaissent plusieurs fois, indiquant des groupes de fichiers ayant le même contenu . Il ne reste plus qu'à traiter la liste pour déterminer l'action à entreprendre sur chaque chemin.
Un détail curieux est que, si vous faites un echo À partir d'un hachage MD5, vous remarquerez que Il semble qu'il contienne 33 octets au lieu de 32.C'est parce que `echo` ajoute un saut de ligne à la fin ; pour mesurer précisément la taille, il faut donc se passer de ce retour chariot (par exemple avec printf).
Cette approche « artisanale » n'offre pas la commodité ni les fonctionnalités avancées des outils spécialisés, mais elle est très utile pour comprendre comment fonctionnent en interne de nombreux détecteurs de doublons et pour élaborer des scripts très spécifiques adaptés à vos besoins.
Recommandations d'utilisation et bonnes pratiques pour la suppression des doublons
Quel que soit l'outil que vous choisissez, il existe un certain nombre de règles à suivre pour éviter de supprimer accidentellement des fichiers dont vous aviez réellement besoin :
- Travaillez d'abord sur répertoires de test ou copies de vos données jusqu'à ce que vous vous sentiez à l'aise avec l'outil.
- Chaque fois qu'il existe, utilisez le mode répétition générale ou simulation (fclones, rdfind, etc.) avant d'exécuter des actions destructives.
- Lorsque cela est possible, privilégiez d'abord Déplacer les doublons dans un dossier de quarantaine au lieu de les supprimer directement.
- Évitez d'automatiser la suppression avec des options comme –noprompt ou -N Si vous n'avez pas bien vérifié leur fonctionnement, ils peuvent se montrer très agressifs.
- Faites attention à liens symboliques (-s, –symlinks)car elles peuvent vous amener à supprimer par erreur des fichiers situés en dehors de l'arborescence de répertoires que vous pensiez nettoyer.
- Gardez toujours un sauvegarde récente avant d'effectuer des nettoyages importants sur des disques contenant des données importantes.
Trouver et supprimer les fichiers en double sous Linux n'est pas compliqué si vous connaissez les bons outils : des classiques comme fdupes, rdfind et FSlint aux options plus modernes telles que fclones, yadf, Czkawka, Krokiet ou dupeGuru, vous disposez d'un large éventail de possibilités pour libérer de l'espace, organiser vos dossiers et réduire le chaos des copies en double . Choisissez l'interface en ligne de commande ou graphique selon votre préférence, combinez filtres de taille et modèles de nommage pour affiner les résultats et, surtout, prenez le temps de vérifier ce que vous allez supprimer. Avec un peu de précaution, votre système fonctionnera beaucoup mieux sans mettre inutilement vos données importantes en danger.
Écrivain passionné par le monde des octets et de la technologie en général. J'aime partager mes connaissances à travers l'écriture, et c'est ce que je vais faire dans ce blog, vous montrer toutes les choses les plus intéressantes sur les gadgets, les logiciels, le matériel, les tendances technologiques et plus encore. Mon objectif est de vous aider à naviguer dans le monde numérique de manière simple et divertissante.