在我开始之前 - 我是一个 69 岁的 Linux 新手 - 请对我宽容一点!
有没有一种简单的方法可以复制终端的所有内容(很多页) - “手册页”,有人告诉我它们与终端页面不同,但对于新手来说它们看起来一样 - 请参阅下面的评论 - 以便我可以将其传输到文本编辑器?目前我必须一次突出显示并复制一页,这相当费力。
我已经看到了有关如何复制多页终端的一部分内容的解释 - 这对我来说有点棘手 - - - 我希望有一种快速简便的方法来复制全部内容?
感谢您的耐心等待。
答案1
答案2
Ubuntu 上的默认终端仿真器gnome-terminal
在其“编辑”菜单中应该有一个“全选”选项。
Ctrl一旦选择了所有内容,您就可以使用+ Shift+进行复制C,或者右键单击并选择“复制”,或从“编辑”菜单中选择“复制”。
但请注意,终端缓冲区默认限制为几千行。如果您的会话累积了更多行,这些行将被截断,您只能获得最新的部分。如果您需要更多,您可以在菜单“编辑”>“配置文件首选项”>“滚动”>“限制回滚到___”中更改回滚缓冲区的大小。
根据您在评论中的澄清进行更新:
man
使用分页器(应该是less
默认的),它使用不同的终端模式在单个屏幕上提供可滚动的文本,而不是依赖终端仿真器让您滚动浏览积压内容。
man
为了一次性在终端中获取页面的全部内容,以便您可以选择并复制所有内容,您可以通过添加参数来告诉它不使用任何分页器--pager=
,例如:
man --pager= find
如果您希望此行为成为默认行为,则可以将以下行附加到您的~/.bashrc
文件中:
export MANPAGER=""
cat
另外,如果通过任何其他命令(例如,仅按原样再现输出)传输输出,页面也会被禁用:
man find | cat
或者,如果您的实际目标是将手册保存到文本文件,则可以将命令输出直接重定向到文件:
man find > find.txt
答案3
如果您想要很多页面但不是全部
您可以右键单击终端窗口的底部,然后将鼠标拖到窗口标题栏上。
文本会随着突出显示而滚动。突出显示适当数量的页面后,按下鼠标右键。会出现一个上下文相关菜单,您可以在其中选择copy
。
将光标移到编辑器并再次单击鼠标右键。现在选择paste
。
答案4
我找到了解决问题的最简单方法:1.“脚本”命令有效:它复制终端/手册页中的内容并将其格式化为可以从文本文件打印的方式。2.只需在每个命令末尾添加“>> tempfile.log” - 然后可以根据需要在 libreoffice 中对其进行编辑