Os 10 comandos que mostram discos, partições e espaço livre no Linux: lsblk, df, du, fdisk, parted, blkid, findmnt e LVM, com exemplos e o que observar.
Para entender o disco de um servidor Linux, você precisa responder três perguntas: quais discos e partições existem, onde cada um está montado e quanto espaço sobra. Nenhum comando sozinho responde tudo, mas os dez abaixo cobrem os casos do dia a dia. Todos só leem informações; nenhum altera o disco.
Resumo rápido
| Quero saber | Comando |
|---|---|
| Discos e partições em árvore | lsblk |
| Tipo de sistema de arquivos e UUID | lsblk -f ou blkid |
| Espaço livre em cada partição | df -hT |
| Quantidade de arquivos (inodes) | df -i |
| Tamanho de uma pasta | du -sh |
| Onde cada coisa está montada | findmnt |
| Tabela de partições em detalhe | fdisk -l ou parted -l |
| Volumes LVM | pvs, vgs, lvs |
1. lsblk: a visão geral dos discos
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─almalinux-root 253:0 0 91G 0 lvm /
└─almalinux-swap 253:1 0 8G 0 lvm [SWAP]
sdb 8:16 0 500G 0 disk /backup
É o melhor ponto de partida: mostra cada disco (disk), suas partições (part), os volumes LVM (lvm) e onde cada um está montado. Não precisa de root.
2. lsblk -f: sistema de arquivos e UUID
lsblk -f
Acrescenta as colunas FSTYPE (xfs, ext4, swap, LVM2_member), UUID e, nas versões mais novas (AlmaLinux 9, Ubuntu 22.04 em diante), o espaço livre de cada partição montada. O UUID é o que você usa no /etc/fstab para montar um disco de forma estável.
3. df -hT: espaço usado e livre
df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/almalinux-root xfs 91G 23G 69G 25% /
/dev/sda1 xfs 1014M 345M 670M 34% /boot
/dev/sdb1 ext4 492G 310G 157G 67% /backup
O -h mostra em GB e MB, e o -T inclui o tipo. Para ver só uma partição, informe o caminho: df -h /home. Para esconder os sistemas de arquivos temporários da memória, use df -hT -x tmpfs -x devtmpfs.
4. df -i: inodes livres
df -i
Cada arquivo consome um inode. Um disco pode ter gigabytes livres e mesmo assim recusar arquivos novos se os inodes acabarem, o que acontece com milhões de arquivos pequenos de cache ou de sessão. Fique de olho na coluna IUse%.
5. du: tamanho de pastas
sudo du -sh /var/log
sudo du -xh --max-depth=1 / 2>/dev/null | sort -h
O primeiro mostra o total de uma pasta; o segundo lista as pastas da raiz da menor para a maior, sem entrar em outros discos montados (-x). É o comando para descobrir quem está enchendo o disco; veja o passo a passo em disco cheio no servidor Linux.
6. findmnt: o que está montado e com quais opções
findmnt
findmnt /home
Mostra a árvore de montagens com origem, tipo e opções (por exemplo, se está somente leitura com ro). Para checar se o /etc/fstab tem erro antes de reiniciar, use sudo findmnt --verify.
7. fdisk -l: a tabela de partições
sudo fdisk -l /dev/sda
Mostra o tamanho exato do disco, o tipo da tabela (dos, que é MBR, ou gpt) e o início, o fim e o tipo de cada partição. Sem informar o disco, lista todos. O fdisk também cria e apaga partições, por isso use sempre o -l quando o objetivo é só consultar.
8. parted -l: partições com o sistema de arquivos
sudo parted -l
Parecido com o fdisk -l, mas já mostra o sistema de arquivos e as flags (boot, lvm, bios_grub) de cada partição. A linha Partition Table diz se o disco é msdos (limite de 2 TiB) ou gpt.
9. blkid: identificadores das partições
sudo blkid
Lista UUID, rótulo (LABEL) e tipo de cada partição. É útil ao montar um disco novo ou ao conferir se o UUID do /etc/fstab ainda existe depois de formatar algo.
10. pvs, vgs e lvs: o LVM
sudo pvs
sudo vgs
sudo lvs
Se o lsblk mostrou itens do tipo lvm, esses três comandos mostram as camadas: os volumes físicos (partições ou discos), os grupos de volumes e os volumes lógicos. A coluna VFree do vgs indica espaço que ainda não foi entregue a nenhum volume e pode ser usado para expandir a partição.
Problemas comuns
fdisk: command not found ou Permission denied
O fdisk, o parted e o blkid ficam em /usr/sbin e precisam de root. Rode com sudo. Se o parted não existir, instale com sudo dnf install parted ou sudo apt install parted.
O df e o lsblk mostram tamanhos diferentes
O lsblk mostra o tamanho do disco ou da partição; o df, o tamanho do sistema de arquivos dentro dela. Se a partição é maior que o sistema de arquivos, faltou expandi-lo depois de aumentar o disco.
Acrescentei um disco e ele não aparece
Em máquinas virtuais, peça ao Linux para procurar discos novos com echo "- - -" | sudo tee /sys/class/scsi_host/host*/scan ou reinicie. Depois rode lsblk de novo.