Acabo de intentar mover un gran árbol de un disco a otro, que era demasiado pequeño. Ahora, me queda algo que realmente no puedo entender: parece que algunos archivos se alejaron del árbol de origen mientras que otros simplemente se copiaron. Esto probablemente no sea cierto, y solo estoy pasando por alto algo, como lo hice cuando revisé el lugar libre en el disco de destino. :RE
El comando era simplemente mv source-dir destination-dir
, donde ambos directorios residen en discos diferentes. Estoy usando mv (GNU coreutils) 7.4
. En ninguna parte de la página de manual encontré las respuestas a las siguientes preguntas:
- ¿Se pueden crear archivos truncados?
- en caso de errores, ¿se eliminará algo en el árbol de origen?
- ¿Cómo recuperarse (de una manera fácil y rápida)?
mv src1 src2 dst
funciona a este respecto similar amv src1 dst; mv src2 dst
y cada unomv src dst
es comocp -a src dst && rm -rf src
?cp -a
ya es recursivo, dudo que se aplique a los archivos y directorios individuales encontrados al atravesar el árbol. Hará algunas pruebas más tarde.Cuando mv se está moviendo a un sistema de archivos diferente, primero copia todos los datos al nuevo sistema de archivos. Una vez que se copian los datos nuevos, se eliminan los datos antiguos. Esto significa que si el movimiento se interrumpe o falla, la ubicación de origen aún debe contener todos los datos.
En cuanto a la recuperación, solo los datos de destino deben estar corruptos. En lugar de usar mv para nuevamente, solo use rsync y luego rm manualmente
fuente