FDUPES una herramienta de línea de comandos para encontrar y eliminar archivos duplicados en Linux
- 3962
- 714
- Sr. Eduardo Menchaca
Es un requisito común encontrar y reemplazar archivos duplicados para la mayoría de los usuarios de la computadora. Encontrar y eliminar archivos duplicados es un trabajo agotador que exige tiempo y paciencia. Encontrar archivos duplicados puede ser muy fácil si su máquina está alimentada por GNU/Linux, gracias a 'fdupes' utilidad.
FDUPES: busque y elimine archivos duplicados en LinuxQue es fdupes?
Fdupes es una utilidad de Linux escrita por Adrian López en C Lenguaje de programación lanzado bajo la licencia MIT. La aplicación puede encontrar archivos duplicados en el conjunto dado de directorios y subdirectorios. Los fdupes reconocen los duplicados comparando la firma MD5 de archivos seguido de una comparación de byte-byte. Se pueden pasar muchas opciones con fdupes para enumerar, eliminar y reemplazar los archivos con enlaces duros para duplicados.
La comparación comienza en el orden:
comparación de tamaño > Comparación de firma parcial MD5 > Comparación de firma MD5 completa > Comparación de byte-byte.
Instale fdupes en un Linux
Instalación de la última versión de fdupes (FDUPES versión 1.51) Tan fácil como ejecutar el siguiente comando en Debian sistemas basados como Ubuntu y Menta Linux.
$ sudo apt-get install fdupes
En Cento/Rhel y Fedora Sistemas basados, debe activar el repositorio EPEL para instalar el paquete FDUPES.
# yum instalar fdupes # dnf instalar fdupes [en Fedora 22 en adelante]
Nota: El administrador de paquetes predeterminado beque se reemplaza por DNF de Fedora 22 adelante…
Cómo usar el comando fdupes?
1. Para fines de demostración, creemos pocos archivos duplicados en un directorio (digamos tecmenta) simplemente como:
$ mkdir/home/"$ user"/escritorio/tecmint && cd/home/"$ user"/escritorio/tecMint && for i in 1 ... 15; hacer eco "Amo a Tecmint. TecMint es una comunidad muy agradable de usuarios de Linux."> TecMint $ i.TXT ; hecho
Después de ejecutar el comando anterior, verifiquemos que los archivos duplicados se creen o no se usan el comando ls.
$ ls -l Total 60 -RW-R-R-- 1 Tecmint Tecmint 65 8 de agosto 11:22 TecMint10.txt -rw-r-r-- 1 Tecmint Tecmint 65 8 de agosto 11:22 Tecmint11.txt -rw-r-r-- 1 Tecmint Tecmint 65 8 de agosto 11:22 TecMint12.txt -rw-r-r-- 1 Tecmint Tecmint 65 8 de agosto 11:22 TecMint13.txt -rw-r-r-- 1 Tecmint Tecmint 65 8 de agosto 11:22 TecMint14.txt -rw-r-r-- 1 Tecmint Tecmint 65 8 de agosto 11:22 TecMint15.txt -rw-r-r-- 1 Tecmint Tecmint 65 8 de agosto 11:22 TecMint1.txt -rw-r-r-- 1 Tecmint Tecmint 65 8 de agosto 11:22 Tecmint2.txt -rw-r-r-- 1 Tecmint Tecmint 65 8 de agosto 11:22 TecMint3.txt -rw-r-r-- 1 Tecmint Tecmint 65 8 de agosto 11:22 TecMint4.txt -rw-r-r-- 1 Tecmint Tecmint 65 8 de agosto 11:22 TecMint5.txt -rw-r-r-- 1 Tecmint Tecmint 65 8 de agosto 11:22 TecMint6.txt -rw-r-r-- 1 Tecmint Tecmint 65 8 de agosto 11:22 TecMint7.txt -rw-r-r-- 1 Tecmint Tecmint 65 8 de agosto 11:22 TecMint8.txt -rw-r-r-- 1 Tecmint Tecmint 65 8 de agosto 11:22 TecMint9.TXT
El script de arriba crea 15 Archivos a saber, TECMINT1.txt, tecMint2.txt ... tecmint15.txt y cada archivo contiene los mismos datos i.mi.,
"Amo a Tecmint. TecMint es una comunidad muy agradable de usuarios de Linux."
2. Ahora busque archivos duplicados dentro de la carpeta tecmenta.
$ fdupes/home/$ user/escritorio/tecmint /home/tecmint/escritorio/tecmint/tecmint13.txt/home/tecmint/escritorio/tecmint/tecmint8.txt/home/tecmint/escritorio/tecmint/tecmint11.txt/home/tecmint/escritorio/tecmint/tecmint3.txt/home/tecmint/escritorio/tecmint/tecmint4.txt/home/tecmint/escritorio/tecmint/tecMint6.txt/home/tecmint/escritorio/tecmint/tecmint7.txt/home/tecmint/escritorio/tecmint/tecMint9.txt/home/tecmint/escritorio/tecmint/tecmint10.txt/home/tecmint/escritorio/tecmint/tecmint2.txt/home/tecmint/escritorio/tecmint/tecmint5.txt/home/tecmint/escritorio/tecmint/tecmint14.txt/home/tecmint/escritorio/tecmint/tecmint1.txt/home/tecmint/escritorio/tecmint/tecmint15.txt/home/tecmint/escritorio/tecmint/tecmint12.TXT
3. Buscar duplicados recursivamente en cada directorio, incluidos sus subdirectorios utilizando el -riñonal opción.
Busca en todos los archivos y carpetas de manera recursiva, dependiendo de la cantidad de archivos y carpetas, tomará algún tiempo escanear duplicados. Mientras tanto, se le presentará el progreso total en la terminal, algo como esto.
$ fdupes -r /hogar Progreso [37780/54747] 69%
4. Consulte el tamaño de los duplicados que se encuentran dentro de una carpeta utilizando el -S opción.
$ fdupes -s/home/$ user/escritorio/tecmint 65 bytes cada uno:/home/tecmint/escritorio/tecmint/tecmint13.txt/home/tecmint/escritorio/tecmint/tecmint8.txt/home/tecmint/escritorio/tecmint/tecmint11.txt/home/tecmint/escritorio/tecmint/tecmint3.txt/home/tecmint/escritorio/tecmint/tecmint4.txt/home/tecmint/escritorio/tecmint/tecMint6.txt/home/tecmint/escritorio/tecmint/tecmint7.txt/home/tecmint/escritorio/tecmint/tecMint9.txt/home/tecmint/escritorio/tecmint/tecmint10.txt/home/tecmint/escritorio/tecmint/tecmint2.txt/home/tecmint/escritorio/tecmint/tecmint5.txt/home/tecmint/escritorio/tecmint/tecmint14.txt/home/tecmint/escritorio/tecmint/tecmint1.txt/home/tecmint/escritorio/tecmint/tecmint15.txt/home/tecmint/escritorio/tecmint/tecmint12.TXT
5. Puede ver el tamaño de los archivos duplicados para cada directorio y subdirectorios encontrados dentro del uso del -S y -riñonal opciones al mismo tiempo, como:
$ fdupes -sr/home/avi/escritorio/ 65 bytes cada uno: /home/tecmint/escritorio/tecmint/tecmint13.txt/home/tecmint/escritorio/tecmint/tecmint8.txt/home/tecmint/escritorio/tecmint/tecmint11.txt/home/tecmint/escritorio/tecmint/tecmint3.txt/home/tecmint/escritorio/tecmint/tecmint4.txt/home/tecmint/escritorio/tecmint/tecMint6.txt/home/tecmint/escritorio/tecmint/tecmint7.txt/home/tecmint/escritorio/tecmint/tecMint9.txt/home/tecmint/escritorio/tecmint/tecmint10.txt/home/tecmint/escritorio/tecmint/tecmint2.txt/home/tecmint/escritorio/tecmint/tecmint5.txt/home/tecmint/escritorio/tecmint/tecmint14.txt/home/tecmint/escritorio/tecmint/tecmint1.txt/home/tecmint/escritorio/tecmint/tecmint15.txt/home/tecmint/escritorio/tecmint/tecmint12.TXT 107 bytes cada uno: /home/tecmint/escritorio/resume_files/r-csc.html/home/tecmint/escritorio/resume_files/fc.html
6. Además de buscar en una carpeta o en todas las carpetas de forma recursiva, puede elegir elegir en dos carpetas o tres carpetas según sea necesario. Sin mencionar que puede usar la opción -S y/o -riñonal si es requerido.
$ fdupes/home/avi/escritorio//hogar/avi/plantillas/
7. Para eliminar los archivos duplicados al preservar una copia, puede usar la opción '-d'. Se debe tener cuidado adicional mientras usa esta opción, de lo contrario, puede terminar perdiendo los archivos/datos necesarios y considerarlo, el proceso no es recuperable.
$ fdupes -d/home/$ user/escritorio/tecmint [1]/home/tecmint/escritorio/tecmint/tecmint13.txt [2]/home/tecmint/escritorio/tecmint/tecmint8.txt [3]/home/tecmint/escritorio/tecmint/tecmint11.txt [4]/home/tecmint/escritorio/tecmint/tecMint3.txt [5]/home/tecmint/escritorio/tecmint/tecmint4.txt [6]/home/tecmint/escritorio/tecmint/tecmint6.txt [7]/home/tecmint/escritorio/tecmint/tecmint7.txt [8]/home/tecmint/escritorio/tecmint/tecmint9.txt [9]/home/tecmint/escritorio/tecmint/tecmint10.txt [10]/home/tecmint/escritorio/tecmint/tecmint2.txt [11]/home/tecmint/escritorio/tecmint/tecmint5.txt [12]/home/tecmint/escritorio/tecmint/tecmint14.txt [13]/home/tecmint/escritorio/tecmint/tecmint1.txt [14]/home/tecmint/escritorio/tecmint/tecmint15.txt [15]/home/tecmint/escritorio/tecmint/tecmint12.TXT SET 1 de 1, Preserve archivos [1 - 15, todos]:
Puede notar que todos los duplicados se enumeran y se le solicita que elimine, uno por uno o cierta rango o todo de una vez. Puede seleccionar un rango de algo así como a continuación para eliminar archivos de archivos de rango específico.
Establecer 1 de 1, preservar archivos [1 - 15, todos]: 2-15 [-]/home/tecmint/escritorio/tecmint/tecmint13.txt [+]/home/tecmint/escritorio/tecmint/tecmint8.txt [-]/home/tecmint/escritorio/tecmint/tecmint11.txt [-]/home/tecmint/escritorio/tecmint/tecmint3.txt [-]/home/tecmint/escritorio/tecmint/tecmint4.txt [-]/home/tecmint/escritorio/tecmint/tecmint6.txt [-]/home/tecmint/escritorio/tecmint/tecmint7.txt [-]/home/tecmint/escritorio/tecmint/tecmint9.txt [-]/home/tecmint/escritorio/tecmint/tecmint10.txt [-]/home/tecmint/escritorio/tecmint/tecmint2.txt [-]/home/tecmint/escritorio/tecmint/tecmint5.txt [-]/home/tecmint/escritorio/tecmint/tecmint14.txt [-]/home/tecmint/escritorio/tecmint/tecmint1.txt [-]/home/tecmint/escritorio/tecmint/tecmint15.txt [-]/home/tecmint/escritorio/tecmint/tecmint12.TXT
8. Desde el punto de vista de seguridad, es posible que desee imprimir la salida de 'fdupes' para presentar y luego verificar el archivo de texto para decidir qué archivo eliminar. Esta disminución de las posibilidades de eliminar su archivo accidentalmente. Puedes hacer:
$ fdupes -sr /home> /home /fdupes.TXT
Nota: Puede reemplazar '/hogar' con la carpeta deseada. También use la opción '-r' y '-S' Si desea buscar recursivamente e imprimir, respectivamente.
9. Puede omitir el primer archivo de cada conjunto de coincidencias usando la opción '-F'.
Primera lista de archivos del directorio.
$ ls -l/home/$ user/escritorio/tecmint Total 20 -RW-R-R-- 1 Tecmint Tecmint 65 8 de agosto 11:22 TECMINT9 (tercera copia).txt -rw-r-r-- 1 Tecmint Tecmint 65 8 de agosto 11:22 TecMint9 (4ta copia).txt -rw-r-r-- 1 Tecmint Tecmint 65 8 de agosto 11:22 TecMint9 (otra copia).txt -rw-r-r-- 1 Tecmint Tecmint 65 8 de agosto 11:22 TecMint9 (copia).txt -rw-r-r-- 1 Tecmint Tecmint 65 8 de agosto 11:22 TecMint9.TXT
y luego omita el primer archivo de cada conjunto de coincidencias.
$ fdupes -f/home/$ user/escritorio/tecmint /home/tecmint/escritorio/tecMint9 (copia).txt/home/tecmint/escritorio/tecMint9 (tercera copia).txt/home/tecmint/escritorio/tecMint9 (otra copia).txt/home/tecmint/escritorio/tecMint9 (4ª copia).TXT
10. Verifique la versión instalada de fdupes.
$ FDUPES -Versión fdupes 1.51
11. Si necesita ayuda en los fdupes, puede usar Switch '-h'.
$ fdupes -h Uso: FDUPES [Opciones] Directorio ... -R -Resulte para cada directorio Dado Sigue subdirectorios encontrados dentro de -R --Recurse: para cada directorio dado después de esta opción siga los subdirectorios encontrados dentro (tenga en cuenta el ':' al final de la opción , ManPage para más detalles) -S --syMlinks siga los enlaces simbólicos -h --links normalmente, cuando dos o más archivos apuntan al mismo área de disco, se tratan como no duplicados; Esta opción cambiará este comportamiento -n - -noempty excluir archivos de longitud cero de la consideración -a - -nohidden excluir archivos ocultos de la consideración -f --omitfirst omitir el primer archivo en cada conjunto de coincidencias -1 -Lista de Sameline cada conjunto establecido de coincidencias en una sola línea -S -Size Mostrar tamaño de archivos duplicados -m --summarize resumir la información dupe -q --Quiet Hide Progress Indicator -d -Desvolucrar el usuario del usuario para que los archivos preserven y eliminen todos los demás; importante:En circunstancias particulares, los datos se pueden perder al usar esta opción junto con -s o --symlinks, o al especificar un directorio en particular más de una vez; Consulte la documentación de FDUPES para obtener información adicional -n --noprompt junto con --delete, preserve el primer archivo en cada conjunto de duplicados y elimine el resto sin solicitar el usuario -V -Versión visualización de fdupes Versión -h -Help Pantalla Este mensaje de ayuda
Eso es para todos ahora. Hágame saber cómo estaba encontrando y eliminando archivos duplicados hasta ahora en Linux? y también dime tu opinión sobre esta utilidad. Ponga sus valiosos comentarios en la sección de comentarios a continuación y no se olvide de gustarnos/compartirnos y ayudarnos a difundir.
Estoy trabajando en otra utilidad llamada fslint para eliminar archivos duplicados, pronto publicaré y a ustedes les encantará leer.
- « FreeFileSync compare y sincronice archivos en Ubuntu
- Cómo realizar operaciones de autocuración y reequilibrar en el sistema de archivos Gluster-Parte 2 »