И мы не заблуждаемся, доколе просто утверждаем, что это так кажется (Р. Декарт).

Команда Tee в Linux

2 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
16 января 2019
Команда tee читает из стандартного ввода и записывает как в стандартный вывод, в один или несколько файлов одновременно. Tee чаще всего используется в сочетании с другими командами через piping.

В этой статье мы рассмотрим основы использования команды tee.

Прежде чем перейти к использованию команды tee, давайте начнем с рассмотрения основного синтаксиса:

tee [OPTIONS] [FILE]
  • OPTIONS:
    • -a--append) – не перезаписывать файлы, а добавлять их к заданным файлам.
    • -i--ignore-interrupts) – игнорировать сигналы прерывания.
    • Используйте tee --help для просмотра всех доступных опций.
  • FILE_NAMES– Один или несколько файлов. Каждый из которых записываются в выходные данные.

Основное использование команды tee – вывести стандартный вывод ( stdout) программы и записать его в файл.

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

df -h | tee disk_usage.txt
Filesystem      Size  Used Avail Use% Mounted on                                                                                                              
udev            1.5G     0  1.5G   0% /dev                                                                                                                    
tmpfs           301M   33M  269M  11% /run                                                                                                                    
/dev/vda2        59G   27G   30G  48% /                                                                                                                       
tmpfs           1.5G     0  1.5G   0% /dev/shm                                                                                                                
tmpfs           5.0M     0  5.0M   0% /run/lock                                                                                                               
tmpfs           1.5G     0  1.5G   0% /sys/fs/cgroup

 

Вы можете проверить содержимое файла disk_usage.txt с помощью команды cat.

 

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

command | tee file1.out file2.out file3.out

По умолчанию команда tee перезапишет указанный файл. Используйте опцию -a--append), чтобы добавить вывод в файл:

command | tee -a file.out

Чтобы игнорировать прерывания, используйте параметр ` -i--ignore-interrupts). Это полезно, например, если вы прерываете команду во время выполнения с помощью CTRL+C и хотите выйти из программы tee.

command | tee -i file.out

Если вы не хотите tee записывать в стандартный вывод (выводить на экран), вам просто нужно перенаправить его на /dev/null:

command | tee file.out >/dev/null

Допустим, вы хотите записать файл, который принадлежит пользователю root как пользователь sudo. Следующая команда завершится ошибкой, потому что sudo не выполняет перенаправление вывода, это произойдет как непривилегированный пользователь.

sudo echo "newline" > /etc/file.conf

 

Вывод будет выглядеть примерно так:

bash: /etc/file.conf: Permission denied

 

Вы можете использовать команду tee вместе с sudo для записи в файлы, принадлежащие другим пользователям.

Просто добавьте sudo перед командой tee, как показано ниже:

echo "newline" | sudo tee -a /etc/file.conf

 

Tree получит вывод команды echo, повысит права на sudo и запишет в файл.

К настоящему времени вы должны хорошо понимать, как использовать команду tee в Linux.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 1328

Если статья понравилась, то поделитесь ей в социальных сетях:

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close