Android

Como obter o tamanho de um diretório no linux

Verificar tamanho de diretórios no linux

Verificar tamanho de diretórios no linux

Índice:

Anonim

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 de 4096 bytes (4 KB). Esse é o tamanho do espaço no disco usado para armazenar as metainformaçõ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 , que é a abreviação de "uso de disco".

Obtendo o tamanho de um diretório

O comando du exibe a quantidade de espaço no arquivo usada pelos arquivos ou diretórios especificados. Se o caminho especificado for um diretório, você resume o uso do disco de cada subdiretório nesse diretório. Se nenhum caminho for especificado, du reporta 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 especificado 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 humanos. Por exemplo, para obter o tamanho total do diretório /var , você deve executar o seguinte comando:

sudo du -sh /var

A saída será mais ou menos assim:

85G /var

Vamos explicar o comando e seus argumentos:

  • O comando começa com sudo porque a maioria dos arquivos e diretórios dentro do diretório /var pertence ao usuário root e não é legível pelos usuários regulares. Se você omitir sudo o comando du imprimirá "du: Can't read directory". s - Exibe apenas o tamanho total do diretório especificado, não exibe totais de tamanho de arquivo para subdiretórios. h - Tamanhos de impressão em um formato legível por humanos ( h ). /var - O caminho para o diretório que você deseja obter o tamanho.

E se você deseja exibir o uso do disco dos subdiretórios de primeiro nível? Você tem duas opções. O primeiro é usar o símbolo de asterisco ( * ), como mostrado abaixo, o que significa "corresponder a tudo que não começa com um ponto ( . )". A opção -c indica ao du para imprimir um total geral de todos os tamanhos:

sudo du -shc /var/*

24K /var/db 4.0K /var/empty 4.0K /var/games 77G /var/lib 4.0K /var/local 0 /var/lock 3.3G /var/log 0 /var/mail 4.0K /var/opt 0 /var/run 196K /var/spool 28K /var/tmp 85G total

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 :

sudo du -h --max-depth=1 /var

77G /var/lib 24K /var/db 4.0K /var/empty 4.0K /var/local 4.0K /var/opt 196K /var/spool 4.0K /var/games 3.3G /var/log 5.0G /var/cache 28K /var/tmp 85G /var 85G total

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 que está realmente no arquivo.

sudo du -sh --apparent-size /var

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 fonte quando exibido com du (sem --apparent-size ) não é o mesmo que o tamanho no destino.

O comando du também pode ser combinado com outros comandos com pipes.

Por exemplo, para imprimir os 5 maiores diretórios do diretório /var , você deve canalizar a saída de du para o comando sort para ordenar os diretórios por tamanho e, em seguida, canalizar a saída para o comando head que imprimirá apenas os 5 principais diretórios:

sudo du -h /var/ | sort -rh | head -5

85G /var/ 77G /var/lib 75G /var/lib/libvirt/images 75G /var/lib/libvirt 5.0G /var/cache/pacman/pkg

Conclusão

No Linux, você pode obter o tamanho de um diretório usando o comando du .

disco do terminal