Команды Linux · 5 min read · Dec 24, 2025
Учебник по команде Linux lsblk для начинающих (8 примеров)

В Linux блочные устройства — это специальные файлы, которые ссылаются на или представляют устройство (это может быть что угодно, от жесткого диска до USB-накопителя). Поэтому, естественно, существуют инструменты командной строки, которые помогают вам в работе с блочными устройствами. Одной из таких утилит является lsblk.
В этом учебнике мы обсудим эту команду, используя несколько простых для понимания примеров. Но прежде чем мы это сделаем, стоит упомянуть, что все примеры, упомянутые здесь, были протестированы на машине с Ubuntu 18.04 LTS.
Команда lsblk в Linux
Команда lsblk в Linux перечисляет блочные устройства. Следующий синтаксис:
lsblk [options] [device...]А вот как страница man этого инструмента объясняет это:
**** lsblk lists information about all available or the specified block
devices. The lsblk command reads the sysfs filesystem and udev db to
gather information. If the udev db is not available or lsblk is com?
piled without udev support than it tries to read LABELs, UUIDs and
filesystem types from the block device. In this case root permissions
are necessary.
The command prints all block devices (except RAM disks) in a tree-like
format by default. Use lsblk --help to get a list of all available
columns.
The default output, as well as the default output from options like
--fs and --topology, is subject to change. So whenever possible, you
should avoid using default outputs in your scripts. Always explicitly
define expected columns by using --output columns-list in environments
where a stable output is required.
Note that lsblk might be executed in time when udev does not have all
information about recently added or modified devices yet. In this case
it is recommended to use udevadm settle before lsblk to synchronize
with udevСледующие примеры в формате вопросов и ответов должны дать вам лучшее представление о том, как работает lsblk.
Вопрос 1. Как использовать команду lsblk?
Основное использование довольно простое — просто выполните ‘lsblk’ без каких-либо опций.
lsblkСледующий вывод был получен этой командой на моей системе:

Первый столбец перечисляет имена устройств, за которыми следуют соответствующие основные и вторичные номера устройств, является ли устройство съемным (1 в случае, если это так), размер устройства, является ли устройство только для чтения, тип устройства (диск, раздел и т. д.), и, наконец, точка монтирования устройства (если доступно).
Вопрос 2. Как заставить lsblk отображать пустые устройства?
По умолчанию команда lsblk отображает только непустые устройства. Однако вы можете заставить инструмент отображать пустые устройства. Для этого используйте командную опцию -a.
lsblk -aНапример, в моем случае вышеуказанная команда выдала следующий вывод:

Строка ‘loop 13’ является новым дополнением в этом случае.
Вопрос 3. Как заставить lsblk выводить информацию о размере в байтах?
По умолчанию lsblk выводит информацию о размере в удобочитаемом формате. Хотя это хорошо, иногда вам может понадобиться размер в байтах. Хорошо то, что есть опция (-b), которая это делает.
lsblk -bСледующий пример вывода:

