Mac OS X で Terminal を使うことが多いのだが、いつも困っていたのはテキストファイルのコピー&ペースト。 Terminal 内に表示しきれるほど小さいテキストファイルは cat してから範囲選択すれば済むのだが、 それより大きいテキストファイルの場合は困る。
そんなときに重宝するのが 標準出力の内容をクリップボードにコピーしてくれる pbcopy コマンド。
たとえば、foo.txt の内容を クリップボードに入れたければ以下のようにします。
cat foo.txt | pbpcopy
これで、cat で一旦 foo.txt を標準出力し、それを | パイプ経由で pbcopy することで、クリップボードにコピーできます。
それとは逆に クリップボードの内容を標準出力するには pbpaste を使います。 たとえば、ネットを閲覧していて気に入ったテキスト情報があったときにそれを選択して、 コピーした上で、Terminal にて pbpaste すれば、コピー内容が標準出力されます。 それを > リダイレクトすればファイルに落とすことができます。
pbpaste > foo.txt
あまりに便利なので、頻繁に使いますが、これを Ubuntu でも使う方法を紹介します。
xsel というコマンドをインストールしておきます。
sudo apt install xsel
その上で、 ~/.bashrc に以下を追記するだけです。
alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'
Terminal を再起動するか、 source ~/.bashrc して設定を読み込み直せば準備完了です。
たったこれだけでマックと同じように操作できるようになります。
すばらしい!
もちろん xsel がインストールできれば、Ubuntu 以外のどの Linux でも使えるようになると思います(たぶん)。
xdg-open をインストールして
apt install xdg-open
~/.bashrc に以下を追記。
alias open=xdg-open