Немного линукса
Основы работы в ОС Linux
Стандартные потоки и перенаправление ввода-вывода

Каждая программа при исполнении использует три стандартных потока ввода-вывода: stdin, stdout и stderr, имеющие дескрипторы 0, 1 и 2, соответственно. По умолчанию, все три потока соответствуют консоли, с которой работает пользователь.

При написании скриптов Linux широко используются перенаправления стандартных потоков, в частности:

команда > файл
Направить вывод команды в файл, вместо stdout. Если файл с таким именем уже существует, его исходное содержимое будет утрачено.
команда >> файл
Направить вывод команды в дополнение к файлу, вместо stdout. Если файл с таким именем уже существует, новый вывод будет дописан в его конец.
команда < файл
Ввести в команду данные из файла, вместо stdin.
команда1 | команда2
Направить вывод одной команды на вход другой команды, вместо stdout и stdin, соответственно.
n>&m
Перенаправить поток n в поток m, в частности:
1>&2 Перенаправить stdout в stderr.
2>&1 Перенаправить stderr в stdout.
$(команда)
`команда`
Преобразовать вывод команды в текстовую строку, которая может быть присвоена переменной окружения, передана другой команде в виде параметра и т.п. (Во втором синтаксисе используются именно обратные, а не прямые, апострофы.)

Подробно о перенаправлении потоков ввода-вывода см. страницы руководства по bash.

Для того, чтобы избавиться от нежелательного вывода, его обычно направляют в файл с именем /dev/null.


© Network Systems Group 2015–2024 Отдел документации