2013-07-05 2 views
2

нормально в Linux команды вы можете указать другой будет работать в то же время, как это:Три | Команды в Linux терминал

ls | grep "sys" 

, например. В моем случае у меня есть эта команда:

urlsnarf -i wlan0 

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

urlsnarf -i wlan0 | cut -d\" -f4 

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

но не существует ни выходного файла, ни вывода на печать. Есть ли способ исправить это?

+2

Этот вопрос будет соответствовать лучше на другие сайты StackExchange, а именно [SuperUser] (http://superuser.com/?as=1) и/или [ServerFault] (http://serverfault.com/?as=1) – SamGamgee

ответ

0

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

How to make output of any shell command unbuffered?

В статье связанно с ответа есть хороший читать: buffering in standard streams

Смежные вопросы