search
HomeSystem TutorialLINUXHow To Manage Clipboard From Command Line In Linux

How To Manage Clipboard From Command Line In Linux

The clipboard of a Linux system is the area used to temporarily store copy-paste data. Once you copy text or other data, this data goes to the clipboard, which you can paste elsewhere. The clipboard saves only the last items you copied. Efficiently managing clipboards helps avoid mistakes and keep work organized. This guide details how to manage a clipboard in the Linux command line.

Table of contents

  • Install the clipboard management tool
    • Install xclip
    • Install xsel
  • Manage clipboards in Linux command line
      1. View clipboard content
      1. Clear the clipboard
      1. Copy the data to the clipboard
      1. Paste data from the clipboard
  • Clipboards in different choices
  • Advanced Usage
      1. Copy the file contents to the clipboard
      1. Redirect clipboard content to file
      1. Using multiple clipboards
      1. Clipboard durability
      1. Clipboard monitoring
  • Practical Examples
      1. Create a quick paste zone
      1. Timestamped clipboard to file
      1. Clipboard history
  • troubleshooting
  • Summarize

Clipboard management tools

Two common tools for managing clipboards in Linux are xclip and xsel. Both tools allow you to view, clear, and manipulate clipboard content.

Install the clipboard management tool

Install xclip

Xclip and Xsel are available in the default repository of many Linux distributions. So you can install them using the default package manager.

For example, you can install xclip on Debian and Ubuntu systems using the following command:

 <code>sudo apt install xclip</code>

Install xsel

To install xsel, use the following command:

 <code>sudo apt install xsel</code>

Manage clipboards in Linux command line

1. View clipboard content

Using xclip :

To view the contents of the clipboard using xclip, use:

 <code>xclip -selection clipboard -o</code>

This command outputs the current content of the clipboard to the terminal.

Using xsel :

To view the contents of the clipboard using xsel, run:

 <code>xsel --clipboard --output</code>

Or, just:

 <code>xsel --clipboard</code>

This command displays the current contents of the clipboard.

2. Clear the clipboard

Using xclip :

To clear the clipboard using xclip, use:

 <code>xclip -selection clipboard /dev/null</code>

This command clears the clipboard.

Using xsel :

To clear the clipboard with xsel, run:

 <code>xsel --clipboard --clear</code>

This command effectively clears clipboard contents.

3. Copy the data to the clipboard

Using xclip :

To copy data to the clipboard using xclip, you can echo the data and pipe it to xclip. For example:

 <code>echo "Hello, OSTechNix Users!" | xclip -selection clipboard</code>

This command copies "Hello, OSTechNix Users!" to the clipboard.

Using xsel :

To copy data to the clipboard using xsel, you can use a similar method:

 <code>echo "Hello, OSTechNix Users!" | xsel --clipboard</code>

This command also copies "Hello, OSTechNix Users!" to the clipboard.

4. Paste data from the clipboard

Paste the data the same as viewing. I have included this for ease of understanding.

Using xclip :

To paste clipboard content using xclip, you can run:

 <code>xclip -selection clipboard -o</code>

This command outputs clipboard contents, which you can redirect or use in scripts.

Using xsel :

To paste clipboard contents using xsel, run:

 <code>xsel --clipboard --output</code>

This command displays clipboard contents.

Clipboards in different choices

Unlike Windows, which usually has only one clipboard, Linux supports multiple clipboard selections. They are:

  • PRIMARY (selected text)
  • SECONDARY (Rare to use)
  • CLIPBOARD (Ctrl C, Ctrl V operation)

By default, xclip and xsel are selected using CLIPBOARD. You can specify different options as you want.

Using xclip :

  • Main choice: xclip -selection primary
  • Secondary selection: xclip -selection secondary
  • Clipboard selection: xclip -selection clipboard

Using xsel :

  • Main choice: xsel --primary
  • Secondary choice: xsel --secondary
  • Clipboard selection: xsel --clipboard

Advanced Usage

1. Copy the file contents to the clipboard

To copy the file contents to the clipboard, you can use:

Using xclip :

 <code>xclip -selection clipboard </code>

Using xsel :

 <code>xsel --clipboard </code>

2. Redirect clipboard content to file

To save clipboard contents to a file, use:

Using xclip :

 <code>xclip -selection clipboard -o > output.txt</code>

Using xsel :

 <code>xsel --clipboard --output > output.txt</code>

3. Use multiple clipboards

Copy the content to PRIMARY Select:

 <code>echo "Primary Selection" | xclip -selection primary</code>

Copy the content to SECONDARY Select:

 <code>echo "Secondary Selection" | xclip -selection secondary</code>

4. Clipboard persistence

By default, xclip exits immediately, which may result in lost clipboard content. To keep it running:

 <code>echo "Persistent clipboard" | xclip -selection clipboard -loops 0</code>

This will keep xclip running until you terminate it manually.

5. Clipboard monitoring

