Подтвердить что ты не робот

Bash script отображение файла журнала на экран непрерывно

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

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

4b9b3361

Ответ 1

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

tail -f filename

Ответ 2

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

 less +F filename

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

Ответ 3

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

watch tail logfile

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

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

Ответ 4

ssh {remotehost} tail -n0f {logfile}

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

Ответ 5

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

less filename.txt
and press 'F'

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