/dev/null

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

/dev/null — специальный файл в системах класса UNIX, представляющий собой так называемое «пустое устройство». Запись в него происходит успешно, независимо от объёма «записанной» информации. Чтение из /dev/null эквивалентно считыванию конца файла (EOF).

В DOS есть псевдофайл NUL с аналогичными свойствами[1].

Создание[править | править код]

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

В Linux:

mknod FILE c 1 3

В FreeBSD:

mknod FILE c 0 27

В Solaris:

mknod FILE c 13 2

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

Примеры использования[править | править код]

  • Чаще всего перенаправление в /dev/null используется для подавления стандартного вывода (выходного потока) и/или вывода сообщений об ошибках (потока диагностики) программы их перенаправлением в /dev/null, такое подавление чаще всего используется в командных сценариях (shell scripts) для подавления нежелательного вывода на консоль.

Вывод потока стандартного вывода (STDOUT) и потока ошибок (STDERR) в /dev/null:

сделать что-то > /dev/null 2>&1

В современных оболочках bash для перенаправления стандартного вывода (STDOUT) и потока ошибок (STDERR) в /dev/null рекомендуется применять:

сделать что-то &> /dev/null

Вывод потока ошибок (STDERR) в /dev/null:

сделать что-то 2> /dev/null
  • Запуск программы reader, ожидающей в качестве обязательного параметра имя файла ввода, без такового.
 reader /dev/null
  • Проверка доступности всех файлов в каталоге foo и его подкаталогах для чтения.
 find foo/ -type f -readable > /dev/null
  • Очень удобно использовать для обнуления файлов большого размера, например, почтовых ящиков:
 cp /dev/null /var/mail/mike

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

На жаргоне системных администраторов и разработчиков программного обеспечения null ассоциируется с отсутствием информации. Например, «моя почта сохраняется на null» означает, что вся поступающая почта удаляется, «шлите жалобы на null» означает не беспокоить жалобами, «шлите пожертвования на null» означает, что пожертвования не принимаются, а «redirect to null» означает послать подальше или игнорировать.

См. также[править | править код]

Примечания[править | править код]

  1. Redirecting error messages from Command Prompt: STDERR/STDOUT (англ.). docs.microsoft.com. Дата обращения: 8 мая 2021. Архивировано 6 мая 2021 года.