Стандартные поток ввода (stdin) и стандартные потоки вывода (stdout) и ошибок (stderr)
Операционная система linux написана на языке программирования C, в котором по умолчанию открыты три файловых дескриптора, имеющих следующие значения:
- 1 (stdin) стандартный поток ввода. Из этого потока программа может читать данные.
- 2 (stdout) стандартный поток вывода. В этот поток программа может выводить данные.
- 3 (stderr) стандартный поток ошибок. В этот поток программа может выводит сообщения об ошибках.
В shell-оболочке bash стандартный поток ввода stdin соответственно имеет номер 1, а потоки вывода номера 1 для stdout и 2 для stderr.
При запуске shell, например при логине или при запуске командой sh, открывается новая shell-сессия, внутри которой создаются псевдофайлы символьных ссылок на устройства ввода-вывода /dev/stdin
, /dev/stdout
и /dev/stderr
, в которые потоки ввода-вывода можно перенаправлять так же, как в обычные текстовые файлы.
- Стандартные поток ввода (stdin) и стандартные потоки вывода (stdout) и ошибок (stderr).
- Код завершения выполнения программы.
- Перенаправление вывода команды в файл.
- Перенаправление ввода команды из файла.
- Перенаправление вывода команды на ввод другой команды.
- Перенаправление вывода в никуда.
- Именованные каналы.
- Перенаправление вывода в несколько файлов.
- Перенаправление вывода на другой терминал.
- Вывод содержимого файла.
- Ввод из командной строки в файл.
- Выполнение команд из файла.
- Вывод управляющих символов и символов по кодам.
- Запуск сессии shell с перенаправлением стандартных потоков.
- Замена символов при выводе.
- Построчное объединение файлов.
- Перенос строки в терминале.