Отображение файла журнала сценария Bash на экране непрерывно


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

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

5 63

5 ответов:

попробуйте команду хвоста:

tail -f filename

другое решение -

 less +F filename

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

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

watch tail logfile

покажет вам последние 5 строк файла журнала. Он может быть расширен до любой команды, которая печатает материал в stdout.

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

вы можете:

less filename.txt
and press 'F'

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

ssh {remotehost} tail -n0f {logfile}

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