Supondo que você realmente queira ver dispositivos físicos , e não apenas todos os dispositivos de bloco:
Minha recomendação será:
lsblk -a -d -e 230
Por quê?
Vamos revisar o que essas opções de linha de comando fazem, na página man:
-a, --all
Also list empty devices. (By default they are skipped.)
Estranhamente, lsblk
mostra o gravador de DVD do meu laptop mesmo quando está vazio, sem -a
. Mas não parece doer nada para deixá-lo presente.
-d, --nodeps
Do not print holder devices or slaves. For example, lsblk
--nodeps /dev/sda prints information about the sda device only.
Isso significa que não vemos partições em um dispositivo, apenas o próprio dispositivo.
-e, --exclude list
Exclude the devices specified by the comma-separated list of
major device numbers. Note that RAM disks (major=1) are
excluded by default. The filter is applied to the top-level
devices only.
Por fim, uso -e 230
para excluir zvols do ZFS, que usam esse número principal. Eles são dispositivos de bloco totalmente lógicos, mas o driver do ZFS faz com que eles apareçam em lsblk
da mesma forma que os dispositivos de disco físico. Se você usar o ZFS, poderá excluir zvols da exibição com -e 230
.
[root@dalaran ~]# lsblk -a -d -e 230
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 894.3G 0 disk
sr0 11:0 1 1024M 0 rom
nvme0n1 259:0 0 477G 0 disk
Eu faço não recomendo usar a opção -S
, pois isso fará com que dispositivos NVMe não sejam exibidos.
Existem várias outras opções na página lsblk
man, que permitem tornar a saída mais legível por máquina, caso você queira escrever um script de shell. Por exemplo, -n
e -o
ou -P
.