Copying text from a terminal - ArchWiki

Jump to content
From ArchWiki

Most mature terminal emulators permit users to copy or save their contents.

## General approach

In graphical terminal emulators, contents are typically selectable by mouse, and can then be copied using the context menu, Edit menu or a key combination such as `Ctrl+Shift+c`.

### Terminals without CLIPBOARD selection

#### Xorg

Some emulators do not support the CLIPBOARD selection natively, and copy data to the PRIMARY selection. For them xclip may be used:

    $ xclip -o | xclip -selection clipboard -i

The above command reads data from the PRIMARY selection and writes it to CLIPBOARD selection.

Other clipboard managers such as autocutsel provide automatic synchronization between selection buffers.

#### Wayland

Utilities like wl-clipboard and clipboardAUR can copy data to the Wayland clipboard:

    $ command 2>&1 | wl-copy

### Intercepting commands output

Use tee to intercept the output of a command.

    $ command 2>&1 | tee output-file

After the `command` is executed, `output-file` will contain its output, while having displayed the output at the same time.

### Accessing Linux terminal backlog

The backlog of a native terminal named `/dev/ttyN` may be accessed via `/dev/vcsN`. Hence, if one is working in `/dev/tty1`, the following snippet will let store the backlog in a file `output-file`:

    # cat /dev/vcs1 > output-file

## Comparison of common emulators

The factual accuracy of this article or section is disputed.

Reason: Some "No" entries in this table may be wrong. (Discuss in Talk:Copying text from a terminal#A cheatsheet for common emulators: "No" entries factual accuracy)

Unless the "Key combination" column states otherwise, the key combination is `Ctrl+Shift+c`.

Emulator | Select to PRIMARY | CLIPBOARD
--- | --- | ---
Key combination | Context menu | Window menu | Select
Alacritty | Yes | Yes | No | No | No
atermAUR | Yes | No | No | No | No
etermAUR | Yes | No | No | No | No
foot | Yes | Yes | No | No | Optional
germinalAUR | Yes | Yes | Yes | No | No
Guake | Yes | Yes | Yes | No | No
Konsole | Yes | Yes | Yes | Yes | Optional
lilyterm-gitAUR | Yes | Yes `Ctrl+Delete` | Yes | No | No
lxterminal | Yes | Yes | Yes | Yes | No
mate-terminal | Yes | Yes | Yes | Yes | No
mltermAUR | Yes | Yes | No | No | Yes
pantheon-terminal | Yes | Yes | Yes | No | No
PuTTY | Yes | No | No | No | No
qterminal | Yes | Yes | Yes | Yes | No
roxtermAUR | Yes | Yes | Yes | Yes | No
rxvt-unicode | Yes | Yes `Ctrl+Alt+c` | No | No | Optional
sakuraAUR | Yes | Yes | Yes | Yes | No
st | Yes | Yes | No | No | No
Terminator | Yes | Yes | Yes | No | No
terminology | Yes | Yes | Yes | No | No
Termite | Yes | Yes | No | No | No
Tilda | Yes | Yes | Yes | No | No
xfce4-terminal | Yes | Yes | Yes | Yes | No
xterm | Yes | Optional[1] | No | No | Yes
Yakuake | Yes | Yes | Yes | No | Optional

## Special cases

### putty

The xclip approach works for putty: one just has to remember that the xclip invocation should be done on the local computer (in another terminal), not on the remote machine to which putty is connected.

### urxvt

Selecting text to CLIPBOARD requires the `selection-to-clipboard` perl extension. See rxvt-unicode#Cut and paste for details.

### xterm

Access to the CLIPBOARD selection in xterm requires additional steps.

### mlterm

In addition to `Ctrl+Shift+c`, you can use `Ctrl+Insert` if you do not want to kill processes accidentally.

Category:

- Terminal emulators

Hidden category:

- Pages or sections flagged with Template:Accuracy