Відображення файлу журналу "прокручування"


28

Через командний рядок у мене є файл журналу, який я хотів би відстежувати.

Що я хочу, це, в основному, tailоновлюватись, коли журнал оновлюється, завдяки чому текст прокручується вгору, оскільки до файлу журналу додаються нові рядки.

Чи є щось там, що робить це без того, щоб писати якийсь код?

Відповіді:


35

tailє -fможливість:

Зі manсторінки:

-f, --follow [= {ім'я | дескриптор}] виводить додані дані у міру зростання файлу; -f, --follow і --follow = дескриптор є рівнозначними

Таким чином, якщо ви введете:

tail -f [path_and_name_of_logfile] - ви побачите вихід у терміналі, до якого додається сам файл журналу.

NB [path_and_name_of_logfile]- це параметр, щоб навести приклад:

tail -f /var/log/messages

Якщо ви поєднуєте з -n [number_of_lines]опцією, ви можете запустити вихід з останнього [число_of_lines] у файлі - наприклад

tail -n 10 -f /var/log/Xorg.0.log

введіть тут опис зображення


Деякі програми періодично змінюватимуть свій файл журналу, переміщуючи старий на нове ім’я (наприклад, log.0) та починаючи заново.

NB logrotate робить це для реєстрації файлів для інших програм, які не роблять це самостійно.

tail -f буде продовжувати переслідувати старий файл після його перейменування.

tail -F буде слідувати за файлом по імені, тому перейде до нового файлу.


обидві відповіді виявляються на місці ... не зрозумів, що Хейл мав такий варіант. Ви отримуєте чек на додаткову інформацію.
WernerCD

Крім того, є також кілька дивовижних сценаріїв, щоб розфарбувати ваш журнал хвостів. Один із прикладів, що спадає на думку, є colorize.pl, і ви цього досягаєте, прокладаючи його через колоритний сценарій. наприклад: хвіст -f / var / log / messages | /home/me/colorize.pl
lazyPower

@lazyPower Приємно також. Мені доведеться задуматися з цим, хоча я не думаю, що це буде дуже корисно в моїй ситуації.
WernerCD

18

Хоча tailце, звичайно, звичайний спосіб зробити це, слід зазначити, що він lessмає таку ж особливість і іноді є більш корисним.

Якщо ви відкрили файл разом із lessцим, ви можете натиснути Shift+, Fщоб він перейшов за файлом (тобто він відображатиме нові рядки так само, як і tail -fце). Ви можете вийти з цього режиму за допомогою Ctrl+C

Ви також можете почати lessз +Fопції, і в цьому випадку вона запуститься в тому режимі. Взагалі кажучи, +його можна використовувати для подачі "команд клавіатури", lessякі вони будуть виконувати при запуску.

Використання lessдля цього має перевагу в тому, що ви можете легко шукати файл або переглядати інші області, якщо виникне потреба. Я часто робив це, наприклад, з файлами журналів.


Ніколи не чув про «слідкуй» (більше, менше, хвіст, кіт). Добре знати речі.
WernerCD

1
Домовились. Я набагато віддаю перевагу менше. Ctrl-C зупинить прокрутку, коли ви помітите щось цікаве, потім b для прокрутки назад або f вперед та / або? шукати вперед або назад. g переведе вас до початку файлу, а G до кінця. Все, що вам потрібно.
Мартін Дау


4

tail має дві реалізації для слідування та виведення даних, які додаються до файлу

  • дотримуйтесь дескриптора файлу
  • слідкуйте за файлом із певним іменем

З параметром -f, --followі --follow=descriptor, tailслід дескриптор файлу. Цей метод дозволяє прослідкувати за файлом через перейменування, але відстеження припиняється, коли файл обертається (створюється новий файл з іншим дескриптором файлу).

При наступному обертанні файлів використовуйте --follow=nameабо -Fпараметр, який дорівнює --follow=name --retry. Цей спосіб tailперіодично відкриватиме файл для подолання можливого обертання.


1

Я думаю, що ccze - це правильний інструмент для вас.

Це те ж саме розфарбує. Ви можете спостерігати прокручування журналу вниз, але його легше читати, оскільки рядки друкуються кольорами (помилки червоного кольору тощо). Ви можете швидко спробувати щось подібне:

tail -f /var/log/syslog | ccze
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.