Команды Linux · 2 min read · Sep 20, 2025
Команда Linux tee: объяснение для начинающих (6 примеров)
Иногда вам нужно вручную отслеживать вывод команды и одновременно убедиться, что вывод записывается в файл, чтобы вы могли обратиться к нему позже. Если вы ищете инструмент Linux, который может сделать это для вас, вам будет приятно узнать, что существует команда tee, созданная для этой цели.
В этом руководстве мы обсудим основы команды tee, используя несколько простых для понимания примеров. Но прежде чем мы это сделаем, стоит упомянуть, что все примеры, использованные в этой статье, были протестированы на Ubuntu 16.04 LTS.
Команда Linux tee
Команда tee в основном читает из стандартного ввода и записывает в стандартный вывод и файлы. Следующий синтаксис команды:
tee [OPTION]... [FILE]...А вот как это объясняется в справочной странице:
Копировать стандартный ввод в каждый ФАЙЛ, а также в стандартный вывод.Следующие примеры в формате вопросов и ответов должны дать вам лучшее представление о том, как работает команда.
Вопрос 1. Как использовать команду tee в Linux?
Предположим, вы используете команду ping по какой-то причине.
ping google.com
И что вы хотите, так это чтобы вывод также записывался в файл параллельно. Тогда вот где вы можете использовать команду tee.
ping google.com | tee output.txt
Следующий скриншот показывает, что вывод был записан в файл ‘output.txt’ вместе с записью на stdout.

Так что это должно прояснить основное использование tee.
Вопрос 2. Как убедиться, что tee добавляет информацию в файлы?
По умолчанию команда tee перезаписывает информацию в файле при повторном использовании. Однако, если вы хотите, вы можете изменить это поведение, используя параметр командной строки -a.
[command] | tee -a [file]Таким образом, параметр -a заставляет tee добавлять информацию в файл.
Вопрос 3. Как сделать так, чтобы tee записывал в несколько файлов?
Это довольно просто. Вам просто нужно указать их имена.
[command] | tee [file1] [file2] [file3]Например:
ping google.com | tee output1.txt output2.txt output3.txt
Вопрос 4. Как сделать так, чтобы tee перенаправлял вывод одной команды в другую?
Вы можете не только использовать tee для одновременной записи вывода в файлы, но и для передачи вывода как ввода другим командам. Например, следующая команда не только сохранит имена файлов в ‘output.txt’, но и даст вам знать - через wc - количество записей в файле output.txt.
ls file* | tee output.txt | wc -lВопрос 5. Как записать в файл с повышенными привилегиями, используя tee?
Предположим, вы открыли файл в редакторе Vim, внесли много изменений, а затем, когда попытались сохранить эти изменения, вы получили ошибку, которая заставила вас понять, что это файл, принадлежащий root, что означает, что вам нужны привилегии sudo для сохранения этих изменений.
В таких ситуациях вы можете использовать tee, чтобы повысить привилегии на лету.
:w !sudo tee %
Указанная команда попросит вас ввести пароль root, а затем позволит вам сохранить изменения.
Вопрос 6. Как сделать так, чтобы tee игнорировал прерывание?
Параметр командной строки -i позволяет tee игнорировать сигнал прерывания ( SIGINT), который обычно выдается, когда вы нажимаете комбинацию клавиш crl+c.
[command] | tee -i [file]Это полезно, когда вы хотите прервать команду с помощью ctrl+c, но хотите, чтобы tee завершился корректно.
Заключение
Вы, вероятно, согласитесь, что tee - это чрезвычайно полезная команда. Мы обсудили ее основное использование, а также большинство ее параметров командной строки здесь. У инструмента нет крутой кривой обучения, так что просто практикуйте все эти примеры, и вы будете готовы. Для получения дополнительной информации перейдите на справочную страницу инструмента.
Get new posts in your inbox
No spam. Unsubscribe anytime.