tee

Поделись знанием:
Перейти к: навигация, поиск

tee — команда, выводит на экран, или же перенаправляет выходной материал команды и копирует его в файл или в переменную. В первую очередь, команда используется в привязке с перенаправлениями и фильтрами. Используется во множестве оболочек операционных систем, таких как Unix shells, 4DOS (англ.)/4NT (англ.) и Windows PowerShell.





Назначение и синтаксис

tee используется для разделения выводимых программой данных, таким образом данные могут быть использованы для вывода на дисплей и сохранены в файл. Также команда может быть использована для получения промежуточных данных, до того как они будут изменены другой программой или командой. Команда tee считывает стандартный ввод (stdin), после чего записывает его в стандартный вывод (stdout) и одновременно копирует его в подготовленный файл или переменную. Синтаксис различается в соответствии с местом использования команды.

В UNIX

tee [ -a ] [ -i ] [ File ... ]

Переменные:

  • File Один, или более, файл который примет данные от tee.

Флаги:

  • -a Дописать выходящие данные в конец файла, не переписывая его содержимого.
  • -i Игнорировать ошибки.

По окончании команда возвращает следующие значения состояния выхода:

Примечание: Если при записи в любой, удачно открытый файл, операнд не удался, данные записываются в следующий удачно открытый файл, операнд и стандартный поток вывода (stdout) завершаются, но состояние выхода будет >0.

Примеры

В UNIX

  • Чтобы одновременно увидеть и сохранить выходные данные:
lint program.c | tee program.lint

Эта команда покажет стандартные выходящие данные команды lint program.c на средстве вывода, в то же самое время она сохранит полученные данные в файл program.lint. Если такой файл уже существует, он будет переписан.

  • Чтобы получить данные от команды и дописать их в существующий файл:
lint program.c | tee -a program.lint

Как и в предыдущем примере, на экран будут выведены данные от команды lint program.c, после чего эти данные будут дописаны в конец файла program.lint. Если такой файл не существует, он будет создан.

  • Использование совместно с sudo:
echo "Body of file..." | sudo tee root_owned_file > /dev/null

В этом примере демонстрируется, как при помощи tee обойти ограничения команды sudo, за счёт которых она не может перенаправлять вывод (stdout) в файл. А дальнейшее перенаправление в /dev/null позволит избежать вывода текста на консоль.

  • Перенаправление STDERR:
ls ./ qwerty 2>&1 | tee ls.log

По умолчанию команда tee записывает в файл только данные от STDOUT, поэтому, если файл «qwerty» отсутствует в текущем каталоге, в файле ls.log будет перечень имеющихся файлов и каталогов и не будет записи о не найденном файле. На экране же будут отображаться выводы как STDOUT, так и STDERR. Если в файл нужно включить так же и данные из STDERR, то необходимо, как в примере выше, перенаправить STDERR на STDOUT.

Напишите отзыв о статье "Tee"

Отрывок, характеризующий Tee

«Неужели эта рука, это лицо, эти глаза, все это чуждое мне сокровище женской прелести, неужели это все будет вечно мое, привычное, такое же, каким я сам для себя? Нет, это невозможно!..»
– Прощайте, граф, – сказала она ему громко. – Я очень буду ждать вас, – прибавила она шепотом.
И эти простые слова, взгляд и выражение лица, сопровождавшие их, в продолжение двух месяцев составляли предмет неистощимых воспоминаний, объяснений и счастливых мечтаний Пьера. «Я очень буду ждать вас… Да, да, как она сказала? Да, я очень буду ждать вас. Ах, как я счастлив! Что ж это такое, как я счастлив!» – говорил себе Пьер.


В душе Пьера теперь не происходило ничего подобного тому, что происходило в ней в подобных же обстоятельствах во время его сватовства с Элен.
Он не повторял, как тогда, с болезненным стыдом слов, сказанных им, не говорил себе: «Ах, зачем я не сказал этого, и зачем, зачем я сказал тогда „je vous aime“?» [я люблю вас] Теперь, напротив, каждое слово ее, свое он повторял в своем воображении со всеми подробностями лица, улыбки и ничего не хотел ни убавить, ни прибавить: хотел только повторять. Сомнений в том, хорошо ли, или дурно то, что он предпринял, – теперь не было и тени. Одно только страшное сомнение иногда приходило ему в голову. Не во сне ли все это? Не ошиблась ли княжна Марья? Не слишком ли я горд и самонадеян? Я верю; а вдруг, что и должно случиться, княжна Марья скажет ей, а она улыбнется и ответит: «Как странно! Он, верно, ошибся. Разве он не знает, что он человек, просто человек, а я?.. Я совсем другое, высшее».
Только это сомнение часто приходило Пьеру. Планов он тоже не делал теперь никаких. Ему казалось так невероятно предстоящее счастье, что стоило этому совершиться, и уж дальше ничего не могло быть. Все кончалось.
Радостное, неожиданное сумасшествие, к которому Пьер считал себя неспособным, овладело им. Весь смысл жизни, не для него одного, но для всего мира, казался ему заключающимся только в его любви и в возможности ее любви к нему. Иногда все люди казались ему занятыми только одним – его будущим счастьем. Ему казалось иногда, что все они радуются так же, как и он сам, и только стараются скрыть эту радость, притворяясь занятыми другими интересами. В каждом слове и движении он видел намеки на свое счастие. Он часто удивлял людей, встречавшихся с ним, своими значительными, выражавшими тайное согласие, счастливыми взглядами и улыбками. Но когда он понимал, что люди могли не знать про его счастье, он от всей души жалел их и испытывал желание как нибудь объяснить им, что все то, чем они заняты, есть совершенный вздор и пустяки, не стоящие внимания.
Когда ему предлагали служить или когда обсуждали какие нибудь общие, государственные дела и войну, предполагая, что от такого или такого исхода такого то события зависит счастие всех людей, он слушал с кроткой соболезнующею улыбкой и удивлял говоривших с ним людей своими странными замечаниями. Но как те люди, которые казались Пьеру понимающими настоящий смысл жизни, то есть его чувство, так и те несчастные, которые, очевидно, не понимали этого, – все люди в этот период времени представлялись ему в таком ярком свете сиявшего в нем чувства, что без малейшего усилия, он сразу, встречаясь с каким бы то ни было человеком, видел в нем все, что было хорошего и достойного любви.
Рассматривая дела и бумаги своей покойной жены, он к ее памяти не испытывал никакого чувства, кроме жалости в том, что она не знала того счастья, которое он знал теперь. Князь Василий, особенно гордый теперь получением нового места и звезды, представлялся ему трогательным, добрым и жалким стариком.