Copy & Paste - The Tricky Way on macOS Terminal

Every of us knows copy & paste by ⌘-C and ⌘-V. Today I want to introduce you the pbcopy and pbpaste commands, for macOS exclusively.


Imagine that you want to copy the content of a file that has more than 1,000 lines on the terminal.

One way is to cat /path/to/file, and use your mouse/trackpad to scroll and highlight the content, then press ⌘-C to copy. However, this seemingly simple task could be very annoying because scroll-and-highlight isn't so straight-forward sometimes.

A much simpler way is to pipe the output to pbcopy.

cat /path/to/file | pbcopy

Now you can ⌘-V the copied content anywhere.


You can echo the copied content by pbpaste. For example, you can save the copied content into a file.

pbpaste > /path/to/file

Or, process the copied content before saving it.

# Remove the empty lines
pbpaste | egrep -v '^$' > /path/to/file

Or, process the copied content AND copy the new content with pbcopy.

pbpaste | egrep -v '^$' | pbcopy


pbcopy and pbpaste is just a small trick, but very useful in my day-to-day work. Hope they could become your favourite commands too!