
Sólo quiero mover directorios. Miré sucesivamente mv, cp y rsync, ya que cada herramienta a su vez no parecía tener la opción de eliminar directorios del origen después de copiarlos. Por ejemplo, mv necesita archivos, no directorios, cuando src y dst están en dispositivos diferentes:
"Error al mover entre dispositivos: src a dst; no se puede eliminar el destino: es un directorio"
Quizás la forma más sencilla de hacerlo es mediante el uso de un cmd de eliminación adicional, aunque preferiría no usarlo, ya que aumenta el riesgo de pérdida de datos.
Respuesta1
Como dijo Bob. Desafortunadamente no puedo (todavía) comentar, así que tengo que colocar mis ajustes aquí. Sugeriría usar una versión ligeramente modificada del comando Bobs:
cp -rp source-dir target-dir && rm -r source-dir;
El doble signo garantiza que el segundo comando solo se ejecute si el primero terminaexitosamente-- sería un horror si la copia falla por alguna razón (por ejemplo, no hay suficiente espacio en el volumen de destino), y la fuente se eliminaría de todos modos...
Respuesta2
De hecho,mvpuede "mover" directorios; pero no puede moverse entre dispositivos o sistemas de archivos. Se ejecuta muy rápido porque lo único que hace es redefinir el puntero del archivo; Los contenidos en sí no se copian.
Entonces, necesitas dos comandos (copiar y luego eliminar). En mi sistema Solaris, muevo directorios con estos dos comandos:
cp -rp source-dir target-dir; rm -r source-dir;
Consulte las páginas de manual para asegurarse de utilizar la sintaxis correcta para su entorno y para el tratamiento de cualquier enlace simbólico que pueda existir.