Búsqueda de sitios web

Las 5 mejores herramientas para buscar y eliminar archivos duplicados en Linux


Organizar su directorio personal o incluso su sistema puede resultar particularmente difícil si tiene la costumbre de descargar todo tipo de cosas de Internet utilizando sus administradores de descargas.

A menudo descubrirás que has descargado el mismo mp3, pdf y epub (y todo tipo de otras extensiones de archivo) y lo has copiado en directorios diferentes. Esto puede hacer que sus directorios se llenen de todo tipo de cosas duplicadas inútiles.

En este tutorial, aprenderá cómo buscar y eliminar archivos duplicados en Linux utilizando las herramientas de línea de comandos rdfind, fdupes y rmlint. , además de utilizar herramientas GUI llamadas DupeGuru y FSlint.

Una nota de precaución: tenga siempre cuidado con lo que elimina en su sistema, ya que esto puede provocar una pérdida de datos no deseada. Si está utilizando una herramienta nueva, primero pruébela en un directorio de prueba donde eliminar archivos no será un problema.

1. Rdfind: busque archivos duplicados en Linux

Rdfind proviene de la búsqueda de datos redundantes, que es una herramienta de línea de comandos gratuita que se utiliza para buscar archivos duplicados en varios directorios o dentro de ellos. Escanea directorios de forma recursiva e identifica archivos que tienen contenido idéntico, lo que le permite tomar las acciones adecuadas, como eliminar o mover los duplicados.

Rdfind utiliza un algoritmo para clasificar los archivos y detecta cuál de los duplicados es el archivo original y considera el resto como duplicados.

Las reglas de clasificación son:

  • Si se encontró A al escanear un argumento de entrada anterior a B, A tiene una clasificación más alta.
  • Si A se encontró a una profundidad inferior a B, A tiene una clasificación más alta.
  • Si A se encontró antes que B, A tiene una clasificación más alta.

La última regla se utiliza particularmente cuando se encuentran dos archivos en el mismo directorio.

Instalar Rdfind en Linux

Para instalar rdfind en Linux, utilice el siguiente comando según su distribución de Linux.

sudo apt install rdfind         [On Debian, Ubuntu and Mint]
sudo yum install rdfind         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/rdfind  [On Gentoo Linux]
sudo apk add rdfind             [On Alpine Linux]
sudo pacman -S rdfind           [On Arch Linux]
sudo zypper install rdfind      [On OpenSUSE]    

Para ejecutar rdfind en un directorio, simplemente escriba rdfind y el directorio de destino.

rdfind /home/user

Como puede ver, rdfind guardará los resultados en un archivo llamado results.txt ubicado en el mismo directorio desde donde ejecutó el programa. El archivo contiene todos los archivos duplicados que ha encontrado rdfind. Puede revisar el archivo y eliminar los archivos duplicados manualmente si lo desea.

Otra cosa que puedes hacer es usar -dryrun, una opción que proporcionará una lista de duplicados sin realizar ninguna acción:

rdfind -dryrun true /home/user

Cuando encuentre los duplicados, puede optar por reemplazarlos con enlaces físicos.

rdfind -makehardlinks true /home/user

Y si desea eliminar los duplicados, puede ejecutar.

rdfind -deleteduplicates true /home/user

Para consultar otras opciones útiles de rdfind puedes utilizar el manual de rdfind.

man rdfind 

2. Fdupes: escanear en busca de archivos duplicados en Linux

Fdupes es otro programa de línea de comandos que le permite identificar archivos duplicados en su sistema. Busca directorios de forma recursiva, comparando tamaños de archivos y contenido para identificar duplicados.

Utiliza los siguientes métodos para determinar archivos duplicados:

  • Comparación de firmas md5sum parciales
  • Comparación de firmas md5sum completas
  • verificación de comparación byte por byte

Al igual que rdfind, tiene opciones similares:

  • Buscar recursivamente
  • Excluir archivos vacíos
  • Muestra el tamaño de los archivos duplicados.
  • Eliminar duplicados inmediatamente
  • Excluir archivos con un propietario diferente

Instalar Fdupes en Linux

Para instalar fdupes en Linux, utilice el siguiente comando según su distribución de Linux.

sudo apt install fdupes         [On Debian, Ubuntu and Mint]
sudo yum install fdupes         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/fdupes  [On Gentoo Linux]
sudo apk add fdupes             [On Alpine Linux]
sudo pacman -S fdupes           [On Arch Linux]
sudo zypper install fdupes      [On OpenSUSE]    

