O tamanho do arquivo mostrado por “du -k” é diferente em diferentes sistemas de arquivos (PRAMFS e FLASH)

4

Eu tenho um arquivo xyz.log que é de tamanho 1,72MB.

No sistema de arquivos FLASH: Se eu executar du -k xyz.log , a saída será 1761 xyz.log .

Eu copiei o mesmo arquivo para armazenamento em RAM e executei o du -k xyz.log output é 221 xyz.log .

Se eu executar ls -lrth , o tamanho do arquivo em ambos os sistemas de arquivos é o mesmo:

-rw-r--r--    1 root     aspa       1.7M Jan  1 00:25 xyz.log

O sistema de arquivos RAM é pramfs e o sistema de arquivos FLASH é jffs2 .

Por que o uso de disco do mesmo arquivo é diferente em sistemas de arquivos diferentes e como obter o mesmo uso de disco em todos os sistemas de arquivos?

    
por Jagan 13.08.2013 / 13:32

1 resposta

4

use du --apparent-size -k

do manual :

‘--apparent-size’

Print apparent sizes, rather than disk usage. The apparent size of a file is the number of bytes reported by wc -c on regular files, or more generally, ls -l --block-size=1 or stat --format=%s. For example, a file containing the word ‘zoo’ with no newline would, of course, have an apparent size of 3. Such a small file may require anywhere from 0 to 16 KiB or more of disk space, depending on the type and configuration of the file system on which the file resides. However, a sparse file created with this command:

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

has an apparent size of 2 GiB, yet on most modern systems, it actually uses almost no disk space.

    
por 13.08.2013 / 13:41