自動化無しに生活無し

WEB開発関係を中心に備忘録をまとめています

Linuxでコマンドラインからクリップボードにコピーする【UbuntuもOK】

  • 作成日時:
  • 最終更新日時:
  • Categories: インフラ
  • Tags: linux Ubuntu tips
thumbnail

とてつもなく長いコードをクリップボードにコピーして、誰かと共有したい時、エディタのカーソルを上に持っていって下まで下げてコピーするのはとても面倒。

だから、コマンド一発でファイルの内容全てをコピーする。xselを使って。

sudo apt install xsel
Copy

これでOK。後はコピペしたいファイルを用意して、下記コマンドを実行する。

cat ./index.html | xsel --clipboard --input
Copy

これでindex.htmlの中身が全部コピーできた。bashrcにエイリアスで登録しておくと、すぐに呼び出せて便利。

bashrcに下記を追加しておく。

alias clipcopy='xsel --clipboard --input'
Copy

呼び出す時はこうする。

cat ./index.html | clipcopy
Copy

SSHでリモートログインした端末に対してclipcopy を実行するには?

予め -X オプションを使ってX11を使ってログインをする。

ssh -X user@remote_host
Copy

その上で、clipcopyコマンドを使う。

cat ./index.html | clipcopy
Copy

もしリモートログインをする対象がラズパイなどの低スペックであり、X11を使うことが難しい場合は

ssh user@raspberrypi 'cat ./index.html' | clipcopy
Copy

このようにssh接続をした上で、コマンドを実行。標準出力をclipcopyしておく。

この場合、SSHサーバーであるラズパイではなく、SSHクライアント側にclipcopy コマンドを用意しておく。

ただし、この方法は毎度毎度パスワードを打つ必要が出てくる。そこでパスフレーズなしの公開鍵認証を使うと便利。

指定した範囲の行をクリップボードにコピーするには?

sed -n "100,120p" ./bbs/views.py | clipcopy
Copy

参照: sedコマンドで指定した範囲の行だけ標準出力をする。xselと組み合わせて部分的にクリップボードにコピー

スポンサーリンク