从终端复制文本 - Arch Linux 中文维基

跳转到内容

# 从终端复制文本

来自 Arch Linux 中文维基
翻译状态：

- 本文（或部分内容）译自 Copying text from a terminal，最近一次同步于 2024-11-16，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

大多数成熟的终端模拟器允许用户复制或保存其内容。

## 一般方法

在图形化终端模拟器中，内容通常可以通过鼠标选择，然后通过右键菜单、编辑菜单或快捷键组合（例如 `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（英语：tee） 截取命令的输出。

    $ command 2>&1 | tee output-file

在执行 `command` 之后，`output-file` 将包含其输出，同时显示输出。

### 访问 Linux 终端历史

可以通过 `/dev/vcsN` 访问名为 `/dev/ttyN` 的本地终端的历史。因此，如果在 `/dev/tty1` 中工作，以下代码段将把历史存储到文件`output-file`中：

    # cat /dev/vcs1 > output-file

## 常见终端仿真器比较

本文或本章节的事实准确性存在争议。

原因： 此表中的一些“否”项可能不准确。（在 Talk:从终端复制文本#常见终端仿真器备忘单：“否”项的准确性 中讨论）

除非“快捷键组合”列另有说明，否则快捷键组合为`Ctrl+Shift+c`。

仿真器 | 选择到 PRIMARY | CLIPBOARD
--- | --- | ---
快捷键组合 | 上下文菜单 | 窗口菜单 | 选择
Alacritty | 是 | 是 | 否 | 否 | 否
atermAUR | 是 | 否 | 否 | 否 | 否
etermAUR | 是 | 否 | 否 | 否 | 否
foot | 是 | 是 | 否 | 否 | 可选
germinalAUR | 是 | 是 | 是 | 否 | 否
Guake（英语：Guake） | 是 | 是 | 是 | 否 | 否
Konsole | 是 | 是 | 是 | 是 | 可选
lilyterm-gitAUR | 是 | 是 `Ctrl+Delete` | 是 | 否 | 否
lxterminal包 | 是 | 是 | 是 | 是 | 否
mate-terminal包 | 是 | 是 | 是 | 是 | 否
mlterm | 是 | 是 | 否 | 否 | 是
pantheon-terminal包 | 是 | 是 | 是 | 否 | 否
PuTTY（英语：PuTTY） | 是 | 否 | 否 | 否 | 否
qterminal包 | 是 | 是 | 是 | 是 | 否
roxtermAUR | 是 | 是 | 是 | 是 | 否
rxvt-unicode | 是 | 是 `Ctrl+Alt+c` | 否 | 否 | 可选
sakura包 | 是 | 是 | 是 | 是 | 否
st | 是 | 是 | 否 | 否 | 否
Terminator（英语：Terminator） | 是 | 是 | 是 | 否 | 否
terminology包 | 是 | 是 | 是 | 否 | 否
Termite（英语：Termite） | 是 | 是 | 否 | 否 | 否
Tilda（英语：Tilda） | 是 | 是 | 是 | 否 | 否
xfce4-terminal包 | 是 | 是 | 是 | 是 | 否
xterm（英语：xterm） | 是 | 可选[1] | 否 | 否 | 是
Yakuake | 是 | 是 | 是 | 否 | 可选

## 特殊情况

### putty

xclip 方法适用于 putty: 只需记住，xclip 命令应该在本地计算机上（在另一个终端中）执行，而不是在与 putty 连接的远程计算机上执行。

### urxvt

将文本选择到 CLIPBOARD 选区需要 `selection-to-clipboard` Perl 扩展。有关详细信息，请参见 rxvt-unicode#复制和粘贴。

### xterm

访问 xterm 中的 CLIPBOARD 选区需要额外的步骤（英语：xterm#PRIMARY or CLIPBOARD）。

### mlterm

除了 `Ctrl+Shift+c`，如果不想意外杀死进程，还可以使用 `Ctrl+Insert`，同时，一些版本的 Mlterm 会在选择时自动实时复制选取。

隐藏分类：​

- 使用“模板:准确性”标记的页面或章节

从终端复制文本
添加话题