ls -ld / dir, Solaris [duplicado]

1

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

mas quando executo du -sh , a saída me fornece o tamanho real do diretório, incluindo seu conteúdo.

    
por MUE 18.04.2013 / 16:20

1 resposta

3

Na verdade, se você tivesse muitos arquivos em seu diretório, obteria um número maior lá: quando eu cria 10000 arquivos vazios em um novo diretório, esse número vai de 4096 a 262144.

O tamanho inicial depende do sistema de arquivos e do tamanho dos blocos, conforme especificado ao criar o sistema de arquivos. É uma indicação da quantidade de metadados que o diretório está mantendo (para os arquivos e diretórios contidos nele), e não de quantos dados os arquivos em um diretório estão mantendo.

Para comparar: Um diretório com 10000 arquivos vazios

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

Um diretório com 10000 arquivos de 100000 bytes cada:

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

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

    
por 18.04.2013 / 16:37

Tags