使用 journalctl 查看日志后,如何退出显示“第 1-2/2 行(结束)”的屏幕?

Ska*_*n65 14 command-line systemd less pager systemd-journald

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)
Run Code Online (Sandbox Code Playgroud)

终端截图

sud*_*dus 26

结束该命令的一种流畅方式是点击q(退出)。看起来它是与观众一起观看的less

您可以退出此命令和其他几个文本模式程序 q。在这种情况下和其他几种情况下,您也可以通过ctrl C中断退出,但它“更残酷”。

  • 它正在使用 `less`。在未设置 `$SYSTEMD_PAGER` 和 `$PAGER` 的情况下,`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 (10认同)
  • 看起来它实际上不是在使用 `less` 本身而是一个与 `less` 相关的库,导致 `pidof less` 在运行时不输出任何内容,我尝试使用 `LESS=F journalctl -p err -b` 禁用分页但它没有用。与“git”相比,这两者都有效。 (2认同)

wal*_*tor 6

阅读man journalctl。在描述部分,它说:

默认情况下,输出较少分页,长行被“截断”为屏幕宽度。可以使用向左箭头和向右箭头键查看隐藏部分。可以禁用分页;请参阅下面的--no-pager选项和“环境”部分。

因此,您应该阅读man less以了解这个有用的工具。

您可以从中学到的一件事man less是:

   q or Q or :q or :Q or ZZ
          Exits less.
Run Code Online (Sandbox Code Playgroud)

  • 值得注意的是,`man` 通常也运行 `less`,所以你也需要 `q` 来退出它! (4认同)
  • @interfect Per Eliah Kagan 之前对另一个答案的评论,如果它不滚动就适合,它确实只会显示不分页的输出,但换行也被关闭(我猜是为了避免歧义),尽管示例输出不是比输出端子高,它更宽。 (4认同)