Como obter o tamanho de um diretório no Linux

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ê omitir sudo, o comando du 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.

Write a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *