У меня есть файл журнала в формате .csv в Linux, который постоянно обновляется. Я хочу просмотреть файл журнала по мере его обновления. Есть ли какие-либо команды Linux для этого?
Просмотр файла журнала в Linux динамически
Ответ 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 установит шаг горизонтальной прокрутки на четыре столбца вместо значения по умолчанию половины экрана.
Нажмите клавишу "Завершить", чтобы обновить.