Device file (Русский)

Состояние перевода:
На этой странице представлен перевод статьи
Device file
. Дата последней синхронизации: 8 января 2022. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
Ссылки по теме
Постоянные имена для блочных устройств
Из
Википедии
:
Специальный файл устройства, или просто файл устройства (англ. special device file) — это один из типов файлов в UNIX-подобной операционной системе. Специальные файлы устройств содержат данные, необходимые операционной системе для взаимодействия с физическими устройствами, такими как диски и дисководы, принтеры и факсы и т. п. Фактически, специальные файлы устройств являются указателями на драйверы устройств, и когда процесс обращается к файлу устройств, он по сути работает с драйвером этого устройства.
В Linux они располагаются в каталоге
/dev
в соответствии с
Filesystem Hierarchy Standard
.
В Arch Linux файлами устройств управляет
udev
.
Блочные устройства
Блочное устройство — это специальный файл, обеспечивающий буферизованный доступ к устройству.
Имена блочных устройств
Начало имени устройства указывает на подсистему ядра, используемую для управления этим блочным устройством.
Важно
Дескрипторы имени ядра для блочных устройств не являются
постоянными
и могут меняться при каждой загрузке, стоит избегать их использования в файлах конфигурации.
SCSI
Устройства хранения, такие как жёсткие диски,
SSD
и флэш-накопители, которые поддерживают
команду SCSI
(
SCSI
,
SAS
,
UASP
), соединение ATA (
PATA
,
SATA
) или
USB Mass Storage
, обрабатываются драйвером SCSI. Все они имеют одну и ту же схему именования.
Имя этих устройств начинается с
sd
. Затем следует строчная буква, начиная с
a
для первого обнаруженного устройства (
sda
),
b
для второго (
sdb
) и так далее.
Примеры:
/dev/sda
- устройство
a
, первое обнаруженное устройство.
/dev/sde
- устройство
e
, пятое обнаруженное устройство.
NVMe
Имя устройств хранения, подключенных через
NVM Express
(NVMe), начинается с
nvme
. Затем следует порядковый номер контроллера устройства:
nvme0
для первого обнаруженного контроллера NVMe,
nvme1
для второго и так далее. Далее идет буква «n» и число, начинающееся с
1
, обозначающее устройство на контроллере:
nvme0n1
для первого обнаруженного устройства на первом обнаруженном контроллере,
nvme0n2
для второго обнаруженного устройства на первом обнаруженном контроллере и так далее.
Примеры:
/dev/nvme0n1
- устройство
1
на контроллере
0
, первое обнаруженное устройство на первом обнаруженном контроллере.
/dev/nvme2n5
- устройство
5
на контроллере
2
, пятое обнаруженное устройство на третьем обнаруженном контроллере.
MMC
SD-карты
,
карты MMC
и
устройства хранения данных eMMC
обрабатываются драйвером
mmc
, и имена этих устройств начинаются с
mmcblk
. Затем следует порядковый номер устройства:
mmcblk0
для первого обнаруженного устройства,
mmcblk1
для второго и так далее.
Примеры:
/dev/mmcblk0
- устройство
0
, первое обнаруженное устройство.
/dev/mmcblk4
- устройство
4
, пятое обнаруженное устройство.
Привод оптических дисков SCSI
Имена
приводов оптических дисков
, которые подключаются с через интерфейс, поддерживаемый драйвером
SCSI
, начинаются с
sr
. Затем следует порядковый номер устройства:
sr0
для первого обнаруженного устройства,
sr1
для второго и так далее.
Udev
также предоставляет
/dev/cdrom
, который является символической ссылкой на
/dev/sr0
. Имя всегда будет
cdrom
независимо от поддерживаемых приводом типов дисков или вставленного носителя.
Примеры:
/dev/sr0
- привод оптических дисков
0
, первый обнаруженный.
/dev/sr4
- привод оптических дисков
4
, пятый обнаруженный.
/dev/cdrom
- символическая ссылка на
/dev/sr0
.
virtio-blk
Имена дисков, подключенных к интерфейсу блочного устройства virtio (virtio-blk), начинаются с
vd
. Затем следует строчная буква, начиная с
a
для первого обнаруженного устройства (
vda
),
b
для второго (
vdb
) и так далее.
Примечание
Не путайте virtio-blk с virtio-scsi, который эмулирует контроллер SCSI и, таким образом, следует
соглашению об именах SCSI
.
Примеры:
/dev/vda
- устройство
a
, первое обнаруженное устройство.
/dev/vde
- устройство
e
, пятое обнаруженное устройство.
Разделы
Имена разделов представляют собой комбинацию имени устройства диска и номера раздела, присвоенного им в таблице разделов:
/dev/
устройствораздел
. Для дисков, имя устройства которых заканчивается цифрой, имя диска и номер раздела разделяются буквой «p»:
/dev/
устройство
p
раздел
.
Примеры:
/dev/sda1
- раздел
1
на устройстве
/dev/sda
.
/dev/nvme2n5p3
- раздел
3
на устройстве
/dev/nvme2n5
.
/dev/mmcblk3p4
- раздел
4
на устройстве
/dev/mmcblk3
.
/dev/vda1
- раздел
1
на устройстве
/dev/vda
.
/dev/loop0p2
- раздел
2
на устройстве
/dev/loop0
.
Инструменты
lsblk
Пакет
util-linux
предоставляет утилиту
lsblk(8)
, которая выводит список блочных устройств, например:
$ lsblk -f
NAME   FSTYPE   LABEL       UUID                                 MOUNTPOINT
sda
├─sda1 vfat                 C4DA-2C4D                            /boot
├─sda2 swap                 5b1564b2-2e2c-452c-bcfa-d1f572ae99f2 [SWAP]
└─sda3 ext4                 56adc99b-a61e-46af-aab7-a6d07e504652 /
Этот пример показывает только одно доступное устройство (
sda
), которое имеет три раздела (от
sda1
до
sda3
), каждый из которых имеет свою
файловую систему
.
wipefs
wipefs
может отображать сигнатуры
файловой системы
,
RAID
или
таблицы разделов
(магические строки) с указанного устройства и стирать их, чтобы сделать невидимыми для
libblkid(3)
. Он не стирает ни сами файловые системы, ни какие-либо другие данные с устройства.
Смотрите
wipefs(8)
для получения дополнительной информации.
Например, чтобы стереть все сигнатуры с устройства
/dev/sdb
и создать резервную копию
~/wipefs-sdb-
смещение
.bak
для каждой сигнатуры:
# wipefs --all --backup /dev/sdb
Псевдоустройства
Эти файлы устройств не соответствуют никакому физическому устройству.
/dev/random
, смотрите
random(4)
/dev/shm
/dev/null
,
/dev/zero
, смотрите
null(4)
/dev/full
, смотрите
full(4)
/dev/ttyX
, где X является числом
Смотрите также
Linux allocated devices
— документация ядра
Gentoo:Device file