Comando lsblk: estrutura de discos e partições e verificação do UUID
O comando lsblk mostra em forma de árvore os discos e partições conectados a um servidor e seus pontos de montagem, e permite ver de uma vez o tamanho dos discos, o tipo de sistema de arquivos e até o UUID. Ao executar o lsblk em um servidor AlmaLinux 9, os dispositivos loop criados pelos pacotes snap apareceram antes do disco, então os filtramos com -e 7. Em seguida, verificamos com -f o sistema de arquivos xfs e o UUID da partição raiz.
Os tamanhos de disco e os UUIDs da saída abaixo são valores de exemplo.
1️⃣ Como ler a saída básica do comando lsblk
Em um servidor com programas instalados via snap, ao executar o lsblk sem opções aparece antes do disco uma fila de dispositivos loop montados, um para cada versão de pacote; por isso, indique com -e o número de dispositivo dos loop, 7, para excluí-los.
lsblk -e 7NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 80G 0 disk
├─nvme0n1p1 259:1 0 1M 0 part
├─nvme0n1p2 259:2 0 200M 0 part /boot/efi
├─nvme0n1p3 259:3 0 1G 0 part /boot
└─nvme0n1p4 259:4 0 78.8G 0 part /nvme0n1 na coluna NAME é o disco. As partições em que esse disco é dividido são as de nvme0n1p1 a nvme0n1p4, ligadas abaixo dele com [├─] e [└─]. É como o painel de andares na entrada de um prédio, que mostra, abaixo do nome do prédio, o que há em cada andar.
Na coluna TYPE, os discos aparecem como [disk] e as partições como [part], e a coluna MOUNTPOINTS indica a pasta em que cada partição está montada. No servidor verificado, a partição raiz nvme0n1p4 estava montada em / e a nvme0n1p3 em /boot. A nvme0n1p1, de 1M, é uma partição de boot BIOS usada para inicializar a partir de um disco GPT, por isso não tem ponto de montagem.
MAJ:MIN são os números maior e menor que o kernel atribui a um dispositivo; os dispositivos loop têm 7 e o disco NVMe verificado tinha 259. RM indica com 1 ou 0 se o dispositivo é removível, e RO se é somente leitura.
É fácil ler SIZE como espaço livre, mas SIZE é o tamanho total do disco ou da partição. O espaço livre de um sistema de arquivos é verificado na coluna FSAVAIL, que aparece ao adicionar -f.
No diagrama abaixo você pode comparar, passo a passo, como as linhas e colunas da saída mudam conforme a opção.
2️⃣ lsblk -f: verificar sistemas de arquivos e UUIDs
A saída básica não mostra o tipo de sistema de arquivos, então o formato com que uma partição foi formatada é verificado com -f. -f mostra oito colunas: NAME, FSTYPE, FSVER, LABEL, UUID, FSAVAIL, FSUSE% e MOUNTPOINTS.
lsblk -f -e 7NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
nvme0n1
├─nvme0n1p1
├─nvme0n1p2 vfat FAT16 5A1E-3B7C 192.1M 4% /boot/efi
├─nvme0n1p3 xfs 6d2f0c4e-8b1a-4f3d-a7e2-9c5b1d0e4f28 691.4M 28% /boot
└─nvme0n1p4 xfs 2b9e7f41-c3d6-4a85-b0f1-7e4a2c9d6b13 68.5G 13% /Na execução, as partições raiz e /boot eram xfs, e /boot/efi era vfat na versão FAT16. O disco nvme0n1 e a nvme0n1p1 não têm sistema de arquivos, por isso ficaram em branco. O UUID é um número único dado a cada sistema de arquivos e é usado no /etc/fstab para indicar a partição a montar pelo UUID em vez do nome do dispositivo.
Para verificar as informações do sistema de arquivos com a maior precisão, use o comando blkid.
FSAVAIL e FSUSE% são o espaço livre e a taxa de uso de um sistema de arquivos montado. Partições não montadas não mostram valores. Comando df mostra só o tamanho e o uso dos sistemas de arquivos montados. O lsblk mostra também a estrutura de discos e partições, estejam montados ou não.
3️⃣ lsblk -o para escolher colunas e -b para bytes
Se você escrever nomes de colunas separados por vírgula depois de -o, só essas colunas aparecem, nessa ordem. Os nomes de coluna disponíveis estão na lista no fim de [lsblk --help].
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT -e 7NAME SIZE FSTYPE MOUNTPOINT
nvme0n1 80G
├─nvme0n1p1 1M
├─nvme0n1p2 200M vfat /boot/efi
├─nvme0n1p3 1G xfs /boot
└─nvme0n1p4 78.8G xfs /MOUNTPOINT mostra só um ponto de montagem, enquanto MOUNTPOINTS mostra todos quando o mesmo sistema de arquivos está montado em vários lugares. Para adicionar só uma coluna depois das colunas padrão, coloque + antes do nome da coluna, como em [-o +UUID].
-b mostra os tamanhos como números inteiros em bytes. Para comparar a olho, as unidades padrão são mais fáceis de ler, então -b é adequado para scripts que calculam ou comparam tamanhos.
lsblk -b -o NAME,SIZE -e 7NAME SIZE
nvme0n1 85899345920
├─nvme0n1p1 1048576
├─nvme0n1p2 209715200
├─nvme0n1p3 1073741824
└─nvme0n1p4 84613774848O G e o M da saída básica são unidades de 1.024, então o disco de 80G aparece como 85.899.345.920 bytes.
4️⃣ lsblk -d para a lista de discos e -p para caminhos completos
Em um servidor com vários discos, as linhas de partição se misturam e dificultam a leitura da lista de discos; por isso, use -d para tirar as partições e mostrar só as linhas de disco.
lsblk -d -e 7NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 80G 0 disk Na saída ficou só a linha do disco nvme0n1, e as quatro linhas de partição abaixo dele não apareceram.
Com -p, /dev/ é adicionado antes dos nomes de dispositivo, que aparecem como caminhos completos. Esses caminhos podem ser passados diretamente para outros comandos, como mount.
lsblk -p -e 7NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
/dev/nvme0n1 259:0 0 80G 0 disk
├─/dev/nvme0n1p1 259:1 0 1M 0 part
├─/dev/nvme0n1p2 259:2 0 200M 0 part /boot/efi
├─/dev/nvme0n1p3 259:3 0 1G 0 part /boot
└─/dev/nvme0n1p4 259:4 0 78.8G 0 part /Só a coluna NAME muda para caminhos completos, de /dev/nvme0n1 a /dev/nvme0n1p4, e as demais colunas ficam iguais à saída básica.
Se você passar o caminho de um dispositivo como argumento, aparecem só esse dispositivo e as partições abaixo dele; se passar o caminho de uma partição, aparece só a linha dessa partição.
lsblk /dev/nvme0n1p4NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1p4 259:4 0 78.8G 0 part /Na saída aparece só a linha da nvme0n1p4, sem a linha do disco nem as marcas de ramificação. Ao passar um caminho de dispositivo que não existe, apareceu o erro [not a block device] e o código de saída foi 32.
5️⃣ Saída e opções do comando lsblk para scripts
É tentador recortar a saída básica em scripts, mas a composição das colunas da saída básica e de -f pode mudar no futuro; por isso, nos scripts, indique você mesmo as colunas com -o.
-n tira a linha de cabeçalho e mostra só os valores, então é adequado quando você precisa de um único valor, como o tipo de sistema de arquivos de uma partição.
lsblk -no FSTYPE /dev/nvme0n1p4xfsSem linha de cabeçalho, aparece só uma palavra, xfs, o tipo de sistema de arquivos da partição raiz, então dá para guardá-la direto em uma variável do shell.
-P mostra cada coluna em uma linha no formato [nome=”valor”]. No util-linux 2.37 do AlmaLinux 9, basta adicionar -P para que os nomes mudem e fiquem fáceis de ler como variáveis do shell, como MAJ:MIN para MAJ_MIN e FSUSE% para FSUSE_PCT.
lsblk -P -o NAME,FSTYPE,MOUNTPOINT /dev/nvme0n1p4NAME="nvme0n1p4" FSTYPE="xfs" MOUNTPOINT="/"As três colunas indicadas aparecem em uma linha na ordem NAME, FSTYPE, MOUNTPOINT. Todos os valores ficam entre aspas duplas.
-J mostra a saída em JSON. Sem -d, as partições entram no array children abaixo do disco. Usado junto com -b, só size vira número, e as outras colunas de tamanho, como FSAVAIL, continuam como strings.
lsblk -J -d -o NAME,SIZE,TYPE -e 7{
"blockdevices": [
{
"name": "nvme0n1",
"size": "80G",
"type": "disk"
}
]
}Com -d, o array blockdevices contém só o disco, e o array children não aparece.
🔲 Opções do comando lsblk
| Opção | Copiar | Descrição |
|---|---|---|
| -e, --exclude | Exclui os dispositivos com o número maior indicado. Com 7, os dispositivos loop ficam de fora. | |
| -f, --fs | Mostra o tipo de sistema de arquivos, o UUID, o espaço livre e a taxa de uso. | |
| -o, --output | Mostra, em ordem, só as colunas indicadas separadas por vírgula. | |
| -b, --bytes | Mostra a coluna SIZE como números inteiros em bytes. | |
| -d, --nodeps | Tira as linhas de partição e mostra só as linhas de disco. | |
| -p, --paths | Mostra os nomes de dispositivo como caminhos completos que começam com /dev/. | |
| -n, --noheadings | Tira a linha de cabeçalho e mostra só os valores. | |
| -P, --pairs | Mostra nomes de coluna e valores em pares em uma linha. | |
| -J, --json | Mostra a saída no formato JSON. | |
| -a, --all | Mostra também os dispositivos vazios com tamanho 0. |
| Opção | Copiar | Descrição |
|---|---|---|
| -I, --include | Mostra só os dispositivos com o número maior indicado. | |
| -l, --list | Mostra a saída em formato de lista em vez de árvore. | |
| -r, --raw | Mostra a saída em formato raw, sem alinhar as colunas. | |
| -i, --ascii | Mostra as linhas da árvore com caracteres ASCII. | |
| -s, --inverse | Inverte as dependências e mostra os discos abaixo das partições. | |
| -S, --scsi | Mostra só as informações de dispositivos SCSI. | |
| -t, --topology | Mostra informações de topologia, como tamanho de setor e escalonador de E/S. | |
| -m, --perms | Mostra o proprietário, o grupo e as permissões dos dispositivos. | |
| -x, --sort | Ordena pela coluna indicada e mostra a saída em formato de lista. | |
| -O, --output-all | Mostra todas as colunas disponíveis. |
🔲 Simulador do comando lsblk
No simulador abaixo, você pode digitar os comandos vistos até aqui e conferir como a saída muda com cada opção.
🔢 FAQ & conteúdo recomendado
Linux · Swap
Configurar a memória swap (Swap Memory)
Como criar memória swap como partição ou como arquivo com os comandos mkswap e swapon.
Linux · Disco
Comando dd no Linux
Uso básico, opções e exemplos do comando dd, usado para clonar discos e partições ou criar arquivos de imagem.
Disco · Conceito
O que é um setor de disco?
Explica a estrutura básica de um disco rígido e o que é um setor de disco, a divisão do meio de armazenamento em unidades de tamanho fixo.
ℹ️ Aviso de afiliados
O conteúdo deste site contém links de afiliados. Quando um visitante compra um produto ou serviço por meio de um desses links, o site recebe uma comissão do vendedor. O valor que o comprador paga (em promoções, ele diminui ↓) não aumenta por causa disso. Preços, descontos e informações de estoque valem para o momento em que o texto foi escrito e podem ter mudado, por isso confirme com o vendedor antes de comprar. Os produtos são escolhidos e avaliados por critérios próprios, e o recebimento de comissão não influencia a ordem de apresentação nem o conteúdo das avaliações.