Сервер в кармане, или просто о сложном!

главная - Статьи - 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

Авторизуйтесь для добавления комментариев!


    забыли пароль?    новый пользователь?