Encuentra y elimina archivos duplicados en tu sistema con duff

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

Esto les mostrará algo como:

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

Comparte para difundir

Si te ha gustado nuestro contenido ahora puedes ayudar a difundirlo en las redes sociales de manera sencilla usando los siguientes botones:

Envía
Pinea
Print

27 comentarios

  1.   st0rmt4il dijo

    Gracias por el tip brother, podrias en un futuro hacer algunos posts sobre como usar “xargs” ?.

    Gracias!

    1.    KZKG^Gaara dijo

      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 | )

    2.    dhunter dijo

      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

  2.   gato dijo

    gracias por el artículo, a veces hay algunos .desktop (sobretodo de wine) repetidos

    1.    KZKG^Gaara dijo

      Un placer 🙂

      1.    gato dijo

        eso sí aprovecho de aclarar que en Arch y derivadas se instala con yaourt, no con pacman

        1.    st0rmt4il dijo

          Gracias por la aclaracion :D!

  3.   Joaquin dijo

    Muy bueno!
    Se añade a la colección de herramientas especiales 🙂

    1.    KZKG^Gaara dijo

      Gracias por el comentario 😀

  4.   Carper dijo

    Excelente aporte, muchas gracias XD.
    Saludos

    1.    KZKG^Gaara dijo

      Gracias a tí por comentar 🙂

  5.   Blaire Pascal dijo

    Buen aporte, como siempre. Gracias.

    1.    KZKG^Gaara dijo

      jajajaja thanks, intento siempre poner cosas interesantes 😉

  6.   VulkHead dijo

    Muy buen aporte.. Gracias!

    1.    KZKG^Gaara dijo

      Gracias ^-^

  7.   F3niX dijo

    Esta bueno. Voy a tratar de eliminar los mp3 duplicados de mi colección de 100 gb u.u

    1.    KZKG^Gaara dijo

      Gracias por comentar, suerte 🙂

  8.   jems dijo

    me pondre a borrar todos mis archivos duplicados de mi disco que se ha llenado, espero desocupar unos 10Gb,

  9.   malditocookie dijo

    Ohh muchas gracias esto me ayudara mucho en mi trabajo 😉

  10.   albert I dijo

    Muchas gracias por presentar programitas que solucionan problemas como este, tan usual entre los usuarios de internet

    1.    KZKG^Gaara dijo

      Gracias a tí por leer y comentar.

      Saludos

  11.   kuk dijo

    esto me tenia loco >_< gracias!!!

  12.   Joan dijo

    Muchas gracias tenía un lío con las fotos duplicadas que no sabía que hacer!!!!
    Merci

  13.   alejandro dijo

    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?

    1.    KZKG^Gaara dijo

      Prueba poner al final rm -R

      1.    alejandro dijo

        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.

  14.   hector dijo

    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

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.