Home Linux Tips & Tricks How To Use Pbcopy And Pbpaste Commands On Linux

How To Use Pbcopy And Pbpaste Commands On Linux

Learn how Linux users can replicate pbcopy and pbpaste commands with Xclip and Xsel programs.

By sk
Published: Updated: 91.3K views

Since Linux and Mac OS X are Unix-based systems, many commands will work on both platforms. However, some commands are unique and might not be available on both platforms, for example pbcopy and pbpaste commands. These commands are exclusively available only on macOS platform.

Those who have switched from macOS to Linux might feel the absence of this command pair and would likely prefer to continue using them in Linux system. Worry not! If you've moved from macOS to Linux and are missing the pbcopy and pbpaste, I have a solution for you to bring similar functionality to Linux.

In this brief tutorial, I will explain how to replicate the functionalities of pbcopy and pbpaste and use Pbcopy and Pbpaste commands on a Linux system.

What are pbcopy and pbpaste Commands?

Pbcopy and Pbpaste are two command-line utilities on macOS that allow you to copy and paste text to and from the clipboard. They are similar to the familiar keyboard shortcuts ⌘+C and ⌘+V, but they can be used from within the terminal.

The pbcopy command will copy the standard input into clipboard. You can then paste the clipboard contents using pbpaste command wherever you want.

Here are some examples of how to use pbcopy and pbpaste:

Copy the text "Hello world!" to the clipboard:

pbcopy echo "Welcome to OSTechNix blog!"

Paste the contents of the clipboard into a new file:

pbpaste > mynewfile.txt

Copy the output of the command ls to the clipboard:

ls | pbcopy

While pbcopy and pbpaste are specifically available on macOS systems, there are a number of Linux alternatives to pbcopy and pbpaste, such as xclip and xsel.

Heads Up: The symbol , also known as the looped square, is the symbol for the command key on Apple keyboards.

What are xclip and xsel Commands?

Xclip is a command line interface to X selections i.e. Clipboard. Xclip reads the data from one or more files and makes the data available as an X selection for pasting the data into X applications.

Xsel is also a command line X11 selection and clipboard manipulation tool. It is used to access X clipboard and selection buffers in Linux and Unix-like operating systems.

For more details on xclip and xsel usage in Linux, please refer the following guide.

How To Access Clipboard Contents Using Xclip and Xsel In Linux

Using xclip or xsel programs, we can easily imitate the functionality of pbcopy and pbpaste commands in Linux.

Install xclip and xsel in Linux

Both xclip and xsel packages available in the default repositories of most Linux distributions. Please note that you don't have to install both utilities. Just install any one of the above utilities.

To install them on Arch Linux and its derivatives, run:

$ sudo pacman -S xclip xsel

On Fedora:

$ sudo dnf install xclip xsel

On Debian, Ubuntu, Linux Mint:

$ sudo apt install xclip xsel

Once installed, you need to create aliases for pbcopy and pbpaste commands.

Create Aliases for pbcopy and pbpaste

We can replicate the functionality of pbcopy and pbpaste commands using xclip and/or xsel commands via shell aliasing. Let us see how to do that!

1. Edit your ~/.bashrc file:

$ vi ~/.bashrc

2. If you want to use xclip, paste the following lines:

alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'

3. If you want to use xsel, paste the following lines in your ~/.bashrc file.

alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'

4. After adding the above lines, press ESC and :wq to save and close the file.

5. Next, run the following command to update the changes in ~/.bashrc file.

$ source ~/.bashrc

6. The ZSH users paste the above lines in ~/.zshrc file and update the changes using command:

$ source ~/.zshrc

Use Pbcopy and Pbpaste Commands on Linux

As mentioned already. the pbcopy command will copy the text from stdin into clipboard buffer. For example, have a look at the following example.

$ echo "Welcome To OSTechNix!" | pbcopy

The above command will copy the text "Welcome To OSTechNix" into clipboard. You can access this content later and paste them anywhere you want using pbpaste command like below.

$ echo `pbpaste`
Welcome To OSTechNix!
pbcopy and pbpaste commands
pbcopy and pbpaste commands in action

Here are some other use cases.

I have a file named file.txt with the following contents.

$ cat file.txt 
Welcome To OSTechNix!

