Comment trouver et supprimer des fichiers en double sous Linux

Chaque jour, nous téléchargeons, créons et éditons divers types de fichiers dans notre système d'exploitation, dans ce cas précis, nous parlons de Linux, et l'un des échecs courants est que nous pouvons fréquemment avoir plusieurs fichiers en double qui, non seulement occupent un d'espace sur le disque dur, mais peut devenir un facteur de confusion lors de l'ouverture et de l'édition de fichiers.

À de nombreuses reprises, nous avons sur nos postes de travail ou nos serveurs divers fichiers, quel que soit leur format, des doublons et nous ne le savons pas. Cela engendre une prise de place inutile et la possibilité de travailler avec un mauvais fichier puisqu'on peut en éditer un puis ouvrir l'autre, etc. Un moyen pratique de mieux organiser notre environnement de travail consiste à détecter et à éliminer ces fichiers en double afin qu'il soit ainsi possible de n'utiliser qu'un seul fichier.

Cela vaut la peine de faire cette tâche non seulement pour pouvoir effacer les doublons, mais aussi pour effectuer des recherches où nous pouvons éliminer et supprimer les fichiers que nous ne voulons plus mais que nous avons répétés par différentes parties du système d'exploitation Linux. Peu importe la version comme cela peut être dans Fedora, Ubuntu, Debian, CentOS parmi tant d'autres.

Nous avons déjà vu en son temps comment trouver des fichiers en double dans Windows, nous nous concentrons ici sur les environnements Linux, où nous avons des outils à la fois au niveau graphique et en ligne de commande, qui nous aideront à trouver ces fichiers et à éliminer ceux que nous considérons comme pas utile.

Solvetic expliquera comment détecter et éliminer les fichiers en double sous Linux d'une manière simple mais fonctionnelle.

Qu'est-ce que l'utilitaire RdfindRdfind est un outil en ligne de commande qui a été développé pour détecter les fichiers en double dans le répertoire. Son utilisation peut être appliquée pour compresser des répertoires de sauvegarde ou pour trouver des fichiers en double de manière simple, cet utilitaire compare les fichiers en fonction de leur contenu, mais pas de leurs noms de fichiers puisqu'il est basé sur la somme de contrôle. Rdfind utilise un algorithme afin de classer les fichiers et ainsi détecter lequel des doublons est l'original et ainsi considérer le reste comme des doublons. Les règles d'utilisation de Rdfind sont :

  • Si A a été trouvé lors de l'analyse d'un argument d'entrée avant B, A est classé plus haut.
  • Si A a été trouvé à une profondeur inférieure à B, A est classé plus haut.
  • Si A a été trouvé avant B, A est classé plus haut.

Qu'est-ce que l'algorithme de RdfindRdfind, comme nous l'avons mentionné, utilise l'algorithme suivant où N est le nombre de fichiers à rechercher et l'effort requis est O (Nlog (N)). Rdfind trie les fichiers en inodes avant de lire à partir du disque, ce processus est donc rapide et ne lit les données du disque que lorsque cela est nécessaire. L'algorithme gère les séquences suivantes :

  • Une boucle est créée sur chaque argument de la ligne de commande, chaque argument se voit attribuer un numéro de priorité, dans l'ordre croissant.
  • Pour chaque argument, le contenu du répertoire est répertorié de manière récursive et mappé à la liste des fichiers.
  • Rdfind attribue un numéro de profondeur de répertoire, commençant à 0 pour chaque argument.
  • Si l'argument d'entrée est un fichier, il sera ajouté à la liste des fichiers.
  • La liste est ensuite parcourue et les tailles de tous les fichiers sont découvertes.
  • Si le drapeau "-removeidentinode" est vrai, les éléments de la liste qui ont déjà été ajoutés sont supprimés, selon la combinaison du numéro de périphérique et de l'inode.
  • Les fichiers sont triés par taille, puis les fichiers sont supprimés de la liste, qui ont des tailles uniques.
  • Il est ordonné par périphérique et inode ce qui accélère la lecture des fichiers).
  • Les fichiers de la liste qui ont la même taille, mais des premiers octets différents sont supprimés.
  • La somme de contrôle est exécutée pour chaque fichier.
  • Seuls les fichiers de la liste avec la même taille et la même somme de contrôle sont conservés. Ce sont les doublons.
  • La liste est triée par taille, numéro de priorité et profondeur. Le premier fichier de chaque ensemble de doublons est considéré par défaut comme l'original.
  • Si vous cochez "-makeresultsfile true", le fichier de résultats est imprimé (par défaut).
  • Si l'indicateur est "-deletedupplicates true", les fichiers en double seront supprimés.
  • Si l'indicateur est "-makesymlinks true", les doublons sont remplacés par un lien symbolique vers l'original.
  • Si le résultat est "-makehardlinks true", nous procédons au remplacement des doublons par un lien vers l'original.

