Ao listar o conteúdo de um diretório usando o comando ls
, você deve ter notado que o tamanho dos diretórios é quase sempre 4096 bytes (4 KB). Esse é o tamanho do espaço no disco que é usado para armazenar as meta-informações do diretório, não o que ele contém.
O comando que você deseja usar para obter o tamanho real de um diretório é du
, abreviação de “uso de disco”.
Obtendo o tamanho de um diretório #
O exibe a quantidade de espaço no arquivo usado pelos arquivos ou diretórios especificados. Se o caminho especificado for um diretório, du
resume o uso do disco de cada subdiretório nesse diretório . Se nenhum caminho for especificado, du
relata o uso do disco do diretório de trabalho atual.
Quando chamado sem nenhuma opção, du
exibe o uso do disco do diretório fornecido e cada um de seus subdiretórios em bytes.
Normalmente, você deseja exibir o espaço ocupado pelo diretório em um formato legível. Por exemplo, para obter o tamanho total do /var
diretório, você executaria o seguinte comando:
A saída será semelhante a esta:
Vamos explicar o comando e seus argumentos:
- O comando começa com
sudo
porque a maioria dos arquivos e diretórios dentro do/var
O diretório pertence ao usuário root e não pode ser lido pelos usuários regulares. Se você omitirsudo
, o comandodu
imprimirá “du: não é possível ler o diretório”. -
s
– Exibe apenas o tamanho total do diretório especificado, não exibe os totais de tamanho de arquivo para subdiretórios. -
h
– Tamanhos de impressão em um formato legível (h
). -
/var
– O caminho para o diretório que você deseja obter o tamanho.
E se você quiser exibir o uso do disco dos subdiretórios de primeiro nível? Você tem duas opções. A primeira é usar o símbolo de asterisco (*
) como mostrado abaixo, o que significa” combinar tudo que não começa com um ponto final (.
) ”. A opção -c
instrui du
a imprimir um total geral de todos os tamanhos:
Outra maneira de obter um relatório sobre o uso do disco dos subdiretórios de primeiro nível é usar a opção --max-depth
:
Por padrão, o comando du
mostra o espaço em disco usado pelo diretório ou arquivo. Para encontrar o tamanho aparente de um diretório, use a opção --apparent-size
. O “tamanho aparente” de um arquivo é a quantidade de dados realmente contida no arquivo.
Quando você transfere um diretório via SCP, Rsync. Ou SFTP a quantidade de dados transferidos pela rede é o tamanho aparente dos arquivos. É por isso que o tamanho do espaço no disco usado na origem quando exibido com du
(sem --apparent-size
) não é igual ao tamanho do destino.
O comando du
também pode ser combinado com outros comandos com tubos.
Por exemplo, para imprimir os 5 maiores diretórios dentro do diretório /var
, você deve enviar a saída de du
para o comando sort
para classificar os diretórios por seu tamanho e, em seguida, canalizar a saída para o comando head
que imprimirá apenas os 5 principais diretórios:
Conclusão #
No Linux, você pode obter o tamanho de um diretório usando o comando du
.