Copy to Clipboard from Command Line

By  on  

If you've ever been debugging with a fellow developer, you'll hear "OK, execute that and let me know what it says".  In this case, you can either manually copy the output and instant message the text over to them, or you can write the output to file with >> , open the file, manually copy the contents, and paste it into IM.  I experience this for a few hours recently and it was way to much work!  Shouldn't there be a way to quickly place an execution's output directly into the clipboard just to save some time?  You can with pbcopy!

Copy stdout to Clipboard

You'll use a single pipe to transfer the stdout result into the clipboard:

# command | pbcopy
hg diff | pbcopy

The git diff information is copied to the clipboard in this example; now you can show your colleague what you've changed.

Copy File Contents to Clipboard

In the case of copying file contents into the clipboard, pbcopy goes first:

# pbcopy < file.ext
pbcopy < circle.yml

The complete file contents are instantly copied to the clipboard for easy sharing.

Pasting to File

So what if you want to paste the clipboard contents into a new or existing file?  Use pbpaste:

#pbpaste > file.txt
pbpaste > commands.txt

The clipboard contents will be placed into the given file.

pbcopy will be a big timesaver for me moving forward.  Manually copy and pasting information is with the mouse or trackpad is inconvenient and time-consuming.  These types of command line techniques can make us more proficient, skilled developers!

Recent Features

  • By
    Page Visibility API

    One event that's always been lacking within the document is a signal for when the user is looking at a given tab, or another tab. When does the user switch off our site to look at something else? When do they come back?

  • By
    Create a CSS Cube

    CSS cubes really showcase what CSS has become over the years, evolving from simple color and dimension directives to a language capable of creating deep, creative visuals.  Add animation and you've got something really neat.  Unfortunately each CSS cube tutorial I've read is a bit...

Incredible Demos

  • By
    CSS Rounded Corners

    The ability to create rounded corners with CSS opens the possibility of subtle design improvements without the need to include images.  CSS rounded corners thus save us time in creating images and requests to the server.  Today, rounded corners with CSS are supported by all of...

  • By
    Facebook Sliders With Mootools and CSS

    One of the great parts of being a developer that uses Facebook is that I can get some great ideas for progressive website enhancement. Facebook incorporates many advanced JavaScript and AJAX features: photo loads by left and right arrow, dropdown menus, modal windows, and...

Discussion

  1. Jason

    You may want to point out that pbcopy is Mac only.

    With Linux, you’ll need other tools like xclip.

  2. Mark Hargrove

    May want to mention this is an OS X thing, though I guess this is available as an add-on for Windows.

  3. Markus

    how to get/install pbcoppy? is it a mac thing?

    • Yann

      Yes, pbcopy and pbpaste are OS X commands.

      I’m sure it’s possible to find alternatives for your OS of choice.

  4. Chris

    On Windows (both cmd and Powershell) simply use

    echo 1 | clip

  5. On linux I have this two aliases:

    alias c-c='xclip -sel clip'
    alias c-v='xclip -o -sel clip'
    
  6. echo 1 | clip
    is only for one line
    for multiline u may do
    type file.txt | clip

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!