如何在使用 less 命令或在手册页中执行 Linux 命令?

Pea*_*key 10 linux less man

我一般通过管道将命令lsless并想同时进行分页例如我碰到过一个文件,我想删除,所以我想执行的命令执行命令rm {filename},同时仍然分页。我也希望在阅读手册页时可以使用相同的方法。如果不是它有什么不同?

Ash*_*Ash 9

您可以!在 less 内使用 bang ( )访问命令行。

例如,如果您键入:

touch temp.txt
ls | less
!rm temp.txt
Run Code Online (Sandbox Code Playgroud)

temp.txt 应该消失了。

编辑:默认情况下, man 现在似乎使用 less 来翻页(出于某种原因,我认为它使用了more,也许过去确实如此)。您可以使用相同的技巧,但它需要完整路径(例如 /home/user/...)才能使其工作。

这是因为调用 man 会更改当前工作目录。在我的机器(xubuntu,使用xfce-terminal)上,它转到/usr/share/man. 如果您的控制台显示 CWD,您可以看到它发生了变化,或者您可以man通过输入以下内容从内部看到它:

!pwd
Run Code Online (Sandbox Code Playgroud)


Hen*_*nes 5

执行此操作的通用方法是暂停当前作业,执行命令并恢复旧作业。

ls | less (阅读文本,注意文件名)
Control-z暂停当前活动命令

您应该得到与此类似的行:[1]+ Stopped ls | less
([1] 是职位编号。)

rm testfile

fgfg %1 (1 是职位编号)

您可以同时挂起多个进程。例如
ls | less
Control-z (output: [1]+ Stopped ls | less)
man rm
Control-z (output: [2]+ Stopped man rm)
rm -i testfile*

fg %1恢复作业 1(使手册页在后台打开),或
fg %2恢复作业 2 (man rm)

如果您有多个挂起的进程,您可以使用 列出它们jobs