从终端复制文本
大多数成熟的终端模拟器允许用户复制或保存其内容。
通用方法
在图形终端模拟器中,通常可以使用鼠标选择内容,然后使用右键菜单、编辑 菜单或快捷键组合(如 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#Clipboard。
xterm
在 xterm 中访问 CLIPBOARD 选择需要其他步骤。
mlterm
除了 Ctrl+Shift+c
之外,如果不希望意外终止进程,还可以使用 Ctrl+Insert
。