rsyncse puede llevar a carpetas móviles de manera muy similar y superior a la tradicional mvcon las siguientes opciones:
rsync -axvvES --remove-source-files source_directory /destination/
Sin embargo, una cosa que todavía no puedo hacer es eliminar los directorios originales. La --remove-source-filesbandera hace exactamente eso, elimina los archivos de origen, pero no también los directorios de origen. Ojalá hubiera una --remove-source-directoriesbandera también, pero no la hay.
¿Cómo puedo lidiar con esto? Supongo que puedo emitir un mensaje rm -frdespués de la mudanza, sin embargo, preferiría mantener todo el procedimiento en un solo proceso en lugar de introducir posibles errores.

mv?find . -type d -empty | xargs rmdir -prsyncsesión a una lista que luego se procesa siguiendo el proceso que luego lo limpia ... Hmm.Respuestas:
No he encontrado un comando que lo haga de una vez, pero dado que rsync aún funciona mejor que
rm -rf(especialmente si tiene una gran cantidad de directorios) aquí hay dos comandos rsync que hacen un "movimiento" :fuente
El uso de " rm -rf " tiene una condición de carrera inherente, es decir, puede eliminar los archivos que se acaban de crear entre las invocaciones rsync y rm .
Prefiero usar:
Esto NO eliminará los directorios si no están vacíos.
fuente
-depthOSX u otros.Terminé en una situación similar. Quería evitarlo
rm -rf, sabiendo que rsync no pudo copiar algunos archivos, y no quería perderlos.Para eliminar simplemente los directorios vacíos, este es el más conveniente (desde
sourcedir):fuente
¿Por qué no solo agregar
rm -rf source_directorydespués de su rsync?Cada programa de línea de comandos está (idealmente) hecho para realizar una tarea específica, y depende de usted unir varios para realizar tareas más complejas.
fuente
find -depth. ¿Tendría alguna sugerencia en cuanto a un enfoque algorítmico rápido para llegar al final de la pila de directorios, moverse con rsync, correr como se nota y luego retroceder en el árbol?