fdupes: una herramienta de línea de comandos para buscar y eliminar archivos duplicados en Linux

fdupes: una herramienta de línea de comandos para buscar y eliminar archivos duplicados en Linux

Es un requisito común encontrar y reemplazar archivos duplicados para la mayoría de los usuarios de computadoras. Encontrar y eliminar archivos duplicados es un trabajo tedioso que requiere tiempo y paciencia. Encontrar archivos duplicados puede ser muy fácil si su máquina funciona con GNU/Linux, gracias a la utilidad ‘ fdupes. .

 Buscar y eliminar archivos duplicados en Linux  Buscar y eliminar duplicados Archivos en Linux Fdupes-Buscar y eliminar archivos duplicados en Linux ¿Qué es fdupes?

Fdupes. es una utilidad de Linux escrita por Adrian Lopez. en lenguaje de programación C. lanzada bajo licencia MIT. La aplicación puede encontrar archivos duplicados en el conjunto de directorios y subdirectorios dado. Los Fdupes reconocen los duplicados comparando la firma MD5 de los archivos seguida de una comparación byte a byte. Se pueden pasar muchas opciones con Fdupes para enumerar, eliminar y reemplazar los archivos con enlaces físicos a duplicados.

La comparación comienza en el orden:

comparación de tamaño. Comparación de firmas MD5 parcial. Comparación de firmas MD5 completa. Comparación de bytes a bytes.

Instalar fdupes en Linux

La instalación de la última versión de fdupes (fdupes versión 1.51) es tan fácil como ejecutar el siguiente comando en sistemas basados ​​en Debian. como Ubuntu. y Linux Mint.

$ sudo apt-get install fdupes freestar.config.enabled_slots.push

Activado Sistemas basados ​​en CentOS. RHEL. y Fedora. debe activar el repositorio de epel para instalar el paquete fdupes.

# yum install fdupes # dnf install fdupes [En Fedora 22 en adelante]

Nota : El administrador de paquetes predeterminado yum. es reemplazado por dnf. desde Fedora 22. en adelante…

Cómo usar el comando fdupes ?

