【bash】 マウスを使わずに、ターミナルの出力をそのままコピー

MacBookの画像
  • URLをコピーしました!
※当ブログではアフィリエイト広告を表示しています
目次

概要

ターミナルコマンドの跡に、パイプ(|)とpbcopyを使うと、そのターミナルコマンドの出力がクリップボードにコピーされる。

例:pwd | pbcopy


背景

私は仕事や趣味でよくMac、Unixのターミナルで作業をするが、よく現在のディレクトリパス(カレントディレクトリパス)をコピーしたくなる。

例えば、2つのターミナルを使っているときに、片方のターミナルのカレントディレクトリパスをもう片方と同じにしたいとか、ファイルをもう片方のカレントディレクトリにコピーしたいだとか。

昔は、pwdを入力して、マウスでコピーしていたが、面倒。


課題

コマンド一発でカレントディレクトリパスをコピーできないか。

つまり、ターミナルの出力であるpwdの結果をそのままクリップボードに格納できないか。


解決法

ターミナルコマンドを繋げる「パイプ(|)」というコマンドと、クリップボードへの格納を意味する「pbcopy」を使う。

ターミナルコマンド(例えばpwd)の後にこの二つを繋げると、pwdの結果がコピーされる。

pwd | pbcopy 

この後に好きなところで、ペーストすれば、カレントディレクトリパスがペーストできる。このコマンドが長くて、打つのが面倒と思う人は、~/.bashrcに次のように一行追加すれば、3文字「pwb」で上記のコマンドと同じことができる。

alias pwb=“pwd | pbcopy”

(注1)~/.bashrcは大事なファイルなので、間違えて他の部分を変えないように。

(注2)~/.bashrcを編集した後に、編集部分を有効にするには各ターミナルで一回このファイルを次のコマンドで、読み込まないといけない。

source ~/.bashrc


応用

この「 | pbcopy 」はpwdの他にも色々と使える。

例えば

cat testdayo.txt | pbcopy 

で、testdayo.txtの中身全部をコピー。

これならいちいちファイルを開いて、全部選択してっていう作業が要らない。

ls testdayo1234567890.txt | pbcopy

長いファイル名をコピーしたいが、どうしてもマウスを使いたくない時に。


追加情報

Linuxの場合にはpbcopyコマンドがないので、自分で作らないといけない。

コピーした情報をペーストするpbpastコマンドがある。


参考

pbcopy, pbpasteについて:

https://www.google.co.jp/amp/s/hack-le.com/pbcopy/amp/

Linuxでpbcopy, pbpast が使いたい時:

http://d.hatena.ne.jp/dai_yamashita/touch/20120323/1332520873

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

関連記事

応援よろしくお願いします☆

この記事を書いた人

天文の博士号をもつ理系パパ。
3歳の娘を子育て中。
最近はダイエットに挑戦中!

コメント

コメントする

目次