我一般通过管道将命令ls
与less
并想同时进行分页例如我碰到过一个文件,我想删除,所以我想执行的命令执行命令rm {filename}
,同时仍然分页。我也希望在阅读手册页时可以使用相同的方法。如果不是它有什么不同?
您可以!
在 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)
执行此操作的通用方法是暂停当前作业,执行命令并恢复旧作业。
ls | less
(阅读文本,注意文件名)
Control-z
暂停当前活动命令
您应该得到与此类似的行:[1]+ Stopped ls | less
([1] 是职位编号。)
rm testfile
fg
或fg %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
。