\r\n\r\n

linuxのbashshellでテキストをコピー&ペーストする方法

bashshellでコマンドラインからコピー&ペーストをしたいですか?キーボードでもマウスでも、様々なテクニックをご紹介します。これらのツールは、グラフィカルなデスクトップでも、従来のテキストベースのttyでも動作します...

bashshellでコマンドラインからコピー&ペーストをしたいですか?キーボードでもマウスでも、様々なテクニックをご紹介します。これらのツールは、グラフィカルなデスクトップでも、従来のテキストベースのTTYでも機能します。

通常のキーボードショートカットが機能しない

文字をコピーして貼り付けることは、パソコンを使う上で大きな意味を持ちます。WindowsやmacOSの世界から来た人が初めてLinuxコンピュータを何度か使ったとき、ターミナルウィンドウでコピー&ペーストをしようとすると、しばしば戸惑うことがあります。

Windowsでは、Ctrl+Cでハイライトされた部分をコピーし、Ctrl+Vでペーストすることができます。macOSでは、Command+Cでコピー、Command+Vで貼り付けができます。CのコピーV**と同じ規約に従います。

Ctrl+Cでハイライトされたテキストをコピーし、Ctrl+Vでカーソル位置にペーストします。私たちLinuxの初心者は、これらのアプリケーションにこれらの規約が実装されていることを考慮しないかもしれません。筋肉に記憶されたキーを使って、作業を続けるのです。

Ctrl+CやCtrl+Vは、コピー&ペーストのはるか以前から割り当てられていた機能だ。実は、このキー操作は、グラフィカルなシェルが発明されるずっと前、テレタイプライター(TTY)が物理的なデバイスだった頃に行われていたものなのだ。

ctrl+c と ctrl+v を ttys で使用する。

TTYが物理デバイスの場合、信号を発生させる便利なキーの組み合わせとして、Ctrl+Cを選択します。この信号はSIGINTであり、現在のプロセスの終了を指示するものである。ターミナルウィンドウはTTYをエミュレートしたものなので、このキーストロークの組み合わせは(他の多くのものも)エミュレーションの中で保持されコピーされているのです。ターミナルウィンドウはエミュレートされたウィンドウであることに注意してください。bashshellはエミュレートされたTTYで実行されるプログラムです。

Ctrl+CとCtrl+Vに割り当てられている機能を簡単に確認することができます。

ls -R /

ここでは-R(recursive)オプションを使用しているため、lsコマンドはルートディレクトリから始まるすべてのファイルとディレクトリをリストアップします。数分後、あなたはこれがあなたの望むものでないことに気づきますので、Ctrl+Cを押してプロセスを終了することができます。

Ctrl+C

lsプロセスは終了する。スクリーンショットでは、Ctrl+Cの証拠がハイライトされているが、これは^Cと表示されている。

Ctrl+Vキーで "verbatim**"を呼び出すことができます。これにより、そのキーの効果を得るのではなく、入力する内容でキーの表現を入力することができます。これを確認するには、次のコマンドを試してみてください(カンマは入力しないでください)。(例えば、1つ目を試すには、Ctrl+Vを押した後、Enterキーを押します)。

Ctrl+V, Enter Ctrl+V, PgDn Ctrl+V, RightArrow Ctrl+V, Esc

ちなみに、Enterは^Mで表されることにお気づきでしょうか。先ほど、Ctrl+Cが^Cと表示されることを確認しましたが、^CはCtrlの略のようなので、Ctrl+MはEnterと同じ意味かもしれません。Ctrl+Mと入力してターミナルウィンドウで試すということでしょうか。見えてきます。

したがって、Ctrl+CやCtrl+Vにコピー&ペーストの機能を期待するのは無理がある。何を使えばいいのか?

関連:Ubuntuでショートカットを使って効率化する方法

ctrl+shift+c と ctrl+shift+v

よく似ているので覚えやすく、Ctrl+Shift+CとCtrl+Shift+VはそのままCtrl+CとCtrl+Vに置き換わります。

ターミナルウィンドウのテキストをマウスでハイライトし、Ctrl+Shift+Cを押すと、テキストがクリップボードバッファにコピーされます。

Ctrl+Shift+C

コピーしたテキストは、Ctrl+Shift+Vで同じ端末ウィンドウや別の端末ウィンドウに貼り付けることができます。

Ctrl+Shift+V

また、グラフィカルなアプリケーション(geditなど)に貼り付けることも可能です。ただし、ターミナルウィンドウではなく、アプリケーションに貼り付ける場合は、Ctrl+Vを使用する必要がありますので、ご注意ください。

また、その逆も可能です。geditでハイライトしてCtrl+Cを押し、Ctrl+Shift+Vでターミナルウィンドウに貼り付けるとよいでしょう。

Ctrl+InsertはCtrl+Shift+Cと同じ、Shift+InsertはCtrl+Shift+Vと同じキーの組合せです。ここで注意したいのは、これらの組み合わせは、同じターミナルウィンドウ内でしか使えないということです。

マウスを使う場合:右クリック

