Почти все команды выводят данные на экран или принимают данные с клавиатуры, но в Linux можно отправить вывод в файл или прочитать ввод из файла.
Каждая команда оболочки имеет свой собственный вход и выход.
Перед выполнением команды ее ввод и вывод могут быть перенаправлены с использованием специальных обозначений, интерпретируемых оболочкой.
Например, отправка вывода команды date в файл, а не на экран.
Изменение пути ввода или вывода по умолчанию называется перенаправлением.

В Linux все это файл.
Ваше оборудование также является файлом:
0 – Ввод – Клавиатура (stdin)
1 – Вывод – Экран (stdout)
2 – Ошибка – Экран (stderr)
1 – Вывод – Экран (stdout)
2 – Ошибка – Экран (stderr)
Вышеупомянутые три числа являются стандартными числами POSIX и также известны как файловые дескрипторы (FD).
Каждая команда Linux хотя бы открывает вышеуказанные потоки для общения с пользователями или другими системными программами.
Целочисленное значение
Стандартный файл
|
Номер дескриптора файла | Функционал |
Пример (введите в шелле)
|
---|---|---|---|
stdin | 0 | Чтение ввода из файла (по умолчанию клавиатура) | cat < filename |
stdout | 1 | Отправление данных в файл (по умолчанию экран). | date > output.txt |
stderr | 2 |
Отправление всех сообщений об ошибках в файл (по умолчанию экран).
|
rm /tmp/4815162342.txt 2>error.txt |
Вы можете манипулировать конечным результатом, перенаправляя ввод и вывод.