Os comandos df
e du
são ferramentas essenciais no shell Bash, presente em sistemas Linux, macOS e outros baseados em Unix, para monitorar o uso do espaço em disco. Eles oferecem uma maneira prática de identificar quais arquivos e diretórios estão consumindo o armazenamento do seu sistema.
Analisando o Espaço Total, Disponível e Utilizado no Disco
O Bash incorpora dois comandos distintos para inspecionar o espaço em disco. Utilize o comando df
(disk free, ou sistemas de arquivos em disco) para obter informações sobre o espaço livre e usado. Já o comando du
(disk usage, ou uso do disco) é a ferramenta ideal para descobrir quais arquivos e pastas estão ocupando o espaço em disco.
Para começar, basta digitar df
e pressionar Enter no terminal Bash. Os resultados exibirão informações sobre todos os sistemas de arquivos montados. Inicialmente, pode parecer complexo, mas a estrutura é bem clara.
df
Cada linha da saída é dividida em seis colunas:
Sistema de arquivos: Indica o nome do sistema de arquivos.
Blocos de 1K: Exibe a quantidade de blocos de 1K disponíveis neste sistema de arquivos.
Usado: Apresenta o número de blocos de 1K que estão em uso no sistema.
Disponível: Mostra a quantidade de blocos de 1K livres.
% De uso: Indica a porcentagem de espaço utilizado no sistema de arquivos.
Montado em: Apresenta o ponto de montagem do sistema de arquivos.
Para uma leitura mais amigável, substitua a contagem de blocos de 1K pela opção -B
(tamanho do bloco). Use df
, um espaço e -B
seguido por uma letra da escala: K (quilo), M (mega), G (giga), T (tera), P (peta), E (exa), Z (zeta) ou Y (yotta), representando múltiplos de 1024.
Por exemplo, para visualizar o uso do disco em megabytes, use o seguinte comando (sem espaço entre B
e M
):
df -BM
A opção -h
(legível por humanos) instrui o df
a escolher a unidade mais apropriada para cada sistema de arquivos, exibindo gigabytes, megabytes ou kilobytes, conforme a necessidade.
df -h
A opção -i
(inodes) exibe informações sobre o uso de inodes, estruturas de dados do sistema de arquivos que armazenam metadados sobre arquivos (nome, data de modificação, posição no disco, etc.). Embora não seja usual para todos, é essencial para administradores de sistemas.
df -i
Por padrão, o df
mostra informações sobre todos os sistemas de arquivos montados, incluindo pseudo sistemas como /dev/loop
, usados para arquivos montados como partições, que podem gerar muitos resultados. Se você utiliza o formato de instalação de aplicativos snap
do Ubuntu, poderá ver muitos desses dispositivos. Como não são sistemas de arquivos reais, o espaço disponível sempre será 0.
Para filtrar os resultados, você pode usar a opção -T
(tipo de impressão) para exibir o tipo de sistema de arquivos de cada entrada.
df -T
Sabendo o tipo de sistema de arquivos (como squashfs
para /dev/loop
), podemos excluí-los da saída com a opção -x
:
df -x squashfs
Para um resumo total, use a opção --total
:
df -x squashfs --total
Use a opção -t
(tipo) para exibir apenas sistemas de arquivos de um tipo específico:
df -t ext4
Também é possível especificar sistemas de arquivos pelo nome. No Linux, os nomes de unidades são alfabéticos (/dev/sda
, /dev/sdb
, etc.) e as partições são numeradas (/dev/sda1
é a primeira partição da unidade /dev/sda
). Para ver informações de um sistema de arquivos específico, passe seu nome como parâmetro:
df /dev/sda1
Use curingas (*
para qualquer conjunto de caracteres e ?
para um único caractere) para examinar múltiplas partições:
df /dev/sda*
Para verificar o tamanho de múltiplos sistemas de arquivos, especifique seus nomes. No exemplo abaixo, consultamos os tamanhos de /dev
e /run
, com um resumo total:
df -h --total /dev /run
A opção --output
permite personalizar as colunas exibidas, listando-as separadas por vírgulas (sem espaços):
source: Nome do sistema de arquivos.
fstype: Tipo do sistema de arquivos.
itotal: Tamanho do sistema em inodes.
iused: Espaço usado em inodes.
iavail: Espaço disponível em inodes.
ipcent: Porcentagem de espaço usado em inodes.
size: Tamanho do sistema em blocos de 1K (padrão).
usado: Espaço usado em blocos de 1K (padrão).
avail: Espaço disponível em blocos de 1K (padrão).
pcent: Porcentagem de espaço usado em blocos de 1K (padrão).
arquivo: Nome do sistema de arquivos (se especificado).
alvo: Ponto de montagem.
O exemplo abaixo exibe informações sobre a primeira partição do primeiro disco, utilizando números legíveis por humanos e as colunas source
, fstype
, size
, used
, avail
e pcent
:
df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent
Para simplificar comandos longos, crie um alias. O comando abaixo define um alias dfc
(para df custom
):
alias dfc="df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent"
Basta digitar dfc
e pressionar Enter para executar o comando completo. Para tornar o alias permanente, adicione-o ao seu arquivo .bashrc
ou .bash_aliases
.
Se preferir ver todas as informações possíveis, use a opção -a
(all) em conjunto com --output
(sem especificar colunas):
df -a --output
Para facilitar a análise de grandes saídas, use o comando less
para navegar pelos resultados:
df -a --output | less
Analisando o Que Está Usando o Espaço em Disco
Para descobrir quais pastas estão ocupando o espaço no seu computador, comece com o comando df
para visualizar o uso geral:
df -h -t ext4
Neste exemplo, 78% do espaço na primeira partição está sendo usado. Use o comando du
para listar quais pastas contêm mais dados. Executar o du
sem opções listará todos os diretórios e subdiretórios a partir do diretório atual (o que pode gerar uma lista muito longa se executado a partir do seu diretório pessoal).
du
A saída do du
é simples, mostrando o tamanho e o nome de cada diretório (em blocos de 1K por padrão). A opção -B
permite especificar um tamanho de bloco diferente. O exemplo abaixo utiliza blocos de 1 megabyte:
du -BM
Como no df
, a opção -h
(legível por humanos) ajusta o tamanho do bloco automaticamente:
du -h
A opção -s
(summarize) exibe apenas o total de cada diretório, sem os subdiretórios. O comando abaixo mostra o resumo em formato legível por humanos de todos os diretórios abaixo do diretório atual:
du -h -s *
Para classificar as pastas por tamanho (da maior para a menor), use o seguinte comando, que mostra o tamanho de cada subpasta dentro da pasta “Pictures”:
du -sm Pictures/* | sort -nr
Com df
e du
, você consegue identificar facilmente o uso do espaço em disco e descobrir o que está consumindo esse espaço. Você poderá tomar decisões informadas sobre a gestão dos seus dados, seja movendo-os para outro local, adicionando mais espaço ou apagando arquivos desnecessários. Para conhecer todas as opções desses comandos, consulte a página do manual do Linux para o comando df
e também para o du
.