Por que o espaço livre na partição de origem não é alterado durante “mv”?

11

Estou executando mv para mover um diretório (que contém muitos arquivos) de uma partição para outra. Enquanto mv está movendo arquivos individuais no diretório, um por um, percebo que o tamanho do espaço livre da partição de origem não muda, enquanto o tamanho do espaço livre da partição de destino está diminuindo.

Por que está funcionando dessa maneira, em vez da soma dos tamanhos de espaço livre das partições de origem e destino permanecerem os mesmos?

    
por Tim 14.02.2015 / 04:25

2 respostas

14

Como POSIX define, o mv irá duplicar o arquivo de origem para o caminho de destino, e Se nada der errado, o arquivo de origem será removido:

  1. The file hierarchy rooted in source_file shall be duplicated as a file hierarchy rooted in the destination path

  2. The file hierarchy rooted in source_file shall be removed. If this fails for any reason, mv shall write a diagnostic message to the standard error, do nothing more with the current source_file, and go on to any remaining source_files.

Se você se mover no mesmo sistema de arquivos, moverá apenas a entrada de um local no sistema de arquivos para outro.

Garante que você não perderá o arquivo de origem se ocorrerem erros durante o processo de mudança.

    
por 14.02.2015 / 05:16
15

Ele está sendo conservador e não está excluindo arquivos até que a cópia seja bem-sucedida. Isso facilita a recuperação se algo der errado.

    
por 14.02.2015 / 05:16

Tags