4 eines útils per trobar i eliminar fitxers duplicats a Linux


Organitzar el vostre directori personal o fins i tot el vostre sistema pot ser especialment difícil si teniu l'hàbit de descarregar tot tipus de coses d'Internet.

Sovint podeu trobar que heu baixat el mateix mp3, pdf, epub (i tot tipus d'extensions de fitxer) i l'heu copiat a diferents directoris. Això pot provocar que els vostres directoris s'ocupin de tot tipus de coses duplicades inútils.

En aquest tutorial, aprendreu a trobar i suprimir fitxers duplicats a Linux mitjançant les eines de línia d'ordres rdfind i fdupes, així com les eines GUI anomenades DupeGuru i FSlint.

Una nota de precaució: sempre aneu amb compte amb què suprimiu al vostre sistema, ja que això pot provocar una pèrdua de dades no desitjada. Si utilitzeu una eina nova, primer proveu-la en un directori de prova on eliminar fitxers no serà un problema.

1. Rdfind: troba fitxers duplicats a Linux

Rdfind prové de la recerca de dades redundants. És una eina gratuïta que s'utilitza per trobar fitxers duplicats en o dins de diversos directoris. Utilitza suma de comprovació i troba duplicats en funció del fitxer que conté no només noms.

Rdfind utilitza un algorisme per classificar els fitxers i detecta quin dels duplicats és el fitxer original i considera la resta com a duplicats. Les regles de classificació són:

  • Si s'ha trobat A mentre s'escanejava un argument d'entrada abans que B, A és millor classificat.
  • Si A s'ha trobat a una profunditat inferior a B, A és més alt.
  • Si A s'ha trobat abans que B, A és millor classificat.

L'última regla s'utilitza especialment quan es troben dos fitxers al mateix directori.

Per instal·lar rdfind a Linux, utilitzeu l'ordre següent segons la vostra distribució de Linux.

$ sudo apt-get install rdfind     [On Debian/Ubuntu]
$ sudo yum install epel-release && $ sudo yum install rdfind    [On CentOS/RHEL]
$ sudo dnf install rdfind         [On Fedora 22+]
$ sudo pacman -S rdfind   [On Arch Linux]

Per executar rdfind en un directori, simplement escriviu rdfind i el directori de destinació. Aquí teniu un exemple:

$ rdfind /home/user

Com podeu veure, rdfind desarà els resultats en un fitxer anomenat results.txt situat al mateix directori des d'on vau executar el programa. El fitxer conté tots els fitxers duplicats que ha trobat rdfind. Podeu revisar el fitxer i eliminar els fitxers duplicats manualment si voleu.

Una altra cosa que podeu fer és utilitzar l'opció -dryrun que us proporcionarà una llista de duplicats sense fer cap acció:

$ rdfind -dryrun true /home/user

Quan trobeu els duplicats, podeu optar per substituir-los per enllaços durs.

$ rdfind -makehardlinks true /home/user

I si voleu eliminar els duplicats, podeu executar.

$ rdfind -deleteduplicates true /home/user

Per comprovar altres opcions útils de rdfind, podeu utilitzar el manual de rdfind amb.

$ man rdfind 

2. Fdupes: buscar fitxers duplicats a Linux

Fdupes és un altre programa que us permet identificar fitxers duplicats al vostre sistema. És gratuït i de codi obert i està escrit en C. Utilitza els mètodes següents per determinar fitxers duplicats:

  • Comparació de signatures md5sum parcials
  • Comparació de signatures completes de md5sum
  • verificació de la comparació byte a byte

Igual que rdfind, té opcions similars:

  • Cerca recursivament
  • Exclou els fitxers buits
  • Mostra la mida dels fitxers duplicats
  • Elimineu els duplicats immediatament
  • Exclou fitxers amb un propietari diferent

Per instal·lar fdupes a Linux, utilitzeu l'ordre següent segons la vostra distribució de Linux.

$ sudo apt-get install fdupes     [On Debian/Ubuntu]
$ sudo yum install epel-release && $ sudo yum install fdupes    [On CentOS/RHEL]
$ sudo dnf install fdupes         [On Fedora 22+]
$ sudo pacman -S fdupes   [On Arch Linux]

La sintaxi Fdupes és similar a rdfind. Simplement escriviu l'ordre seguida del directori que voleu escanejar.

$ fdupes <dir>

Per cercar fitxers de manera recursiva, haureu d'especificar el -r una opció com aquesta.

$ fdupes -r <dir>

També podeu especificar diversos directoris i especificar un directori per cercar recursivament.

$ fdupes <dir1> -r <dir2>

Perquè fdupes calculi la mida dels fitxers duplicats, utilitzeu l'opció -S.

$ fdupes -S <dir>

Per recopilar informació resumida sobre els fitxers trobats, utilitzeu l'opció -m.

$ fdupes -m <dir>

Finalment, si voleu eliminar tots els duplicats, utilitzeu el -d una opció com aquesta.

$ fdupes -d <dir>

Fdupes preguntarà quin dels fitxers trobats s'ha d'eliminar. Haureu d'introduir el número de fitxer:

Una solució que definitivament no és recomanable és utilitzar l'opció -N que donarà lloc a conservar només el primer fitxer.

$ fdupes -dN <dir>

Per obtenir una llista d'opcions disponibles per utilitzar amb fdupes, reviseu la pàgina d'ajuda executant.

$ fdupes -help

3. dupeGuru – Troba fitxers duplicats en un Linux

dupeGuru és una eina de codi obert i multiplataforma que es pot utilitzar per trobar fitxers duplicats en un sistema Linux. L'eina pot escanejar noms de fitxers o contingut en una o més carpetes. També us permet trobar el nom del fitxer que és similar als fitxers que esteu cercant.

dupeGuru ve en diferents versions per a plataformes Windows, Mac i Linux. La seva funció d'algoritme de concordança ràpida us ajuda a trobar fitxers duplicats en un minut. És personalitzable, podeu treure els fitxers duplicats exactes que vulgueu i eliminar els fitxers no desitjats del sistema.

Per instal·lar dupeGuru a Linux, utilitzeu l'ordre següent segons la vostra distribució de Linux.

--------------- On Debian/Ubuntu/Mint --------------- 
$ sudo add-apt-repository ppa:dupeguru/ppa
$ sudo apt-get update
$ sudo apt-get install dupeguru
--------------- On Arch Linux --------------- 
$ sudo pacman -S dupeguru

4. FSlint – Cercador de fitxers duplicats per a Linux

FSlint és una utilitat gratuïta que s'utilitza per trobar i netejar diverses formes de pelusa en un sistema de fitxers. També informa de fitxers duplicats, directoris buits, fitxers temporals, noms duplicats/conflictius (binaris), enllaços simbòlics dolents i molts més. Té modes de línia d'ordres i GUI.

Per instal·lar FSlint a Linux, utilitzeu l'ordre següent segons la vostra distribució de Linux.

$ sudo apt-get install fslint     [On Debian/Ubuntu]
$ sudo yum install epel-release && $ sudo yum install fslint    [On CentOS/RHEL]
$ sudo dnf install fslint         [On Fedora 22+]
$ sudo pacman -S fslint   [On Arch Linux]

Aquestes són les eines molt útils per trobar fitxers duplicats al vostre sistema Linux, però heu de tenir molta cura quan suprimiu aquests fitxers.

Si no esteu segur de si necessiteu un fitxer o no, seria millor crear una còpia de seguretat d'aquest fitxer i recordar-ne el directori abans d'eliminar-lo. Si teniu cap pregunta o comentari, envieu-los a la secció de comentaris a continuació.