No Image

Что такое dev null

СОДЕРЖАНИЕ
0 просмотров
10 марта 2020
Файл UNIX-устройства /dev/null .
Тип: символьное (c)
ОС major minor
Solaris 13 2
Linux, FreeBSD 1 3

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

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

Содержание

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

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

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

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

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

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

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

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

  • Запуск программы reader, ожидающей в качестве обязательного параметра имя файла ввода, без такового.
  • Проверка доступности всех файлов в каталоге foo и его подкаталогах для чтения.
  • Очень удобно использовать для обнуления файлов большого размера, например, почтовых ящиков:

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

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

/dev/null — (englisch null: dt. „nichts“) ist der Name einer speziellen virtuellen Gerätedatei, dem Nulldevice, auf UNIX und Unix ähnlichen Betriebssystemen, die jegliche Daten, die dorthin geschrieben werden, verwirft. Unter DOS und… … Deutsch Wikipedia

Dev/null — /dev/null ist der POSIX genormte Name einer speziellen virtuellen Gerätedatei auf UNIX und Unix ähnlichen Betriebssystemen. Details Das Gerät /dev/null dient als „Ausguss“ im Datenstrom. Alle Daten, die dorthin geschrieben werden, werden… … Deutsch Wikipedia

Читайте также:  Acer aspire one happy 2 характеристики

/dev/null — est un fichier spécial des systèmes d exploitation Unix. Ce pseudo périphérique (device, en anglais) sert à rediriger un contenu dont on n a pas besoin, et qui ne doit pas être sauvegardé ni affiché à l écran. Toute information envoyée vers ce… … Wikipédia en Français

/dev/null — In Unix like operating systems, /dev/null or the null device is a special file that discards all data written to it (but reports that the write operation succeeded) and prov >Wikipedia

Dev Null — was an animated virtual reality character created in 1996 by Leo Laporte for MSNBC s computer and technology TV series, The Site. Espresso barista Dev talked with host Soledad O Brien each weeknight in a five minute segment. Laporte was awarded a … Wikipedia

/dev/null — noun a) A device file, present in Unix and Unix like operating systems, that discards all data written to it and yields no input. Its possible to suppress the compilers warnings by redirecting standard error to /dev/null. b) Nowhere; often… … Wiktionary

Null Dave — /dev/null Sur les systèmes de type Unix, il existe un pseudo périphérique (device, en anglais) spécial vers lequel on peut rediriger un contenu qui ne doit pas être sauvegardé ni affiché à l écran. Ce périphérique est appelé null et il est situé… … Wikipédia en Français

Null — Pour le musicien japonais, voir Kazuyuki K. Null. NULL est un mot clef présent dans de nombreux langages informatiques, et qui désigne l état d un pointeur qui n a pas de cible ou d une variable qui n a pas de valeur. La notion de valeur ou … Wikipédia en Français

/dev — (от англ. devices устройства) директория в системах типа UNIX, содержащая так называемые специальные файлы интерфейсы работы с драйверами ядра. Как правило (хотя и не всегда), /dev является обычной директорией в… … Википедия

Читайте также:  Как зайти на спакес

Null (computer programming) — Null has several meanings in computer programming.;Null pointer or null reference * Null is a special pointer value (or other kind of object reference) used to signify that a pointer intentionally does not point to (or refer to) an object. Such a … Wikipedia

С технической точки зрения «/dev/null» является файлом виртуального устройства.

Что касается программ, то они обрабатываются как реальные файлы.

Утилиты могут запрашивать данные из такого рода источников, а операционная система передает им данные.

Но вместо чтения с диска операционная система генерирует эти данные динамически.

Примером такого файла является «/dev/zero».

В этом случае, однако, вы будете записывать в файл устройства

Все, что вы пишете в «/dev/null», отбрасывается, забывается и выбрасывается в пустоту.

Чтобы понять, почему это полезно, вы должны сначала иметь представление о стандартном выводе и стандартной ошибке в операционных системах Linux или * nix.

stdout и stder

Утилита командной строки может генерировать два типа вывода.

Стандартный вывод отправляется на stdout.

Ошибки отправляются в stderr.

По умолчанию stdout и stderr связаны с окном вашего терминала (или консолью).

Это означает, что все, что отправлено на stdout и stderr, обычно отображается на вашем экране.

Но с помощью перенаправления оболочки вы можете изменить это поведение.

Например, вы можете перенаправить стандартный вывод в файл.

Таким образом, вместо отображения вывода на экране, он будет сохранен в файл, который вы сможете прочитать позже, или вы можете перенаправить стандартный вывод на физическое устройство, например, на цифровой светодиод или ЖК-дисплей.

  • С 2> вы перенаправляете стандартные сообщения об ошибках. Пример: 2> /dev/null или 2> /home/user/error.log.
  • С 1> вы перенаправляете стандартный вывод.
  • С &> вы перенаправляете как стандартную ошибку, так и стандартный вывод.

Используйте /dev/null, чтобы избавиться от вывода, который вам не нужен

Поскольку существует два типа вывода: стандартный вывод и стандартная ошибка, первый вариант использования — отфильтровать один тип или другой.

Это легче понять на практическом примере.

Допустим, вы ищете строку в «/sys», чтобы найти файлы, которые относятся к настройкам питания.

Читайте также:  Сброс настроек рекавери на китайском

Будет много файлов, которые обычный пользователь без прав root не сможет прочитать.

Это приведет к множеству ошибок «Отказано в доступе».

Это затрудняет поиск результатов, которые вы ищете.

Поскольку ошибки «Permission denied» являются частью stderr, вы можете перенаправить их на «/dev/null».

Как видите, это гораздо легче читать.

В других случаях может быть полезно сделать обратное: отфильтровать стандартный вывод, чтобы вы могли видеть только ошибки.

На приведенном выше примере показано, что без перенаправления ping отображает свой обычный вывод, когда он может достичь конечного компьютера.

Во втором случае ничего не отображается, когда машина подключена к сети, но как только она отключается, отображаются только сообщения об ошибках.

Вы можете перенаправить как stdout, так и stderr в два разных места.

В этом случае сообщения стандартного вывода вообще не будут отображаться, а сообщения об ошибках будут сохраняться в файле «error.log».

Перенаправить весь вывод в /dev/null

Иногда полезно избавиться от всего вывода.

Есть два способа сделать это.

Строка > /dev/null означает «отправить stdout в /dev/null», а вторая часть, 2>&1, означает отправить stderr в stdout.

В этом случае вы должны ссылаться на стандартный вывод как «&1» вместо простого «1.».

Запись «2>1» просто перенаправит стандартный вывод в файл с именем «1».

Здесь важно отметить, что порядок важен.

Если вы измените параметры перенаправления следующим образом:

это не будет работать как задумано.

Это потому, что, как только 2>&1 интерпретируется, stderr отправляется на стандартный вывод и отображается на экране.

Затем stdout подавляется при отправке в «/dev/null».

В конечном итоге вы увидите ошибки на экране вместо того, чтобы подавлять все выходные данные.

Если вы не можете вспомнить правильный порядок, существует более простое перенаправление, которое гораздо проще набрать:

В этом случае &>/dev/null эквивалентно сообщению «перенаправить как stdout, так и stderr в это местоположение».

Другие примеры, где это может быть полезно для перенаправления в /dev/null

Скажем, вы хотите увидеть, как быстро ваш диск может читать последовательные данные.

Комментировать
0 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock detector