Android

Linux tee команда с примерами

Tee Command in Linux - with examples

Tee Command in Linux - with examples

Оглавление:

Anonim

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

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

Синтаксис команды

Синтаксис команды tee следующий:

tee

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

Как использовать команду tee

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

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

df -h | tee disk_usage.txt

Filesystem Size Used Avail Use% Mounted on dev 7.8G 0 7.8G 0% /dev run 7.9G 1.8M 7.9G 1% /run /dev/nvme0n1p3 212G 159G 43G 79% / tmpfs 7.9G 357M 7.5G 5% /dev/shm tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup tmpfs 7.9G 15M 7.9G 1% /tmp /dev/nvme0n1p1 511M 107M 405M 21% /boot /dev/sda1 459G 165G 271G 38% /data tmpfs 1.6G 16K 1.6G 1% /run/user/120

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

Запись в несколько файлов

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

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

Добавить в файл

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

command | tee -a file.out

Игнорировать прерывание

Чтобы игнорировать прерывания, используйте параметр `` -i ( –ignore-interrupts ) option. This is useful when stopping the command during execution with ) option. This is useful when stopping the command during execution with сочетания клавиш CTRL + C and want требуется, чтобы tee` вышел корректно.

command | tee -i file.out

Скрыть вывод

command | tee file.out >/dev/null

Использование тройника в соединении с sudo

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

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

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

bash: /etc/file.conf: Permission denied

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

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

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

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

Вывод

Команда tee читает из стандартного ввода и записывает его в стандартный вывод и один или несколько файлов.

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

тройник