1. Trouver des fichiers en double avec l'utilitaire Rdfind sur Linux

Étape 1
Pour installer Rdfind sous Linux, nous pouvons exécuter l'une des commandes suivantes :

 sudo apt install rdfind (Debian / Ubuntu / Mint) sudo yum install epel-release && $ sudo yum install rdfind (CentOS / RHEL) sudo dnf install rdfind (Fedora) 

Étape 2
Une fois Rdfind téléchargé et installé, nous allons l'exécuter dans un répertoire simple comme suit :

 rdfind / accueil / Solvetic 

Étape 3
Là, nous pouvons voir que le nombre de fichiers dans ledit répertoire est détecté et il indique si les fichiers en double ont été éliminés ou non. L'utilitaire Rdfind enregistrera les résultats dans un fichier results.txt situé dans le même répertoire que celui où le programme a été exécuté, nous pouvons voir son contenu en utilisant cat :

 chat result.txt 

Étape 4
Une tâche supplémentaire à utiliser avec rdfind consiste à utiliser le paramètre "-dryrun" qui fournira une liste de doublons sans prendre aucune mesure sur eux :

 rdfind -dryrun true / home / Solvetic 

Étape 5
En cas de détection de doublons, il est possible de les remplacer par des liens physiques comme celui-ci.

 rdfind -makehardlinks true / home / user 
Étape 6
Pour éliminer les doublons, nous devons exécuter les opérations suivantes :
 rdfind -deletedupplicates true / home / user 
Étape 7
Pour accéder à l'aide de Rdfind, nous utiliserons la commande suivante :
 homme rdtrouver 

2. Trouver des fichiers en double avec l'utilitaire Fdupes sur Linux


Une autre option que nous avons sous Linux pour valider les fichiers en double est Fdupes. C'est un outil en ligne de commande qui nous permet d'observer en détail quels fichiers nous avons des doublons sur le système. Fdupes est un programme qui a été développé pour identifier ou éliminer les fichiers en double hébergés dans des répertoires spécifiques sous Linux, il est open source et gratuit et il est écrit en C.

Caractéristiques de FdupesFdupes utilise les méthodes suivantes pour déterminer les fichiers en double dans les répertoires :

  • Comparaison des signatures partielles md5sum.
  • Comparer toutes les signatures de md5sum.
  • Contrôle de comparaison octet par octet.

Lors de l'utilisation de Fdupes, nous aurons des options d'utilisation telles que :

  • Recherche récursive.
  • Exclure les fichiers vides.
  • Afficher la taille des fichiers en double.
  • Supprimez immédiatement les doublons.
  • Exclure les fichiers avec des propriétaires différents.

Étape 1
Par défaut, cet outil n'est pas installé, nous devons donc entrer la commande suivante pour l'installer. Pour installer Fdupes, nous exécuterons la commande suivante :

 sudo apt installer fdupes 

