仕事ではWindows + RLogin or Tera Termを使っていますが、プライベートでは、専らMac OS Xを利用しています。
ここで、Windowsだと楽なのが、テキストファイルのコピーです。上記ターミナルエミュレータソフトならマクロを組んだり、標準機能を利用して対処できます。
MacやLinuxのターミナルでも、数行〜十数行程度なら、ドラッグして範囲選択の上、コピーで対応できます。
しかし、膨大な量のログ取りやバグ発見の際には、こんな方法ではとてもじゃないですが、対応できません。
そこで、よさげなコマンドを発見したので、メモをしておきます。
Mac OS X
Mac OS Xには、pbcopy, pbpasteというコマンドがそれぞれ用意されています。
man先生によると、以下のお仕事をしてくれるコマンドのようです。
pbcopy, pbpaste - provide copying and pasting to the pasteboard (the Clipboard) from command line
ターミナル上でコピーしたいときはpbcopy
、ペーストしたいときはpbpaste
を使うといいようです。
1 | % cat hoge | pbcopy |
こんな感じで、ターミナル上での標準出力をクリップボードにコピーできます。
Ubuntu (Linux)
Ubuntuの場合は、Mac OS Xにおけるpbcopy
に相当するコマンドとして、xsel
があるようです。
因みに、man先生によると、 “manipulate the X selection” がxselの正式なお名前だそうです。
その名前の通り、X Windowが必要なので、SSHの場合は、X転送を許可して、X転送を使えるようにしておいてください。
xselの場合は、pbcopyと異なり、引数がいるので、こんな感じで、ターミナル上での標準出力をクリップボードにコピーします。
1 | % cat hoge | xsel --clipboard --input |
因みにここで、zsh: command not found: xsel
こんな感じの辛いことを言われたら、xselがインストールされていないので、素直に、apt-get install xsel
しましょう。
なお、引数がめんどくさい人には、こんな感じで.zshrcや.bashrcにaliasを作っちゃえば良いと思います。
1 | alias pbcopy='xsel --clipboard --input' |
No comment yet, add your voice below!