Na cópia, que é considerada: tamanho real ou aparente?

0

Eu queria saber se eu tenho um arquivo com tamanho aparente de 1 GiB, mas o tamanho real de 0 B pode ser copiado para, por exemplo, um pen drive USB com 512 kiB de espaço livre?

Você pode criar um arquivo usando:

dd if=/dev/null of=big-file bs=1 seek=1GiB

Agora você pode ver os tamanhos aparente e real:

du --apparent-size -hs big-file

note remova a opção --apapent-size para obter o tamanho real.

Então, a questão principal é: qual tamanho é levado em consideração ao copiar um arquivo para algum diretório, seja um disco rígido, pen drive, DVD, etc?

Obrigado antecipadamente.

    
por joker 03.10.2018 / 16:52

1 resposta

3

Tamanho real.

Do arquivo de destino.

A implementação mais simples é para não tentar prever isso com antecedência.

Além disso, uma pequena fração é necessária como sobrecarga. Essa sobrecarga seria ainda mais complexa para prever.

O suporte para arquivos esparsos varia, dependendo do sistema de arquivos e do programa que está fazendo a cópia. Mais notavelmente, sistemas de arquivos FAT não suportam arquivos esparsos.

O GNU cp detecta e manipula automaticamente arquivos esparsos. Não verifica o espaço antecipadamente. (Baseado na documentação do GNU coreutils 8.29)

By default, sparse SOURCE files are detected by a crude heuristic and the corresponding DEST file is made sparse as well. That is the behavior selected by --sparse=auto. Specify --sparse=always to create a sparse DEST file whenever the SOURCE file contains a long enough sequence of zero bytes.

Observe que os sistemas de arquivos podem ter diferentes tamanhos de bloco. Isso pode fazer com que a quantidade de espaço usada pelo arquivo esparso aumente ou diminua!

(Escrever dados de arquivo geralmente também requer estruturas de sistema de arquivos internas que ocupam espaço próprio. Isso não é mostrado no tamanho do arquivo - nem o tamanho real nem o aparente. , você também precisa de um inode gratuito. O espaço disponível para inodes é mostrado por df -i . E, obviamente, você precisa de algum espaço para armazenar o nome do arquivo :-); isso é geralmente mostrado no tamanho do diretório pai. Isso é discutido especificamente na questão Posso ficar sem espaço em disco criando um número muito grande de arquivos vazios? )

    
por 03.10.2018 / 17:51