Quantos dados ocupam um arquivo vazio no Linux?

Quantos dados ocupam um arquivo vazio no Linux?

Eu gostaria de calcular ou estimar quanto espaço em disco pode ocupar, digamos 1.000 pastas vazias ou 1.000 arquivos vazios no Linux. Você pode me dar uma estimativa de quanto espaço em disco isso ocupa?

Responder1

Cada pasta consumirá 1 bloco para começar, além de quaisquer dados contidos na entrada do diretório dentro do Linux. O tamanho do bloco varia de sistema de arquivos para sistema de arquivos. Para verificar o tamanho do seu bloco, você pode executar ocomando blockdev.

De acordo com a documentação do GNU, uma entrada de diretório contém o seguinte:

char d_name[] Este é o componente de nome de arquivo terminado em nulo. Este é o único campo com o qual você pode contar em todos os sistemas POSIX.

ino_t d_fileno Este é o número de série do arquivo. Para compatibilidade com BSD, você também pode se referir a este membro como d_ino. Nos sistemas GNU/Linux e GNU/Hurd e na maioria dos sistemas POSIX, para a maioria dos arquivos é igual ao membro st_ino que stat retornará para o arquivo. Consulte Atributos de arquivo.

unsigned char d_namlen Este é o comprimento do nome do arquivo, não incluindo o caractere nulo de terminação. Seu tipo é unsigned char porque é o tipo inteiro de tamanho apropriado. Este membro é uma extensão BSD. O símbolo _DIRENT_HAVE_D_NAMLEN será definido se este membro estiver disponível.

unsigned char d_type Este é o tipo do arquivo, possivelmente desconhecido. As seguintes constantes são definidas para seu valor:

DT_UNKNOWN O tipo é desconhecido. Apenas alguns sistemas de arquivos têm suporte completo para retornar o tipo do arquivo, outros podem sempre retornar este valor.

DT_REG Um arquivo normal.

DT_DIR Um diretório.

DT_FIFO Um pipe nomeado ou FIFO. Consulte Arquivos Especiais FIFO.

DT_SOCK Um soquete de domínio local.

DT_CHR Um dispositivo de caractere.

DT_BLK Um dispositivo de bloco.

DT_LNK Um link simbólico.

São 3 strings de caracteres no total. Seu tamanho irá variar dependendo do comprimento do nome.

Além disso, há também o código de permissões a ser considerado, que será de outro byte ou mais.

Adicione o tamanho do seu bloco (o padrão normal é 4 KB) e some o total.

Se fizermos um SWAG em que tudo totalize 5 KB de dados, isso colocaria o espaço total consumido em aproximadamente 5.000 KB para tudo isso.

Eu tentei isso no meu servidor RHEL e uma pasta vazia aumentou a utilização do disco em 4 kilo bytes. Representa o espaço reservado pela pasta e é derivado diretamente do tamanho do bloco usado no sistema de arquivos. Como uso blocos de 4kb, 4kb foram reservados pelo sistema de arquivos.

Para testar em seu próprio servidor:

em um prompt de comando, execute: df -hk

Observe o valor numérico na coluna "DISPONÍVEL".

mkdir "tanto faz"

Execute df -hk novamente e observe a diferença.

informação relacionada