/dev/zero

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Файл UNIX-устройства
/dev/zero
Тип символьное (c)
Коды
ОС major minor
Linux 1 5
Специальные файлы устройств

/dev/zero — специальный файл в UNIX-подобных системах, представляющий собой источник нулевых байтов (ASCII NUL, 0x00). При чтении этого файла никогда не достигается его конец.

Любые данные, записанные в /dev/zero, будут игнорированы, а сама запись завершается успешно — точно так же, как и при записи в /dev/null (хотя последнее намного чаще используется как «чёрная дыра», чем /dev/zero).

Устройство /dev/zero считается символьным. В Linux оно создаётся с помощью утилиты mknod следующим образом:

mknod FILE c 1 5

Здесь FILE — имя для нового устройства. На этапе установки и копирования данных системы оно создаётся таким образом со стандартным именем /dev/zero.

Примеры использования

[править | править код]

Чаще всего /dev/zero используется для создания файла заданного размера (например, для размещения там образа файловой системы). Например, для создания файла image.iso размером 100 КБ можно выполнить команду

dd if=/dev/zero of=image.iso bs=1024 count=100

/dev/zero можно использовать как источник информации для перезаписи устройств и файлов (например, для безвозвратного удаления всех данных с жёсткого диска).

При отображении устройства /dev/zero в виртуальное адресное пространство при помощи mmap(), получается анонимный регион памяти, не связанный ни с каким файлом. В случае использования флага MAP_SHARED, соответствующая область памяти будет разделяемой.