Por que este diretório vazio é de 3,5 MB?

16

Acabei de ler esta pergunta: O que significa tamanho de um diretório na saída do comando 'ls -l'?

... o que não responde muito bem à minha pergunta. Basicamente, estou movendo arquivos para um NAS. As pastas que eu já mudei estão completamente vazias, sem arquivos ocultos nem nada, e ainda duassim relatam seu tamanho em 3,5 MB. É certo que eles anteriormente continham um grande número de arquivos, com nomes de arquivos longos.

Esse tamanho é simplesmente devido à quantidade e comprimento do nome dos arquivos que estavam naquele diretório? Por que o tamanho não diminuiu agora que as pastas estão vazias (sistema de arquivos ext4)?

shearn89
fonte
1
du tende a pensar de maneira diferente das pessoas, fornece um relatório com base em algumas configurações do sistema de arquivos. você pode verificar com '--apparent-size' aqui: gnu.org/software/coreutils/manual/html_node/du-invocation.html .
Hermann Ingjaldsson
Quando você copia diretórios vazios recém-criados para o NAS, quais são esses tamanhos? Você também tem acesso ao NAS onde você pode executar o tune2fs, por exemplo?
slm
Você já explicou os instantâneos?
Mdpc
@ SLM - eles saem no tamanho normal de 4096 (bytes?).
shearn89
@mdpc - instantâneos?
shearn89

Respostas:

16

Quando você exclui todos os arquivos de um diretório, para a maioria dos sistemas de arquivos, o diretório permanece com o mesmo tamanho.

Se o diretório estiver vazio,

rmdir ./directory_name; mkdir ./directory

O novo diretório resultante será menor. Mas à medida que os arquivos são adicionados, ele aumenta. Não se preocupe com o tamanho do arquivo de diretório, nem com o número de arquivos em um único diretório. Um grande número de arquivos em um único diretório afeta negativamente o desempenho da pesquisa de arquivos. Mesmo com amplo cache de inode.

jim mcnamara
fonte
4
O grande número de arquivos no diretório 1 realmente importa apenas para sistemas de arquivos ext. Outros, como xfs, btrfs, reiser, etc, não têm o mesmo problema.
Patrick
2
Está correto. No entanto, o ufs tem o problema, assim como outros. Embora esta questão seja estritamente ext4, o problema é onipresente, por isso mencionei.
McNamara jim
Além de problemas de desempenho, colocar muitos arquivos em um diretório pode causar outros problemas - isso rm *pode resultar em problemas se você tiver mais de 1024 arquivos.
Sean McSomething
@SeanMcSomething Que problemas você quer dizer?
7289 Hatshepsut
1
@SeanMcSomething Eu não tenho idéia, de onde você conseguiu essa porcaria. A linha de comando de um processo pode ter meio megabyte ou mais. Não tem nada a ver com a contagem dos arquivos, o tamanho total da linha de comando tem um limite, que é muito maior como você diz.
peterh - Restabelece Monica