Как показать вывод на терминал и сохранить в файл одновременно?

77724
fazpas

Я использую:

user@unknown:~$ sudo command -option > log 

сохранить результаты «команда» в файл «журнал», но я хотел бы также получить результат на терминале, это возможно?

Я использую Ubuntu 10.04 LTS.

47
Возможный дубликат [Вывод результата в файл при одновременном просмотре его в консоли] (http://superuser.com/questions/694064/echoing-output-to-file- while-seeing-it-in-console-in -в то же время) 8bittree 8 лет назад 4
@ 8bittree Это сообщение на 3 года старше и имеет больше просмотров и голосов, чем другой вопрос. Другой вопрос должен быть закрыт как дубликат. Excellll 8 лет назад 0
@Excellll [Возраст не имеет значения] (http://meta.stackexchange.com/questions/55251/opinions-on-closing-an-older-question-as-a-duplicate-of-a-newer-question). Я отметил это как дубликат, потому что я считаю, что у другого есть [превосходящий] (http://superuser.com/a/694098/302463) ответ. 8bittree 8 лет назад 0
В [этом ответе AskUbuntu] есть превосходный обзор доступных опций (https://askubuntu.com/a/731237/23900). waldyrious 6 лет назад 0

3 ответа на вопрос

65
Benjamin Bannier

Используйте tee.

user@unknown:~$ sudo command -option | tee log 
Легко запомнить, если думать, что вывод разделен на верхний регистр «Т». Например, https://en.wikipedia.org/wiki/Tee_(command)#/media/File:Tee.svg Pocketsand 7 лет назад 3
13
JRobert

Команда, которую вы ищете, это 'tee', которая делает подключение для передачи данных похожим на pipe-tee. он отправляет данные двумя способами. Так

команда sudo -option | тройник

передаст вывод команды как в файл 'log', так и в stdout, в данном случае, на ваш терминал.

5
charlesbridge

Вы также можете использовать script[ http://linux.die.net/man/1/script ] для захвата всего, что происходит в вашей терминальной сессии.

Скрипт делает машинопись всего, что напечатано на вашем терминале. Это полезно для студентов, которым нужна бумажная запись интерактивного сеанса в качестве доказательства задания, поскольку файл машинописного текста можно распечатать позже с помощью lpr (1).

Похожие вопросы