Saturday, November 13, 2010 / Ubuntu, MacOS

Mac OS X で便利な pbcopy, pbpaste コマンドを Ubuntu で使う方法

Mac OS X で Terminal を使うことが多いのだが、いつも困っていたのはテキストファイルのコピー&ペースト。 Terminal 内に表示しきれるほど小さいテキストファイルは cat してから範囲選択すれば済むのだが、 それより大きいテキストファイルの場合は困る。

そんなときに重宝するのが 標準出力の内容をクリップボードにコピーしてくれる pbcopy コマンド。

たとえば、foo.txt の内容を クリップボードに入れたければ以下のようにします。

cat foo.txt | pbpcopy 

これで、cat で一旦 foo.txt を標準出力し、それを | パイプ経由で pbcopy することで、クリップボードにコピーできます。

それとは逆に クリップボードの内容を標準出力するには pbpaste を使います。 たとえば、ネットを閲覧していて気に入ったテキスト情報があったときにそれを選択して、 コピーした上で、Terminal にて pbpaste すれば、コピー内容が標準出力されます。

それを > リダイレクトすればファイルに落とすことができます。

pbpaste > foo.txt

あまりに便利なので、頻繁に使いますが、これを Ubuntu でも使う方法を紹介します。

Ubuntu で pbcopy, pbpaste コマンドを使う

xsel というコマンドをインストールしておきます。

sudo apt-get install xsel

その上で、 ~/.bashrc に以下を追記するだけです。

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

Terminal を再起動するか、 source ~/.bashrc して設定を読み込み直せば準備完了です。

たったこれだけでマックと同じように操作できるようになります。
すばらしい!

もちろん xsel がインストールできれば、Ubuntu 以外のどの Linux でも使えるようになると思います(たぶん)。