Los que como yo gustan de coleccionar determinada información (como wallpapers en HD, etc) tenemos el problema de que a lo largo del tiempo empezamos a tener información duplicada en nuestro sistema, el típico ejemplo puede ser un wallpaper de Linux repetido (con diferente nombre cada archivo). El problema verdadero puede no ser el espacio sino más bien que los obsesivos compulsivos del orden como yo; simplemente no podemos estar tranquilos y en paz sabiendo que en nuestra preciada colección hay algo mal, duplicado, erróneo 😀
Por suerte en Linux siempre existe una herramienta para solucionar nuestros problemas, para este caso de archivos duplicados tenemos el software: duff
Pueden encontrarlo en su repositorio, en distros como Debian o basadas en él un simple: sudo apt-get install duff
les bastará para instalarlo, en ArchLinux imagino que sea sudo pacman -S duff
Una vez lo instalamos usarlo es realmente muy simple, por ejemplo yo buscaré todos los archivos duplicados en mi carpeta Pictures (/home/kzkggaara/Pictures/):
duff -r /home/kzkggaara/Pictures
El parámetro -r es para que busque recursivamente y luego solo queda definir en qué carpeta debe buscar, en este ejemplo /home/kzkggaara/Pictures
Como pueden ver, nos dice que hay 2 archivos duplicados en Pictures/Paisajes/Landscapes+Green/ y además dos archivos duplicados en Pictures/Mangas/Naruto/Sharingans/
Esto solo es un pequeña parte de todo el screenshot… me acabo de percatar que tengo un montón de archivos duplicado 0_oU
Ahora se impone la pregunta: ¿Cómo borrar los archivos duplicados?
Con el siguiente comando buscará todos los archivos duplicados y eliminará uno de ellos, o sea, son dos archivos idénticos… se eliminará uno de ellos:
duff -e0 -r /home/kzkggaara/Pictures/ | xargs -0 rm
Este comando repito, eliminará archivos duplicados que se encuentren en el directorio que ustedes indiquen, siempre dejando solo 1 archivo de todos los otros que pueden ser idénticos.
Yo aún estoy probando combinaciones de comandos que pueden ser de utilidad con duff … xargs, así como en el man duff
leyendo cómo personalizar el output del mismo, les recomiendo igual a ustedes leerse la ayuda de duff 🙂
En fin, no hay mucho más que agregar por el momento, espero que hayan encontrado útil este comando 😀
Saludos
27 comentarios, deja el tuyo
Gracias por el tip brother, podrias en un futuro hacer algunos posts sobre como usar «xargs» ?.
Gracias!
Aún yo no soy un experto con xargs, para explicarlo de forma simple (muy simple), xargs permite ejecutar comandos pasándole como parámetro a ese comando el output o resultado de lo antes ejecutado (o sea, lo que está antes del pipe o | )
Un detalle, cada vez que uses xargs trata de enviarle datos sin \n o sea pasando el -0 y luego recibir en xargs con -0 esto es muy importante para los nombres de archivos que contienes espacio como «mi archivo es este.mp3».
Un ejemplo con find.
find -iname «para-borrar» ./ -print0 | xargs -0 rm
gracias por el artículo, a veces hay algunos .desktop (sobretodo de wine) repetidos
Un placer 🙂
eso sí aprovecho de aclarar que en Arch y derivadas se instala con yaourt, no con pacman
Gracias por la aclaracion :D!
Muy bueno!
Se añade a la colección de herramientas especiales 🙂
Gracias por el comentario 😀
Excelente aporte, muchas gracias XD.
Saludos
Gracias a tí por comentar 🙂
Esta bueno. Voy a tratar de eliminar los mp3 duplicados de mi colección de 100 gb u.u
Gracias por comentar, suerte 🙂
Buen aporte, como siempre. Gracias.
jajajaja thanks, intento siempre poner cosas interesantes 😉
Muy buen aporte.. Gracias!
Gracias ^-^
me pondre a borrar todos mis archivos duplicados de mi disco que se ha llenado, espero desocupar unos 10Gb,
Ohh muchas gracias esto me ayudara mucho en mi trabajo 😉
Muchas gracias por presentar programitas que solucionan problemas como este, tan usual entre los usuarios de internet
Gracias a tí por leer y comentar.
Saludos
esto me tenia loco >_< gracias!!!
Muchas gracias tenía un lío con las fotos duplicadas que no sabía que hacer!!!!
Merci
Perdon, he probado duff para borrar archivos duplicados con la sintaxis que indicas pero la salida en terminal me dice que falta el operando de rm
yo escribo en terminal algo como esto:
duff -e0 -r /media/alejandro/respaldo/bibliotecas/ebooksepub/ | xargs -0 rm
y me sale esto: rm: falta un operando
Pruebe ‘rm –help’ para más información
por favor, ¿podrías indicarme el operando cuando, como en mi caso, se trata de borrar miles de archivos duplicados en mi biblioteca de epub?
Prueba poner al final rm -R
gracias por tu atención, pero lamentablemente tu propuesta no funcionó, te muestro la salida:
alejandro@alejandro-ubuntu-mate-1504:~$ duff -e0 -r /media/alejandro/respaldo/bibliotecas/ebooksepub/ | xargs -0 rm -R
rm: falta un operando
Pruebe ‘rm –help’ para más información.
Buen Tip.
el problema del operando de rm es que no tiene qué borrar. si se ejecutase el comando sin el pipe se comprueba que no hay duplicados.
saludos