backup: 2026-04-17 11:28

This commit is contained in:
Dmitry
2026-04-17 11:28:35 +03:00
commit 21a95ec314
653 changed files with 244637 additions and 0 deletions
@@ -0,0 +1,35 @@
---
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`