Что означает команда > /dev/null 2>&1

0 Comments
linux-logo

Сегодня в статье разберемся, что же это за такая команда в Linux системах > /dev/null 2>&1. Особенно заметно использование таких команд во время работы компилятора.

К примеру, у нас есть такая строчка:

cron job command > /dev/null 2>&1

Перенаправление вывода

Оператор > («больше чем»), как в примере выше, переадресовывает вывод программы. В данном случае, что-то отправляется в /dev/null, а что-то переадресовывается в &1.

Стандартные ввод, вывод и ошибка

Существует три стандартных значения ввода и вывода для программ. Ввод получают от клавиатуры (интерактивная, диалоговая программа), или из программы, обрабатывающей вывод другой программы.

Результат программы обычно печатается в стандартной вывод и иногда в файл «STDERR» (ошибка). Все это три дескриптора файла (вы можете представить их как «потоки данных», пришли из языка программирования C), которые часто называют STDINSTDOUT и STDERR.

Но часто к ним обращаются не по имени, а по номеру:

  • 0 — STDIN
  • 1 — STDOUT
  • 2 — STDERR

По умолчанию, если вы не укажете номер, то будет подразумеваться STDOUT.
В нашем примере видно, что команда направляет свой стандартный вывод в /dev/null (псевдоустройство, которое может принять произвольный объём данных, не сохраняя их совершенно нигде, следовательно, подавив стандартный вывод). Затем все ошибки (то есть STDERR) перенаправить в стандартный вывод. Необходимо поставить амперсанд «&» перед номером назначения.

Смысл вкратце — «весь вывод указанной команды спихнуть в черную дыру!«.

Это один из способов сделать программу по-настоящему безмолвной. Добавлю, что команда в примере аналогична команде

cron job command >/dev/null 2>/dev/null

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВК или подписаться на Twitter. Ссылки в шапки страницы.
Заранее всем спасибо!!!

RSS

Добавление RSS-ленты на главную страницу этого сайта не поддерживается, так как это может привести к зацикливанию, замедляющему работу вашего сайта. Попробуйте использовать другой блок, например блок Последние записи, для отображения записей сайта.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Операторы объединения команд в Linux & | ; && ! || &&-|| \ ()
linux-logo

Цепочка команд Linux означает объединение нескольких команд и выполнение их на основе оператора, используемого между ними. Цепочка команд в Linux Читать

Горячие клавиши Midnight Commander

Ctrl и Shift обозначают соответствующие клавиши клавиатуры, Meta - условное обозначение для набора мета-клавиш, на современном PC это обычно Alt Читать

-bash: host: command not found
linux-logo

Сегодня в статье разберём распространенную ошибку в Debian подобных системах (может и не только). Данную ошибку выдал терминал при попытке Читать

Переименовываем интерфейсы в Ubuntu 18.04|20.04|22.04
network-logo

В данной статье расcкажу как можно легко переименовать сетевые интерфейсы в Ubuntu 18.04|20.04|22.04....Но как изменить название интерфейса на более привычное?

5 2 голоса
Рейтинг статьи

Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 комментариев
Inline Feedbacks
Просмотреть все комментарии

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов cookie) с использованием трекеров "Google Analytics" и "Yandex.Metrics". Порядок обработки Ваших персональных данных, а также реализуемые требования к их защите, содержатся в Политике конфиденциальности.
Принять