1.. Para fines de demostración, creemos algunos archivos duplicados en un directorio (por ejemplo, tecmint. simplemente como:

$ mkdir/home/”$ USER”/Desktop/tecmint && cd/home/”$ USER”/Desktop/tecmint && para i en 1..15; do echo “Me encanta Tecmint. Tecmint es una comunidad muy agradable de usuarios de Linux”.> tecmint $ i .txt; done

Después de ejecutar el comando anterior, verifiquemos que los archivos duplicados están creados o no usando 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 de agosto 8 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 tecmint 8.txt-rw-r-r–1 tecmint tecmint 65 8 de agosto 11:22 tecmint9.txt

El script anterior crea archivos 15. a saber, tecmint1.txt, tecmint2.txt… tecmint15 .txt y todos los archivos contienen los mismos datos, es decir,

“Me encanta Tecmint. Tecmint es una comunidad muy agradable de usuarios de Linux. “

2.. Ahora busque archivos duplicados dentro de la carpeta tecmint.

$ fdupes/home/$ USER/Desktop/tecmint. home/tecmint/Desktop/tecmint/tecmint13.txt/home/tecmint/Desktop/tecmint/tecmint8.txt/home/tecmint/Desktop/tecmint/tecmint11.txt/home/tecmint/Desktop/tecmint/tecmint3.txt/home/tecmint/Desktop/tecmint/tecmint4.txt/home/tecmint/Desktop/tecmint/tecmint6 .txt/home/tecmint/Desktop/tecmint/tecmint7.txt/home/tecmint/Desktop/tecmint/tecmint9.txt/home/tecmint/Desktop/tecmint/tecmint10.txt/home/tecmint/Desktop/tecmint/tecmint2.txt/home/tecmint/Desktop/tecmint/tecmint5.txt/home/tecmint/Desktop/tecmint/tecmint14.txt/home/tecmint/Desktop/tecmint/tecmint1.txt/home/tecmint/Desktop/tecmint/tecmint15.txt/home/tecmint/Desktop/tecmint/tecmint12.txt

3.. Busque duplicados de forma recursiva en cada directorio, incluidos sus subdirectorios, utilizando la opción -r.

Busca en todos los archivos y carpetas de forma recursiva, dependiendo del número de archivos d, tomará algún tiempo escanear los duplicados. Mientras tanto, se le presentará el progreso total en la terminal, algo como esto.

$ fdupes-r/home. Progress [37780/54747 ] 69%

4.. Vea el tamaño de los duplicados encontrados dentro de una carpeta usando la opción -S.

$ fdupes-S/home/$ USER/Desktop/tecmint. 65 bytes cada uno. /home/tecmint/Desktop/tecmint/tecmint13.txt/home/tecmint/Desktop/tecmint/tecmint8.txt/home/tecmint/Desktop/tecmint/tecmint11.txt/home/tecmint/Desktop/tecmint/tecmint3.txt/home/tecmint/Desktop/tecmint/tecmint4.txt/home/tecmint/Desktop/tecmint/tecmint6.txt/home/tecmint/Desktop/tecmint/tecmint7.txt/home/tecmint/Desktop/tecmint/tecmint9.txt/home/tecmint/Desktop/tecmint/tecmint10.txt/home/tecmint/Desktop/tecmint/tecmint2.txt/home/tecmint/Desktop/tecmint/tecmint5.txt/home/tecmint/Desktop/tecmint/tecmint14.t xt/home/tecmint/Desktop/tecmint/tecmint1.txt/home/tecmint/Desktop/tecmint/tecmint15.txt/home/tecmint/Desktop/tecmint/tecmint12.txt

5.. Usted puede ver el tamaño de los archivos duplicados para cada directorio y subdirectorio que se encuentre usando las opciones -S. y -r. al mismo tiempo, como:

$ fdupes-Sr/home/avi/Desktop/ 65 bytes cada uno:. home/tecmint/Desktop/tecmint/tecmint13.txt/home/tecmint/Desktop/tecmint/tecmint8.txt/home/tecmint/Desktop/tecmint/tecmint11.txt/home/tecmint/Desktop/tecmint/tecmint3.txt/home/tecmint/Desktop/tecmint/tecmint4 .txt/home/tecmint/Desktop/tecmint/tecmint6.txt/home/tecmint/Desktop/tecmint/tecmint7.txt/home/tecmint/Desktop/tecmint/tecmint9.txt/home/tecmint/Desktop/tecmint/tecmint10.txt/home/tecmint/Desktop/tecmint/tecmint2.txt/home/tecmint/Desktop/tecmint/tecmint5.txt/home/te cmint/Desktop/tecmint/tecmint14.txt/home/tecmint/Desktop/tecmint/tecmint1.txt/home/tecmint/Desktop/tecmint/tecmint15.txt/home/tecmint/Desktop/tecmint/tecmint12.txt 107 bytes cada uno:. home/tecmint/Desktop/resume_files/r-csc.html/home/tecmint/Desktop/resume_files/fc.html

6. Aparte de buscar en una carpeta o en todas las carpetas de forma recursiva, puede elegir entre dos carpetas o tres carpetas, según sea necesario. Sin mencionar que puede usar la opción -S. y/o -r. si es necesario.

$ fdupes/home/avi/Desktop//home/avi/Templates/

7.. Para eliminar los archivos duplicados conservando una copia puede utilizar la opción ‘-d’. Se debe tener especial cuidado al usar esta opción, de lo contrario, podría terminar perdiendo los archivos/datos necesarios y tenga en cuenta que el proceso es irrecuperable.

$ fdupes-d/home/$ USER/Desktop/tecmint. [1]/home/tecmint/Desktop/tecmint/tecmint13.txt [2]/home/tecmint/Desktop/tecmint/tecmint8.txt [3]/home/tecmint/Desktop/tecmint/tecmint11.txt [4]/home/tecmint/Desktop/tecmint/tecmint3.txt [5]/home/tecmint/Escritorio/tecmint/tecmint4.txt [6]/home/tecmint/Desktop/tecmint/tecmint6.txt [7]/home/tecmint/Desktop/tecmint/tecmint7.txt [8]/home/tecmint/Desktop/tecmint/tecmint9 .txt [9]/home/tecmint/Desktop/tecmint/tecmint10.txt [10]/home/tecmint/Desktop/tecmint/tecmint2.txt [11]/home/tecmint/Desktop/tecmint/tecmint5.txt [12]/home/tecmint/Desktop/tecmint/tecmint14.txt [13]/home/tecmint/Desktop/tecmint/tecmint1.txt [14]/home/tecmint/Desktop/tecmint/tecmint15.txt [15]/home/tecmint/Desktop/tecmint/tecmint12.txt Conjunto 1 de 1, preservar archivos [1-15, todos]:

Puede notar que todos los duplicados están listados y se le pide que los elimine, ya sea uno por uno o cierto rango o todos. en uno ir. Puede seleccionar un rango similar al siguiente para eliminar archivos de un rango específico.

Conjunto 1 de 1, conservar archivos [1-15, todos]: 2-15. [-]/home/tecmint/Desktop/tecmint/tecmint13.txt [+]/home/tecmint/Desktop/tecmint/tecmint8.txt [-]/home/tecmint/Desktop/tecmint/tecmint11.txt [-]/home/tecmint/Desktop/tecmint/tecmint3.txt [-]/home/tecmint/Desktop/tecmint/tecmint4.txt [-]/home/tecmint/Desktop/tecmint/tecmint6.txt [-]/home/tecmint/Desktop/tecmint/tecmint7.txt [-]/home/tecmint/Desktop/tecmint/tecmint9.txt [-]/home/tecmint/Desktop/tecmint/tecmint10.txt [-]/home/tecmint/Desktop/tecmint/tecmint2.txt [-]/home/tecmint/Desktop/tecmint/tecmint5.txt [-]/home/tecmint/Desktop/tecmint/tecmint14.txt [-]/home/tecmint/Desktop/tecmint/tecmint1.txt [-]/home/tecmint/Desktop/tecmint/tecmint15.txt [-]/home/tecmint/Desktop/tecmint/tecmint12.txt

8.. Desde el punto de vista de la seguridad, es posible que desee imprimir la salida de “fdupes”. en un archivo y luego verificar el archivo de texto para decidir qué archivo eliminar. Esto reduce las posibilidades de que su archivo se elimine accidentalmente. Puede hacerlo:

$ fdupes-Sr/home>/home/fdupes.txt

Nota. puede reemplazar ‘/home ‘ con la carpeta deseada. También use la opción ‘-r’. y ‘-S’. si desea buscar de forma recursiva y Tamaño de impresión, respectivamente.

9.. Puede omitir el primer archivo de cada conjunto de coincidencias utilizando la opción ‘-f’.

Primera lista de archivos del directorio.

$ ls-l/home/$ USER/Desktop/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 (cuarta 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/Desktop/tecmint. home/tecmint/Desktop/tecmint9 (copia) .txt/home/tecmint/Desktop/tecmint9 (tercera copia) .txt/home/tecmint/Desktop/tecmint9 (otro cop y) .txt/home/tecmint/Desktop/tecmint9 (4ª copia) .txt

10.. Verifique la versión instalada de fdupes.

$ fdupes–version. fdupes 1.51

11.. Si necesita ayuda con fdupes, puede usar el interruptor ‘-h’.