我广泛使用这些功能来浏览终端中的命令历史记录;我想知道是否还有某种方法可以导航命令输出历史记录?(除了保持大的 histsize 并依靠 pgup 键)
我不能只是“重新运行命令”,因为在我的特定情况下,命令的来源会发生变化;我经常需要回顾以前更改的输出。
欢迎黑客。
谢谢!
2010年编辑:
我给了 'tee' 功劳;在其他地方记录会话的所有方法中,它是最广泛适用的(即它是 gnu coreutils 的一部分,并且不需要特定的 shell 或实用程序即可工作)。这不是我真正要寻找的东西,但我意识到这样的东西并不存在。
我能想到的最接近的近似方法是使用类似screen
(byobu/tmux) 的东西记录到文件,并编写(和键绑定)一个自定义命令来页面/搜索该日志文件(想想less
按提示而不是屏幕进行分页)。谢谢大家。
2012年编辑:
@Dustin Kirkland 的回答显然是最好的,至少一般来说是这样;终端的回滚缓冲区是导航命令输出历史记录的侵入性最小的方式。Byobu 似乎保存了大量的默认历史记录行数(10K;tmux 有 2K,GNU screen 100),并且它允许正则表达式搜索(粗略的观察表明 GNU screen 没有回滚搜索,而 tmux 只有纯文本搜索)。
远程连接时,我遇到了 Gnome(/Linux/Debian+Ubuntu) 剪贴板问题;它的默认行为似乎是在选择文本时自动将文本添加到剪贴板缓冲区。这通常不是问题,直到我需要远程登录这些系统之一(使用 GUI)并尝试使用共享剪贴板。如果我在本地计算机上“复制”文本(旨在替换远程计算机上的某些文本),则一旦我选择远程计算机上要替换的文本,该复制缓冲区就会被覆盖。
有办法解决这个问题吗?这有点让我发疯。
谢谢!
更新:这确实是 NX 服务器问题;X11 支持行为不同的多个剪贴板(“选择”:剪贴板、主要、次要;请参阅这篇优秀文章),看来我的问题与 NX 服务器如何将其转换到主机有关。