このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Linuxのコマンドラインの編集
コマンドラインの編集
Linuxを操作する際、コマンドラインでの入力は避けて通れません。しかし、キーボードからすべてのコマンドを正確に入力するのは大変そうだと感じる方もいるかもしれません。心配はいりません。シェルには、コマンド入力を効率的に行うための便利な機能が数多く備わっています。これらの機能を活用すれば、長いコマンドを一文字ずつ入力する必要はなく、過去に入力したコマンドを簡単に再利用することも可能です。
ここでは、コマンドラインの編集について詳しく解説し、シェルの持つ便利な機能を使いこなす方法を学びます。これにより、キーボード操作でつまずくことなく、スムーズにLinuxを操作できるようになるでしょう。
プロンプトとコマンドライン
コマンドは、プロンプト記号($)の後ろに入力します。このコマンド入力部分をコマンドラインと呼びます。
コマンドラインでコマンドを入力していると、タイプミスを修正したり、直前に入力したコマンドを少しだけ変更したいという状況がよくあります。bashなどのシェルには、このような場合に役立つコマンドライン編集機能が備わっています。これらの機能を使うことで、ユーザは素早くカーソルを移動し、コマンドを修正できます。
コマンドライン編集には多くの機能がありますが、ここでは特に利用頻度の高い「カーソル移動」と「文字の削除」について解説します。これらを覚えるだけでも、コマンド入力が格段に楽になるでしょう。
コントロールキーの使い方
Linuxではコントロールキー(Ctrlキー)を頻繁に使用します。このとき、「コントロールキーを押しながらbキーを押す」という操作を毎回詳細に説明するのは大変なので、一般的には「Ctrl + b」と表記します。また、ドキュメントによっては「C-b」と略記されることもあります。
Ctrl + bは「コントロールキーを押しながらbキーを押す」ことを意味し、「コントロールキーとbキーを同時に押す」わけではありません。通常は、コントロールキーを押しっぱなしにしたまま、必要な回数だけbキーを押してカーソルを後退させます。このように、Ctrl +の操作を続けて行う場合、毎回コントロールキーを押し直す必要はありません。
カーソル移動コマンド
カーソルを移動させる基本的なコマンドを以下の表にまとめます。
キー操作 | 動作 |
---|---|
Ctrl + b | カーソルを1文字左(後ろ)に移動 |
Ctrl + f | カーソルを1文字右(前)に移動 |
Ctrl + a | カーソルを行頭に移動 |
Ctrl + e | カーソルを行末に移動 |
- Ctrl + b: Backwardの略で、カーソルを左に移動します。
- Ctrl + f: Forwardの略で、カーソルを右に移動します。
単語単位でのカーソル移動
単語単位でカーソルを移動させるコマンドもあります。以下の表にまとめます。
キー操作 | 動作 |
---|---|
Alt + b | カーソルを1単語左(後ろ)に移動 |
Alt + f | カーソルを1単語右(前)に移動 |
- Alt + b: 単語単位でカーソルを左に移動します。
- Alt + f: 単語単位でカーソルを右に移動します。
文字の削除コマンド
文字を削除する際に使用するコマンドを以下の表にまとめます。
キー操作 | 動作 |
---|---|
BackSpaceキー または Ctrl + h | カーソルの左側の文字を1文字削除 |
Deleteキー または Ctrl + d | カーソル位置の文字を1文字削除 |
Ctrl + w | カーソルの左側の単語を削除 |
- BackSpaceキー / Ctrl + h: カーソルの左側の文字(直前の文字)を削除します。
- Deleteキー / Ctrl + d: カーソル位置の文字(現在の文字)を削除します。
- Ctrl + w: カーソルの左側の単語を削除します。
注意: コマンドラインに何も入力していない状態でCtrl + dを入力すると、bashからログアウトします。誤ってログアウトしてしまった場合は、再度ログインする必要があります。
カットとヤンク
コマンドラインの内容を一度に削除したり、削除した内容を復元するコマンドがあります。WindowsやMac OS Xでは「カット&ぺースト」という呼び方をしていますが、bashではぺーストのことを「ヤンク」と呼んでいます。以下の表にまとめます。
キー操作 | 動作 |
---|---|
Ctrl + k | カーソル位置から行末までをカット(削除) |
Ctrl + u | カーソル位置から行頭までをカット(削除) |
Ctrl + y | 最後にカットした内容をヤンク(貼り付け) |
- Ctrl + k: カーソルから行末までをカットします。
- Ctrl + u: カーソルから行頭までをカットします。
- Ctrl + y: カットした内容をヤンク(貼り付け)します。
補足: 「ヤンク(yank)」とは、削除した内容を再度挿入する操作で、一般的な「ペースト」に相当します。
コマンドライン編集の操作
1.カーソルの移動
基本的な操作として、カーソル移動の練習をしてみましょう。
コマンドラインで以下のように入力します。Enterキーはまだ押さないでください。
$ echo Hllo
”Hello”と入力するはずが、”Hllo”と打ち間違えてしまいました。カーソルを移動して、”H”の後ろに”e”を挿入してみましょう。
現在、カーソルは行末にあります。まず、Ctrl + bを押してカーソルを1文字左に移動します。
$ echo Hllo
▲(カーソル位置)
さらに、Ctrl + bを2回押して、合計3文字左に移動します。
$ echo Hllo
▲(カーソル位置)
カーソルが”H”と”l”の間に移動したら、そこで”e”を入力します。
$ echo Hello
▲(カーソル位置)
これで正しいコマンドになりました。Enterキーを押してコマンドを実行します。
出力結果
コマンドが正しく実行されました。
Hello
補足: カーソルを戻しすぎてしまった場合は、Ctrl + fを押してカーソルを右に移動できます。
2.行頭・行末へのカーソル移動
一度にコマンドラインの行頭や行末にカーソルを移動したい場合があります。
例えば、”echo”コマンドを誤って”cho”と入力してしまったとします。
$ cho Hello
Ctrl + bを連打して行頭に戻ることもできますが、Ctrl + aを押すと、一気に行頭にカーソルを移動できます。
$ cho Hello
▲(カーソル位置)
ここで”e”を入力すれば、正しく”echo”コマンドが入力できます。
$ echo Hello
▲(カーソル位置)
逆に、行末にカーソルを移動したい場合は、Ctrl + eを押します。
$ echo Hello
▲(カーソル位置)
注意: コマンドを実行する際、カーソルが行末にある必要はありません。カーソル位置に関係なく、Enterキーを押せばコマンドは実行されます。
3.単語単位のカーソル移動
より大きな単位でカーソルを移動したい場合は、単語単位の移動が便利です。
以下のコマンドを入力します。
$ echo Hello World
カーソルが行末にある状態で、Alt + bを押します。すると、カーソルが1単語左に移動します。
$ echo Hello World
▲(カーソル位置)
もう一度Alt + bを押すと、さらに左の単語に移動します。
$ echo Hello World
▲(カーソル位置)
逆に、1単語右に進むには、Alt + fを押します。
$ echo Hello World
▲(カーソル位置)
このように、CtrlをAltに置き換えることで、文字単位から単語単位のカーソル移動が可能になります。
4.文字の削除
以下のコマンドを入力します。
$ echo Hello World
▲(カーソル位置)
BackSpaceキーを押すと、カーソルの左側の文字が削除されます。
$ echo Hello Worl
▲(カーソル位置)
Ctrl + hでも同様に削除できますが、キーボードやターミナルエミュレータの設定によっては使用できない場合があります。
”W”の位置にカーソルを移動します。
$ echo Hello Worl
▲(カーソル位置)
DeleteキーまたはCtrl + dを押すと、カーソル位置の文字が削除されます。
$ echo Hello orl
▲(カーソル位置)
注意: コマンドラインが空の状態でCtrl + dを押すと、bashからログアウトしてしまいます。
5.カットとヤンク
Ctrl + kとCtrl + uは、コマンドラインの内容を一度に削除する際に使用します。
例えば、コマンドを入力して実行する直前はカーソルが行末にあります。この状態でCtrl + uを押すと、入力した内容をまとめて削除できます。
削除した内容はシェルに記憶されており、後から取り出して再利用できます。つまり、これは単なる削除ではなく、カット操作です。
削除した内容を再度挿入するには、Ctrl + yを使用します。これは、一般的な「ペースト」に相当します。
実践例
以下のように、コマンドを入力します。
$ echo Hello World ← Ctrl + u を押して、コマンドラインを削除します。
$ ← Ctrl + y を押して、削除した内容をヤンク(貼り付け)します。
$ echo Hello World ← 削除したコマンドラインの内容が復元されました。
まとめ
コマンドラインの編集機能を活用することで、効率的にコマンド入力や修正が行えます。特に、カーソル移動や文字の削除、カット&ヤンクの操作を覚えておくと、長いコマンドや複雑なコマンドを扱う際に非常に便利です。
最初は覚えることが多いかもしれませんが、これらの操作に慣れておくと、キーボードから手を離すことなくスムーズに作業が進められます。Linuxの操作をより快適にするために、ぜひこれらの機能を積極的に活用してみてください。