GNU/Linux >> Tutoriales Linux >  >> Linux

La mejor manera de comparar árboles de directorios enormes

solo puedes usar en la terminal

du -a

Esto devolverá todos los archivos en todas las subcarpetas, incluidos los tamaños, luego simplemente compare los archivos

Para guardar los datos en un archivo de texto

du -a > dump.txt

Entonces puedes usar algo como diff para comparar los archivos

Esto es para Linux :D


He usado hash MD5 y diff para comparar árboles en el pasado. Es lento pero encontrará archivos modificados en los casos en que las fechas no sean confiables. También es portátil para que pueda transferir el índice en lugar de comparar archivos a través de la red.

find /path/to/check -type f | xargs md5sum > after.txt

diff before.txt after.txt > diffs.txt

Intentaré ampliar un poco sobre cómo hacerlo con Total Commander (espero haber entendido lo que quieres hacer).

  • instale el complemento DiskDir packer (puse un enlace directo al complemento, si lo prefiere, puede ir a la página de complementos y buscar el complemento DiskDir
  • después de instalar el complemento, "empaque" el directorio del que desea realizar un seguimiento de los cambios con Alt+F5 y seleccione "lst" de la lista desplegable en la parte del cuadro de diálogo de Packer; esto creará un "paquete" que puede ingresar presionando enter, como si ingresara a un directorio y mostrará el contenido completo del directorio
  • al comparar resultados, vaya al directorio original en el panel izquierdo e ingrese la instantánea deseada en el panel derecho
  • use la función "Sincronizar directorios", ubicada en el menú Comandos
  • en la ventana Sincronizar directorios, desmarque comparar por contenido, marque Subdirectorios e Ignorar fecha (o no si la fecha cambiada es importante) y ejecute la comparación
  • la ventana le mostrará archivos que son iguales (en este caso no por contenido, solo por tamaño), archivos que son diferentes y archivos que faltan en el lado izquierdo/derecho

Dado que la instantánea es un archivo de texto sin formato y no está comparando por contenido, debería ser rápido, pero nunca lo usé para un directorio realmente grande.

Esto es útil si no está haciendo copias de seguridad, sino que solo desea hacer una instantánea de los contenidos del directorio en algún momento. Si realiza copias de seguridad, puede usar la misma herramienta (Sincronizar directorios) para comparar también por contenido.

También hay una versión extendida del complemento DiskDir, el enlace de descarga está en la primera publicación. Esta versión le permite mostrar paquetes (como zip, 7z...) como directorios en la instantánea. Por supuesto, esto aumentaría el tiempo para hacer una instantánea.


Linux
  1. Cómo extraer archivos Tar a un directorio específico o diferente en Linux

  2. Cómo eliminar archivos ENORMES (100-200 GB) en Linux

  3. Linux:compare la estructura de directorios sin comparar archivos

  4. ¿Cómo tar archivos con un orden ordenado?

  5. ¿Cómo eliminar archivos ._ en un directorio? ubuntu

Cómo comparar dos archivos en la terminal de Linux

Cómo listar archivos recursivamente en Linux

Cómo contar archivos en el directorio en Linux

¿Cómo cambiar archivos o permisos de directorio en cPanel?

Cómo contar el número de archivos en un directorio en Linux

¿Cómo puedo eliminar archivos duplicados en árboles de directorios separados?