Étape 2
Une fois téléchargé, nous pouvons exécuter la ligne suivante pour une recherche simple. Là, les fichiers en double seront affichés.

 fdupes / chemin de recherche 

Étape 3
Pour exécuter une recherche récursive, nous utiliserons la ligne suivante :

 fdupes -r / chemin de recherche 

Étape 4
Il sera possible de spécifier plusieurs répertoires et de spécifier un répertoire à rechercher récursivement comme suit :

 fdupes -r 
Étape 5
Si nous voulons que Fdupes calcule la taille des fichiers en double, nous utiliserons l'option -S :
 fdupes -S 

Étape 6
Pour collecter des informations récapitulatives sur les fichiers trouvés, nous utiliserons l'option -m :

 fdupes -m 

Étape 7
Si vous souhaitez supprimer tous les doublons, nous exécuterons les opérations suivantes :

 fdupes -d 
Étape 8
Si nous voulons accéder à l'aide de l'utilitaire, nous exécutons :
 fdupes -aide 
Étape 9
Certaines des options d'utilisation générales sont :

Pour chaque répertoire sélectionné, accédez à ses sous-répertoires

 -r -récurseur 

Activer la recherche récursive

 -R --recurse 

Créer des liens symboliques

 -s -liens symboliques 

Lorsque deux fichiers ou plus pointent vers la même cible, ils sont traités comme des non-doublons

 -H -liens physiques 

Exclure les fichiers de longueur nulle

 -n -novide 

Exclure les fichiers cachés

 -A -nocaché 

Afficher la taille du fichier en double

 -S -taille 

Supprimer les fichiers sélectionnés

 -d -supprimer 

Cacher le -q -quiet

 -q -silencieux 

Sélectionnez l'ordre de tri pour la sortie et la suppression par fichier

 -o - ***** = PAR 

Options de suppression de fichier journal dans LOGFILE

 -l --log = FICHIER JOURNAL 

Déployer la version Fdupes

 -v -version 

Afficher le message d'aide

 -h - aide 

3. Trouver des fichiers en double avec l'utilitaire FSlint sous Linux


Un autre que nous allons utiliser est FSlint, qui est fourni par défaut dans les différents ditros Linux tels que Ubuntu, Debian, Fedora, etc. Pour en savoir plus sur FSlint, nous pouvons visiter le lien suivant :

Étape 1
Nous pouvons rechercher FSlint dans le menu Activités à utiliser.

AGRANDIR

Étape 2
Une fois ouvert, il est nécessaire d'installer l'application, pour ce faire, cliquez simplement sur le bouton Installer et le processus d'installation de l'utilitaire commencera.

AGRANDIR

Étape 3
Une fois l'outil installé, nous procédons à son exécution et nous verrons l'environnement suivant :

Étape 4
Pour lancer le processus de recherche de tous les fichiers en double, appuyez sur le bouton "Rechercher" situé en bas et le résultat sera similaire à celui-ci. Là, nous pouvons sélectionner les fichiers qui ne sont pas nécessaires et les supprimer en appuyant sur le bouton Supprimer. L'outil FSlint peut également être utilisé à partir du terminal dans Ubuntu 16.

Étape 5
Si nous voulons installer l'outil à partir du terminal, nous entrerons la commande :
sudo apt-get install fslint

Étape 6
Une fois FSlint installé, nous entrerons les commandes suivantes pour utiliser FSlint. Nous pouvons voir que tous les fichiers que nous avons en double dans le système sont affichés.

 cd / usr / share / fslint / fslint (Ceci est le chemin par défaut dans Ubuntu) ./fslint / Chemin pour trouver les fichiers

Note importanteAucun de ces outils n'efface les fichiers en double, il nous montre seulement ce qu'ils sont et nous devons effectuer cette tâche manuellement.

On voit que nous avons deux options pratiques pour détecter et éliminer les fichiers en double dans les environnements Linux et ainsi mieux gérer l'espace et les fichiers à utiliser.

wave wave wave wave wave