Eu acho que você tem aquela letra no arquivo com echo a > file
ou vim file
, o que significa que você terá essa letra e uma nova linha adicional (dois caracteres, portanto, dois bytes). ls -l
mostra o tamanho do arquivo em bytes, não blocos (para ser mais específico: arquivo comprimento ):
$ echo a > testfile
$ ls -l testfile
-rw-r--r-- 1 user user 2 Apr 28 22:08 testfile
$ cat -A testfile
a$
(observe que cat -A
exibe novas linhas como $
character)
Em contraste com ls -l
, du
mostrará o tamanho real ocupado no disco:
$ du testfile
4
(na verdade, du
mostra o tamanho em unidades de 1kiB, então aqui o tamanho é 4 × 1024 bytes = 4096 bytes = 4 kiB, que é o tamanho do bloco neste sistema de arquivos)
Para que ls
mostre isso, você terá que usar a opção -s
em vez de / além de -l
:
$ ls -ls testfile
4 -rw-r--r-- 1 user user 2 Apr 28 22:08 testfile
A primeira coluna é o tamanho alocado, novamente em unidades de 1kiB. A última pode ser alterada especificando --block-size
, por exemplo,
$ ls -ls --block-size=1 testfile
4096 -rw-r--r-- 1 aw aw 2 Apr 28 22:08 testfile