To continuously monitor clipboard changes:

 <code>watch -n 1 "xclip -selection clipboard -o"</code>

This command will display clipboard contents once a second.

Practical Examples

1. Create a quick paste area

 alias pb="xclip -selection clipboard"
cat file.txt | pb

Now you can quickly copy the file contents to the clipboard using cat file.txt | pb .

2. Timestamped clipboard to file

 xclip -selection clipboard -o > clipboard_$(date %Y%m%d_%H%M%S).txt

This saves the current clipboard contents to a file with the current timestamp.

3. Clipboard history

To maintain a simple clipboard history:

 echo "$(xclip -selection clipboard -o)" >> ~/.clipboard_history

Add this to your .bashrc or create a cron job to save clipboard contents regularly.

troubleshooting

  1. If the xclip or xsel commands fail, make sure you run them in an X11 session.
  2. For headless servers, you may need to use a virtual framebuffer, such as Xvfb.
  3. If the clipboard content is accidentally lost, check if any clipboard manager is interfering.

Summarize

Using tools like xclip and xsel, it is very easy to manage your clipboard in the Linux command line. You can easily view, clear, copy and paste clipboard content. Additionally, you can handle different clipboard selections and use file contents.

Mastering the xclip and xsel commands will help you manage your clipboard effectively and prevent accidental pasting. In addition, mastering clipboard management in the Linux command line can increase productivity and enable powerful scripting capabilities.

While xclip and xsel are the main tools, many desktop environments also offer their own clipboard managers and have other features.

Remember that clipboard operations in Linux are usually associated with X server sessions. For system-wide or cross-session clipboard management, consider using a dedicated clipboard manager application.


Featured image from Mohamed Hassan by Pixabay.

The above is the detailed content of How To Manage Clipboard From Command Line In Linux. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
How does performance differ between Linux and Windows for various tasks?How does performance differ between Linux and Windows for various tasks?May 14, 2025 am 12:03 AM

Linux performs well in servers and development environments, while Windows performs better in desktop and gaming. 1) Linux's file system performs well when dealing with large numbers of small files. 2) Linux performs excellently in high concurrency and high throughput network scenarios. 3) Linux memory management has more advantages in server environments. 4) Linux is efficient when executing command line and script tasks, while Windows performs better on graphical interfaces and multimedia applications.

How to Create GUI Applications In Linux Using PyGObjectHow to Create GUI Applications In Linux Using PyGObjectMay 13, 2025 am 11:09 AM

Creating graphical user interface (GUI) applications is a fantastic way to bring your ideas to life and make your programs more user-friendly. PyGObject is a Python library that allows developers to create GUI applications on Linux desktops using the

How to Install LAMP Stack with PhpMyAdmin in Arch LinuxHow to Install LAMP Stack with PhpMyAdmin in Arch LinuxMay 13, 2025 am 11:01 AM

Arch Linux provides a flexible cutting-edge system environment and is a powerfully suited solution for developing web applications on small non-critical systems because is a completely open source and provides the latest up-to-date releases on kernel

How to Install LEMP (Nginx, PHP, MariaDB) on Arch LinuxHow to Install LEMP (Nginx, PHP, MariaDB) on Arch LinuxMay 13, 2025 am 10:43 AM

Due to its Rolling Release model which embraces cutting-edge software Arch Linux was not designed and developed to run as a server to provide reliable network services because it requires extra time for maintenance, constant upgrades, and sensible fi

12 Must-Have Linux Console [Terminal] File Managers12 Must-Have Linux Console [Terminal] File ManagersMay 13, 2025 am 10:14 AM

Linux console file managers can be very helpful in day-to-day tasks, when managing files on a local machine, or when connected to a remote one. The visual console representation of the directory helps us quickly perform file/folder operations and sav

qBittorrent: A Powerful Open-Source BitTorrent ClientqBittorrent: A Powerful Open-Source BitTorrent ClientMay 13, 2025 am 10:12 AM

qBittorrent is a popular open-source BitTorrent client that allows users to download and share files over the internet. The latest version, qBittorrent 5.0, was released recently and comes packed with new features and improvements. This article will

Setup Nginx Virtual Hosts, phpMyAdmin, and SSL on Arch LinuxSetup Nginx Virtual Hosts, phpMyAdmin, and SSL on Arch LinuxMay 13, 2025 am 10:03 AM

The previous Arch Linux LEMP article just covered basic stuff, from installing network services (Nginx, PHP, MySQL, and PhpMyAdmin) and configuring minimal security required for MySQL server and PhpMyadmin. This topic is strictly related to the forme

Zenity: Building GTK  Dialogs in Shell ScriptsZenity: Building GTK Dialogs in Shell ScriptsMay 13, 2025 am 09:38 AM

Zenity is a tool that allows you to create graphical dialog boxes in Linux using the command line. It uses GTK , a toolkit for creating graphical user interfaces (GUIs), making it easy to add visual elements to your scripts. Zenity can be extremely u

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),