главная - Статьи - Linux, FreeBSD
Что значит /dev/null 2>&1
Теги: Linux
Что значит "> /dev/null 2>&1"?
Шел бы ты, мальчик, в /dev/null... Знать бы еще, куда кого-то только что послал...
Вот пример команды:
wibble > /dev/null 2>&1
Перенаправление вывода
Операторы greater-thans (>) в командах, переадресовывают вывод программы куда-нибудь. В данном случае, кое-что переадресовывается в /dev/null, и кое-что переадресовывается в &1.
Стандартные ввод, вывод и ошибка
Есть три стандартных значения ввода и вывода для программ. Стандартный ввод обычно получают от клавиатуры, если это - диалоговая программа, или из программы, если она обрабатывает вывод другой программы. Программа обычно выводит в стандартной вывод, и иногда выводит в стандартную ошибку. Это три дескриптора файла (Вы можете представить их как "каналы данных") называются: STDIN, STDOUT и STDERR.
Иногда их не именуют, а нумеруют! Встроенные нумерации для них соответственно - 0, 1 и 2. По умолчанию, если Вы не указывете номер или явно указываете номер 1, Вы имеете дело с STDOUT.
В данном случае, Вы видите, что команда выше переадресовывает стандартный вывод в/dev/null (часто называемый bit-bucket [битоприемник]), который является местом, куда Вы можете скинуть что-нибудь не нужное, затем переадресовывая стандартную ошибку в стандартный вывод.
Короткое объяснение этому, "весь вывод этой команды, нужно спихнуть в черную дыру." Это - один хороший способ заставить программу быть действительно безмолвной!
Источник: fedoralinux.ru
Авторизуйтесь для добавления комментариев!