ls -ld /dir, Solaris

ls -ld /dir, Solaris

Sempre quando executo ls -ld /dira saída me dá o tamanho = 512 mesmo que haja arquivos nela ou não.

mas quando executo du -sha saída, forneça o tamanho real do diretório, incluindo seu conteúdo.

Responder1

Na verdade, se você tivesse muitos arquivos em seu diretório, obteria um número maior: quando eu crio 10.000 arquivos vazios em um novo diretório, esse número vai de 4.096 a 262.144.

O tamanho inicial depende do sistema de arquivos e do tamanho do bloco conforme especificado ao criar o sistema de arquivos. É uma indicação de quantos metadados o diretório contém (para os arquivos e diretórios contidos nele), e não quantos dados os arquivos em um diretório contêm.

Para comparar: Um diretório com 10.000 arquivos vazios

 ls -ld . --> 262144
 du -sh . --> 260K

Um diretório com 10.000 arquivos de 100.000 bytes cada:

 ls -ld . --> 262144
 du -sh . --> 977M

Os metadados têm o mesmo tamanho para ambos os conjuntos de arquivos (eles também têm exatamente os mesmos nomes).

informação relacionada