La sintaxis de Fdupes es similar a la de rdfind. Simplemente escriba el comando seguido del directorio que desea escanear.

fdupes <dir>

Para buscar archivos de forma recursiva, deberá especificar -r una opción como esta.

fdupes -r <dir>

También puede especificar varios directorios y especificar un dir para buscar de forma recursiva.

fdupes <dir1> -r <dir2>

Para que fdupes calcule el tamaño de los archivos duplicados, utilice la opción -S.

fdupes -S <dir>

Para recopilar información resumida sobre los archivos encontrados, utilice la opción -m.

fdupes -m <dir>

Finalmente, si desea eliminar todos los duplicados, utilice -d una opción como esta.

fdupes -d <dir>

Fdupes le preguntará cuál de los archivos encontrados desea eliminar. Deberá ingresar el número de archivo:

Una solución que definitivamente no se recomienda es utilizar la opción -N, lo que resultará en la conservación del primer archivo únicamente.

fdupes -dN <dir>

Para obtener una lista de opciones disponibles para usar con fdupes, revise la página de ayuda ejecutando.

fdupes -help

3. Rmlint: eliminar archivos duplicados

Rmlint es una herramienta de línea de comandos que se utiliza para buscar y eliminar archivos duplicados y con formato de pelusa en sistemas Linux. Ayuda a identificar archivos con contenido idéntico, así como diversas formas de redundancia o pelusa, como archivos vacíos, enlaces simbólicos rotos y archivos huérfanos.

Instalar Rmlint en Linux

Para instalar Rmlint en Linux, utilice el siguiente comando según su distribución de Linux.

sudo apt install rmlint         [On Debian, Ubuntu and Mint]
sudo yum install rmlint         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/rmlint  [On Gentoo Linux]
sudo apk add rmlint             [On Alpine Linux]
sudo pacman -S rmlint           [On Arch Linux]
sudo zypper install rmlint      [On OpenSUSE]    

4. dupeGuru: busque archivos duplicados en Linux

dupeGuru es una herramienta multiplataforma de código abierto que se puede utilizar para encontrar archivos duplicados en un sistema Linux. La herramienta puede escanear nombres de archivos o contenido en una o más carpetas. También le permite encontrar el nombre de archivo que sea similar a los archivos que está buscando.

dupeGuru viene en diferentes versiones para plataformas Windows, Mac y Linux. Su función de algoritmo rápido de coincidencia aproximada le ayuda a encontrar archivos duplicados en un minuto. Es personalizable, puede extraer los archivos duplicados exactos que desee y eliminar los archivos no deseados del sistema.

Instalar dupeGuru en Linux

Para instalar dupeGuru en Linux, utilice el siguiente comando según su distribución de Linux.

sudo apt install dupeguru         [On Debian, Ubuntu and Mint]
sudo yum install dupeguru         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/dupeguru  [On Gentoo Linux]
sudo apk add dupeguru             [On Alpine Linux]
sudo pacman -S dupeguru           [On Arch Linux]
sudo zypper install dupeguru      [On OpenSUSE]    

5. FSlint: Buscador de archivos duplicados para Linux

FSlint es una utilidad gratuita que se utiliza para buscar y limpiar diversas formas de pelusa en un sistema de archivos. También informa archivos duplicados, directorios vacíos, archivos temporales, nombres duplicados/en conflicto (binarios), enlaces simbólicos incorrectos y muchos más. Tiene modos de línea de comandos y GUI.

Sin embargo, es importante tener en cuenta que, según mi límite de conocimiento en septiembre de 2022, FSlint se actualizó por última vez en 2013 y es posible que no se mantenga activamente ni sea compatible con distribuciones de Linux más nuevas.

Instalar FSlint en Linux

Para instalar FSlint en Linux, utilice el siguiente comando según su distribución de Linux.

sudo apt install fslint         [On Debian, Ubuntu and Mint]
sudo yum install fslint         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/fslint  [On Gentoo Linux]
sudo apk add fslint             [On Alpine Linux]
sudo pacman -S fslint           [On Arch Linux]
sudo zypper install fslint      [On OpenSUSE]    

Conclusión

Estas son herramientas muy útiles para encontrar archivos duplicados en su sistema Linux, pero debe tener mucho cuidado al eliminar dichos archivos.

Si no está seguro de si necesita un archivo o no, sería mejor crear una copia de seguridad de ese archivo y recordar su directorio antes de eliminarlo. Si tiene alguna pregunta o comentario, envíelo en la sección de comentarios a continuación.