Determina o número de arquivos no diretório com apenas 'ls -ald'

4

Eu tenho um diretório com muitos arquivos.

Como posso descobrir o tamanho dos metadados relatados por ls

drwxr-x--- 2 www-data www-data 1017M Aug  8 10:44 cookies_

Quantos arquivos estão no diretório.

Eu não quero contá-los (mesmo em Determinando o número de arquivos em um diretório sem contá-los eles estão contando)

    
por Alex 08.08.2017 / 10:55

1 resposta

16

Você não pode, por vários motivos.

A primeira é que o tamanho de um diretório aumenta, mas não diminui (na maioria dos sistemas de arquivos, de qualquer forma). Tente isto:

mkdir testdir && cd testdir
touch {1..100000}
rm {1..100000}
ls -ld ../testdir

Isso produzirá um diretório razoavelmente grande (nada como o seu, mas isso é irrelevante aqui) sem arquivos ...

O segundo é que, na maioria dos casos, os registros de arquivos dentro de uma entrada de diretório são variáveis em tamanho, dependendo do nome do arquivo. Veja, por exemplo, o layout do disco ext4 .

O terceiro é que o diretório pode nem ser linear, o que complica ainda mais as coisas.

A quarta é que o tamanho de um diretório é um múltiplo do tamanho do bloco, portanto, um diretório com um arquivo e um diretório com vinte normalmente terá o mesmo tamanho.

    
por 08.08.2017 / 11:07

Tags