
Aqui está o resultado da execução ls -l
em um diretório
total 28
-rwxrw-r-- 1 pr3t3nd pr3t3nd 188 Nov 20 20:28 exo1.sh
-rwxrw-r-- 1 pr3t3nd pr3t3nd 202 Nov 20 20:52 exo2_fonction.sh
-rwxrw-r-- 1 pr3t3nd pr3t3nd 176 Nov 20 20:30 exo2.sh
-rw-rw-r-- 1 pr3t3nd pr3t3nd 364 Nov 20 22:24 file
-rw-rw-r-- 1 pr3t3nd pr3t3nd 2912 Nov 20 23:47 file2
drwxrwxr-x 2 pr3t3nd pr3t3nd 4096 Nov 20 23:35 rep
-rwxrw-r-- 1 pr3t3nd pr3t3nd 102 Nov 20 23:45 script.sh
Aqui está o resultado da execução ls -s
no mesmo diretório
total 28
4 exo1.sh 4 exo2.sh 4 file2 4 script.sh
4 exo2_fonction.sh 4 file 4 rep
Por que o tamanho de todos os arquivos é 4?
Responder1
ls -l
exibe o tamanho do arquivo na 5ª coluna. ls -s
não exibe o tamanho do arquivo. O que ele exibe é otamanho alocado. Isso não é a mesma coisa.
O tamanho de um arquivo é uma propriedade do arquivo. É o número de bytes que constituem o conteúdo do arquivo, nem mais, nem menos.
O tamanho alocado de um arquivo é uma propriedade de como o arquivo é armazenado. Na maioria dos casos, o tamanho alocado é um pouco maior que o tamanho, porque os sistemas de arquivos dividem o espaço em blocos e o tamanho alocado é o tamanho total dos blocos usados para armazenar o arquivo. A menos que o tamanho do arquivo seja um múltiplo do tamanho do bloco, haverá um bloco que não será utilizado por completo.
Você está vendo arquivos cujo tamanho é inferior a 4kB e cujo tamanho alocado é exatamente 4kB. Isso é muito comum: você tem um sistema de arquivos com tamanho de bloco de 4kB.
Veja tambémQuando `ls -s` imprime "0"etamanho do bloco de arquivo - diferença entre stat e ls