Como visualizar o espaço livre em disco e o uso do disco no terminal Linux

Os comandos df e du relatam o uso de espaço em disco de dentro do shell Bash usado no Linux, macOS e muitos outros sistemas operacionais do tipo Unix. Esses comandos permitem identificar facilmente o que está consumindo o armazenamento do sistema.

Visualizando o Espaço Total, Disponível e Usado em Disco

O Bash contém dois comandos úteis relacionados ao espaço em disco. Para descobrir o espaço em disco disponível e usado, use df (sistemas de arquivos em disco, às vezes chamados de disco livre). Para descobrir o que está ocupando o espaço em disco usado, use du (uso de disco).

Digite df e pressione Enter em uma janela de terminal Bash para começar. Você verá muitos resultados semelhantes à captura de tela abaixo. Usar df sem nenhuma opção exibirá o espaço disponível e usado para todos os sistemas de arquivos montados. À primeira vista, pode parecer impenetrável, mas é bem fácil de entender.

df

Cada linha do display é composta por seis colunas.

Sistema de arquivos: O nome deste sistema de arquivos.
Blocos de 1 K: O número de blocos de 1 K que estão disponíveis neste sistema de arquivos.
Usado: O número de blocos de 1K que foram usados ​​neste sistema de arquivos.
Disponível: O número de blocos de 1K que não são usados ​​neste sistema de arquivos.
% De uso: A quantidade de espaço usado neste sistema de arquivos fornecida como uma porcentagem.
Arquivo: o nome do sistema de arquivos, se especificado na linha de comando.
Montado em: O ponto de montagem do sistema de arquivos.

Você pode substituir as contagens de bloco de 1K por uma saída mais útil usando a opção -B (tamanho do bloco). Para usar esta opção, digite df, um espaço e depois -B e uma letra da lista de K, M, G, T, P, E, Z ou Y. Essas letras representam o quilo, mega, giga, tera, valores peta, exa, zeta e yotta da escala múltipla de 1024.

Por exemplo, para ver os números de uso do disco em megabytes, você usaria o seguinte comando. Observe que não há espaço entre o B e o M.

df -BM

A opção -h (legível por humanos) instrui df a usar a unidade mais aplicável para o tamanho de cada sistema de arquivos. Na próxima saída, observe que existem sistemas de arquivos com tamanhos de gigabyte, megabyte e até kilobyte.

df -h

Se você precisar ver as informações representadas em números de inodes, use a opção -i (inodes). Um inode é uma estrutura de dados usada por sistemas de arquivos Linux para descrever arquivos e armazenar metadados sobre eles. No Linux, os inodes armazenam dados como nome, data de modificação, posição no disco rígido e assim por diante para cada arquivo e diretório. Isso não será útil para a maioria das pessoas, mas os administradores de sistema às vezes devem consultar esse tipo de informação.

df -i

A menos que seja instruído a não fazê-lo, df fornecerá informações sobre todos os sistemas de arquivos montados. Isso pode levar a uma tela desordenada com muita saída. Por exemplo, as entradas / dev / loop nas listas são pseudo sistemas de arquivos que permitem que um arquivo seja montado como se fosse uma partição. Se você usar o novo método snap do Ubuntu para instalar aplicativos, poderá adquirir muitos deles. O espaço disponível neles sempre será 0 porque eles não são realmente um sistema de arquivos, então não precisamos vê-los.

  Como criar um NAS Linux com Amahi

Podemos dizer ao df para excluir sistemas de arquivos de um tipo específico. Para fazer isso, precisamos saber que tipo de sistema de arquivos desejamos excluir. A opção -T (tipo de impressão) nos fornecerá essa informação. Ele instrui o df a incluir o tipo de sistema de arquivos na saída.

df -T

As entradas / dev / loop são todos sistemas de arquivos squashfs. Podemos excluí-los com o seguinte comando:

df -x squashfs

Isso nos dá uma saída mais gerenciável. Para obter um total, podemos adicionar a opção –total.

df -x squashfs --total

Podemos pedir ao df para incluir apenas sistemas de arquivos de um tipo particular, usando a opção -t (tipo).

df -t ext4

Se quisermos ver os tamanhos de um conjunto de sistemas de arquivos, podemos especificá-los pelo nome. Os nomes das unidades no Linux são alfabéticos. A primeira unidade é chamada / dev / sda, a segunda unidade é / dev / sdb e assim por diante. As partições são numeradas. Portanto, / dev / sda1 é a primeira partição na unidade / dev / sda. Dizemos ao df para retornar informações sobre um determinado sistema de arquivos, passando o nome do sistema de arquivos como um parâmetro de comando. Vejamos a primeira partição do primeiro disco rígido.

df /dev/sda1

Observe que você pode usar curingas no nome do sistema de arquivos, onde * representa qualquer conjunto de caracteres e? representa qualquer caractere único. Portanto, para examinar todas as partições na primeira unidade, poderíamos usar:

