Comando lsblk no Linux com Exemplos Práticos

LinuxBeginner
Pratique Agora

Introdução

Neste laboratório, exploraremos o comando Linux lsblk, 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 esta informação em um formato claro, semelhante a uma árvore, que facilita 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. Seja para identificar o armazenamento disponível, verificar os tamanhos das partições ou verificar os pontos de montagem, o comando lsblk fornece uma maneira rápida e eficiente de reunir essa informação.

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 em seu sistema Linux.

Linux Commands Cheat Sheet

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível avançado com uma taxa de conclusão de 47%. Recebeu uma taxa de avaliações positivas de 100% dos estudantes.

Uso Básico do Comando lsblk

O comando lsblk significa "list block devices" (listar dispositivos de bloco) e é usado para exibir informações sobre todos os dispositivos de bloco disponíveis no seu sistema Linux. Dispositivos de bloco são dispositivos de armazenamento, como discos rígidos, SSDs e unidades USB.

Vamos começar executando o comando lsblk básico no terminal:

  1. Abra seu terminal, se ainda não estiver aberto.

  2. Digite o seguinte comando e pressione Enter:

lsblk

Você deve 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 dispositivo
  • MAJ:MIN: Números de dispositivo major e minor
  • RM: Flag de removível (1 significa removível, 0 significa não removível)
  • SIZE: O tamanho do dispositivo
  • RO: Flag de somente leitura (1 significa somente leitura, 0 significa leitura-escrita)
  • TYPE: Tipo de dispositivo (disco, partição, loop, etc.)
  • MOUNTPOINT: Onde o dispositivo está montado (se aplicável)

No exemplo acima, você pode ver:

  • Vários dispositivos loop usados por pacotes snap
  • Um dispositivo de armazenamento principal sda (que é um disco de 50GB)
  • Duas partições em sda: sda1 (montada na raiz /) e sda2 (usada como espaço de 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ê entende a saída básica do comando lsblk, vamos explorar algumas opções úteis nos próximos passos.

Exibindo Informações Adicionais com lsblk

Nesta etapa, aprenderemos como 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, UUID e ponto de montagem. Isso é particularmente útil quando você precisa identificar dispositivos por seu UUID ou verificar quais tipos de sistema de arquivos estão em uso.

Execute o seguinte comando no seu terminal:

lsblk -f

Você deve 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 do sistema de arquivos que tenha sido atribuído
  • UUID: O Identificador Único Universal (UUID - Universal Unique Identifier) para o sistema de arquivos

Usando a Opção -m para Mostrar Informações do Proprietário e Modo do Dispositivo

A opção -m exibe permissões e informações do proprietário para os dispositivos de bloco. Isso é útil ao solucionar problemas relacionados a permissões.

Execute o seguinte comando:

lsblk -m

Você deve 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 que possui o dispositivo (normalmente root)
  • GROUP: O grupo proprietário do dispositivo (normalmente disk)
  • MODE: O modo de permissão do dispositivo

Usando a Opção -o para Selecionar Colunas Específicas de Saída

A opção -o permite que você especifique quais colunas exibir. Isso é útil quando você só precisa de certas informações e deseja uma saída mais limpa e focada.

Vamos exibir apenas as colunas name, size e 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]

Esta saída personalizada facilita o foco apenas nas informações de que você precisa. Você pode combinar várias opções para obter exatamente as informações desejadas no formato que melhor se adapta às suas necessidades.

Filtrando Dispositivos de Bloco com lsblk

Nesta etapa, aprenderemos como filtrar a saída do comando lsblk para focar em tipos específicos de dispositivos de bloco ou exibir informações em diferentes formatos.

Filtrando por Tipo de Dispositivo

O comando lsblk permite que você filtre dispositivos por seu tipo usando a opção --type ou -t. Os tipos de dispositivo comuns incluem:

  • disk: Discos físicos
  • part: Partições
  • loop: Dispositivos loop
  • lvm: Volumes Lógicos (Logical Volumes)

Para exibir apenas dispositivos de disco, execute o seguinte comando:

lsblk --type disk

A saída mostrará apenas os discos principais, sem suas partições:

NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda    8:0    0   50G  0 disk

Da mesma forma, para exibir apenas dispositivos de partição, execute:

lsblk --type part

A saída mostrará apenas as partições:

NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda1   8:1    0   49G  0 part /
sda2   8:2    0  976M  0 part [SWAP]

Exibindo Caminhos de Dispositivos

A opção --paths exibe os caminhos completos dos dispositivos em vez de apenas os nomes dos dispositivos. Isso é útil quando você precisa referenciar os 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 a saída das 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á em 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 as informações de que precisa. Por exemplo, para exibir apenas dispositivos de disco com seus caminhos completos em formato JSON:

lsblk --type disk --paths --json

A saída será uma representação JSON de apenas os dispositivos de disco com seus caminhos completos:

{
  "blockdevices": [
    {
      "name": "/dev/sda",
      "maj:min": "8:0",
      "rm": false,
      "size": "50G",
      "ro": false,
      "type": "disk"
    }
  ]
}

Essas opções de filtragem tornam o comando lsblk muito flexível e permitem que você obtenha precisamente as informações de que precisa sobre os dispositivos de bloco no seu sistema.

Uso Avançado de lsblk para Cenários Práticos

Nesta etapa, exploraremos cenários práticos onde o comando lsblk se mostra valioso para tarefas de administração e solução de problemas do sistema.

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 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á 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 bytes
  • FSAVAIL: Espaço disponível no sistema de arquivos
  • FSUSE%: Porcentagem do sistema de arquivos usado
  • MOUNTPOINT: Onde o dispositivo está montado

Identificando Unidades USB

Ao conectar uma unidade USB, você pode usar 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 RM (removível) de 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 RM de 1.

Encontrando Números de Série de Dispositivos

Para inventário de hardware ou solução de problemas, você pode precisar encontrar números de série de dispositivos. O comando lsblk pode exibir essa informação:

lsblk -o NAME,SIZE,TYPE,SERIAL

A saída incluirá números de série para 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

Observe que nem todos os dispositivos relatam números de série, e dispositivos virtuais como dispositivos loop normalmente não têm 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 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

Esta informação pode ser útil para ajuste de desempenho e solução de problemas relacionados a I/O.

Esses exemplos práticos demonstram como o comando lsblk é versátil para tarefas diárias de administração do sistema. Ao dominar essas técnicas, você pode reunir rapidamente informações importantes sobre dispositivos de armazenamento em 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 em seu sistema. Cobrimos vários aspectos importantes do comando:

  • Uso básico de lsblk para exibir uma listagem 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 de dispositivos específicos ou formatos de exibição
  • Cenários de uso avançado para tarefas de administração do sistema

O comando lsblk é uma ferramenta essencial para administradores e usuários de sistemas Linux que precisam gerenciar dispositivos de armazenamento. Suas opções flexíveis permitem que você obtenha rapidamente as informações exatas de que precisa sobre discos, partições e outros dispositivos de bloco em seu sistema.

Ao dominar o comando lsblk, você pode efetivamente:

  • 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 de administração de sistemas Linux mais avançadas relacionadas ao gerenciamento de armazenamento.

Folha de Consulta de Comandos Linux