Отображение файла журнала скрипта Bash для непрерывного отображения - PullRequest
69 голосов
/ 26 мая 2011

Я создаю приложение, которое записывает в файл журнала, и мне нужно знать, как в Linux / Bash постоянно отображать файл журнала на экране (обновляя экран с каждой новой строкой, вносимой в журнал).

Итак, в качестве примера, скажем, я хочу выдвинуть текущий журнал apache/error.log на экран (терминал ssh), который постоянно обновляется.

Ответы [ 5 ]

98 голосов
/ 26 мая 2011

Попробуйте команду tail:

tail -f filename
25 голосов
/ 26 мая 2011

Другим решением является

 less +F filename

или просто less filename и ввод в него буквы «F» (нажмите shift + f ).Это может быть лучше, чем tail, поскольку позволяет временно отменить непрерывную печать, вернуться назад, чтобы посмотреть что-то, и снова включить его, нажав «F» ( shift + f ) снова

10 голосов
/ 26 мая 2011

Также может быть полезна команда watch.

watch tail logfile

Показывает последние 5 строк файла журнала.Его можно распространить на любую команду, которая печатает данные на стандартный вывод.

Да, использование tail -f является традиционным решением, но в зависимости от того, что вы пытаетесь сделать, это может работать лучше.

6 голосов
/ 26 мая 2011

Вы также можете:

less filename.txt
and press 'F'

имеет один плюс - вы можете в любое время CTRL-C и прокрутить назад в журнал и начать просмотр снова с помощью 'F'.

5 голосов
/ 26 мая 2011

ssh {remotehost} tail -n0f {logfile}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...