大多数成熟的终端模拟器允许用户复制或保存其内容。
一般方法
在图形化终端模拟器中,内容通常可以通过鼠标选择,然后通过右键菜单、编辑菜单或快捷键组合(例如 Ctrl+Shift+c)进行复制。
不原生支持 CLIPBOARD 选区的终端
Xorg
有些终端仿真器不原生支持 CLIPBOARD 选区,而是将数据复制到 PRIMARY 选取。对于这些终端,可以使用 xclip包:
$ xclip -o | xclip -selection clipboard -i
上述命令将从 PRIMARY 选区读取数据并写入 CLIPBOARD 选择。
其他剪贴板管理器(如autocutselAUR)提供选择缓冲区之间的自动同步。
Wayland
像 wl-clipboard包 和 clipboardAUR 这样的工具可以将数据复制到Wayland剪贴板:
$ command 2>&1 | wl-copy
截取命令输出
使用 tee 截取命令的输出。
$ command 2>&1 | tee output-file
在执行 command 之后,output-file 将包含其输出,同时显示输出。
访问 Linux 终端历史
可以通过 /dev/vcsN 访问名为 /dev/ttyN 的本地终端的历史。因此,如果在 /dev/tty1 中工作,以下代码段将把历史存储到文件output-file中:
# cat /dev/vcs1 > output-file
常见终端仿真器比较
除非“快捷键组合”列另有说明,否则快捷键组合为Ctrl+Shift+c。
| 仿真器 | 选择到 PRIMARY | CLIPBOARD | ||||
|---|---|---|---|---|---|---|
| 快捷键组合 | 上下文菜单 | 窗口菜单 | 选择 | |||
| Alacritty | 是 | 是 | 否 | 否 | 否 | |
| atermAUR | 是 | 否 | 否 | 否 | 否 | |
| etermAUR | 是 | 否 | 否 | 否 | 否 | |
| foot | 是 | 是 | 否 | 否 | 可选 | |
| germinalAUR | 是 | 是 | 是 | 否 | 否 | |
| Guake | 是 | 是 | 是 | 否 | 否 | |
| Konsole | 是 | 是 | 是 | 是 | 可选 | |
| lilyterm-gitAUR | 是 | 是 Ctrl+Delete
|
是 | 否 | 否 | |
| lxterminal包 | 是 | 是 | 是 | 是 | 否 | |
| mate-terminal包 | 是 | 是 | 是 | 是 | 否 | |
| mltermAUR | 是 | 是 | 否 | 否 | 是 | |
| pantheon-terminal包 | 是 | 是 | 是 | 否 | 否 | |
| PuTTY | 是 | 否 | 否 | 否 | 否 | |
| qterminal包 | 是 | 是 | 是 | 是 | 否 | |
| roxtermAUR | 是 | 是 | 是 | 是 | 否 | |
| rxvt-unicode | 是 | 是 Ctrl+Alt+c
|
否 | 否 | 可选 | |
| sakura包 | 是 | 是 | 是 | 是 | 否 | |
| st | 是 | 是 | 否 | 否 | 否 | |
| Terminator | 是 | 是 | 是 | 否 | 否 | |
| terminology包 | 是 | 是 | 是 | 否 | 否 | |
| Termite | 是 | 是 | 否 | 否 | 否 | |
| Tilda | 是 | 是 | 是 | 否 | 否 | |
| xfce4-terminal包 | 是 | 是 | 是 | 是 | 否 | |
| xterm | 是 | 可选[1] | 否 | 否 | 是 | |
| Yakuake | 是 | 是 | 是 | 否 | 可选 | |
特殊情况
putty
xclip 方法适用于 putty: 只需记住,xclip 命令应该在本地计算机上(在另一个终端中)执行,而不是在与 putty 连接的远程计算机上执行。
urxvt
将文本选择到 CLIPBOARD 选区需要 selection-to-clipboard Perl 扩展。有关详细信息,请参见 rxvt-unicode#复制和粘贴。
xterm
访问 xterm 中的 CLIPBOARD 选区需要额外的步骤。
mlterm
除了 Ctrl+Shift+c,如果不想意外杀死进程,还可以使用 Ctrl+Insert。