ウェブサイト検索

ファイルの内容を表示せずにクリップボードにコピーする


このガイドでは、クリップボードとは何か、および Linux のテキスト ビューア アプリケーションを使用してファイルの内容を表示せずにファイルの内容をクリップボードにコピーする方法について説明します。

クリップボードとは何ですか?

システム上で 1 日に何度もテキストを切り取ったり、コピーして貼り付けたりすることは間違いありません。何かを何回コピーしたか覚えていないか、コピーしたテキストが実際にどこに保存されているかについて考えたことがないかもしれません。しかし、テキストを何度もコピー/カットしたはずです。疑問に思っている人のために説明すると、オペレーティング システムには「クリップボード」 と呼ばれる一時的な場所があります。クリップボードは、コピー/カットしたデータを一時的に保存する場所です。

クリップボードは、短期間のデータ保存に使用されるバッファです。これは主に切り取りコピーおよび貼り付け操作を介してアプリケーション内およびアプリケーション間でデータを転送するために使用されます。クリップボードは通常、コンピュータのRAM内にある一時的な名前のない場所です。

クリップボードは「選択」 と呼ばれ、Linux のX11 ウィンドウ システムでは 3 種類のクリップボードが使用できます。彼らです:

  • プライマリ - これは通常、マウスの中ボタンを使用してデータをコピー/ペーストするときに使用されます。
  • 二次 - あまり使用されていませんが、存在します。
  • クリップボード - これは、ctrl+c キーと ctrl+v キーを使用したキーボード経由、およびメニュー項目経由の明示的なコピー/ペースト コマンドに使用されます。

クリップボードの内容を操作するためのツールは数多くあります。これらは、クリップボード マネージャーおよびモニターとして知られています。このガイドでは、クリップボードの内容にアクセスするために使用される 2 つのコマンド ライン ツール、XclipXsel について説明します。

さて、本題に戻りましょう。 nanovi エディターなどの外部アプリケーションや cat などのコマンドを使用して、ファイルの内容を実際に表示せずにファイルの内容をコピーするにはどうすればよいですか?この方法を知る前は、通常、ファイルを開くか標準出力でファイルの内容を表示し、マウスまたはキーボードの Ctrl+c キーを使用してその内容をコピーしていました。ただし、内容を表示せずにこれを行うこともできます。その方法については、読み続けてください。

xclip と xclip は X11 ユーティリティであることに注意してください。これらは、X ウィンドウ システムがインストールされているシステムでのみ動作します。

Linux の Xclip および Xsel プログラムを使用して、内容を表示せずにファイルの内容をクリップボードにコピーする

Linux システムに Xclip プログラムと Xsel プログラムがインストールされていることを確認してください。これらは両方とも、ほとんどの Linux ディストリビューションのデフォルト リポジトリで利用できます。

Arch Linux とその派生版に xclipxsel をインストールするには、次のコマンドを実行します。

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 コマンドの出力をクリップボードに送信することもできます。

XclipXsel を使用して 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 コマンドを使用する方法

関連記事