How to Use XCLIP in Linux for clipboard




xclip  reads  text  from standard in or files and makes it available to other X applications for pasting as an X selection (traditionally with the middle mouse button). It reads from all files specified, or from  standard  in if no files are specified. xclip can also print the contents of a selection to standard out with the -o option.

xclip  was designed to allow tighter integration of X applications and command line programs. The default action  is to silently wait in the background for X selection requests (pastes) until another X application places  data in  the clipboard, at which point xclip exits silently. You can use the -verbose option to see if and when xclip actually receives selection requests from other X applications.


Install Xclip  in Linux
Xclip program are available in the official repositories of most modern Linux distributions.

On RHEL, CentOS:

$ sudo dnf install epel-release
$ sudo dnf install xclip 

On Fedora:

$ sudo dnf xclip 
On Debian, Ubuntu, Elementary_OS, Linux Mint:

$ sudo apt install xclip 
On openSUSE:

$ sudo zypper install xclip



Xclip command examples

There are 3 selections 

p--> primary
sec--> secondary
clip-->clipboard

xclip -i -sel clip
xclip -i -sel sec
xclip -i -sel p

Copy data to clipboard using Xclip
To copy the output of a command to clipboard using Xclip, run:

$ echo "Welcome To sudofoa" | xclip -selection clipboard

 
You can also use this short version of the above command:

$ echo "Welcome To sudofoa" | xclip -sel c



This copies the output of a Linux command to clipboard using Xclip

Here, -sel represents the -selection and c represents clipboard.

$ uname -r | xclip -sel c
We copied copy the output from stdin into clipboard buffer. 

To copy file contents into clipboard using  command, run:

$ xclip -selection clipboard < sudofoa.txt
Or shortly use this:

$ xclip -sel c < sudofoa.txt

The above commands will not display contents of the files. Instead, they will only copy the file contents to system clipboard.

Paste data from clipboard to console/terminal using Xclip

We know now how to copy the data from standard output and a file to clipboard. How to retrieve the copied data from clipboard? That's simple! Run the following command to paste the contents of the system clipboard to the console:

$ xclip -o -sel clip
Or,

$ xclip -o -sel c
If you want to paste the contents of the X11 primary selection area to the console, run:

$ xclip -o

Paste data from clipboard to file using Xclip
Instead of displaying (pasting) the contents of clipboard, you can also directly paste the contents of the system clipboard or X11 primary selection area into a file like below:

$ xclip -o -sel clip > output_file.txt
Or,

$ xclip -o > output_file.txt

$ xclip -o >> output_file.txt

For more details, refer Xclip manual page

$ man xclip



If you like please follow and comment