Такие читатели, как вы, помогают поддерживать MUO. Когда вы совершаете покупку по ссылкам на нашем сайте, мы можем получать партнерскую комиссию. Читать далее.

Linux позволяет сохранять выходные данные команды в файлах как средство перенаправления вывода. При сохранении вывода в файл с помощью > или >> операторы, вывод перенаправляется без отображения информации на терминале.

Но что, если вы хотите распечатать вывод на экране и одновременно сохранить его в файле? Хотя вы не можете сделать это с помощью операторов перенаправления вывода, это можно сделать с помощью команды tee в Linux.

Основной синтаксис команды

tee — это стандартная утилита Linux, используемая для разделения вывода команды между стандартным выводом и файлами.

В отличие от большинства команд Linux, tee используется с другими программами, использующими канал (|). Трубопроводчик — один из многие операторы командной строки в Linux — позволяет программе использовать вывод другой команды в качестве ввода. Возможно, вы использовали канал при использовании grep вместе с команда лс или кошка.

instagram viewer

Основной синтаксис команды tee:

команда | путь к файлу параметров тройника

...где параметры и Путь к файлу являются аргументами командной строки и путем к файлу, в котором вы хотите сохранить вывод.

Разделить вывод терминала в Linux с тройником

Самое простое использование tee — разделить вывод для отображения в терминале, а также сохранить его в файле. Например, чтобы сохранить вывод команды ls в текстовый файл с именем "вывод.txt," бегать:

лс | тройник ./output.txt

Вывод будет отображать содержимое текущего рабочего каталога, как обычно. При проверке файла output.txt вы обнаружите, что tee также сохранил вывод в файл.

Когда вы указываете путь к файлу, tee проверяет, существует ли файл. Если он не находит его, он автоматически создает файл для вас, что делает его удобным для использования в сценариях оболочки. Это полезно, когда вы хотите зарегистрировать вывод программы или скрипта для дальнейшего использования.

Вам нужно будет предварить команду tee sudo, чтобы прочитать или сохранить данные в файл, принадлежащий пользователю root.

Если в указанном файле хранятся данные, которые вы не хотите перезаписывать, используйте пометить добавить вывод в файл вместо очистки всего файла и последующего сохранения данных:

лс | тройник -a ./output.txt

Точно так же вы можете перенаправить вывод в несколько файлов, указав пути, разделенные одинарными пробелами:

лс | тройник ./output1.txt ./output2.txt

Иногда непредвиденные ошибки или ручные прерывания (с использованием Ctrl + С или Ctrl + Z) в первой команде может привести к завершению работы tee. Чтобы игнорировать такие прерывания, используйте флаг:

лс | тройник -i output.txt

К получить справку из командной строки относительно тройника или найти сведения о версии, используйте --помощь и --версия флаги следующим образом:

тройник --help
тройник --версия

Перенаправление вывода на другую команду

Вы можете создать цепочку вывода, объединив tee с другими командами Linux. Это сохранит вывод в указанный файл, а затем передаст его следующей команде для обработки.

Используйте следующий формат, чтобы перенаправить вывод tee на другую команду:

команда | тройник путь к файлу | другая команда

Например, следующая команда сохранит вывод команды ls в вывод.txt прежде чем, наконец, перенаправить его в grep для быстрого поиска:

лс | тройник output.txt | grep "Документы"

В целом, вы можете использовать команду tee, чтобы поиграть с стандартный ввод и вывод в Linux.

Управление выводом и текстом с помощью команд Linux

Команда tee добавляет столь необходимую функциональность к стандартным операторам перенаправления вывода в Linux. Вы даже можете использовать его для управления выводом команды перед передачей его другой программе.

Точно так же вы можете изменить текст с помощью терминала с помощью некоторых стандартных команд Linux. К ним может потребоваться некоторое время, чтобы привыкнуть, но, в конце концов, манипуляции с текстом через командную строку стоит изучить любому системному администратору.