lsblk - список блочных устройств
СИНТАКСИС
lsblk [опции] [устройство...]
ОПИСАНИЕ
lsblk выводит информацию обо всех доступных или указанных блочных устройствах. Команда lsblk
читает файловую систему sysfs и базу данных udev для сбора информации. Если база данных udev недоступна или
lsblk скомпилирована без поддержки udev, то она пытается читать метки, UUID и типы файловых систем
с блочного устройства. В этом случае необходимы права root.
По умолчанию команда выводит все блочные устройства (за исключением дисков RAM) в виде дерева. Одно и то же устройство может повторяться в дереве, если оно связано с другими устройствами. Опция --merge рекомендуется для более сложных конфигураций, чтобы сгруппировать устройства и описать сложные отношения N:M.
Древовидный вывод (или массив children[] в формате JSON) включен только в том случае, если в выводе присутствует столбец NAME или если используется опция командной строки --tree. См. также --nodeps и --list для управления форматированием дерева.
Вывод по умолчанию, а также вывод по умолчанию для таких опций, как --fs и --topology, может измениться. Поэтому, по возможности, следует избегать использования вывода по умолчанию в ваших скриптах. Всегда явно определяйте ожидаемые столбцы, используя --output columns-list и --list в средах, где требуется стабильный вывод.
Используйте lsblk --list-columns, чтобы получить список всех доступных столбцов.
Обратите внимание, что lsblk может быть выполнена в то время, когда udev еще не имеет всей информации о недавно добавленных или измененных устройствах. В этом случае рекомендуется использовать udevadm settle перед lsblk, чтобы синхронизироваться с udev.
Взаимосвязь между блочными устройствами и файловыми системами не всегда является однозначной. Файловая система может использовать несколько блочных устройств, или одна и та же файловая система может быть доступна по нескольким путям. Это причина, по которой lsblk предоставляет столбцы MOUNTPOINT и MOUNTPOINTS (мн. ч.). Столбец MOUNTPOINT отображает только одну точку монтирования (обычно последний экземпляр файловой системы, на который она была смонтирована), а столбец MOUNTPOINTS отображает в многострочной ячейке все точки монтирования, связанные с устройством.
ОПЦИИ
-A, --noempty
Не выводить пустые устройства.
-a, --all
Отключить все встроенные фильтры и вывести все пустые устройства и диски RAM.
-b, --bytes
Выводить размеры в байтах, а не в удобочитаемом формате.
По умолчанию единица измерения - байт, а префиксы единиц измерения - степени числа 2^10
(1024). Сокращения символов отображаются усеченными, чтобы обеспечить лучшую читаемость,
отображая только первую букву из них; например, "1 KiB" и "1 MiB" соответственно отображаются как "1 K" и "1 M",
и намеренно опускается упоминание "iB", которое является частью этих сокращений.
-H, --list-columns
Вывести список доступных столбцов, используйте с --json или --raw для получения вывода в формате, удобном для машинной обработки.
-D, --discard
Вывести информацию о возможностях отбрасывания (TRIM, UNMAP) для каждого устройства.
-d, --nodeps
Не выводить информацию об устройствах-владельцах или подчиненных устройствах. Например, `lsblk --nodeps /dev/sda` выводит информацию только об устройстве sda.
-E, --dedup column
Использовать указанный столбец в качестве ключа для дедупликации вывода дерева. Если ключ недоступен для устройства или устройство является разделом, а родительское устройство диска предоставляет тот же ключ, то устройство всегда выводится.
Обычно используется для дедупликации вывода в системах с многопутевыми устройствами, например, с помощью -E WWN.
-e, --exclude list
Исключить из вывода устройства, указанные в списке основных номеров устройств, разделенных запятыми. Обратите внимание, что диски RAM (основной номер=1) исключаются по умолчанию, если не указан параметр --all. Фильтр применяется только к устройствам верхнего уровня. Это может ввести в заблуждение при использовании формата вывода --list, когда иерархия устройств не очевидна.
-f, --fs
Вывести информацию о файловых системах. Этот параметр эквивалентен -o NAME,FSTYPE,FSVER,LABEL,UUID,FSAVAIL,FSUSE%,MOUNTPOINTS. Авторитетная информация о файловых системах и RAID предоставляется командой blkid(8).
--hyperlink[=mode]
Выводить пути монтирования в виде гиперссылок в терминале. Режим можно установить на "always", "never" или "auto". Необязательный аргумент when можно установить на "auto", "never" или "always". Если аргумент when опущен, он по умолчанию будет "auto". Настройка "auto" означает, что гиперссылки будут использоваться только в том случае, если вывод осуществляется в терминале.
-I, --include list
Включить в вывод устройства, указанные в списке основных номеров устройств, разделенных запятыми. Фильтр применяется только к устройствам верхнего уровня. Это может ввести в заблуждение при использовании формата вывода --list, когда иерархия устройств не очевидна.
-i, --ascii
Использовать символы ASCII для форматирования дерева.
-J, --json
Использовать формат вывода JSON. Настоятельно рекомендуется использовать --output, а также --tree, если это необходимо. Обратите внимание, что children[] используется только в том случае, если используется столбец NAME или --tree.
-l, --list
Выводить данные в виде списка. Вывод не предоставляет информации об отношениях между устройствами, и, начиная с версии 2.34, каждое устройство выводится только один раз, если не указаны параметры --pairs или --raw (форматы вывода, удобные для машинной обработки, поддерживаются в обратной совместимости).
-M, --merge
Группировать родительские элементы поддеревьев для обеспечения более удобочитаемого вывода для RAID и многопутевых устройств. Требуется вывод в виде дерева.
-m, --perms
Вывести информацию о владельце устройства, группе и режиме доступа. Этот параметр эквивалентен -o NAME,SIZE,OWNER,GROUP,MODE.
-N, --nvme
Выводить информацию только об устройствах NVMe.
-v, --virtio
Выводить информацию только об устройствах virtio.
-n, --noheadings
Не выводить строку заголовка.
-o, --output list
Указать, какие столбцы вывода следует отображать. Используйте --list-columns, чтобы получить список всех поддерживаемых столбцов. Столбцы могут влиять на вывод в виде дерева. По умолчанию используется дерево для столбца 'NAME' (см. также --tree).
Список столбцов по умолчанию можно расширить, указав список в формате +list (например, lsblk -o +UUID).
-O, --output-all Вывести все доступные столбцы.
-P, --pairs Выводить данные в виде пар «ключ=значение». Строки вывода по-прежнему упорядочиваются в соответствии с зависимостями. Все потенциально небезопасные символы в значениях экранируются в виде (\x<код>). См. также опцию --shell.
-p, --paths Выводить полные пути к устройствам.
-Q, --filter expr Выводить только устройства, соответствующие условиям, указанным в выражении expr. Фильтр применяется до того, как lsblk собирает данные для всех столбцов вывода. Только необходимые данные для ленивой оценки выражения извлекаются из системы. Этот подход может повысить производительность по сравнению с постобработкой фильтрацией, как это обычно делается такими инструментами, как grep(1).
Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. См. также scols-filter(5). Например, исключите sda и sdb, но выведите все остальное:
lsblk --filter 'NAME !~ "sd[ab]"'
--highlight expr Выделить цветом строки, соответствующие выражению. Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. См. также scols-filter(5).
--ct name [: param [: function ]] Определить пользовательский счетчик. Счетчик выводится после стандартного вывода. Имя — это пользовательское имя счетчика, необязательный параметр param — это имя столбца, который будет использоваться для счетчика, а необязательная функция указывает функцию агрегирования, поддерживаемые функции: count, min, max или sum. По умолчанию используется count.
Если параметр param не указан, то счетчик подсчитывает количество строк. Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. См. также --ct-filter.
Например, --ct MyCounter:SIZE:sum будет суммировать значения для SIZE по всем строкам; а чтобы подсчитать количество дисков SATA, можно использовать:
lsblk --ct-filter 'TYPE=="disk" && TRAN=="sata"' --ct "Количество дисков SATA"
--ct-filter expr Определить ограничение для следующего счетчика. Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. См. также --ct и scols-filter(5). Например, агрегировать размеры по типу устройства:
lsblk --ct-filter 'TYPE=="part"' --ct Partitions:SIZE:sum \ --ct-filter 'TYPE=="disk"' --ct WholeDisks:SIZE:sum
-r, --raw Выводить данные в необработанном формате. Строки вывода по-прежнему упорядочиваются в соответствии с зависимостями. Все потенциально небезопасные символы экранируются в виде (\x<код>) в столбцах NAME, KNAME, LABEL, PARTLABEL и MOUNTPOINT.
-S, --scsi Выводить информацию только об устройствах SCSI. Все разделы, подчиненные устройства и устройства-контейнеры игнорируются.
-s, --inverse Выводить зависимости в обратном порядке. Если запрошен вывод --list, строки по-прежнему упорядочиваются в соответствии с зависимостями.
-T, --tree[=column] Принудительно использовать древовидный формат вывода. Если указан столбец, то дерево выводится в этом столбце. По умолчанию используется столбец NAME.
-t, --topology Выводить информацию о топологии блочных устройств. Эта опция эквивалентна
-o NAME,ALIGNMENT,MIN-IO,OPT-IO,PHY-SEC,LOG-SEC,ROTA,SCHED,RQ-SIZE,RA,WSAME.
-w, --width number
Указывает ширину вывода в символах. По умолчанию используется количество столбцов терминала, а если lsblk не выполняется в терминале, то ширина вывода не ограничивается. Этот параметр также заставляет lsblk предполагать, что символы управления терминалом и небезопасные символы не разрешены. Типичный пример использования — когда lsblk используется командой watch(1).
-x, --sort column
Сортирует строки вывода по указанному столбцу. Этот параметр по умолчанию включает формат вывода --list. Можно использовать параметр --tree, чтобы принудительно использовать древовидный вывод, и тогда ветви дерева будут отсортированы по указанному столбцу.
-y, --shell
Имя столбца будет изменено таким образом, чтобы оно содержало только символы, разрешенные для идентификаторов переменных оболочки, например, MIN_IO и FSUSE_PCT вместо MIN-IO и FSUSE%. Это можно использовать, например, с параметром --pairs. Обратите внимание, что эта функция была автоматически включена для --pairs в версии 2.37, но из-за проблем совместимости теперь необходимо запрашивать это поведение с помощью --shell.
-z, --zoned
Выводит информацию о зонах для каждого устройства.
--sysroot directory
Собирает данные для экземпляра Linux, отличного от экземпляра, из которого выполняется команда lsblk. Указанный каталог является корневым каталогом системы Linux, которую необходимо проверить. Фактические узлы устройств в целевом каталоге могут быть заменены текстовыми файлами с атрибутами udev.
--properties-by list
Этот параметр указывает методы, используемые lsblk для сбора информации о файловых системах и таблицах разделов. Список — это список, разделенный запятыми, имен методов. Значение по умолчанию — "file,udev,blkid". Поддерживаемые методы:
udev
Считывает данные из базы данных udev. В случае неудачи переходит к следующему методу зондирования.
blkid
Считывает данные непосредственно с устройства, используя libblkid. В случае неудачи переходит к следующему методу зондирования.
file
Считывает данные из файла. Этот метод используется только в том случае, если указан параметр --sysroot. Этот метод всегда останавливает зондирование.
none
Не выполняет зондирование. Этот метод всегда останавливает зондирование.
-h, --help
Отображает текст справки и завершает работу.
-V, --version
Отображает версию и завершает работу.
СТАТУС ВЫХОДА
0 успех
1 сбой
32 ни одно из указанных устройств не найдено
64 некоторые из указанных устройств найдены, некоторые — нет
ОКРУЖАЮЩАЯ СРЕДА
LSBLK_DEBUG=all
включает отладочный вывод lsblk.
LIBBLKID_DEBUG=all
включает отладочный вывод libblkid.
LIBMOUNT_DEBUG=all
включает отладочный вывод libmount.
LIBSMARTCOLS_DEBUG=all
включает отладочный вывод libsmartcols.
LIBSMARTCOLS_DEBUG_PADDING=on
использовать видимые символы отступов.
ПРИМЕЧАНИЯ
Для разделов некоторая информация (например, атрибуты очереди) наследуется от родительского устройства.
Команда lsblk должна иметь возможность находить каждое блочное устройство по основным и второстепенным номерам, что делается с помощью каталога /sys/dev/block. Этот каталог sysfs block появился в ядре 2.6.27 (октябрь 2008 г.). В случае проблем с достаточно новой версией ядра убедитесь, что CONFIG_SYSFS был включен во время сборки ядра.
АВТОРЫ
Милан Броз <_>, Карел Зак <_>
ССЫЛКИ
blkid(8), findmnt(8), ls(1), scols-filter(5)
СООБЩЕНИЕ ОБ ОШИБКАХ
Для сообщений об ошибках используйте систему отслеживания ошибок [https://github.com/util-linux/util-linux/issues].
ДОСТУПНОСТЬ
Команда lsblk является частью пакета util-linux, который можно загрузить с Linux Kernel Archive [https://www.kernel.org/pub/linux/utils/util-linux/].