ターミナルの標準出力(stdout)をクリップボードにパイプするにはどうすればよいですか?


106

例えば、

フォルダーの内容一覧表示して、チャットウィンドウに直接貼り付けて、友人が見たいとします。

ls > filename.txtこれらのコンテンツを含むファイル(filename.txt)を作成することができると思います。その後、ファイルを開いたり印刷したり、手動でテキストブロックを選択してコピーする必要がありますこれは迷惑/退屈になる可能性があります)ls

単に標準出力をクリップボードにパイプする方がはるかに高速/簡単です。

どの端末コマンドでこれを行うことができますか?


回答:


122

これは、xsel または xclip コマンドラインユーティリティを使用して実行でき ます。どちらのプログラムもデフォルトではUbuntuに付属していないため、最初にUbuntuソフトウェアまたはターミナルを介してインストールする必要があります。ターミナルでの方法は次のとおりです(ただし、必要なのはこれら2つのうちの1つだけです)。

sudo apt install xsel
sudo apt install xclip

次にいくつかの例を示します。の出力をlsクリップボードにコピーする場合は、次のようにします。

xselの場合:

ls | xsel -ib

xclipの場合:

ls | xclip -sel clip

もちろん、これは他の端末コマンドにも利用できます。ネットワーク情報をヘルプフォーラムに貼り付けたいとします。

xselの場合:

sudo lshw -C network | xsel -ib

xclipの場合:

sudo lshw -C network | xclip -sel clip

新しいbashエイリアスでこれをさらに簡単にしましょう!

~/.bash_aliasesファイルを編集します(まだ存在しない場合は、最初に作成しますtouch ~/.bash_aliases)。

次に、次のいずれか(追加するプログラムに応じて)を追加します。

alias copy='xclip -sel clip'

または

alias copy='xsel -ib'

次に保存して閉じます。

ターミナルを再起動した後、「コピー」(または新しいエイリアスに名前を付けることにしたもの)にパイプするだけで、標準出力をクリップボードに送信できます

例えば:

ls | copy

1
新しいUbuntuバージョンでは、を使用する必要がありますapt。そうsudo apt install xselsudo apt install xclip
ウィスバッキー

1
答えてくれてありがとう、でもLinuxターミナルだけで何か知っていますか?
モハマド

1
@jpaugh。16.0414.04のUbuntuパッケージ管理ドキュメントを比較します。16.04では、言及しているだけであり、ではaptありませんapt-get。あなたはまだ使用できapt-getますが、彼らは人々が使用するように奨励しようとしていますapt
ウィスバッキー

2
ターミナルを再起動する必要はありません。できることsource ~/.bash_aliases
ロブK

1
@MohamadこれらはXサーバー内で実行するためのものです(クリップボード機能を提供するため)。それがない場合は、ターミナルエミュレータで行う必要があります。そのためのデファクトスタンダードがないため、その方法は、使用している実際のソフトウェアによって異なります。
するThorbjörnRavnアンデルセン

2

Linux(WSL)のWindowsサブシステムでUbuntuを使用してクリップボードにコピーしようとすると、クリップボードはgrahpical専用であるため、X Windowsを使用していない限りxselまたはxclipは機能しません。ただし、ターミナルの標準出力をWSL Ubuntuのクリップボードにパイプするには、を使用できますclip.exe。その後、標準の貼り付けコマンドを使用して、WSL Ubuntuターミナルに貼り付けることができ、コピーされたテキストはWindowsでも使用できます。例えば、

pwd | clip.exe 

現在の作業ディレクトリを(Windows)クリップボードにコピーします。

この検索結果は、WSLでテキストをコピー/貼り付ける方法を探しているときに上部に表示されるため、読者が不必要にxselまたはxclipをUbuntuにインストールして代わりにを使用しないように、これを言及する価値があると思いますclip.exe

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.