Um diretório em um sistema de arquivos típico do tipo Unix é apenas um arquivo especialmente atribuído. Então, é um link simbólico. Alguns sistemas de arquivos semelhantes a Unix são capazes de armazenar um pequeno arquivo, como um piscar simbólico dentro do inode. Isso significa que nenhum bloco deve ser alocado para o arquivo e, como os cálculos de tamanho de arquivo não contam os inodes, o arquivo tem tamanho zero.
Um arquivo cujos dados não podem caber em seu inode deve ocupar algum tipo de unidade mínima de armazenamento que é alocada separadamente do inode. (E, em seguida, o espaço de dados do inode é normalmente convertido em uma matriz de ponteiros para blocos desse armazenamento.)
A estratégia mais simples é que tudo é dividido em blocos indivisíveis, todos do mesmo tamanho, e não há dois arquivos que possam compartilhar o armazenamento em um único bloco. No entanto, alguns sistemas de arquivos como o Berkeley FFS podem dividir blocos em fragmentos atribuídos a arquivos diferentes para reduzir o desperdício.
O tamanho do bloco é decidido no momento da criação do sistema de arquivos, como um compromisso entre o endereçamento de um disco enorme e o desperdício de espaço para arquivos pequenos. Tamanhos de blocos típicos são potências de dois começando por volta de 512 (provavelmente raros hoje em dia).
Como você sabe, todo diretório (não-raiz) contém pelo menos duas entradas, porque mesmo um diretório vazio contém o. e .. links. Se você vir um valor diferente de zero como o tamanho de um diretório completamente vazio, isso indica que, no sistema de arquivos fornecido, essas duas entradas de diretório básicas são muito grandes para caber na pequena área de dados do inode. Portanto, os dados do diretório ocupam um bloco alocado separadamente ou um fragmento de bloco.
Parece que em seu sistema de arquivos, o tamanho do bloco é 4096 e não há fragmentos menores. (Ou então, você tem um tamanho de bloco ainda maior e 4096 é o tamanho de um fragmento.) Um diretório começa a ocupar um bloco / fragmento de 4096, e quando entradas suficientes são adicionadas àquele diretório para ficar sem espaço naquela unidade, diretório cresce para 8192, e depois para 12 kilobytes e assim por diante.
Um valor grande-ish para .. indica que o pai é um diretório considerável, que não tem relação com o tamanho do diretório filho.