главная - Статьи - Linux, FreeBSD
Что значит /dev/null 2>&1
Дата обновления: 16.04.2025Теги: Linux
Шли бы вы, молодой человек, в /dev/null. Знать бы еще, куда кого-то только что послал...
Что же такое "> /dev/null 2>&1"?
Сам по себе /dev/null в Linux - это черная дыра. Что туда попало, то пропало навсегда.
Вот пример команды:
script.sh > /dev/null 2>&1
Перенаправление вывода
Оператор greater-than (>) в командах, переадресовывает вывод программы куда-нибудь. В данном случае, "кое-что" переадресовывается в /dev/null, и "кое-что" переадресовывается в &1.
Стандартные ввод, вывод и ошибка
Есть три стандартных значения ввода и вывода для программ. Стандартный ввод обычно получают от клавиатуры, если это - диалоговая программа, или из программы, если она обрабатывает вывод другой программы. Программа обычно выводит в стандартной вывод, и иногда выводит в стандартную ошибку.
Это три дескриптора файла (можно их представить как "каналы данных"): STDIN, STDOUT и STDERR.
Иногда их не именуют, а нумеруют!
Встроенные нумерации для них соответственно - 0, 1 и 2. По умолчанию, если Вы не указывете номер или явно указываете номер 1, Вы имеете дело с STDOUT.
0 — STDIN, 1 — STDOUT и 2 — STDERR
В данном случае, Вы видите, что команда выше:
1) переадресовывает стандартный вывод в /dev/null (часто называемый bit-bucket [битоприемник]), который является местом, куда Вы можете скинуть что-нибудь не нужное (script.sh > /dev/null),
2) а также переадресовывает стандартную ошибку в стандартный вывод (2 >&1)
Короткое объяснение этому, "весь вывод этой команды, нужно спихнуть в черную дыру." Это такой способ заставить программу быть действительно безмолвной!
Сравните:
$ ls -al /root/
ls: cannot open directory '/root/': Permission denied
и
$ ls -al /root/ 2> /dev/null
Сообщения об ошибках доступа "исчезли".
Примеры:
Если нужно получать только сообщения об ошибках:
/tmp/script.sh > /dev/null
Показать вывод скрипта и никаких ошибок:
/tmp/script.sh > /dev/null 2>/dev/null
Не показывать ничего (ни вывод скрипта, ни ошибки):
script.sh > /dev/null 2>&1
Авторизуйтесь для добавления комментариев!

Принимаю заказы на настройку серверов, mikrotik и других роутеров, точек доступа, nginx и т.п. В пределах Санкт-Петербурга возможен выезд к заказчику. См. контакты.

Зачем Яндекс.Браузеру эти данные?

