仅清除最后一条命令的终端输出


13

是否可以清除最后一条命令的输出,而不是滚动浏览数百行输出以查看先前的命令历史记录?例如,执行后ls,清除其输出,因为您不再需要它。

编辑:

这不是您的平常操作clearctrl+L操作。这个想法是在历史记录中向后滚动以查找上一个命令的输出,但是除非我真的想要,否则不必滚动过去ls,或catsudo apt-get install输出。它可能看起来像这样:

cat fileIWantToRemember
ls directoryIWantToForget
# some command that wipes the output of ls
# scroll back to see the output of cat immediately

您是要清除输出,还是要从命令历史记录中删除命令?如果您想修改命令历史记录,也许此线程可以满足您的需求?
ernie 2013年

终端仅显示文本流,并将一些文本存储在其自己的内部缓冲区中。它无法知道或区分命令输出。rxvt-unicode终端确实有一个perl解释器,它可能能够实现类似这样的功能。但据我所知,这还没有完成。
基思2013年

很久以前,我在Mac OS X上使用了具有此功能的终端仿真器,但我不记得它叫什么了。但是它不是免费的。但是,在对它进行快速Google搜索时,我遇到了finalterm.org,看起来它正在尝试实现该功能。但是,“最终术语正在开发中,既不稳定又功能不完善!”,所以我没有尝试过。看起来很有趣。google搜索的价值是terminal emulator output folding
rici

Final Term经过充分开发,可以折叠命令(以及许多其他奇妙的东西),一旦有了键盘快捷键就可以解决问题。我开始以为自己疯了……
nacnudus

1
这不是您的确切答案,但在这种情况下,要查看大文件的内容,我使用“较少”命令而不是“ cat”命令。另一件事是,如果有任何命令将大量行作为输出输出到控制台,则可以通过编写“ $ the-command | less”来避免它。
毁容

Answers:


4

感谢@rici,这种行为可以称为“折叠”。不会忘记命令的输出,但是您可以隐藏它,直到再次需要它为止。折叠在文本编辑器中很常见,但在终端仿真器中似乎很少见。

Final Term是一个新的终端模拟器,其中包括许多其他花哨的技巧。当心:“最终术语正在大量开发中,既不稳定又功能不完善!” 当我测试它时,它已经足够开发以折叠我的命令了,但是它太不稳定了,不会崩溃。一个值得一看。


0

我认为您正在寻找明确的命令...

clear

“清除”从视图中清除您的最后一个命令。如果需要,您可以在终端中向上滚动以再次查看。


重点是浏览历史记录时不必滚动过去。
nacnudus

您是说要抑制命令的输出吗?如果是的话,这可能会帮助您:stackoverflow.com/questions/617182/...
phe0113

2
如果我再也不想看到输出了,那就太好了。我想第一次看到输出,然后忘记它。因此,在我给出的示例中,ls由于某种原因,我想检查输出,但是随后我想摆脱它,以便不必一直滚动到它来查找cat的输出。显然,我可以再做一次,但是我可以想象要保留一系列命令,而不必重复所有命令会很好。
nacnudus 2013年

0

在bash中,您可以按快捷方式Ctrl + L以清除屏幕,类似于该clear命令。(http://ss64.com/bash/syntax-keyboard.html

或者,您可以history | tail -3用来查看最后三个命令。(http://www.howtogeek.com/howto/44997/how-to-use-bash-history-to-improve-your-command-line-productivity/


请参阅下面我对@Justin的评论,重点是在历史记录中查找其他内容时不必滚动过去。HISTCONTROL=ignorespace事后可以在第二个链接中使用类似的东西。
nacnudus

我对您想要实现的目标有点迷茫。另一个想法,在我使用的许多控制台中,通常可以使用箭头键浏览bash中的命令历史记录,这是否适用于您的情况?
phe0113 2013年

我的编辑是否澄清了这个问题?
nacnudus

@nacnudus,是的,我现在明白你的意思了:)
phe0113 2013年

0

听起来好像您要从历史记录中删除项目。为此,您首先需要通过编辑〜/ .bashrc并添加以下内容来即时写入历史记录,而不是注销时:

shopt -s histappend; export PROMPT_COMMAND='history -a';'

然后,要删除项目,您可以执行以下操作:

history -d offset,其中offset是您要删除的历史记录条目

基于此论坛主题


这似乎将其从历史记录文件中删除,这几乎是正确的主意,但是它可以从当前终端擦除它吗?
nacnudus
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.