
ターミナルのコマンドの実行結果をコピーしたいけど、できるのかな?という疑問にお答えします。
ターミナルの勉強などしていて、コマンドの実行結果をメモなどに貼り付けたいなど、ターミナルでコマンドの実行結果をコピーできたらなにかと便利な気がしませんか?
実は、あるんです。
今回は、
・コマンドの実行結果をコピーしてメモなどにペーストする方法
・ファイルの文字列などをコピーして、ターミナルにペーストする方法
をご紹介します。
コマンドの実行結果をコピーする方法

まずターミナルを開いて、何らかのコマンドを入力し実行してみましょう。
ここでは、dateコマンドを実行し、現在の日時を表示しています。

2019年 5月 30日 木曜日 02:24:05 JST
と実行結果が表示されました。
この日時をコピーするには、「 pbcopy 」コマンドを使います。
pbcopyコマンドとは
pbcopyは、コマンドの実行結果をcopyする機能があります。
そのためには、コマンド実行結果をpbcopyコマンドに渡す必要がありますね。
そこで必要になってくるのが、パイプ「 | 」です。
パイプの役割
「 | 」は、コマンドの出力結果を他のコマンドに渡す機能があります。
以上から、
「 date | pbcopy 」
としたらクリップボードにコピーされます。

以上でコピーされているので、試しにツイッターにペーストしてみましょう。
pbcopyした内容をペーストする方法
ペーストは、macユーザーならおなじみの方法で、
「 command + v 」キーです。

日時がペーストできました。
もう一例、次は「 ls 」コマンドで試してみましょう。

「 ls | pbcopy 」としました。
そして、またツイッターにペーストしてみます。

lsの実行結果がペーストできました。
以上がコマンドの実行結果をコピーする方法と、メモなどにペーストする方法です。
次は、ファイルの文字列などをコピーして、ターミナルにペーストする方法をみてみましょう。
ファイルの文字列などをコピーして、ターミナルにペーストする方法

まず、ファイルなどターミナルの外部の文字をコピーする方法から
みてみましょう。
ファイルの文字をコピーする方法
macユーザーおなじみの方法で、
「 command + c 」を使います。
例として、ツイッターでdateコマンドの「 date 」と入力しました。
これを「 command + c 」でコピーします。

以上でコピーされました。
ちなみに、macOSでは、コピーされたデータは、
「クリップボード」というエリアにに保存されています。
コピーしたデータをターミナルにペーストする方法
ペーストする方法は、実は、普通に「 command + v 」でできます。
でも、ペーストしてすぐに実行されてしまいますので、なんか危険な感じですね。
「 pbpaste 」
を使うことで、ペーストする内容が直ちに実行されないというメリットがあります。
それでは、コピーしている「 date 」という文字列を
pbpasteでターミナルにペーストしてみましょう。

少しわかりにくいですが、pbpasteの後にdateと表示されている
だけで実行されていません。
pbpasteの内容を実行するには、バッククォートで囲います。
「 `pbpaste` 」とします。
すると、コピーしたdateが実行されます。

dateコマンドが実行され、日時が表示されました。
以上が、ファイルの文字列などをコピーして、ターミナルにペーストする方法です。
正直、初心者のうちは、pbcopyは使う機会がそれほどないのではないかと思いますので、こんな方法があるということで、pbcopyと合わせてご紹介しました。
まとめ

ターミナルのコマンドの実行結果をコピーするのはpbcopyコマンドで、メモなどターミナル外にペーストできるので何かと便利。
pbpasteコマンドは、ファイルなどのデータをコピーして、ターミナルに貼り付けできるコマンドで、直ちに実行されないので安全、バッククォートで囲むと実行できる。
けど初心者のうちはあんま使わない。ということでしたね。
コメント