マウスを使って、ターミナルウィンドウ内でコピー&ペーストができます。コピーするテキストはマウスでハイライトしなければならないので、マウスを使ってコピー&ペーストの操作をしてはどうでしょうか。

テキストをハイライトした後、マウスの右ボタンでクリックし、コンテキストメニューから「コピー」を選択します。

コピーしたテキストを貼り付けるには、もう一度マウスの右ボタンでクリックし、関連メニューから「貼り付け」を選択します。

コマンドライン上のカーソルの位置にテキストが貼り付けられます。この場合、相対パスが正しく与えられていないため、Bashはディレクトリを変更することができません。パスの先頭にある「~/」をユーザーが見落とした。彼らは"~/"をタイプし、前回の試みのパスの残りをコピーして、2番目のコマンドラインに貼り付けたのです。

彼らがEnterキーを押すと、そのディレクトリに移動します。

この例では、同じ端末ウィンドウにペーストしていますが、この右クリックのテクニックを使って、別の端末ウィンドウにペーストすることができます。また、この方法はグラフィカルなアプリケーションに貼り付ける場合にも使用できます。

マウスを使う場合:中ボタン

マウスに中ボタンがあれば、マウスを使ってコピー&ペーストする高速な方法があります。スクロールホイールを押すと(静かに!)。をクリックすると、真ん中のボタンができます。

ターミナルウィンドウのテキストをハイライトして、ミドルボタンを押します。ハイライトされたテキストは、コマンドラインのカーソル位置にペーストされます。コピーと貼り付けは同時に行われます。

そこで、いくつかのテキストをハイライト表示します。

で中ボタンを押す。

この方法は、異なるターミナルウィンドウ間でペーストしたり、グラフィックアプリケーションにペーストするために使用します。テキストをハイライトして、他のターミナルウィンドウやアプリケーションに移動し、ミドルボタンを押すだけです。

オールドスクール - ラットなし

マウスがない場合、また、テキストをハイライトできない場合、どのようにコピー&ペーストするのでしょうか?

Linuxサーバーは通常、グラフィカルデスクトップ環境(GDE)なしで構成されているため、マウスを利用することはできません。GNOMEのようなグラフィカルなデスクトップ環境が動作するLinuxコンピュータで、マウスを持っている場合でも、マウスを使ってテキストをハイライトすることはできないかもしれません。

例えば、他のTTYに切り替えた場合などです。最近のディストリビューションでは、Ctrl+Alt+F3(TTY3)とCtrl+Alt+F6(TTY6)の間に位置しています。(Ctrl+Alt+F2でGDEセッションに戻り、Ctrl+Alt+F1でGDEログイン画面になります)。

もしかしたら、LinuxやUnixのコンピュータに接続するために、本物のハードウェアTTYデバイスを使用している方もいるかもしれません。

いずれにせよ、これらのテクニックはあなたにとって有益なものとなるでしょう。ここでの注意点は、コピー&ペーストではなく、カット、コピー&ペーストであり、カット&コピーは現在のコマンドラインからしか行えないということです。もちろん、矢印キーで履歴をスクロールして、カット、コピー、ペーストしたいコマンドラインを見つけることもできます。

使用できるキーは

  • Ctrl+W:カーソルの前の単語を切り取り、クリップボードバッファに追加します。
  • Ctrl+K:カーソル以降の行の一部を切り取り、クリップボードバッファーに追加します。カーソルが行頭にある場合は、その行全体をカットしてコピーします。
  • Ctrl+U:カーソルの前の行の一部を切り取り、クリップボードバッファに追加します。カーソルが行末にある場合は、その行を丸ごとカットしてコピーします。
  • Ctrl+Y:最後にカット&コピーしたテキストを貼り付けます。

TTY3にジャンプします(その後、Ctrl+Alt+F1 でデスクトップに戻ります)。

Ctrl+Alt+F3 tty

削除するファイルがあるので、確認してみましょう。

ls -l file_to_delete.txt

上矢印キーを使えば、コマンドヒストリーで最後に使用したコマンドを呼び出すことができます。この行を編集することもできますが、カット、コピー、ペーストの実演が目的なので、少し拡張した形で削除の作業を完了させます。

ファイル名の最初の文字にカーソルを合わせてCtrl+Kを押すと、その行の一部が削除され、テキストがクリップボードバッファにコピーされます。

この行を抜けるまでBackspaceを押していきます。

ファイルを削除するためにrmと入力します。

あとは、Ctrl+Yを押して、残りの行にペーストします。

これでコマンドは完了し、Enterキーを押してファイルを削除することができます。

このタイプのカット、コピー、ペーストは、追加の TTY 間では使用できません。例えば、TTY3 と TTY4 の間でカット、コピー、ペーストを行うことはできません。

追加の ttys は,物理 ttys を横に並べたものと考えるとよい.異なる物理端末間でカットアンドペーストを行うことはできないし,このシミュレーションでもできない.

ロジャー、コントロールセンター

Linuxコンピュータでどんな状況であれ、コピー&ペーストする方法はある。あなたには選択肢がある。中には奇妙な選択もありますが、少なくとも選択肢はあるのです。

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