Es un poco divertido, hay muchas maneras en que las herramientas de línea de comandos de Linux son muy superiores a las de Windows, pero una cosa que no he encontrado es equivalente a la robocopia . Robocopy es mucho más versátil que cp
, y no puedo entender cómo hacer lo que quiero con las herramientas de Linux.
Un caso de uso específico es que tengo dos directorios con archivos en su mayoría similares, pero uno tiene archivos fuente más nuevos y uno tiene archivos de contenido que el otro directorio no tiene, y posiblemente archivos fuente más nuevos (para un sitio web). Quiero copiar los archivos del último directorio en el primero, agregando nuevos archivos de contenido y demás, pero sin sobrescribir los archivos más nuevos en el directorio de destino.
Traté de descubrir cómo hacer esto en Linux durante aproximadamente media hora, decidí que probablemente tendría que aprender bash scripting o algo para hacer lo que quería, y luego me di cuenta de que podía usar robocopy. También tenía otros requisitos. Básicamente, estaba convirtiendo un sitio web de Python (Django) de un repositorio SVN a un repositorio Git, y quería asegurarme de no tener cambios no confirmados en SVN. Sin embargo, quería excluir condicionalmente los .svn
directorios y los .pyc
archivos compilados de Python. El siguiente comando robocopy hace exactamente lo que quiero:
robocopy source destination /XO /E /XD .svn /XF *.pyc
¿Hay algún equivalente a Robocopy en Linux? Lo examiné rsync
brevemente, pero parecía que tendría que configurar un servidor rsync antes de intentar sincronizar las carpetas.