![Як налаштувати базову аутентифікацію HTTP у Nginx](/f/c066c847753ceccb76dcc26fb27b9335.png?width=100&height=100)
Майже всі досвідчені користувачі вважають за краще використовувати інтерфейс командного рядка під час взаємодії з системами Linux. За замовчуванням, всі команди Linux відобразити їхній вихід у стандартному вихідному потоці. Однак іноді нам потрібно зберегти цей вихід у файлах для цілей налагодження.
Звичайно, ми можемо використовувати оператор перенаправлення, щоб досягти цього. Однак одним із незначних обмежень цього методу є те, що він зберігає вихідні дані лише у файлі.
Щоб подолати це обмеження, ми можемо команда tee який читає зі стандартного потоку введення та записує у стандартний потік виведення та файли.
У цьому практичному посібнику ми побачимо різні приклади команди tee. До кінця цього посібника користувачі Linux зможуть використовувати команду tee для задоволення своїх програмних потреб.
Зміст
Синтаксис трійник Команда подібна до інших команд Linux. На високому рівні він поділяється на дві групи: ОПЦІЇ
і ФАЙЛИ
:
$ tee [ПАРАМЕТИ] [ФАЙЛ1] [ФАЙЛ2] [ФАЙЛ3]...
У наведеному вище синтаксисі обидва ОПЦІЇ
і ФАЙЛИ
є необов'язковими параметрами.
Як обговорювалося раніше, трійник Команда надсилає вивід у стандартний вивід, а також у файл. Щоб зрозуміти це, спершу скористаємося команда echo щоб відобразити текст у стандартному вихідному потоці:
$ echo "tecmint.com"
Тепер скористаємося команда tee щоб записати вихідні дані в output.txt файл:
$ echo "tecmint.com" | tee output.txt.
Нарешті, перегляньте вміст output.txt файл за допомогою котяча команда.
$ cat output.txt.
У наведеному вище виводі ми бачимо, що команда tee надсилає вивід у файл, а також стандартний потік виводу.
За замовчуванням, команда tee перезаписує вихідні файли. Однак ми можемо уникнути цього, увімкнувши режим додавання, який додає вихідні дані в кінець файлу:
$ echo "tecmint.com" | tee -a output.txt $ cat output.txt
У цьому прикладі ми використали -а
опція для ввімкнення режиму додавання.
Подібним чином ми можемо використовувати трійник команда для запису вихідних даних у декілька файлів, як показано.
$ echo "tecmint.com" | файл-1.txt файл-2.txt файл-3.txt.
У цьому прикладі ми надали кілька файлів як аргументи командного рядка. Тепер скористаємося головна команда щоб відобразити вміст файлів:
$ голова -v файл-1.txt файл-2.txt файл-3.txt.
Крім того, ми також можемо використовувати трійник команда з оператором труби (|)
. Цей метод стане в нагоді, коли ми хочемо зберегти вивід, а також переслати його іншій команді.
$ echo "tecmint.com" | tee example.txt | wc -c. $ cat example.txt.
У цьому прикладі, по-перше, ми використовуємо трійник команда для запису результату у файл. Далі ми використовуємо команда wc підрахувати кількість символів.
У попередніх прикладах ми використовували трійник команда для надсилання виводу на стандартний вивід. Однак у деяких рідкісних випадках ми хочемо придушити вихід. У таких випадках ми можемо перенаправити вихід на /dev/null пристрій:
$ echo "tecmint.com" | tee output.txt > /dev/null. $ cat output.txt.
Іноді нам потрібно записати результат у привілейований файл. Однак ми не можемо досягти цього, використовуючи лише трійник команда. У таких сценаріях ми можемо використовувати комбінацію sudo і трійник команди.
По-перше, давайте змінимо право власності на файл за допомогою команда chown:
$ sudo chown root: root output.txt.
Далі додамо текст до output.txt файл за допомогою такої команди:
$ echo "tecmint.com" | sudo tee -a output.txt.
Нарешті, давайте перевіримо, що файл оновлено успішно.
Подібним чином ми можемо використовувати комбінацію sudo і трійник команди для редагування привілейованого файлу. Щоб зрозуміти це, спершу відкриємо привілейований файл у a Редактор Vim і додайте до нього текст:
$ vim output.txt.
Тепер скористаємося наведеним нижче Vim команда для оновлення файлу:
:w !sudo tee %
У Linux ми використовуємо Ctrl+c
комбінація клавіш для надсилання SIGINT сигнал. Поведінка цього сигналу за замовчуванням полягає в завершенні процесу. Однак ми можемо використовувати -я
можливість ігнорувати переривання:
$ echo "tecmint.com" | tee -i example.txt. $ cat example.txt.
У цьому посібнику ми дізналися про трійник використовуючи кілька практичних прикладів. Користувачі можуть звертатися до цього посібника під час роботи з системами Linux за допомогою інтерфейсу командного рядка.
Чи знаєте ви ще якийсь найкращий приклад трійник команда в Linux? Поділіться своїми думками в коментарях нижче.