Справочник

Перенаправление вывода в Linux: >, >>, 2>&1, /dev/null и конвейер

Вывод любой команды можно не только читать на экране, но и записать в файл, выбросить или передать другой команде. Для этого в bash есть знаки >, >>, 2> и |. Ниже — что делает каждый и где на них легко ошибиться.

Обновлено 11.10.2026≈ 4 мин чтения
Содержание 10

Что сделать прямо сейчас

  1. Подключитесь к серверу — инструкция.
  2. Сохраните список файлов в файл: ls -l > files.txt. На экран ничего не выведется — вывод ушёл в файл.
  3. Посмотрите файл: cat files.txt.
  4. Допишите в конец ещё одну строку: date >> files.txt. Один знак > перезаписал бы файл, два >> дописывают.

Знаки перенаправления

ЗаписьЧто делает
команда > файлзаписать вывод в файл; прежнее содержимое файла пропадёт
команда >> файлдописать вывод в конец файла
команда 2> файлзаписать в файл только ошибки
команда > файл 2>&1записать в файл и вывод, и ошибки
команда &> файлто же, короче
команда >> файл 2>&1дописать в файл и вывод, и ошибки
команда > /dev/nullвыбросить вывод, ошибки останутся на экране
команда < файлпередать команде содержимое файла вместо ввода с клавиатуры

Если файла нет, > и >> создадут его. Если есть, > сначала очищает его, а >> дописывает в конец.

Вывод и ошибки — два разных потока

У команды два выхода на экран: обычный вывод (номер 1) и ошибки (номер 2). Знак > перенаправляет только первый. Поэтому после команда > файл сообщения об ошибках всё равно появляются на экране.

2>&1 значит «ошибки — туда же, куда вывод». Порядок важен: пишите его после файла.

ЗаписьЧто попадёт в файл
ls /etc /nofolder > out.txt 2>&1список папки и ошибка про /nofolder
ls /etc /nofolder 2>&1 > out.txtтолько список, ошибка выйдет на экран

/dev/null: выбросить вывод

/dev/null — специальный файл: всё, что в него пишут, исчезает. Он нужен, когда вывод не важен:

ЗаписьЧто будет
команда > /dev/nullне показывать вывод
команда 2> /dev/nullне показывать ошибки
команда > /dev/null 2>&1не показывать ничего

Выбрасывайте ошибки, только когда точно знаете, какие они. Иначе пропустите сообщение о том, что команда не сработала.

Конвейер: вывод одной команды — другой

Знак | передаёт вывод команды слева на вход команде справа. Так ищут нужные строки, листают длинный вывод или считают строки:

ps aux | grep nginx
sudo tail -n 200 /var/log/nginx/error.log | less
ls /etc | wc -l

Первая строка ищет nginx в списке процессов, вторая открывает последние 200 строк журнала для пролистывания, третья считает файлы в /etc. Через | идёт только обычный вывод. Чтобы передать и ошибки, пишите |& вместо |. Подробнее о поиске — Команда grep, о просмотре файлов — cat, less, head и tail.

tee: и на экран, и в файл

tee записывает то, что ей передали, в файл и одновременно показывает на экране. Удобно для долгих команд, когда нужен и вывод сейчас, и запись на потом:

df -h | tee disk.txt

tee -a дописывает в конец файла, а не перезаписывает его.

Запись в системный файл через sudo

Команда sudo echo 'vm.swappiness=10' > /etc/sysctl.d/99-swappiness.conf ответит Permission denied. Знак > выполняет ваша оболочка до запуска команды, а sudo получает только echo. Файл в /etc оболочка открывает с вашими правами — и ей отказывают.

Чтобы записать файл с правами root, передайте текст в sudo tee:

echo 'vm.swappiness=10' | sudo tee /etc/sysctl.d/99-swappiness.conf

Чтобы дописать в конец, а не перезаписать, — sudo tee -a. Чтобы tee не повторяла текст на экране, добавьте в конец > /dev/null. Пример с подкачкой — Как создать файл подкачки.

Ошибки и как их исправить

Что видноЧто значитЧто сделать
файл пустой после sort list.txt > list.txt> очистил файл до того, как sort его прочиталпишите в другой файл: sort list.txt > sorted.txt
нужное содержимое файла пропаловместо >> набрали >восстановите файл из копии; дальше дописывайте через >>
ошибки всё равно на экране> перенаправляет только выводдобавьте 2>&1 после имени файла
Permission denied при sudo команда > файлфайл открывает оболочка без sudoиспользуйте sudo tee — как
файл журнала задачи cron пустойкоманда пишет только ошибки, а их не перенаправилидопишите >> файл 2>&1 — cron

Источники

Сверено 11 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 11.10.2026