Como ver o espaço livre em disco e o uso do disco a partir do Terminal Linux
- Dave McKay
@TheGurkha
- 2 de Abril de 2019, 8:00 da manhã EDT
br>
The df
e du
comando de relatório sobre a utilização do espaço em disco a partir do Bash shell utilizado em Linux, macOS, e muitos outros sistemas operativos do tipo Unix. Estes comandos permitem-lhe identificar facilmente o que está a utilizar o armazenamento do seu sistema.
Visualização do Espaço Disco Total, Disponível e Usado
Bash contém dois comandos úteis relacionados com o espaço em disco. Para descobrir o espaço em disco disponível e usado, use df
(sistemas de ficheiros em disco, por vezes chamados de disk free). Para descobrir o que ocupa o espaço de disco usado, usar du
(uso de disco).
Type df
e premir enter numa janela de terminal Bash para começar. Verá muita saída semelhante à captura de ecrã abaixo. Usando df
sem quaisquer opções exibirá o espaço disponível e utilizado para todos os sistemas de ficheiros montados. À primeira vista, pode parecer impenetrável, mas é bastante fácil de compreender.
df
Cada linha do ecrã é composta por seis colunas.
- Fileystem: O nome deste sistema de ficheiros.
- 1K-Blocks: O número de blocos 1K que estão disponíveis neste sistema de ficheiros.
- Utilizado: O número de blocos 1K que foram utilizados neste sistema de ficheiros.
- Disponível: O número de blocos 1K que não foram utilizados neste sistema de ficheiros.
- Utilizado A quantidade de espaço utilizado neste sistema de ficheiros dado como percentagem.
- Ficheiro: O nome do sistema de ficheiros, se especificado na linha de comando.
- Montado em: O ponto de montagem do sistema de ficheiros.
Pode substituir a contagem de blocos 1K por uma saída mais útil utilizando 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. Estas letras representam os valores kilo, mega, giga, tera, peta, exa, zeta, e yotta do múltiplo da escala 1024.
Por exemplo, para ver os valores de utilização do disco em megabytes, usaria o seguinte comando. Note que não há espaço entre as opções B e M.
df -BM
O -h
(legível pelo ser humano) instrui df
a utilizar a unidade mais aplicável para o tamanho de cada sistema de ficheiros. Na próxima nota de saída, há sistemas de ficheiros com tamanhos gigabyte, megabyte e até kilobyte.
df -h
Se precisar de ver a informação representada em números de inodes, utilize a opção -i
(inodes). Um inode é uma estrutura de dados utilizada pelos sistemas de ficheiros Linux para descrever ficheiros e para armazenar metadados sobre eles. No Linux, os inodes contêm dados como o nome, data de modificação, posição no disco rígido, e assim por diante para cada ficheiro e directório. Isto não será útil para a maioria das pessoas, mas os administradores de sistemas devem por vezes referir-se a este tipo de informação.
df -i
Unless told not to, df
irá fornecer informação sobre todos os sistemas de ficheiros montados. Isto pode levar a uma exibição desordenada com muita produção. Por exemplo, o /dev/loop
entradas nas listas são pseudo sistemas de ficheiros que permitem que um ficheiro seja montado como se fosse uma partição. Se utilizar o novo Ubuntu snap
método de instalação de aplicações, pode adquirir muitas destas. O espaço disponível nestas será sempre 0 porque não são realmente um sistema de ficheiros, por isso não precisamos de as ver.
Podemos dizer df
para excluir sistemas de ficheiros de um tipo específico. Para o fazer, precisamos de saber que tipo de sistema de ficheiros desejamos excluir. A opção -T
(tipo de impressão) dar-nos-á essa informação. Ela instrui df
a incluir o tipo de sistema de ficheiros na saída.
df -T
O /dev/loop
entradas são todas squashfs
sistemas de ficheiros. Podemos excluí-los com o seguinte comando:
df -x squashfs
Isso dá-nos uma saída mais manejável. Para obter um total, podemos adicionar o --total
opção.
df -x squashfs --total
Podemos pedir df
para incluir apenas sistemas de ficheiros de um determinado tipo, utilizando a opção -t
(tipo).
df -t ext4
Se quisermos ver os tamanhos de um conjunto de sistemas de ficheiros, podemos especificá-los pelo nome. Os nomes das unidades no Linux são alfabéticos. A primeira unidade chama-se /dev/sda
, a segunda unidade é /dev/sdb
, e assim por diante. As divisórias estão numeradas. Assim /dev/sda1
é a primeira partição na unidade /dev/sda
. Dizemos df
para devolver informação sobre um determinado sistema de ficheiros, passando o nome do sistema de ficheiros como parâmetro de comando. Vejamos a primeira partição do primeiro disco rígido.
df /dev/sda1
Nota que pode usar wildcards no nome do sistema de ficheiros, onde *
representa qualquer conjunto de caracteres e ?
representa qualquer caractere único. Assim, para olhar para todas as partições na primeira unidade, poderíamos usar:
df /dev/sda*
Podemos pedir df
para relatar um conjunto de sistemas de ficheiros nomeados. Estamos a pedir os tamanhos dos sistemas de ficheiros /dev
e /run
, e gostaríamos de um total.
df -h --total /dev /run
Para personalizar ainda mais a exibição, podemos dizer df
quais as colunas a incluir. Para o fazer utilizar a opção --output
e fornecer uma lista separada por vírgulas dos nomes das colunas necessárias. Certifique-se de não incluir quaisquer espaços na lista separada por vírgulas.
- fonte: O nome do sistema de ficheiros.
- fstype: O tipo do sistema de ficheiros.
- itotal: O tamanho do sistema de ficheiros em inodes.
- iused: O espaço utilizado no sistema de ficheiros em inodes.
- iavail: O espaço disponível no sistema de ficheiros em inodes.
- ipcent: A percentagem de espaço utilizado no sistema de ficheiros em inodes, como uma percentagem.
- tamanho: O tamanho do sistema de ficheiros, por defeito em blocos de 1K.
- usado: O espaço utilizado no sistema de ficheiros, por defeito em blocos de 1K.
- disponível: O espaço disponível no sistema de ficheiros, por defeito, em blocos 1K.
- pcent: A percentagem de espaço utilizado no sistema de ficheiros em inodes, por defeito em blocos 1K.
- file: O nome do sistema de ficheiros, se especificado na linha de comando.
- target: O ponto de montagem do sistema de ficheiros.
P>Ponhamos perguntar df
para reportar a primeira partição na primeira unidade, com números legíveis por humanos, e com a fonte das colunas, fstype, tamanho, usado, disponível, e pcent:
df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent
Comandos longos são candidatos perfeitos para serem transformados num pseudónimo. Podemos criar um pseudónimo dfc
(para df custom
) digitando o seguinte e premindo Enter:
alias dfc="df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent"
Typing dfc
e premindo Enter terá o mesmo efeito que digitar no comando longo. Para tornar este alias permanente, adicione-o ao seu .
ou bashrc
.bash_aliases
file.
Temos estado a procurar formas de refinar a saída de df
de modo a que a informação que exibe corresponda às suas necessidades. Se quiser adoptar a abordagem oposta e tiver df
devolva toda a informação que possivelmente possa usar a opção -a
(todas) e a opção --output
como se mostra abaixo. A opção -a
(todas) pede df
para incluir cada sistema de ficheiros, e utilizando a opção --output
sem uma lista de colunas separadas por vírgulas faz com que df
inclua cada coluna.
df -a --output
P>Tiping the output from df
through the less
command is a convenient way to review the large amount of output this can produce.
df -a --output | less
Descobrir o que está a ocupar o espaço do disco usado
Vamos fazer alguma investigação e descobrir o que está a ocupar espaço neste PC. Vamos começar com um dos nossos df
comandos.
df -h -t ext4
Existe 78% de espaço em disco utilizado na primeira partição do primeiro disco rígido. Podemos utilizar o comando du
para mostrar quais as pastas que contêm mais dados. A emissão do comando du
sem opções mostrará uma lista de todos os directórios e subdirectórios abaixo do directório em que o comando du
foi emitido. Se o fizer a partir da sua pasta home a listagem será muito longa.
du
O formato de saída é muito simples. Cada linha mostra o tamanho e o nome de um directório. Por defeito, o tamanho é mostrado em blocos de 1K. Para forçar du
a usar um tamanho de bloco diferente, usar a opção -B
(tamanho do bloco). Para usar esta opção digite du
, um espaço, e depois -B
e uma letra da lista de K, M, G, T, P, E, Z, e Y, como fizemos acima para df
. Para usar blocos 1M, use este comando:
du -BM
Apenas como df
du
tem uma opção legível por humanos, -h
, que usa uma gama de tamanhos de blocos de acordo com o tamanho de cada directório.
du -h
A opção (resumir) dá um total para cada directório sem exibir os subdirectórios dentro de cada directório. O seguinte comando pede du
para devolver a informação em formato de resumo, em números legíveis por humanos, para todos os directórios (*) abaixo do directório de trabalho actual.
du -h -s *
A pasta de imagens contém de longe o maior número de dados. Podemos pedir du
para ordenar as pastas em tamanho da maior para a menor.
du -sm Pictures/* | sort -nr
Ao refinar a informação devolvida por df
e du
é fácil descobrir quanto espaço de disco rígido está a ser utilizado, e descobrir o que está a ocupar esse espaço. Pode então tomar uma decisão informada sobre como mover alguns dados para outro armazenamento, adicionar outro disco rígido ao seu computador ou apagar dados redundantes.
Estes comandos têm muitas opções. Descrevemos aqui as opções mais úteis, mas pode ver uma lista completa das opções para o comando df e para o comando du nas páginas man do Linux.
Dave McKay
Dave McKay usou pela primeira vez computadores quando a fita de papel perfurado estava na moda, e tem vindo a programar desde então. Após mais de 30 anos na indústria das TI, é agora um jornalista de tecnologia a tempo inteiro. Durante a sua carreira, trabalhou como programador freelance, gestor de uma equipa internacional de desenvolvimento de software, gestor de projectos de serviços de TI e, mais recentemente, como responsável pela protecção de dados. Dave é um evangelista Linux e defensor do código aberto. Leia a biografia completa “