Linux - какой-нибудь способ сохранить файл журнала обновления в реальном времени открытым в терминале?

44

Это должно было быть сделано раньше: я хочу, чтобы файл журнала был открыт в терминале, чтобы я мог следить за обновлениями по мере их появления. Мои поиски подходят ко всему, кроме этой ситуации ... Должно быть, мне не хватает какой-то терминологии или чего-то более важного, потому что люди все время делают это внутри других программ (например, NetBeans или rails server).

wulftone
источник
4
Ах, я нашел это. tail -f myfile.log, Это делает это хорошо. Я люблю Linux.
wulftone

Ответы:

76

Попробуйте с:

tail -f your.log

где -fозначает следовать .

Кир
источник
Как вам может понадобиться подсветка синтаксиса, multitailэто удобно, то есть multitail -f your.log ref. unix.stackexchange.com/a/8419/17671
Nam G VU
Или даже лучше, grcнапример, grc tail -f your.log ref. unix.stackexchange.com/a/21962/17671
Nam G VU
10

По-другому:

следи за хвостом -n20 your.log

ОК, это глупое использование, watchно вы можете найти эту watchкоманду полезной для других целей.

Робин Грин
источник
5
Эта watchопция лучше подходит для файлов, которые будут переименовываться / удаляться и создаваться заново (либо при нормальной работе, либо с помощью чего-либо вроде logrotate) в течение времени просмотра, в противном случае tail -fболее эффективна.
Дэвид Спиллетт
6
@ Дэвид: tail -Fсправляется с этим.
Гравитация
@ Grawity: Спасибо, вы узнаете что-то новое каждый день!
Дэвид Спиллетт
3

Альтернатива ответу @ cYrus:

less +F file.log

Преимущество заключается в том, что вы lessможете также обрезать длинные строки с помощью -Sфлага, предотвращая их наматывание на экран терминала, а также прокручивать их влево / вправо. Вместо трубопровода tail -f file.logчерез cutили что - то подобное, вы можете просто:

less -S +F file.log
Северин Козак
источник