После просмотра журналов с journalctl, как выйти из экрана с надписью «строки 1-2 / 2 (END)»?

13

Когда вы используете команду, journalctl -p err -bнапример, вы получите ответ, который заканчивается на «END». Какую команду я использую, чтобы завершить это и получить возможность ввести следующую команду, не закрывая окно и не открывая новое?

erik@server ~ $ journalctl -p err -b
-- Logs begin at sön 2019-09-22 20:17:42 CEST, end at sön 2019-09-22 20:20:01 CE
sep 22 20:17:51 server iscsid[1289]: iSCSI daemon with pid=1290 started!
lines 1-2/2 (END)

снимок экрана терминала

Skalman65
источник

Ответы:

24

Плавный способ завершить эту команду - нажать q(для выхода). Похоже, это просматривается со зрителем less.

Вы можете выйти из этой команды и нескольких других программ текстового режима с помощью q. В этом и некоторых других случаях вы также можете выйти с ctrl Cпрерыванием, но оно «более жестокое».

sudodus
источник
2
Кажется, что на самом деле он использует не lessсаму себя, а lessсвязанную библиотеку, потому что pidof lessничего не выводит во время работы, и я попытался отключить пейджинг, LESS=F journalctl -p err -bно он не работал. Сравните с тем, gitгде оба из них работают.
wjandrea
10
Это использует less. С $SYSTEMD_PAGERи $PAGERunset, journalctlпытается некоторые команды, в том числе (как говорится в journalctl (1)) less. Но он пытается pagerпервым. В Debian и Ubuntu /usr/bin/pagerесть символическая ссылка /etc/alternatives/pager, которая является символической ссылкой /bin/less(которую пользователи редко изменяют). Так pidof lessне работает, но pidof pagerработает. journalctlсбрасывает $LESS, по умолчанию FRSXMK, но вы можете установить $SYSTEMD_LESS. FRSXMKсодержит, Fно Fопция отключает подкачку только тогда, когда не требуется ни вертикальная, ни горизонтальная прокрутка; увидеть Sвариант. @wjandrea
Каган,
6

Читать man journalctl. В разделе « Описание » написано:

По умолчанию вывод выводится с меньшим количеством страниц, а длинные строки «обрезаются» до ширины экрана. Скрытую часть можно просмотреть с помощью клавиш со стрелками влево и вправо. Пейджинг может быть отключен; см. --no-pagerопцию и раздел «Окружающая среда» ниже.

Итак, вы должны прочитать, man lessчтобы узнать об этом полезном инструменте.

Одна из вещей, из которой вы можете извлечь уроки man less:

   q or Q or :q or :Q or ZZ
          Exits less.
waltinator
источник
4
Стоит отметить, что это manтакже lessобычно выполняется , так что вам также нужно qвыйти из него!
Мелебиус
Они документируют, почему они выстраивают 2 строки вывода? Git, например, достаточно умен, чтобы определить, когда он будет показывать вам только текст, а не вызывать лишний пейджер.
interfect
4
@interfect За предыдущий комментарий Элии Кагана к другому ответу, он действительно отображал бы вывод без подкачки страниц, если бы он подходил без прокрутки, но перенос строки также отключен (чтобы избежать неоднозначности, я думаю), и хотя выходной пример не выше, чем выходной терминал, он шире.
pt314
2

Как упоминалось в других ответах, вы можете нажать, qчтобы выйти из lessпейджера.

Предполагая, что вывод короткий, другой вариант - напрямую потребовать команду не использовать пейджер. В случае journalctlэтого это делается с помощью опции --no-pager:

journalctl -p err -b --no-pager
Эрвана
источник