Linuxターミナルでの迅速なコピー&ペーストにXclipを使用する

Linuxユーザー、特にターミナルで作業するのが好きな方にとって、Linuxターミナルでのテキスト管理を根本的に変えるツールがxclipです。マウスでテキストをハイライトし、右クリックして別の場所にペーストする代わりに、テキストを直接xclipにパイプすることで、クリップボードが即座に更新されます。そこから、ドキュメント、メール、または別のターミナルウィンドウにCtrl + Vでペーストできます。
xclipは、プレーンテキストだけでなく、さまざまなデータタイプを処理できるほど多用途です。コード、コマンド、設定ファイルをコピーする場合でも、xclipはすべてのコンテンツを一貫して扱います。
注意: xclipはX11でのみ動作し、Waylandでは実行できません。Waylandを使用している場合は、代わりにwl-clipboard(wl-copyおよびwl-paste)を使用してください。
Xclipの使い方
xclipを始めるには、システムのデフォルトのパッケージマネージャを使用してインストールする必要があります。たとえば、私が使用しているUbuntuを実行している場合は、次のようにします:
sudo apt install xclipArchベースのディストリビューションの場合は、次のようにします:
sudo pacman -S xclipFedoraまたはCentOS/RHELの場合は、次のコマンドを実行します:
sudo dnf install xclipインストールが完了したら、準備完了です!
マウスなしでコピー&ペースト
xclipを使用すると、システムのクリップボードバッファと直接やり取りします。コマンドの出力をコピーする場合でも、ファイルの内容をコピーする場合でも、xclipは標準入力(stdin)から読み取り、X選択(クリップボード)に書き込みます。簡単に言うと、xclipにパイプするものはすべてクリップボードに追加されます。
たとえば、「notes.txt」というファイルがあり、そのすべての内容をコピーしたい場合は、次のように実行します:
cat notes.txt | xclip -selection clipboard
この1行で「notes.txt」からすべてをクリップボードに直接送信します。手動で選択してCtrl + Cを押したかのように。
任意のドキュメントやターミナルに内容をペーストするには、通常のCtrl + Vを使用するだけです。
クリップボードの内容をターミナルに戻したり、別のコマンドで使用したりしたい場合は、-o(出力)オプションを使用します:
xclip -o-selection clipboardこのコマンドは、現在クリップボードにあるものを出力します。その出力をファイルにリダイレクトすることもできます:
xclip -o-selection clipboard > my_copied_list.txt特定のテキストの一部だけをファイルからコピーしたい場合は、sed、grep、head、tail、またはawkなどの他のLinuxツールを使用して、xclipにパイプする前にコンテンツをフィルタリングできます。
たとえば、「notes.txt」の5行目から10行目だけをコピーするには、次のようにします:
sed-n'5,10p' notes.txt | xclip -selection clipboardここで、-nフラグは初期出力を制限し、-pはsedに指定された行のみを印刷するよう指示します。その結果はクリップボードに送信され、ペーストの準備が整います。また、スクリーンショットや他の画像ファイルを扱っている場合でも、xclipはそれらを処理できます。
選択プロセスをさらに簡単に
私が本当にイライラしたのは、長い選択コマンドを何度も入力しなければならなかったことです。これを解決するために、選択プロセスを簡単かつ迅速にするために「~/.bashrc」ファイルにエイリアスを作成しました。任意のテキストエディタで「~/.bashrc」ファイルを開きます:
nano ~/.bashrc次に、次の2行を追加します:
aliassetclip="xclip -selection clipboard"
aliasgetclip="xclip -selection clipboard -o"
次のコマンドでリロードします:
source ~/.bashrcこれで、setclipを使用してコピーし、getclipを使用してペーストできます。たとえば、ファイルのすべての内容をコピーするには、次のように実行します:
cat notes.txt | setclipターミナルにペーストするには、次のように実行します:
getclip
これで完了です!毎回長いコマンドを入力する必要はありません。
Xclipを使用することは有用ですか?
簡単な答えははいです。思っているよりもはるかに便利です。スクリプトを書く、終日ターミナルで作業する、リモートシステムを管理する場合、このツールは大幅に時間と労力を節約できます。
個人的には、ターミナルで作業する際の効率が向上するので大好きです。もう立ち止まってマウスを取り、テキストをスクロールしたり、コピーする際に何かを見逃すリスクを負ったりする必要はありません。また、ログ、エラーメッセージ、設定ブロックを頻繁にコピーする開発者やシステム管理者にも非常に役立ちます。
ただし、履歴を保持したり、スクリプトを実行したり、画像を扱ったりするような追加機能が必要な場合は、CopyQ、cliphist、Autocutsel、Clipboard Projectなどのクリップボードマネージャを試してみてください。
最後の考え
xclipコマンドは、過剰に設計されたり複雑なツールではありません。シンプルですが、一度使い始めると、これまでどうやってそれなしで作業していたのか不思議に思うでしょう。このようなコマンドを学ぶことで、ワークフローを加速し、ターミナルで集中力を保つことができます。
まだ試していない場合は、ぜひ試してみてください。インストールして、いくつかのテストを実行し、コピーとペーストがどれだけスムーズになるかを確認してください。そして、xclipが唯一のツールではないことを忘れないでください。他にも生産性を向上させるLinuxコマンドがたくさんあります。通常のコマンドラインツールを新しい、より効率的な代替品に置き換えることも検討できます。