Jak wyświetlić dzienniki za pomocą dziennikactl, jak wyjść z ekranu z napisem „wiersze 1-2 / 2 (END)”?

13

Kiedy journalctl -p err -bna przykład użyjesz polecenia , otrzymasz odpowiedź, która kończy się na „END”. Jakiego polecenia używam, aby to zakończyć i uzyskać możliwość wprowadzenia następnego polecenia bez konieczności zamykania okna i otwierania nowego?

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)

zrzut ekranu terminala

Skalman65
źródło

Odpowiedzi:

24

Płynnym sposobem na zakończenie tego polecenia jest naciśnięcie q(w celu wyjścia). Wygląda na to, że jest oglądany za pomocą przeglądarki less.

Możesz wyjść z tego polecenia i kilku innych programów w trybie tekstowym za pomocą q. W tym przypadku i kilku innych przypadkach możesz także wyjść z ctrl Cprzerwaniem, ale jest to „bardziej brutalne”.

sudodus
źródło
2
Wygląda na to, że tak naprawdę nie korzysta z lesssamej lessbiblioteki, ale z biblioteką związaną z nią, ponieważ pidof lessnic nie wyświetla podczas działania, a ja próbowałem wyłączyć stronicowanie, LESS=F journalctl -p err -bale to nie działało. Porównaj, gitgdzie oba te elementy działają.
wjandrea
10
Używa less. Za pomocą $SYSTEMD_PAGERi $PAGERunset journalctlpróbuje niektórych poleceń, w tym (jak mówi Journalctl (1)) less. Ale pagernajpierw próbuje . W Debianie i Ubuntu /usr/bin/pagerjest dowiązaniem symbolicznym, do /etc/alternatives/pagerktórego prowadzi dowiązanie /bin/less( do którego użytkownicy rzadko się zmieniają). Więc pidof lessnie działa, ale pidof pagerdziała. journalctlresetuje $LESS, domyślnie na FRSXMK, ale można ustawić $SYSTEMD_LESS. FRSXMKzawiera, Fale Fopcja wyłącza stronicowanie tylko wtedy, gdy nie jest wymagane przewijanie w pionie ani w poziomie ; zobacz Sopcję. @wjandrea
Eliah Kagan
6

Czytać man journalctl. W sekcji Opis mówi:

Dane wyjściowe są domyślnie przekierowywane na mniej, a długie linie są „obcinane” do szerokości ekranu. Ukrytą część można wyświetlić za pomocą klawiszy strzałek w lewo i w prawo. Przywoływanie można wyłączyć; patrz --no-pageropcja i sekcja „Środowisko” poniżej.

Dlatego powinieneś przeczytać, man lessaby dowiedzieć się o tym przydatnym narzędziu.

Jedną z rzeczy, których możesz się nauczyć, man lessjest:

   q or Q or :q or :Q or ZZ
          Exits less.
waltinator
źródło
4
Warto zauważyć, że zwykle mandziała less, więc musisz qgo również opuścić!
Melebius
Czy dokumentują, dlaczego drukują 2 linie wyników? Na przykład Git jest wystarczająco sprytny, aby stwierdzić, kiedy pokaże ci tylko mniej niż ekran tekstu i nie wywołuje zbędnego pagera.
interfect
4
@interfect Wcześniejszy komentarz Per Eliasza Kagana na inną odpowiedź, rzeczywiście pokazałby wynik bez stronicowania, gdyby pasował bez przewijania, ale zawijanie linii jest również wyłączone (chyba, aby uniknąć niejednoznaczności), i chociaż przykładowe wyjście nie jest wyższy niż terminal wyjściowy, jest szerszy.
pt314
2

Jak wspomniano w innych odpowiedziach, możesz nacisnąć, qaby wyjść z lesspagera.

Zakładając, że dane wyjściowe są krótkie, inną opcją jest bezpośrednie wymaganie, aby polecenie nie korzystało z pagera. W tym przypadku journalctlodbywa się to z opcją --no-pager:

journalctl -p err -b --no-pager
Erwan
źródło