Таким образом, вы можете видеть, что столбец ‘Size’ теперь содержит записи в байтах.
Вопрос 4. Как заставить lsblk выводить модель зоны для каждого устройства?
Это можно сделать с помощью командной опции -z.
lsblk -zНапример, вот вывод, который выдала вышеупомянутая команда на моей системе:
NAME ZONED
loop0 none
loop1 none
loop2 none
loop3 none
loop4 none
loop5 none
loop6 none
loop7 none
loop8 none
loop9 none
loop10 none
loop11 none
loop12 none
sda none
??sda1 none
??sda2 none
??sda3 none
??sda4 none
??sda5 none
??sda6 none
??sda7 none
??sda8 none
sdb none
??sdb1 none
??sdb2 noneВопрос 5. Как заставить lsblk пропускать записи для слейвов?
Для этого вам нужно использовать командную опцию -d, которая говорит lsblk не выводить информацию, связанную с устройствами-держателями или слейвами.
lsblk -dВот пример вывода:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 3.3M 1 loop /snap/gnome-system-monitor/36
loop1 7:1 0 86.6M 1 loop /snap/core/4486
loop2 7:2 0 140M 1 loop /snap/gnome-3-26-1604/59
loop3 7:3 0 21M 1 loop /snap/gnome-logs/25
loop4 7:4 0 87M 1 loop /snap/core/5145
loop5 7:5 0 1.6M 1 loop /snap/gnome-calculator/154
loop6 7:6 0 2.3M 1 loop /snap/gnome-calculator/180
loop7 7:7 0 14.5M 1 loop /snap/gnome-logs/37
loop8 7:8 0 3.7M 1 loop /snap/gnome-system-monitor/51
loop9 7:9 0 12.2M 1 loop /snap/gnome-characters/69
loop10 7:10 0 13M 1 loop /snap/gnome-characters/103
loop11 7:11 0 140.9M 1 loop /snap/gnome-3-26-1604/70
loop12 7:12 0 86.9M 1 loop /snap/core/4917
sda 8:0 0 931.5G 0 disk
sdb 8:16 1 14.7G 0 diskЕсли сравнить с выводом, полученным в предыдущих случаях, вы можете увидеть, что в этом случае не выводятся записи слейвов.
Вопрос 6. Как заставить lsblk использовать символы ASCII для форматирования дерева?
По умолчанию тип форматирования дерева, который использует lsblk, может быть не удобен для пользователя во многих случаях. Например, копирование и вставка может вызвать проблемы с форматированием. Поэтому, если вы хотите, вы можете заставить инструмент использовать символы ASCII для форматирования дерева, что можно сделать с помощью командной опции -i.
lsblk -iВот пример вывода:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 3.3M 1 loop /snap/gnome-system-monitor/36
loop1 7:1 0 86.6M 1 loop /snap/core/4486
loop2 7:2 0 140M 1 loop /snap/gnome-3-26-1604/59
loop3 7:3 0 21M 1 loop /snap/gnome-logs/25
loop4 7:4 0 87M 1 loop /snap/core/5145
loop5 7:5 0 1.6M 1 loop /snap/gnome-calculator/154
loop6 7:6 0 2.3M 1 loop /snap/gnome-calculator/180
loop7 7:7 0 14.5M 1 loop /snap/gnome-logs/37
loop8 7:8 0 3.7M 1 loop /snap/gnome-system-monitor/51
loop9 7:9 0 12.2M 1 loop /snap/gnome-characters/69
loop10 7:10 0 13M 1 loop /snap/gnome-characters/103
loop11 7:11 0 140.9M 1 loop /snap/gnome-3-26-1604/70
loop12 7:12 0 86.9M 1 loop /snap/core/4917
sda 8:0 0 931.5G 0 disk
|-sda1 8:1 0 100M 0 part
|-sda2 8:2 0 52.5G 0 part
|-sda3 8:3 0 293G 0 part
|-sda4 8:4 0 1K 0 part
|-sda5 8:5 0 93.4G 0 part
|-sda6 8:6 0 293G 0 part
|-sda7 8:7 0 3.9G 0 part
`-sda8 8:8 0 195.8G 0 part /
sdb 8:16 1 14.7G 0 disk
|-sdb1 8:17 1 200M 0 part
`-sdb2 8:18 1 14.5G 0 partТаким образом, вы можете видеть, что вывод (см. записи sda) теперь содержит символы ASCII в формате дерева.
Вопрос 7. Как заставить lsblk отображать информацию о владельце устройства, группе и режиме?
Это можно сделать с помощью командной опции -m.
lsblk -mВот вывод, который выдала вышеупомянутая команда в моем случае:

Вопрос 8. Как заставить lsblk выводить выбранные столбцы?
Если хотите, вы также можете указать lsblk выводить только выбранные столбцы, что можно сделать с помощью командной опции -o (которая требует от вас передать список столбцов, разделенных запятыми, которые вы хотите отобразить).
Например:
lsblk -o NAME,SIZEВышеупомянутая команда выдала следующий вывод:

Заключение
Если ваша работа в Linux связана с доступом к информации о блочных устройствах, то lsblk — это команда, которую вы должны знать. Здесь, в этом учебнике, мы обсудили несколько командных опций, которые предлагает этот инструмент. Чтобы узнать больше о lsblk, перейдите на его страницу man.
Get new posts in your inbox
No spam. Unsubscribe anytime.