O 12
que você vê não é o número de arquivos, mas o número de blocos de disco consumidos.
De info coreutils 'ls invocation'
:
For each directory that is listed, preface the files with a line
'total BLOCKS', where BLOCKS is the total disk allocation for all
files in that directory. The block size currently defaults to 1024
bytes, but this can be overridden (*note Block size::). The
BLOCKS computed counts each hard link separately; this is arguably
a deficiency.
O total passa de 12
para 20
quando você usa ls -la
em vez de ls -l
porque está contando dois diretórios adicionais: .
e ..
. Você está usando quatro blocos de disco para cada diretório (vazio), então seu total vai de 3 × 4 a 5 × 4. (Com toda a probabilidade, você está usando um bloco de disco de 4096 bytes para cada diretório como indica a página info
, o utilitário não verifica o formato do disco, mas supõe um tamanho de bloco de 1024
, a menos que seja instruído de outra forma.
Se você quiser simplesmente obter o número de arquivos, tente algo como
ls | wc -l