lsblk - listar dispositivos de bloco
SINTAXE
lsblk [opções] [dispositivo...]
DESCRIÇÃO
lsblk lista informações sobre todos os dispositivos de bloco disponíveis ou os especificados. O comando lsblk
lê o sistema de arquivos sysfs e o banco de dados udev para coletar informações. Se o banco de dados udev não estiver disponível ou
lsblk for compilado sem suporte a udev, então ele tenta ler RÓTULOS, UUIDs e tipos de sistema de arquivos
do dispositivo de bloco. Nesse caso, permissões de root são necessárias.
Por padrão, o comando imprime todos os dispositivos de bloco (exceto discos RAM) em um formato de árvore. O mesmo dispositivo pode ser repetido na árvore se estiver relacionado a outros dispositivos. A opção --merge é recomendada para configurações mais complexas para reunir grupos de dispositivos e descrever relacionamentos N:M complexos.
A saída em formato de árvore (ou array children[] na saída JSON) é habilitada apenas se a coluna NAME estiver presente na saída ou quando a opção de linha de comando --tree for usada. Veja também --nodeps e --list para controlar a formatação da árvore.
A saída padrão, bem como a saída padrão de opções como --fs e --topology, está sujeita a alterações. Portanto, sempre que possível, você deve evitar usar saídas padrão em seus scripts. Sempre defina explicitamente as colunas esperadas usando --output columns-list e --list em ambientes onde uma saída estável for necessária.
Use lsblk --list-columns para obter uma lista de todas as colunas disponíveis.
Observe que lsblk pode ser executado em um momento em que o udev ainda não tem todas as informações sobre os dispositivos adicionados ou modificados recentemente. Nesse caso, é recomendável usar udevadm settle antes de lsblk para sincronizar com o udev.
O relacionamento entre dispositivos de bloco e sistemas de arquivos nem sempre é um-para-um. O sistema de arquivos pode usar mais dispositivos de bloco ou o mesmo sistema de arquivos pode ser acessado por mais caminhos. Esta é a razão pela qual lsblk fornece as colunas MOUNTPOINT e MOUNTPOINTS (pl.). A coluna MOUNTPOINT exibe apenas um ponto de montagem (geralmente a última instância montada do sistema de arquivos), e a coluna MOUNTPOINTS exibe em uma célula de várias linhas todos os pontos de montagem associados ao dispositivo.
OPÇÕES
-A, --noempty
Não imprima dispositivos vazios.
-a, --all
Desabilite todos os filtros integrados e liste todos os dispositivos vazios e dispositivos de disco RAM também.
-b, --bytes
Imprima os tamanhos em bytes em vez de em um formato legível por humanos.
Por padrão, a unidade em que os tamanhos são expressos é byte, e os prefixos de unidade estão em potência de 2^10 (1024). As abreviações dos símbolos são exibidas truncadas para atingir uma melhor legibilidade, exibindo apenas a primeira letra delas; exemplos: "1 KiB" e "1 MiB" são respectivamente exibidos como "1 K" e "1 M", omitindo intencionalmente a menção "iB", que faz parte dessas abreviações.
-H, --list-columns
Liste as colunas disponíveis, use com --json ou --raw para obter a saída em formato legível por máquina.
-D, --discard
Imprime informações sobre os recursos de descarte (TRIM, UNMAP) para cada dispositivo.
-d, --nodeps
Não imprime dispositivos de retenção ou dispositivos subordinados. Por exemplo, lsblk --nodeps /dev/sda imprime informações apenas sobre o dispositivo sda.
-E, --dedup column
Use a coluna como chave de desduplicação para desduplicar a árvore de saída. Se a chave não estiver disponível para o dispositivo, ou se o dispositivo for uma partição e o dispositivo pai inteiro fornecer a mesma chave, o dispositivo será sempre impresso.
O caso de uso comum é desduplicar a saída em dispositivos de caminho múltiplo do sistema, por exemplo, usando -E WWN.
-e, --exclude list
Exclui os dispositivos especificados pela lista separada por vírgulas dos números de dispositivo principal. Observe que os discos RAM (principal=1) são excluídos por padrão se --all não for especificado. O filtro é aplicado apenas aos dispositivos de nível superior. Isso pode ser confuso para o formato de saída --list, onde a hierarquia dos dispositivos não é óbvia.
-f, --fs
Imprime informações sobre os sistemas de arquivos. Esta opção é equivalente a -o NAME,FSTYPE,FSVER,LABEL,UUID,FSAVAIL,FSUSE%,MOUNTPOINTS. As informações autorizadas sobre sistemas de arquivos e RAID são fornecidas pelo comando blkid(8).
--hyperlink[=mode]
Imprime os caminhos do ponto de montagem como hiperlinks no terminal. O modo pode ser definido como "always", "never" ou "auto". O argumento opcional when pode ser definido como "auto", "never" ou "always". Se o argumento when for omitido, ele será definido como "auto". A configuração "auto" significa que os hiperlinks serão usados apenas se a saída estiver em um terminal.
-I, --include list
Inclui os dispositivos especificados pela lista separada por vírgulas dos números de dispositivo principal. O filtro é aplicado apenas aos dispositivos de nível superior. Isso pode ser confuso para o formato de saída --list, onde a hierarquia dos dispositivos não é óbvia.
-i, --ascii
Use caracteres ASCII para formatação de árvore.
-J, --json
Use o formato de saída JSON. É altamente recomendável usar --output e também --tree, se necessário. Observe que children[] é usado apenas se a coluna NAME ou --tree for usada.
-l, --list
Produz a saída no formato de uma lista. A saída não fornece informações sobre os relacionamentos entre os dispositivos e, desde a versão 2.34, cada dispositivo é impresso apenas uma vez se --pairs ou --raw não forem especificados (as saídas analisáveis são mantidas de forma compatível com versões anteriores).
-M, --merge
Agrupa os pais das subárvores para fornecer uma saída mais legível para RAID e dispositivos de caminho múltiplo. A saída em árvore é necessária.
-m, --perms
Imprime informações sobre o proprietário, grupo e modo do dispositivo. Esta opção é equivalente a -o NAME,SIZE,OWNER,GROUP,MODE.
-N, --nvme
Imprime informações apenas sobre os dispositivos NVMe.
-v, --virtio
Imprime informações apenas sobre os dispositivos virtio.
-n, --noheadings
Não imprima uma linha de cabeçalho.
-o, --output list
Especifique quais colunas de saída imprimir. Use --list-columns para obter uma lista de todas as colunas suportadas. As colunas podem afetar a saída em árvore. O padrão é usar a árvore para a coluna 'NAME' (veja também --tree).
^ sblk -T SIZE.
-d, --nodeps
Do not print slave devices or partitions.
-D, --no-partitions
Do not print partitions.
-f, --fs
Output file system information.
-i, --ascii
Do not use colors in output.
-b, --bytes
Print SIZE in bytes.
-h, --human
Print SIZE in human-readable format.
-l, --list
Print all available columns.
-m, --perms
Print permissions information.
-n, --noheadings
Do not print column headings.
-o, --output list
Print only the specified columns. The default list of columns may be extended if list is specified in the format +list (e.g.,
lsblk -o +UUID).
-O, --output-all
Output all available columns.
-P, --pairs
Produce output in the form of key="value" pairs. The output lines are still ordered by dependencies. All potentially unsafe value characters are hex-escaped (\x<code>). See also option --shell.
-p, --paths
Print full device paths.
-Q, --filter expr
Print only the devices that meet the conditions specified by the expr. The filter is assessed prior to lsblk collecting data for all output columns. Only the necessary data for the lazy evaluation of the expression is retrieved from the system. This approach can enhance performance when compared to post-filtering, as commonly done by tools such as grep(1).
This feature is EXPERIMENTAL. See also scols-filter(5). For example exclude sda and sdb, but print everything else ('!~' is a negative regular expression matching operator):
`lsblk --filter 'NAME !~ "sd[ab]"'`
--highlight expr
Colorize lines matching the expression. This feature is EXPERIMENTAL. See also scols-filter(5).
--ct name [: param [: function ]]
Define a custom counter. The counters are printed after the standard output. The name is the custom name of the counter, the optional param is the name of the column to be used for the counter, and the optional function specifies the aggregation function, supported functions are: count, min, max, or sum. The default is count.
If the param is not specified, then the counter counts the number of lines. This feature is EXPERIMENTAL. See also --ct-filter.
For example, --ct MyCounter:SIZE:sum will count the summary for SIZE from all lines; and to count the number of SATA disks, it is possible to use:
`lsblk --ct-filter 'TYPE=="disk" && TRAN=="sata"' --ct "Number of SATA devices"`
--ct-filter expr
Define a restriction for the next counter. This feature is EXPERIMENTAL. See also --ct and scols-filter(5). For example, aggregate sizes by device type:
`lsblk --ct-filter 'TYPE=="part"' --ct Partitions:SIZE:sum \
--ct-filter 'TYPE=="disk"' --ct WholeDisks:SIZE:sum`
-r, --raw
Produce output in raw format. The output lines are still ordered by dependencies. All potentially unsafe characters are hex-escaped (\x<code>) in the NAME, KNAME, LABEL, PARTLABEL and MOUNTPOINT columns.
-S, --scsi
Output info about SCSI devices only. All partitions, slaves and holder devices are ignored.
-s, --inverse
Print dependencies in inverse order. If the --list output is requested then the lines are still ordered by dependencies.
-T, --tree[=column]
Force tree-like output format. If column is specified, then a tree is printed in the column. The default is NAME column.
-t, --topology
Output info about block-device topology. This option is equivalent to
lsblk -T SIZE.
-d, --nodeps
Do not print slave devices or partitions.
-D, --no-partitions
Do not print partitions.
-f, --fs
Output file system information.
-i, --ascii
Do not use colors in output.
-b, --bytes
Print SIZE in bytes.
-h, --human
Print SIZE in human-readable format.
-l, --list
Print all available columns.
-m, --perms
Print permissions information.
-n, --noheadings
Do not print column headings.
-o, --output list
Print only the specified columns. The default list of columns may be extended if list is specified in the format +list (e.g.,
lsblk -o +UUID).
-O, --output-all
Output all available columns.
-P, --pairs
Produce output in the form of key="value" pairs. The output lines are still ordered by dependencies. All potentially unsafe value characters are hex-escaped (\x<code>). See also option --shell.
-p, --paths
Print full device paths.
-Q, --filter expr
Print only the devices that meet the conditions specified by the expr. The filter is assessed prior to lsblk collecting data for all output columns. Only the necessary data for the lazy evaluation of the expression is retrieved from the system. This approach can enhance performance when compared to post-filtering, as commonly done by tools such as grep(1).
This feature is EXPERIMENTAL. See also scols-filter(5). For example exclude sda and sdb, but print everything else ('!~' is a negative regular expression matching operator):
`lsblk --filter 'NAME !~ "sd[ab]"'`
--highlight expr
Colorize lines matching the expression. This feature is EXPERIMENTAL. See also scols-filter(5).
--ct name [: param [: function ]]
Define a custom counter. The counters are printed after the standard output. The name is the custom name of the counter, the optional param is the name of the column to be used for the counter, and the optional function specifies the aggregation function, supported functions are: count, min, max, or sum. The default is count.
If the param is not specified, then the counter counts the number of lines. This feature is EXPERIMENTAL. See also --ct-filter.
For example, --ct MyCounter:SIZE:sum will count the summary for SIZE from all lines; and to count the number of SATA disks, it is possible to use:
`lsblk --ct-filter 'TYPE=="disk" && TRAN=="sata"' --ct "Number of SATA devices"`
--ct-filter expr
Define a restriction for the next counter. This feature is EXPERIMENTAL. See also --ct and scols-filter(5). For example, aggregate sizes by device type:
`lsblk --ct-filter 'TYPE=="part"' --ct Partitions:SIZE:sum \
--ct-filter 'TYPE=="disk"' --ct WholeDisks:SIZE:sum`
-r, --raw
Produce output in raw format. The output lines are still ordered by dependencies. All potentially unsafe characters are hex-escaped (\x<code>) in the NAME, KNAME, LABEL, PARTLABEL and MOUNTPOINT columns.
-S, --scsi
Output info about SCSI devices only. All partitions, slaves and holder devices are ignored.
-s, --inverse
Print dependencies in inverse order. If the --list output is requested then the lines are still ordered by dependencies.
-T, --tree[=column]
Force tree-like output format. If column is specified, then a tree is printed in the column. The default is NAME column.
-t, --topology
Output info about block-device topology. This option is equivalent to
lsblk -T SIZE.
-o NOME,ALINHAMENTO,MIN-IO,OPT-IO,PHY-SEC,LOG-SEC,ROTA,AGENDAMENTO,TAMANHO-REQ,RA,WSAME.
-w, --width número
Especifica a largura da saída como um número de caracteres. O padrão é o número de colunas do terminal, e se não for executado em um terminal, a largura da saída não é restrita por padrão. Esta opção também força o lsblk a assumir que caracteres de controle do terminal e caracteres inseguros não são permitidos. O caso de uso esperado é, por exemplo, quando o lsblk é usado pelo comando watch(1).
-x, --sort coluna
Ordena as linhas de saída por coluna. Esta opção habilita o formato de saída --list por padrão. É possível usar a opção --tree para forçar uma saída semelhante a uma árvore, e então os ramos da árvore são ordenados pela coluna.
-y, --shell
O nome da coluna será modificado para conter apenas caracteres permitidos para identificadores de variáveis de shell, por exemplo, MIN_IO e FSUSE_PCT em vez de MIN-IO e FSUSE%. Isso pode ser usado, por exemplo, com --pairs. Observe que este recurso foi habilitado automaticamente para --pairs na versão 2.37, mas devido a problemas de compatibilidade, agora é necessário solicitar este comportamento usando --shell.
-z, --zoned
Imprime as informações relacionadas à zona para cada dispositivo.
--sysroot diretório
Reúne dados para uma instância Linux diferente da instância da qual o comando lsblk é emitido. O diretório especificado é o diretório raiz do sistema da instância Linux a ser inspecionada. Os nós de dispositivo reais no diretório de destino podem ser substituídos por arquivos de texto com atributos udev.
--properties-by lista
Esta opção especifica os métodos usados pelo lsblk para coletar informações sobre sistemas de arquivos e tabelas de partição. A lista é uma lista separada por vírgulas de nomes de métodos. A configuração padrão é "file,udev,blkid". Os métodos suportados são:
udev
Lê dados do banco de dados udev. Se não for bem-sucedido, ele continua para o próximo método de sondagem.
blkid
Lê dados diretamente do dispositivo usando libblkid. Se não for bem-sucedido, ele continua para o próximo método de sondagem.
file
Lê dados de um arquivo. Este método é usado apenas se a opção --sysroot for especificada. Este método sempre interrompe a sondagem quando usado.
none
Não sonda. Este método sempre interrompe a sondagem.
-h, --help
Exibe o texto de ajuda e sai.
-V, --version
Exibe a versão e sai.
STATUS DE SAÍDA
0 sucesso
1 falha
32 nenhum dos dispositivos especificados encontrado
64 alguns dos dispositivos especificados encontrados, alguns não
AMBIENTE
LSBLK_DEBUG=all
habilita a saída de depuração do lsblk.
LIBBLKID_DEBUG=all
habilita a saída de depuração do libblkid.
LIBMOUNT_DEBUG=all
habilita a saída de depuração do libmount.
LIBSMARTCOLS_DEBUG=all
habilita a saída de depuração do libsmartcols.
LIBSMARTCOLS_DEBUG_PADDING=on
usa caracteres de preenchimento visíveis.
NOTAS
Para partições, algumas informações (por exemplo, atributos de fila) são herdadas do dispositivo pai.
O comando lsblk precisa ser capaz de procurar cada dispositivo de bloco por números principal:menor, o que é feito usando /sys/dev/block. Este diretório sysfs block apareceu no kernel 2.6.27 (outubro de 2008). Em caso de problemas com um kernel recente, verifique se CONFIG_SYSFS foi habilitado no momento da construção do kernel.
AUTORES
Milan Broz <_>, Karel Zak <_>
VER TAMBÉM
blkid(8), findmnt(8) ls(1), scols-filter(5)
RELATANDO BUGS
Para relatar bugs, use o rastreador de problemas [https://github.com/util-linux/util-linux/issues].
DISPONIBILIDADE
O comando lsblk faz parte do pacote util-linux, que pode ser baixado do Linux Kernel Archive [https://www.kernel.org/pub/linux/utils/util-linux/].