tamanho do diretório relatado por ls [duplicado]

2

Eu entendo que o tamanho relatado por ls corresponde ao número de inodes dentro do diretório, não ao tamanho real deles.

Eu notei um comportamento peculiar ao exibir o tamanho do diretório com ls . Aqui está como reproduzi-lo rapidamente:

primeiro crie um diretório vazio, o tamanho informado por ls é 4096 (como esperado)

mkdir test
ll -d test/
drwx------ 2 root root 4,096  2015-Dec-29  22:22:36  test/

crie 10.000 arquivos dentro dele. Tamanho relatado é agora 167.936

touch test/{1..9999}
ll -d test/
drwx------ 2 root root 167,936  2015-Dec-29  22:23:24  test/

remova todos os arquivos. O tamanho deve diminuir para 4096

rm test/*
ll -d test/
drwx------ 2 root root 167,936  2015-Dec-29  22:23:59  test/

Mas o tamanho ainda é relatado como 167.936.

por quê?

alguém pode explicar isso?

    
por Martin Vegter 29.12.2015 / 22:30

1 resposta

2

Geralmente, os arquivos de diretório não são limpos - seu espaço geralmente é pequeno o suficiente (comparado ao seu conteúdo), o que não é eficaz para fazer isso (particularmente quando eles podem crescer novamente). Encontrar uma resposta autoritária para isso pode ser difícil ... Os comentários do fórum são fáceis:

por 29.12.2015 / 22:37