Habiendo migrado a Linux desde Windows, me gustaría encontrar un software alternativo a Winmerge o más bien aprender herramientas de línea de comandos para comparar y sincronizar dos carpetas en Linux. Le agradecería que me dijera cómo realizar las siguientes tareas en la línea de comandos... (he estudiado diff y rsync, pero aún necesito ayuda).
Tenemos dos carpetas:“/home/user/A” y “/home/user/B”
La carpeta A es el lugar donde se guardan los archivos y carpetas regulares y la carpeta B es una carpeta de respaldo que sirve como un espejo completo de la carpeta A. (El usuario no guarda ni modifica nada directamente en la carpeta B).
Mis preguntas son:
-
¿Cómo enumerar los archivos que existen solo en la carpeta B? (Por ejemplo, los eliminados de la carpeta A desde la última sincronización).
-
¿Cómo copiar archivos que existen solo en la carpeta B de nuevo en la carpeta A?
-
¿Cómo enumerar los archivos que existen en ambas carpetas pero que tienen marcas de tiempo o tamaños diferentes? (Los que se han modificado en la carpeta A desde la última sincronización. Me gustaría evitar el uso de sumas de comprobación, porque hay decenas de miles de archivos y haría que el proceso fuera demasiado lento).
-
¿Cómo hacer una copia exacta de la carpeta A en la carpeta B? Es decir, copia todo lo que esté de la carpeta A en la carpeta B que existe solo en la carpeta A y elimina todo lo que esté en la carpeta B de la carpeta B, pero sin tocar los archivos que son iguales en ambas carpetas.
Respuesta aceptada:
Esto coloca la carpeta A en la carpeta B:
rsync -avu --delete "/home/user/A" "/home/user/B"
Si desea el contenido de las carpetas A y B para ser lo mismo, pon /home/user/A/
(con la barra oblicua) como fuente. Esto no toma la carpeta A sino todo su contenido y lo coloca en la carpeta B. Así:
rsync -avu --delete "/home/user/A/" "/home/user/B"
-a
Realice la sincronización conservando todos los atributos del sistema de archivos-v
ejecutar detalladamente-u
solo copie archivos con un tiempo de modificación más reciente (o diferencia de tamaño si los tiempos son iguales)--delete
elimine los archivos en la carpeta de destino que no existen en la fuente
Página de manual:https://download.samba.org/pub/rsync/rsync.html