Eu apenas tentei mover uma grande árvore de um disco para outro, que era muito pequeno. Agora, fiquei com algo que realmente não consigo entender - parece que alguns arquivos foram realmente movidos para longe da árvore de origem, enquanto outros foram copiados. Provavelmente isso não é verdade, e estou apenas ignorando algo, como fiz quando verifico o local livre no disco de destino. : D
O comando foi simplesmente mv source-dir destination-dir
, onde os dois diretórios residem em discos diferentes. Estou usando mv (GNU coreutils) 7.4
. Em nenhum lugar da página do manual encontrei as respostas para as seguintes perguntas:
- arquivos truncados podem ser criados?
- em caso de erros, alguma coisa na árvore de origem será excluída?
- como recuperar (de maneira fácil e rápida)?
mv src1 src2 dst
funciona nesse sentido de forma semelhante amv src1 dst; mv src2 dst
cada singlemv src dst
e comocp -a src dst && rm -rf src
?cp -a
já é recursivo, duvido que se aplique a arquivos e diretórios individuais encontrados ao percorrer a árvore. Fará alguns testes mais tarde.Quando o mv está mudando para um sistema de arquivos diferente, ele copia todos os dados para o novo sistema de arquivos. Depois que os novos dados são copiados, os dados antigos são removidos. Isso significa que, se a movimentação for interrompida por falha, o local de origem ainda deverá conter todos os dados.
Na recuperação, apenas os dados de destino devem estar corrompidos. Em vez de usar mv para novamente, basta usar rsync e depois rm manualmente
fonte