You can directly copy the contents of a file into a clipboard as shown below.

$ pbcopy < file.txt

Now, the contents of the file is available in the clipboard as long as you updated it with another file's contents.

To retrieve the contents from clipboard, simply type:

$ pbpaste 
Welcome To OSTechNix!

You can also send the output of any Linux command to clip board using pipeline character. Have a look at the following example.

$ ps aux | pbcopy

Now, type "pbpaste" command at any time to display the output of "ps aux" command from the clipboard.

$ pbpaste
Use Pbpaste Command On Linux
pbpaste command in action

There is much more you can do with Pbcopy and Pbpaste commands. I hope you now got the basic idea about these commands.

Frequently Asked Questions

FAQ: Using Xclip and Xsel in Linux as Alternatives to pbcopy and pbpaste.

Q: What are pbcopy and pbpaste, and why are they not available on Linux?

A: pbcopy and pbpaste are commands on macOS for copying and pasting text via the command line. They are unavailable on Linux. These commands are specific to macOS.

Q: What are Xclip and Xsel?

A: Xclip and Xsel are Linux command-line tools that replicate the functionality of pbcopy and pbpaste. They enable efficient copying and pasting of text between the command line and clipboard.

Q: How do I install Xclip and Xsel on my Linux system?

A: You can install Xclip and Xsel using your package manager. For example, on Debian-based systems like Ubuntu, you can use sudo apt-get install xclip xsel.

Q: How do I copy text to the clipboard using Xclip?

A: To copy text from a file to the clipboard, use: cat file.txt | xclip -selection clipboard.

Q: How do I paste text from the clipboard using Xclip?

A: To paste text from the clipboard to the terminal, use: xclip -selection clipboard -o.

Q: Can I use Xclip and Xsel on macOS?

A: Yes, you can, but they are most commonly used on Linux systems. macOS already provides the native pbcopy and pbpaste commands.

Q: Are the commands for Xclip and Xsel the same as pbcopy and pbpaste?

A: No, the commands are different, but they serve similar purposes. Xclip and Xsel have their own syntax for copying and pasting text.

Q: Can I use Xclip and Xsel for tasks beyond simple copying and pasting?

A: Yes, you can use them in scripting and automation for more complex tasks involving clipboard content.

Q: Are there any other alternatives to Xclip and Xsel for Linux?

A: While Xclip and Xsel are popular choices, you might also consider other tools like wl-clipboard and clipman. They are exclusively developed for Wayland systems.

Q: Do Xclip and Xsel work across different Linux distributions?

A: Yes, Xclip and Xsel are widely supported and work across various Linux distributions.

Conclusion

To sum it up, even though pbcopy and pbpaste commands are handy for controlling clipboard on Mac computers, Linux users can accomplish similar tasks using tools like Xclip and Xsel. These tools let you handle clipboard content smoothly in Linux, making it easy to work with text. So, while the names of the commands may change, the main idea of improving how you work with text stays the same whether you're using macOS or Linux.

Related Read:

You May Also Like

4 comments

Lance Stephens August 11, 2023 - 12:09 pm

Typo for the pacman command. Should read `sudo pacman -S xclip xsel`.

Otherwise stellar article!

Reply
sk August 11, 2023 - 1:52 pm

Fixed. Thanks for pointing it out. Much appreciated.

Reply
Richard Steven Hack August 12, 2023 - 7:06 am

Nice. Only problem is openSUSE never heard of it except for Tumbleweed. I’ve been noticing lately that most non-major utilities are not available for LEAP these days – only Tumbleweed or experimental or community repositories at best.

In the push to the next “immutable” version of openSUSE, LEAP appears to have been discarded as far as application support. LEAP appears to be at end of the road for more than another year or so. I’m beginning to think about dumping openSUSE altogether and switching to another major distro (with KDE) – or at least switching to Tumbleweed and taking my chances with crashes.

Reply
Becky October 25, 2023 - 10:40 pm

This doesn’t work out-of-box in Debian.
`echo “helloworld” | pbcopy`
throws:
`Error: Can’t open display: (null)`

Reply

Leave a Comment

* By using this form you agree with the storage and handling of your data by this website.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

This website uses cookies to improve your experience. By using this site, we will assume that you're OK with it. Accept Read More