O formato do diretório depende inteiramente do sistema de arquivos.
No mínimo, uma entrada de diretório deve conter o nome do arquivo e um número de inode.
Para usar o Linux ext4
filesystem (e versões mais antigas) como exemplo, a entrada de diretório original tinha o número de inode (4 bytes), o comprimento do nome de arquivo (2 bytes) e o comprimento total de entrada (2 bytes), além do próprio nome do arquivo. (IIRC o comprimento total é especificado explicitamente para permitir preenchimento e tal.)
As versões atuais (de ext3
) também suportam um armazenamento de tipo de árvore, que permite pesquisas mais rápidas em diretórios com um grande número de arquivos, mas é claro que possui um formato mais complicado.
Embora em ext4
, o tamanho de um diretório é mostrado apenas como um múltiplo do tamanho do bloco, ou seja, um diretório vazio tem tamanho 4096
e não aumenta até que arquivos suficientes sejam criados para exigir a alocação de um novo bloco de dados para isso.
O RHEL 7 usa o XFS como o sistema de arquivos padrão, de modo que pode ser o que você está executando. O XFS tem vários formatos de diretório , e o forma abreviada usada para diretórios pequenos tem essencialmente o mesmo conjunto mínimo de inode + nome do arquivo + tamanho do nome do arquivo + comprimento total.