Eu acho que você inseriu essa 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 em blocos (para ser mais específico: comprimento do arquivo ):
$ 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 $
caractere)
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 1 kB, então aqui o tamanho é de 4 × 1024 bytes = 4096 bytes = 4 kiB, que é o tamanho do bloco neste sistema de arquivos)
Para ls
mostrar isso, você precisará usar a -s
opção 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. O último pode ser alterado especificando --block-size
, por exemplo
$ ls -ls --block-size=1 testfile
4096 -rw-r--r-- 1 aw aw 2 Apr 28 22:08 testfile