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

Просмотр файла журнала в Linux динамически

У меня есть файл журнала в формате .csv в Linux, который постоянно обновляется. Я хочу просмотреть файл журнала по мере его обновления. Есть ли какие-либо команды Linux для этого?

4b9b3361

Ответ 1

tail -f yourlog.csv

Добавленные строки будут постоянно отображаться.

Ответ 2

Как указывали другие, tail -f file является наиболее распространенным решением. Проблема в том, что результаты просто прокручиваются, и вы не можете вернуться и искать их, если ваш терминал не поддерживает его, и у вас достаточно буферизированных строк в вашем терминале.

Менее известным решением, которое мне нравится, является использование less; если вы наберете Shift - F при просмотре файла с less, он начнет следовать за окончанием файла, как tail -f. Кроме того, вы можете запустить less с помощью less +F, чтобы войти в этот режим при запуске. В любое время вы можете набрать Ctrl - C, чтобы остановить выполнение файла, а затем перейти вверх и вниз, выполнить поиск с помощью / и использовать less, как обычно. Это может быть очень полезно, если вы видите что-то интересное в журнале, но оно прокручивается с экрана или если вы хотите немного вернуться, чтобы проверить что-то, что вы, возможно, пропустили. Когда вы закончите поиск, нажмите Shift - F еще раз, чтобы снова запустить файл.

multitail выглядит как приятное решение для нескольких файлов в отдельных окнах; если вы просматриваете несколько файлов с помощью tail -f, каждый из них будет чередоваться друг с другом (с заголовками, чтобы отличить их), что может быть не так, как вы хотите их просматривать.

tail -f (то есть капитал -F, в отличие от нижнего регистра -F) - это нестандартный флаг (доступен для Linux, Cygwin, MacOS X, FreeBSD и NetBSD), который лучше работает для просмотра файлов журналов, которые иногда могут вращаться; для процесса переименовать файл журнала, а затем создать вместо него новый файл журнала, чтобы избежать слишком большого объема одного файла журнала. tail -f будет продолжать следовать за старым файлом, который больше не является активным файлом журнала, а tail -f будет следить за созданием нового файла и вместо этого начать следовать этому. Если вы используете less для наблюдения за файлом, вы можете использовать флаг --follow-name, чтобы сделать так же less.

(благодаря эфемерности для подсказок на less +F и less --follow-name)

Ответ 3

tail -f foo.csv

Ответ 4

На всякий случай, если вы хотите контролировать несколько файлов, есть хороший инструмент под названием multitail, который позволяет объединить вывод из двух или больше файлов и отслеживать их в режиме реального времени. multitail также позволяет перемещаться вперед и назад в контролируемых файлах.

Ответ 5

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

Ответ 6

tail -lf logfile.csv.

Если вы вошли в GUI, вы можете использовать коврик для мыши, чтобы динамически просматривать журнал.

Ответ 7

vsConsole FileView может помочь, если вы предпочитаете отслеживать свои журналы через веб-приложение. См. Демонстрацию в http://demo.vamonossoftware.com/

Требуется запустить сервер приложений Java, развернуть vsConsole и запустить агентов на сервере, содержащем журналы, поэтому я предполагаю, что это более тяжелое решение, чем то, что вам нужно здесь. (Хорошо для разработчиков/тестирующих команд, которые просто хотят щелкнуть файл журнала, чтобы увидеть его, а не ssh, cd, tail и т.д.)

Ответ 8

less -S '-#' 4 /var/log/logfile

-S остановит раздражающую обертку строк.

-# 4 установит шаг горизонтальной прокрутки на четыре столбца вместо значения по умолчанию половины экрана.

Нажмите клавишу "Завершить", чтобы обновить.