logo

Команда Linux tee

Команда tee в Linux дуже схожа на команду cat, лише з однією відмінністю. Він поміщає stdin на stdout і також поміщає їх у файл. Це одна з найбільш використовуваних команд разом з іншими командами через конвеєр. Це дозволяє нам записувати будь-що, що надається з входу std на вихід std. Додатково він забезпечує запис до одного або кількох файлів. Назва команди tee походить від слова T splitter, який використовується в сантехніці.

Синтаксис:

 tee 

Опції:

Нижче наведено кілька корисних параметрів, які можна використовувати з командою tee, щоб зробити її більш конкретною:

-a, --додавання: Він використовується для додавання даних до заданих файлів, він не перезаписує дані.

-i, --ignore-interrupts: Використовується для ігнорування сигналів переривання.

-p: Він використовується для діагностики помилок запису в неконвеєри.

--output-error[=РЕЖИМ]: Він використовується для налаштування поведінки в режимі помилки запису.

--довідка: Він використовується для відображення довідкової документації.

--версія: він використовується для відображення інформації про версію.

усі великі літери ярлик excel

Приклади команди tee

Давайте розглянемо наступні приклади команди tee:

Як використовувати команду tee

Команда tee використовується для запису стандартного введення в стандартний вихід і файл. Використовується після труби. Щоб записати до стандартного виводу та файлу, укажіть команду tee після каналу та вкажіть ім’я файлу(ів). Розглянемо наведену нижче команду:

 cat weeks.txt | tee newfile.txt 

Наведена вище команда запише вхідні дані з 'weeks.txt' у 'newfile.txt'. Розглянемо наведений нижче результат:

Фільтри Linux tee

З наведених вище результатів за допомогою команди tee створюється файл newfile.txt.

Напишіть файл і додайте результат

Параметр '-a' використовується з командою tee для додавання виводу та запису його у файл. Розглянемо наведену нижче команду:

 echo 'Saturday and Sunday are week offs' | tee -a newfile.txt 

Наведена вище команда додасть вказані вхідні дані до 'newfile.txt'. Розглянемо наведений нижче результат:

Фільтри Linux tee

Відповідно до наведеного вище виводу, вказаний вхід додається до 'newfile.txt'.

підключення java mysql

Записати стан даних у файл

Запис стану даних дуже корисний для резервного копіювання або створення знімка даних з метою налагодження. Це можна легко зробити за допомогою команди tee.

Щоб записати стан даних у файл, виконайте наведену нижче команду:

 ls ~/ | tee pipe1.txt | grep ^b | tee pipe2.txt | sort -r 

Наведена вище команда запише дані в pipe1.txt. Розглянемо наведений нижче результат:

Фільтри Linux tee

З наведеного вище результату знімок даних поточного робочого каталогу зберігається в «newfile.txt».

Записувати в декілька файлів

Команда tee дозволяє нам записувати в декілька файлів. Щоб записати в кілька файлів, укажіть імена файлів після команди tee таким чином:

 echo ' add text' | tee file1.txt file2.txt file3.txt 

Наведена вище команда створить усі вказані файли. Розглянемо наведений нижче результат:

Фільтри Linux tee

Запис у привілейований файл

Команда tee дозволяє нам писати у файл із привілеєм sudo. Якщо ми спробуємо записати файл, що належить користувачеві root, через помилку дозволу. Але ми можемо підвищити дозвіл sudo, виконавши команду tee наступним чином:

бінарний пошуковий пітон
 echo 'some text' | sudo tee -a 

Ігнорування переривань

Параметр '-i' використовується для ігнорування переривань. Це корисно, якщо ми хочемо плавно зупинити та вийти з команди під час виконання. Його використовують наступним чином:

 command | tee -i 

Приховати вихід

Щоб обмежити команду tee не записувати до стандартного виводу, перенаправте її до '/dev/null'. Виконайте команду наступним чином:

 echo 'Text' | tee newfile.txt >/dev/null 

Розглянемо наведений нижче результат:

Фільтри Linux tee