df /dev/sda*

Podemos pedir ao df para relatar sobre um conjunto de sistemas de arquivos nomeados. Ele estamos solicitando os tamanhos dos sistemas de arquivos / dev e / run, e gostaríamos de um total.

df -h --total /dev /run

Para personalizar ainda mais a exibição, podemos dizer ao df quais colunas incluir. Para fazer isso, use a opção –output e forneça uma lista separada por vírgulas dos nomes das colunas necessárias. Certifique-se de não incluir espaços na lista separada por vírgulas.

  Como instalar o navegador Qupzilla no Linux

source: O nome do sistema de arquivos.
fstype: O tipo do sistema de arquivos.
itotal: O tamanho do sistema de arquivos em inodes.
iused: O espaço usado no sistema de arquivos em inodes.
iavail: O espaço disponível no sistema de arquivos em inodes.
ipcent: A porcentagem de espaço usado no sistema de arquivos em inodes, como uma porcentagem.
size: O tamanho do sistema de arquivos, por padrão em blocos de 1K.
usado: O espaço usado no sistema de arquivos, por padrão em blocos de 1K.
avail: O espaço disponível no sistema de arquivos, por padrão em blocos de 1K.
pcent: A porcentagem de espaço usado no sistema de arquivos em inodes, por padrão em blocos de 1K.
arquivo: O nome do sistema de arquivos, se especificado na linha de comando.
alvo: O ponto de montagem do sistema de arquivos.

Vamos pedir ao df para relatar sobre a primeira partição na primeira unidade, com números legíveis por humanos e com as colunas source, fstype, size, used, avail e pcent:

df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent

Comandos longos são candidatos perfeitos para serem transformados em apelidos. Podemos criar um alias dfc (para df custom) digitando o seguinte e pressionando Enter:

alias dfc="df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent"

Criando um alias com o alias de comando dfc =

Digitar dfc e pressionar Enter terá o mesmo efeito que digitar no comando longo. Para tornar este alias permanente, adicione-o ao seu arquivo .bashrc ou .bash_aliases.

Temos procurado maneiras de refinar a saída do df para que as informações que ele exibe correspondam aos seus requisitos. Se você quiser seguir a abordagem oposta e fazer com que df retorne todas as informações, ele possivelmente pode usar a opção -a (all) e a opção –output conforme mostrado abaixo. A opção -a (all) pede ao df para incluir todos os sistemas de arquivos, e usar a opção –output sem uma lista de colunas separada por vírgulas faz com que o df inclua todas as colunas.

df -a --output

Canalizar a saída de df por meio do comando less é uma maneira conveniente de revisar a grande quantidade de saída que isso pode produzir.

df -a --output | less

Descobrir o que está ocupando o espaço do disco usado

Vamos fazer uma investigação e descobrir o que está ocupando espaço neste PC. Começaremos com um de nossos comandos df.

df -h -t ext4

Há 78% de espaço em disco usado na primeira partição do primeiro disco rígido. Podemos usar o comando du para mostrar quais pastas contêm mais dados. Emitir o comando du sem opções exibirá uma lista de todos os diretórios e subdiretórios abaixo do diretório em que o comando du foi executado. Se você fizer isso a partir de sua pasta pessoal, a lista será muito longa.

du

O formato de saída é muito simples. Cada linha mostra o tamanho e o nome de um diretório. Por padrão, o tamanho é mostrado em blocos de 1K. Para forçar du a usar um tamanho de bloco diferente, use a opção -B (tamanho do bloco). Para usar esta opção digite du, um espaço e então -B e uma letra da lista de K, M, G, T, P, E, Z e Y, como fizemos acima para df. Para usar blocos de 1 milhão, use este comando:

du -BM

Assim como df, du tem uma opção legível por humanos, -h, que usa uma variedade de tamanhos de bloco de acordo com o tamanho de cada diretório.

du -h

A opção -s (resumir) fornece um total para cada diretório sem exibir os subdiretórios dentro de cada diretório. O comando a seguir pede que du retorne informações em formato de resumo, em números legíveis por humanos, para todos os diretórios

du -h -s *

abaixo do diretório de trabalho atual.

du -sm Pictures/* | sort -nr

A pasta Imagem contém a maioria dos dados, de longe. Podemos pedir a du que classifique o tamanho das pastas da maior para a menor.

  Como criar um NAS Linux com Amahi

Refinando as informações retornadas por df e du, é fácil descobrir quanto espaço no disco rígido está em uso e descobrir o que está ocupando esse espaço. Você pode então tomar uma decisão informada sobre mover alguns dados para outro armazenamento, adicionar outro disco rígido ao computador ou excluir dados redundantes. Esses comandos têm muitas opções. Descrevemos as opções mais úteis aqui, mas você pode ver uma lista completa das opções para o comando df e para o du comando

nas páginas de manual do Linux.