--- status: stable type: concept tags: - os - linux created: 2025-12-17 updated: 2026-05-07 aliases: - Redirects --- # Redirects В системах на базе ядра Linux существуют 3 стандартных потока данных: 1. stdin - стандартный поток ввода (с клавиатуры, например) 2. stdout - стандартный поток вывода (вывод программы) 3. stderr - стандартный поток ошибок Можно с ними работать, управляя данными в этих потоках. Например, вывод одной команды перевести на вход другой команды. - `>` — вывод stdout в файл (создаёт новый файл или перезаписывает существующий): `ls > output.txt`. - `>>` — добавляет stdout к концу файла: `echo "new" >> output.txt`. - `<` — перенаправляет stdin из файла: `wc -l < file.txt`. - `2>` — вывод stderr в файл: `ls nonexist 2> errors.txt`. - `2>&1` — объединяет потоки ошибок и вывода, часто с последующим перенаправлением: `ls file1 file2 > result.txt 2>&1`. - `&>` — краткая запись для объединённого перенаправления stdout и stderr: `command &> alloutput.txt`. **Pipeline**  Существует понятие конвеера - перенаправление выхода предшевствующей команды на вход следующей: `ls | grep user` ## Связанные заметки - [[Linux - MOC]]