---
status: stable
type: concept
tags:
  - os
updated: 2026-02-27
title: Redirects
created: 2025-12-17
---

# 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`
