ファイルの内容を表示せずにクリップボードにコピーする
このガイドでは、クリップボードとは何か、および Linux のテキスト ビューア アプリケーションを使用してファイルの内容を表示せずにファイルの内容をクリップボードにコピーする方法について説明します。
クリップボードとは何ですか?
システム上で 1 日に何度もテキストを切り取ったり、コピーして貼り付けたりすることは間違いありません。何かを何回コピーしたか覚えていないか、コピーしたテキストが実際にどこに保存されているかについて考えたことがないかもしれません。しかし、テキストを何度もコピー/カットしたはずです。疑問に思っている人のために説明すると、オペレーティング システムには「クリップボード」 と呼ばれる一時的な場所があります。クリップボードは、コピー/カットしたデータを一時的に保存する場所です。
クリップボードは、短期間のデータ保存に使用されるバッファです。これは主に切り取り、コピーおよび貼り付け操作を介してアプリケーション内およびアプリケーション間でデータを転送するために使用されます。クリップボードは通常、コンピュータのRAM内にある一時的な名前のない場所です。
クリップボードは「選択」 と呼ばれ、Linux のX11 ウィンドウ システムでは 3 種類のクリップボードが使用できます。彼らです:
- プライマリ - これは通常、マウスの中ボタンを使用してデータをコピー/ペーストするときに使用されます。
- 二次 - あまり使用されていませんが、存在します。
- クリップボード - これは、
ctrl+c
キーとctrl+v
キーを使用したキーボード経由、およびメニュー項目経由の明示的なコピー/ペースト コマンドに使用されます。
クリップボードの内容を操作するためのツールは数多くあります。これらは、クリップボード マネージャーおよびモニターとして知られています。このガイドでは、クリップボードの内容にアクセスするために使用される 2 つのコマンド ライン ツール、Xclip と Xsel について説明します。
さて、本題に戻りましょう。 nano
、vi
エディターなどの外部アプリケーションや cat
などのコマンドを使用して、ファイルの内容を実際に表示せずにファイルの内容をコピーするにはどうすればよいですか?この方法を知る前は、通常、ファイルを開くか標準出力でファイルの内容を表示し、マウスまたはキーボードの Ctrl+c
キーを使用してその内容をコピーしていました。ただし、内容を表示せずにこれを行うこともできます。その方法については、読み続けてください。
xclip と xclip は X11 ユーティリティであることに注意してください。これらは、X ウィンドウ システムがインストールされているシステムでのみ動作します。
Linux の Xclip および Xsel プログラムを使用して、内容を表示せずにファイルの内容をクリップボードにコピーする
Linux システムに Xclip
プログラムと Xsel
プログラムがインストールされていることを確認してください。これらは両方とも、ほとんどの Linux ディストリビューションのデフォルト リポジトリで利用できます。
Arch Linux とその派生版に xclip
と xsel
をインストールするには、次のコマンドを実行します。
sudo pacman xclip xsel
Fedora の場合:
sudo dnf xclip xsel
Debian、Ubuntu、Linux Mint の場合:
sudo apt install xclip xsel
ここで、Xclip
プログラムと Xsel
プログラムを使用してファイルの内容をコピーする方法を見てみましょう。このガイドでは、ostechnix.txt
という名前のテキスト ファイルを使用します。このファイルの内容は次のとおりです。
cat ostechnix.txt
Linux is not an operating system.
It is a kernel.
GNU/Linux is the operating system.
ostechnix.txt
ファイルの内容を表示せずにクリップボードにコピーするには、次のコマンドを実行します。
xclip -selection clipboard < ostechnix.txt
または、すぐにこれを使用します:
xclip -sel c < ostechnix.txt
Linux で Xclip を使用してファイルの内容を表示せずにクリップボードにコピーする
Xclip は、ostechnix.txt
ファイルの内容をクリップボードにコピーしました。 Ctrl+p
キーを使用するか、メニュー項目から paste
オプションを選択するか、右クリックしてコンテキスト メニューを選択すると、コピーしたデータを任意の場所に貼り付けることができます。
以下のように Xsel
コマンドを使用して、ファイルの内容をクリップボードにコピーすることもできます。
xsel --clipboard < ostechnix.txt
または、すぐにこれを使用します。
xsel -b < ostechnix.txt
Linux で Xsel を使用してファイルの内容を表示せずにクリップボードにコピーする
いくつかのストロークを保存するには、次の行を含む「send2clip」という名前のスクリプトを作成します。
#! /bin/bash
xclip -selection clipboard -i $@
このスクリプトには任意の名前を使用します。次に、スクリプトを実行可能にします。
chmod +x send2clip
次に、任意のファイルを引数として渡し、その内容をクリップボードにコピーします。たとえば、次のコマンドは ostechnix.txt
ファイルの内容をコピーします。
./send2clip ostechnix.txt
Linux および Unix コマンドの出力をクリップボードにコピーする
ファイルの出力だけでなく、Xclip
および Xsel
プログラムを使用して、Linux および Unix コマンドの出力をクリップボードに送信することもできます。
Xclip
と Xsel
を使用して Linux コマンドの出力をクリップボードにコピーするには、次のコマンドを実行します。
command_name | xclip -sel c
command_name | xsel -b
例:
Linux および Unix コマンドの出力をクリップボードにコピーする
上記のコマンドは、Linux システムのカーネルの詳細をクリップボードにコピーします。
Xclip および Xsel コマンドの詳細については、マニュアル ページを参照してください。
man xclip
man xsel
お役に立てれば。
関連記事:
- Linux で Xclip と Xsel を使用してクリップボードの内容にアクセスする
- Linux で Pbcopy および Pbpaste コマンドを使用する方法