Через командную строку у меня есть файл журнала, который я бы хотел отслеживать.
То, что я хочу, это иметь, в основном, tail
, который обновляется при обновлении журнала, делая прокрутку текста вверх при добавлении новых строк в файл журнала.
Есть ли что-нибудь, что делает это без необходимости писать какой-то код?
tail
имеет опцию -f
:
Со страницы man
:
-f, --follow [= { name | descriptor}] выводит добавленные данные по мере роста файла; -f, --follow и --follow = дескриптор эквивалентны
blockquote>Таким образом, если вы введете:
tail -f [path_and_name_of_logfile]
- вы увидите вывод в терминале как Сам файл журнала добавляется.N.B.
[path_and_name_of_logfile]
является параметром, поэтому приведем пример:
tail -f /var/log/messages
Если вы объедините с опцией
-n [number_of_lines]
, вы можете начать вывод с последнего [number_of_lines] в file - например
tail -n 10 -f /var/log/Xorg.0.log
Некоторые программы периодически меняют свой файл журнала, перемещая старый в новый имя (например, log.0) и начало заново.
N.B. logrotate делает это для регистрации файлов других программ, которые сами этого не делают.
tail -f
будет продолжать следовать за старым файлом после его переименования.
tail -F
будет следовать за файлом по имени, поэтому будет переключаться, чтобы следовать за новым файлом.
В то время как tail
конечно, обычный способ сделать это, он должен быть отмечен это less
имеет ту же функцию и иногда более полезен.
Если Вы открыли файл с less
затем можно нажать, Shift + F, чтобы иметь его следуют за файлом (т.е. это отобразит новые строки, так же, как tail -f
делает). Можно выйти из этого режима с Ctrl + C
Можно также запустить less
с +F
опция, в этом случае это запустится в том режиме. Вообще говоря, +
может использоваться для предоставления "команд клавиатуры" less
который это выполнит после запуска.
Используя less
поскольку это имеет преимущество, что можно легко искать файл или просмотреть другие области, если потребность возникает. Я часто делал это с файлами журнала, например.
tail -f something.log
делает то, что ты хочешь?
Я думаю, что ccze - правильный инструмент для вас.
Это то же самое, что и раскрашивание. Вы можете наблюдать за прокруткой журнала вниз, но его легче читать, потому что строки печатаются цветами (ошибки красного цвета и т. Д.). Вы можете быстро попробовать это с чем-то вроде этого:
tail -f /var/log/syslog | ccze
tail
имеет две реализации для отслеживания и вывода данных, которые добавляются в файл.
С параметром -f
, --follow
и --follow=descriptor
, tail
следует за дескриптором файла. Этот метод позволяет файлу следовать за переименованием, но отслеживание останавливается, когда файл поворачивается (новый файл создается с другим файловым дескриптором).
При просмотре следующих файлов, которые вращаются, используйте параметр --follow=name
или -F
, который равен --follow=name --retry
. Таким образом tail
будет периодически открывать файл, чтобы преодолеть возможное вращение.