从终端复制文本
大多数成熟的终端模拟器允许用户复制或保存其内容。
通用方法
在图形终端模拟器中,内容通常可以通过鼠标选择,然后使用上下文菜单、编辑菜单或组合键(如 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/ttyN 的原生终端的历史记录可以通过 /dev/vcsN 访问。因此,如果在一个名为 /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
putty 可以使用 xclip 方法:只需记住 xclip 命令应该在本地计算机(另一个终端)上运行,而不是在 putty 连接到的远程机器上。
urxvt
选择文本到 CLIPBOARD 需要 selection-to-clipboard perl 扩展。详情请参见 rxvt-unicode#Clipboard。
xterm
在 xterm 中访问 CLIPBOARD 选择需要 额外的步骤。
mlterm
除了 Ctrl+Shift+c 之外,如果您不想意外杀死进程,可以使用 Ctrl+Insert。