Introdução
Neste laboratório, vamos explorar o comando lsblk do Linux, que exibe informações sobre todos os dispositivos de bloco disponíveis no seu sistema. Dispositivos de bloco incluem discos rígidos, SSDs, unidades USB e outras mídias de armazenamento. O comando lsblk apresenta essas informações em um formato claro e em árvore, facilitando a compreensão da relação entre diferentes dispositivos de armazenamento e suas partições.
Compreender os dispositivos de armazenamento é essencial para qualquer pessoa que trabalhe com sistemas Linux. Se você precisa identificar o armazenamento disponível, verificar o tamanho das partições ou confirmar pontos de montagem, o comando lsblk oferece uma maneira rápida e eficiente de reunir essas informações.
Ao final deste laboratório, você será capaz de usar o comando lsblk com várias opções para obter informações detalhadas sobre os dispositivos de armazenamento no seu sistema Linux.
Uso Básico do Comando lsblk
Nesta etapa, você usará o comando lsblk para exibir informações sobre os dispositivos de bloco disponíveis no seu sistema Linux. Dispositivos de bloco são unidades de armazenamento como discos rígidos, SSDs e unidades USB.
Abra o terminal, caso ele já não esteja aberto. Em seguida, execute o comando básico lsblk:
lsblk
Você deverá ver uma saída semelhante a esta:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 55.5M 1 loop /snap/core18/2128
loop1 7:1 0 55.4M 1 loop /snap/core18/2284
loop2 7:2 0 43.6M 1 loop /snap/snapd/15534
loop3 7:3 0 61.9M 1 loop /snap/gtk-common-themes/1535
loop4 7:4 0 31.1M 1 loop /snap/snapd/16292
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 49G 0 part /
└─sda2 8:2 0 976M 0 part [SWAP]
Esta saída mostra todos os dispositivos de bloco no seu sistema, com as seguintes colunas:
NAME: O nome do dispositivoMAJ:MIN: Números maior (major) e menor (minor) do dispositivoRM: Indicador de removível (1 significa removível, 0 significa não removível)SIZE: O tamanho do dispositivoRO: Indicador de somente leitura (1 significa somente leitura, 0 significa leitura e escrita)TYPE: Tipo do dispositivo (disco, partição, loop, etc.)MOUNTPOINT: Onde o dispositivo está montado (se aplicável)
No exemplo acima, você pode ver:
- Vários dispositivos
loopusados por pacotes snap - Um dispositivo de armazenamento principal
sda(que é um disco de 50GB) - Duas partições no
sda:sda1(montada na raiz/) esda2(usada como espaço de troca/swap)
A estrutura em árvore na saída facilita a visualização de quais partições pertencem a quais discos. Por exemplo, você pode ver que tanto sda1 quanto sda2 são partições do disco sda.
Agora que você entendeu a saída básica do comando lsblk, vamos explorar algumas opções úteis nas próximas etapas.
Exibindo Informações Adicionais com o lsblk
Nesta etapa, aprenderemos a usar o comando lsblk com diferentes opções para exibir informações mais detalhadas sobre os dispositivos de bloco.
Usando a Opção -f para Mostrar Informações do Sistema de Arquivos
A opção -f mostra informações do sistema de arquivos, incluindo o tipo de sistema de arquivos, rótulo (label), UUID e ponto de montagem. Isso é particularmente útil quando você precisa identificar dispositivos pelo seu UUID ou verificar quais tipos de sistemas de arquivos estão em uso.
Execute o seguinte comando no seu terminal:
lsblk -f
Você deverá ver uma saída semelhante a esta:
NAME FSTYPE LABEL UUID MOUNTPOINT
loop0 squashfs /snap/core18/2128
loop1 squashfs /snap/core18/2284
loop2 squashfs /snap/snapd/15534
loop3 squashfs /snap/gtk-common-themes/1535
loop4 squashfs /snap/snapd/16292
sda
├─sda1 ext4 5fbb8eed-12a3-4b5c-9d67-9594ff4e2d1c /
└─sda2 swap b409ae25-7589-44eb-a909-b56f1d42c5ab [SWAP]
A saída agora inclui colunas adicionais:
FSTYPE: O tipo de sistema de arquivos (ext4, swap, squashfs, etc.)LABEL: Qualquer rótulo (label) atribuído ao sistema de arquivosUUID: O Identificador Único Universal (Universal Unique Identifier) para o sistema de arquivos
Usando a Opção -m para Mostrar Informações de Proprietário e Permissões do Dispositivo
A opção -m exibe as permissões e informações do proprietário dos dispositivos de bloco. Isso é útil ao solucionar problemas relacionados a permissões.
Execute o seguinte comando:
lsblk -m
Você deverá ver uma saída como esta:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT OWNER GROUP MODE
loop0 7:0 0 55.5M 1 loop /snap/core18/2128 root disk brw-rw----
loop1 7:1 0 55.4M 1 loop /snap/core18/2284 root disk brw-rw----
loop2 7:2 0 43.6M 1 loop /snap/snapd/15534 root disk brw-rw----
loop3 7:3 0 61.9M 1 loop /snap/gtk-common-themes/1535 root disk brw-rw----
loop4 7:4 0 31.1M 1 loop /snap/snapd/16292 root disk brw-rw----
sda 8:0 0 50G 0 disk root disk brw-rw----
├─sda1 8:1 0 49G 0 part / root disk brw-rw----
└─sda2 8:2 0 976M 0 part [SWAP] root disk brw-rw----
As novas colunas mostram:
OWNER: O usuário proprietário do dispositivo (tipicamente root)GROUP: O grupo proprietário do dispositivo (tipicamente disk)MODE: O modo de permissão do dispositivo
Usando a Opção -o para Selecionar Colunas de Saída Específicas
A opção -o permite especificar quais colunas exibir. Isso é útil quando você precisa apenas de certas informações e deseja uma saída mais limpa e focada.
Vamos exibir apenas as colunas de nome (NAME), tamanho (SIZE) e ponto de montagem (MOUNTPOINT):
lsblk -o NAME,SIZE,MOUNTPOINT
A saída será muito mais simples:
NAME SIZE MOUNTPOINT
loop0 55.5M /snap/core18/2128
loop1 55.4M /snap/core18/2284
loop2 43.6M /snap/snapd/15534
loop3 61.9M /snap/gtk-common-themes/1535
loop4 31.1M /snap/snapd/16292
sda 50G
├─sda1 49G /
└─sda2 976M [SWAP]
Essa saída personalizada facilita a concentração apenas nas informações de que você precisa. Você pode combinar várias opções para obter exatamente os dados desejados no formato que melhor atenda às suas necessidades.
Filtrando Dispositivos de Bloco com o lsblk
Nesta etapa, aprenderemos a limitar a saída do comando lsblk e a exibir informações em diferentes formatos.
Exibindo Apenas Dispositivos de Nível Superior
A opção --nodeps, abreviada como -d, omite dispositivos dependentes, como as partições. Isso é útil quando você deseja uma visão concisa dos dispositivos de bloco de nível superior.
Execute o seguinte comando:
lsblk --nodeps
A saída mostrará os dispositivos de nível superior sem suas árvores de partição. Os nomes e tamanhos dos dispositivos variam entre os sistemas:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
vda 253:0 0 40G 0 disk
vdb 253:16 0 100G 0 disk /etc/hosts
Excluindo Dispositivos pelo Número Maior (Major Number)
A opção --exclude, abreviada como -e, aceita uma lista separada por vírgulas de números maiores de dispositivos a serem omitidos. Por exemplo, os dispositivos loop usam o número maior 7, então o seguinte comando os exclui:
lsblk --exclude 7
Este filtro se aplica aos dispositivos de nível superior. Suas partições dependentes ainda podem aparecer na árvore.
Exibindo Caminhos de Dispositivos
A opção --paths exibe os caminhos completos dos dispositivos em vez de apenas seus nomes. Isso é útil quando você precisa fazer referência aos dispositivos em scripts ou comandos.
Execute o seguinte comando:
lsblk --paths
A saída incluirá os caminhos completos dos dispositivos:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
/dev/loop0 7:0 0 55.5M 1 loop /snap/core18/2128
/dev/loop1 7:1 0 55.4M 1 loop /snap/core18/2284
/dev/loop2 7:2 0 43.6M 1 loop /snap/snapd/15534
/dev/loop3 7:3 0 61.9M 1 loop /snap/gtk-common-themes/1535
/dev/loop4 7:4 0 31.1M 1 loop /snap/snapd/16292
/dev/sda 8:0 0 50G 0 disk
├─/dev/sda1 8:1 0 49G 0 part /
└─/dev/sda2 8:2 0 976M 0 part [SWAP]
Exibindo a Saída em Formato JSON
A opção --json gera as informações em formato JSON, o que é útil para processamento programático ou ao integrar com outras ferramentas.
Execute o seguinte comando:
lsblk --json
A saída estará no formato JSON:
{
"blockdevices": [
{
"name": "loop0",
"maj:min": "7:0",
"rm": false,
"size": "55.5M",
"ro": true,
"type": "loop",
"mountpoint": "/snap/core18/2128"
},
{
"name": "loop1",
"maj:min": "7:1",
"rm": false,
"size": "55.4M",
"ro": true,
"type": "loop",
"mountpoint": "/snap/core18/2284"
},
{
"name": "loop2",
"maj:min": "7:2",
"rm": false,
"size": "43.6M",
"ro": true,
"type": "loop",
"mountpoint": "/snap/snapd/15534"
},
{
"name": "loop3",
"maj:min": "7:3",
"rm": false,
"size": "61.9M",
"ro": true,
"type": "loop",
"mountpoint": "/snap/gtk-common-themes/1535"
},
{
"name": "loop4",
"maj:min": "7:4",
"rm": false,
"size": "31.1M",
"ro": true,
"type": "loop",
"mountpoint": "/snap/snapd/16292"
},
{
"name": "sda",
"maj:min": "8:0",
"rm": false,
"size": "50G",
"ro": false,
"type": "disk",
"children": [
{
"name": "sda1",
"maj:min": "8:1",
"rm": false,
"size": "49G",
"ro": false,
"type": "part",
"mountpoint": "/"
},
{
"name": "sda2",
"maj:min": "8:2",
"rm": false,
"size": "976M",
"ro": false,
"type": "part",
"mountpoint": "[SWAP]"
}
]
}
]
}
Combinando Opções para Controle Preciso
Você pode combinar várias opções para obter exatamente a informação necessária. Por exemplo, para omitir dispositivos dependentes e dispositivos loop enquanto exibe os caminhos completos em formato JSON:
lsblk --nodeps --exclude 7 --paths --json
A saída será uma representação em JSON dos dispositivos de nível superior restantes com seus caminhos completos:
{
"blockdevices": [
{
"name": "/dev/vda",
"maj:min": "253:0",
"rm": false,
"size": "40G",
"ro": false,
"type": "disk"
}
]
}
Essas opções de filtragem tornam o comando lsblk extremamente flexível, permitindo obter exatamente as informações necessárias sobre os dispositivos de bloco do seu sistema.
Uso Avançado do lsblk em Cenários Práticos
Nesta etapa, exploraremos cenários práticos onde o comando lsblk se mostra valioso para tarefas de administração de sistemas e resolução de problemas.
Verificando o Uso do Disco e o Espaço Disponível
Para verificar o uso do disco e o espaço disponível, você pode combinar o lsblk com a opção -b (para mostrar os tamanhos em bytes) e selecionar colunas específicas:
lsblk -b -o NAME,SIZE,FSAVAIL,FSUSE%,MOUNTPOINT
A saída mostrará as informações de uso do disco:
NAME SIZE FSAVAIL FSUSE% MOUNTPOINT
loop0 58195968 0 - /snap/core18/2128
loop1 58130432 0 - /snap/core18/2284
loop2 45719552 0 - /snap/snapd/15534
loop3 64897024 0 - /snap/gtk-common-themes/1535
loop4 32604160 0 - /snap/snapd/16292
sda 53687091200 - -
├─sda1 52613349376 39128932352 26% /
└─sda2 1023410176 0 - [SWAP]
As colunas mostram:
SIZE: O tamanho total em bytesFSAVAIL: Espaço disponível no sistema de arquivosFSUSE%: Percentual do sistema de arquivos utilizadoMOUNTPOINT: Onde o dispositivo está montado
Identificando Unidades USB
Ao conectar uma unidade USB, você pode usar o lsblk para identificá-la rapidamente procurando por dispositivos removíveis:
lsblk -o NAME,SIZE,TYPE,RM,MOUNTPOINT
Na saída, procure por dispositivos com o valor de RM (removível) igual a 1:
NAME SIZE TYPE RM MOUNTPOINT
loop0 55.5M loop 0 /snap/core18/2128
loop1 55.4M loop 0 /snap/core18/2284
loop2 43.6M loop 0 /snap/snapd/15534
loop3 61.9M loop 0 /snap/gtk-common-themes/1535
loop4 31.1M loop 0 /snap/snapd/16292
sda 50G disk 0
├─sda1 49G part 0 /
└─sda2 976M part 0 [SWAP]
Se você tivesse uma unidade USB conectada, ela normalmente apareceria como um disco adicional (como sdb) com o valor de RM igual a 1.
Encontrando Números de Série de Dispositivos
Para inventário de hardware ou solução de problemas, pode ser necessário encontrar os números de série dos dispositivos. O comando lsblk pode exibir esta informação:
lsblk -o NAME,SIZE,TYPE,SERIAL
A saída incluirá os números de série para os dispositivos que fornecem essa informação:
NAME SIZE TYPE SERIAL
loop0 55.5M loop
loop1 55.4M loop
loop2 43.6M loop
loop3 61.9M loop
loop4 31.1M loop
sda 50G disk ABCD1234
├─sda1 49G part
└─sda2 976M part
Note que nem todos os dispositivos informam números de série, e dispositivos virtuais como os dispositivos loop normalmente não possuem números de série.
Analisando Atributos de Desempenho do Disco
Para visualizar os atributos de desempenho do disco, você pode usar a opção --topology ou -t:
lsblk --topology
A saída inclui informações de topologia, como alinhamento e tamanho ideal de E/S (I/O):
NAME ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED RQ-SIZE RA WSAME
loop0 0 512 0 512 512 1 mq-deadline 256 128 0B
loop1 0 512 0 512 512 1 mq-deadline 256 128 0B
loop2 0 512 0 512 512 1 mq-deadline 256 128 0B
loop3 0 512 0 512 512 1 mq-deadline 256 128 0B
loop4 0 512 0 512 512 1 mq-deadline 256 128 0B
sda 0 512 0 512 512 1 mq-deadline 256 128 0B
├─sda1 0 512 0 512 512 1 mq-deadline 256 128 0B
└─sda2 0 512 0 512 512 1 mq-deadline 256 128 0B
Essas informações podem ser úteis para o ajuste de desempenho e solução de problemas relacionados a E/S (I/O).
Estes exemplos práticos demonstram o quão versátil é o comando lsblk para tarefas diárias de administração de sistemas. Ao dominar essas técnicas, você poderá reunir rapidamente informações importantes sobre os dispositivos de armazenamento no seu sistema Linux.
Resumo
Neste laboratório, exploramos o comando lsblk do Linux, uma ferramenta poderosa para listar e exibir informações sobre dispositivos de bloco no seu sistema. Cobrimos vários aspectos importantes do comando:
- O uso básico do
lsblkpara exibir uma lista em formato de árvore de todos os dispositivos de bloco - Como exibir informações adicionais, incluindo detalhes do sistema de arquivos, proprietário/permissões e seleções de colunas personalizadas
- Técnicas de filtragem para focar em tipos específicos de dispositivos ou formatos de exibição
- Cenários de uso avançado para tarefas de administração de sistemas
O comando lsblk é uma ferramenta essencial para administradores de sistemas Linux e usuários que precisam gerenciar dispositivos de armazenamento. Suas opções flexíveis permitem obter rapidamente as informações exatas de que você precisa sobre discos, partições e outros dispositivos de bloco no seu sistema.
Ao dominar o comando lsblk, você poderá com mais eficácia:
- Identificar e gerenciar dispositivos de armazenamento
- Monitorar o uso do disco e o espaço disponível
- Solucionar problemas relacionados ao armazenamento
- Documentar a configuração de armazenamento do seu sistema
Essas habilidades formam uma base importante para tarefas mais avançadas de administração de sistemas Linux relacionadas ao gerenciamento de armazenamento.



