ls -l diferença de saída entre arquivos e diretórios?

1

Eu olhei para o site da IBM e li a definição de ls -l, mas não consegui encontrar uma resposta para a minha pergunta.

Ao emitir um comando ls -l no AIX, qual é a explicação para os diferentes valores de 'tamanho do arquivo' entre um diretório e um arquivo na saída listada?

Directory =>             drwxr-xr-x    3 owner group     1601536 Sep 27 10:24 directory/

Tar File of Directory => -rw-r--r--    1 owner group  9554513920 Oct 09 10:29 directory.tar

O tamanho real do diretório e do arquivo é o mesmo, com cerca de 9 GB.

Por que o diretório mostra 1601536 (1,6 MB?) e o arquivo é exibido como 9554513920 (9,5 GB)?

Eu sei que não é uma contagem de arquivos porque eu recebo isso por uma contagem de arquivos -

$ cd directory

$ ls | wc -l

20708

Obrigado por qualquer resposta.

    
por hacket 09.10.2013 / 17:45

1 resposta

3

No UNIX, o tamanho do diretório relatado por ls é não do tamanho de todos os arquivos sob ele. É o tamanho do "diretório" como um "arquivo" que contém uma lista de entradas abaixo dele. Isso vem de volta à estrutura original do sistema de arquivos UNIX, onde um diretório era um arquivo com um bit especial que continha uma tabela de entradas de inode abaixo dele.

    
por 09.10.2013 / 18:57

Tags