O comando lsblk é usado para listar iinformações sobre todos os dispositivos de bloco conectados ao seu sistema — pendrives, cartões de memória, HDDs ou SSDs internos ou externos etc.
Drives virtuais, localizados na memória RAM, por exemplo, não são lidos pelos lsblk. Fora isso, o comando faz uma leitura do sistema de arquivos do sysfs e do banco de dados do udev e exibe o que encontrou em uma lista em formato de árvores.
Em alguns casos, você vai precisar ter permissões de superusuário para conseguir obter as informações desejadas.
O comando pode ser usado da forma simples, assim:
lsblk
Se você ler o man ou usar o –help, vai ver que ele pode ser usado de maneira mais sofisticada.
Se você usar a opção -a (all, ou tudo, em inglês), pode se deparar com uma quantidade colossal de informações na tela, que pode ser filtrada com comando grep.
Neste post, vou me concentrar em mostrar expôr como obter uma lista com quantidade (e qualidade) maior de informações sobre os sistemas de arquivos.
Isso, pode ser obtido com a opção –fs ou -f (filesystem):
lsblk --fs
Esta lista, já é o suficiente para fornecer uma série de informações importantes. Se você for configurar o fstab, pode ser útil conhecer o UUID dos drives que vai querer montar, lá.
Se você não precisa saber o UUID de cada file system, pode controlar um pouco mais a saída do comando. Para isso, há pelo menos 6 opções do comando para listar este tipo dados diretamente:
lsblk --help | grep FS
FSAVAIL tamanho disponível do sistema de arquivos FSROOTS raízes de sistemas de arquivos FSSIZE tamanho do sistema de arquivos FSTYPE tipo do sistema de arquivos FSUSED tamanho usado do sistema de arquivos FSUSE% porcentagem de uso do sistema de arquivos FSVER versão do sistema de arquivos
Veja um exemplo prático:
lsblk --output=NAME,MODEL,PATH,FSAVAIL,FSROOTS,FSSIZE,FSTYPE, FSUSED,FSUSE%,FSVER
O código, acima, deve ser digitado na mesma linha e sem espaço entre as vírgulas.
Para executar operações mais simples, com o comando dd, por exemplo, a linha abaixo, costuma ser o suficiente para evitar fazer m**** no dispositivo errado:
lsblk --output=NAME,TYPE,MOUNTPOINT,FSTYPE
NAME TYPE MOUNTPOINT FSTYPE sda disk └─sda1 part /home/rabbitr/mysecondhome ext4 sdb disk ├─sdb1 part vfat ├─sdb2 part ├─sdb3 part /media/rabbitr/Windows-SSD ntfs └─sdb4 part ntfs mmcblk0 disk └─mmcblk0p1 part /media/rabbitr/ISOs ext4 nvme0n1 disk ├─nvme0n1p1 part /boot/efi vfat ├─nvme0n1p2 part / ext4 └─nvme0n1p3 part swap