Tabla de contenido
En el siguiente artículo vamos a echar un vistazo a tres herramientas para encontrar y eliminar archivos duplicados en Ubuntu. Puede que en más de una ocasión te encuentres con que tu equipo está lleno de archivos duplicados. Un día te puedes dar cuenta de que tu disco duro está lleno de múltiples copias de los mismos archivos en diferentes directorios de respaldo. El problema viene por que es habitual olvidarse de limpiar estos archivos y el disco duro comienza a acumular muchos archivos duplicados después de un cierto período de tiempo.
Es por esto que siempre es bueno saber cómo encontrar y eliminar archivos duplicados. Para hacerlo podemos utilizar las herramientas que se detallan a continuación en los sistemas operativos tipo Unix. Hay que tener cuidado al eliminar los archivos duplicados. Si no tienes cuidado, te llevará a la pérdida accidental de datos. Por eso es aconsejable prestar atención al usar estas herramientas.
Buscar y eliminar archivos duplicados en Ubuntu
Para esta tarea que nos ocupa, veremos tres herramientas disponibles; Rdfind, Fdupes, Fslint.
Estas tres utilidades son gratuitas, de código abierto y funcionan en la mayoría de los sistemas operativos tipo Unix.
Rdfind
Rdfind, significa encontrar datos redundantes. Es una utilidad de código abierto y gratuito para encontrar archivos duplicados en directorios y subdirectorios.
Compara los archivos en función de su contenido, no en sus nombres de archivo. Rdfind utiliza algoritmo de clasificación para diferenciar entre archivos originales y duplicados. Si encuentra dos o más archivos iguales, Rdfind es lo suficientemente inteligente como para encontrar cuál es el archivo original. Una vez que encuentre los duplicados, nos informará de ellos. Podremos decidir eliminarlos o reemplazarlos.
Instalación de Rdfind
Abrimos una terminal (Ctrl+Alt+T) y escribimos:
sudo apt install rdfind
Uso
Una vez instalado, simplemente hay que ejecutar el comando Rdfind junto con la ruta del directorio dónde queremos buscar los archivos duplicados.
rdfind ~/Descargas
Como puede verse en la captura de pantalla anterior, el comando Rdfind escaneará el directorio ~/Descargas. Guardará los resultados en un archivo llamado results.txt, situado en el directorio de trabajo actual. Se puede ver el nombre de los posibles archivos duplicados dentro del archivo results.txt.
Al revisar el archivo results.txt, podrás encontrar fácilmente los duplicados. Podremos eliminar los duplicados manualmente.
Además, utilizando la opción -dryrun podremos encontrar todos los duplicados en un directorio determinado sin cambiar nada. Al final nos mostrará el resumen en su Terminal:
rdfind -dryrun true ~/Descargas
Una vez que encuentre los duplicados, podremos reemplazarlos con enlaces duros o enlaces simbólicos. Para reemplazar todos los duplicados con enlaces duros, ejecutaremos:
rdfind -makehardlinks true ~/Descargas
Para reemplazar todos los duplicados con enlaces simbólicos, ejecute:
rdfind -makesymlinks true ~/Descargas
Si ya te interesan los archivos antiguos, simplemente elimínalos en lugar de reemplazarlos por enlaces duros o simbólicos.
Para eliminar todos los duplicados, simplemente ejecuta:
rdfind -deleteduplicates true ~/Descargas
Se puede obtener más información mediante la sección de ayuda o las páginas man:
rdfind --help man rdfind
Fdupes
Fdupes es otra utilidad de línea de comandos para identificar y eliminar los archivos duplicados dentro de los directorios y subdirectorios especificados. Es una utilidad gratuita de código abierto escrita en lenguaje de programación C.
Fdupes identifica los duplicados comparando tamaños de archivo, firmas MD5 parciales, firmas MD5 completas y finalmente realizando una comparación de byte a byte para la verificación.
Es similar a la utilidad Rdfind, pero Fdupes viene con bastantes opciones para realizar operaciones, tales como:
- Buscar recursivamente archivos duplicados en directorios y subdirectorios.
- Excluir archivos vacíos y archivos ocultos de consideración.
- Mostrar el tamaño de los duplicados.
- Elimina los duplicados inmediatamente ya que encontraron.
- Excluir archivos con diferentes propietarios / grupos o bits de permisos como duplicados.
- Y mucho más.
Instalación de Fdupes
Abrimos una terminal (Ctrl+Alt+T) y escribimos:
sudo apt install fdupes
Uso
El uso de Fdupes es bastante simple. Solo hay que ejecutar el siguiente comando para encontrar los archivos duplicados en un directorio, por ejemplo ~/Descargas.
fdupes ~/Descargas
Como puede ver, tengo un archivo duplicado en el directorio /home/sapoclay/Descargas/. Muestra los duplicados del directorio principal solamente. ¿Cómo ver los duplicados de los subdirectorios? Simplemente use la opción -r como a continuación.
fdupes -r ~/Descargas
Fdupes también puede encontrar duplicados en múltiples directorios a la vez.
fdupes ~/Descargas ~/Documentos/sapoclay
A veces, es posible que queramos saber el tamaño de los duplicados en un directorio. Para esto, utilizaremos la opción -S:
fdupes -S ~/Descargas
Podemos excluir de la consideración los archivos vacíos y ocultos usando -n y -A respectivamente.
Para resumir la información de archivos duplicados, usaremos la opción -m.
fdupes -m ~/Descargas
Para eliminar todos los duplicados, la opción a utilizar será -d.
fdupes -d ~/Descargas
Este comando nos permitirá seleccionar para preservar el original y eliminar todos los demás archivos duplicados. Aquí hay que andarse con cuidado. Fácilmente podemos eliminar archivos originales si no tenemos cuidado.
Si quieres conservar el primer archivo en cada conjunto de duplicados y eliminar los otros sin preguntar cada vez, utiliza la opción -dN. Pero esto no es lo recomendable.
Para eliminar duplicados a medida que se encuentran, use la opción -I.
fdupes -I ~/Descargas
Para obtener más información sobre cómo utilizar fdupes, consulta la sección de ayuda o las páginas man:
fdupes –help man fdupes
FSlint
FSlint es otra utilidad de buscador de archivos duplicados que encontré en Github. A diferencia de las otras dos utilidades, FSlint tiene ambos modos, GUI y CLI. Por lo tanto, es una herramienta más fácil de usar.
FSlint no solo encuentra los duplicados, sino también los enlaces simbólicos, nombres incorrectos, archivos temporales, IDS incorrectos, directorios vacíos y binarios no eliminados, etc.
Instalación de Fslint
Abrimos una terminal (Ctrl+Alt+T) y escribimos:
sudo apt-get install fslint
Uso
Una vez que esté instalado, ejecútalo desde el menú o el iniciador de aplicaciones.
Como puede verse, la interfaz de FSlint es fácil de usar y se explica por sí misma. En la pestaña Ruta de búsqueda, agregaremos la ruta del directorio que queremos escanear. Solo tendremos que hacer clic en el botón Buscar para buscar los duplicados. Verifique la opción Recursivo para buscar recursivamente duplicados en directorios y subdirectorios. FSlint escaneará rápidamente el directorio dado y los enumerará.
De la lista, elije los duplicados que quieres limpiar y selecciona cualquiera de ellos con acciones como Guardar, Eliminar, Fusionar y Enlace simbólico.
En la pestaña Parámetros de búsqueda avanzada, se pueden especificar las rutas a excluir mientras se buscan duplicados.
Para obtener más detalles sobre FSlint, consulte la sección de ayuda y las páginas man.
/usr/share/fslint/fslint/fslint --help man fslint
Ahora ya conocemos tres herramientas para buscar y eliminar archivos duplicados no deseados en Gnu/Linux. Entre estas tres herramientas, a menudo uso Rdfind. No significa que las otras dos utilidades no sean eficientes, pero estoy contento con Rdfind hasta ahora.
2 Comentarios
Buena info
Gracias por comentar. Salu2.