Перенаправление ввода-вывода (I/O) позволяет передавать информацию из командной строки в разные потоки. Прежде чем обсуждать перенаправление, важно понять стандартные потоки .
STDIN
Стандартный ввод или STDIN — это информация, обычно вводимая пользователем с клавиатуры. Когда команда запрашивает у оболочки данные, оболочка предоставляет пользователю возможность вводить команды, которые, в свою очередь, отправляются команде как стандартный ввод.
STDOUT
Стандартный вывод или STDOUT — это обычный вывод команд. Когда команда работает правильно (без ошибок), вывод, который она производит, называется STDOUT. По умолчанию STDOUT отображается в окне терминала, где выполняется команда. STDOUT также известен как поток или канал №1.
STDERR
Стандартная ошибка или STDERR — это сообщения об ошибках, генерируемые командами. По умолчанию STDERR отображается в окне терминала, где выполняется команда. STDERR также известен как поток или канал №2.
Перенаправление ввода-вывода позволяет пользователю перенаправить STDIN, чтобы данные поступали из файла, и STDOUT/STDERR, чтобы выходные данные поступали в файл. Перенаправление достигается с помощью <>символов стрелки.