Como o sujeito diz; Quero saber por que todos os diretórios têm um tamanho igual a 4K, mesmo que contenham arquivos com tamanhos maiores que 4K.
Por favor, dê uma olhada no seguinte: -
$ ls -lh
total 2.0M
drwxr-xr-x 4 ankit ankit 4.0K Sep 11 07:28 Desktop
$ ls -lrh Desktop/
-rw-rw-r-- 1 ankit ankit 9.1M Aug 4 11:15 sophosthreatsaurusaz.pdf
-rw------- 1 ankit ankit 107K Dec 27 2010 KP 3 0.pdf
drwxrwsr-x 9 ankit ankit 4.0K Sep 10 19:26 eclipse
PS: Estou ciente do du -sh
utilitário de linha de comando.
Edit: Estou assumindo o diretório como um contêiner para arquivos.
filesystem
files
Ankit
fonte
fonte
Respostas:
ls
mostra o tamanho desse link , não o espaço total ocupado pelo conteúdo do diretório.fonte
Para entender isso, é melhor você ter algum conhecimento básico do seguinte (sistema de arquivos):
No
ext4
sistema de arquivos típico (o que a maioria das pessoas usa), oinode
tamanho padrão é 256 bytes, o tamanho do bloco é 4096 bytes.Um diretório é apenas um arquivo especial que contém uma matriz de nomes de arquivos e números de inode. Quando o diretório foi criado, o sistema de arquivos alocou 1 inode ao diretório com um "nome de arquivo" (na verdade, nome do diretório). O inode aponta para um único bloco de dados (sobrecarga mínima), que é 4096 bytes. É por isso que você vê 4096 / 4.0K ao usar
ls
.Você pode obter os detalhes usando
tune2fs
&dumpe2fs
.Exemplo
fonte
Fonte
fonte