Linux の主流であるシェル「bash」は入力の補助機能を備えており、有効に活用することで Linux の操作速度の向上と誤操作の可能性を下げることができる。
本記事では、 bash の「カーソルの移動方法」と「文字の削除方法」を記載する。それらを有効活用することで先述したメリットを享受することができる。
カーソルの移動
bash に限らず、CUI でのカーソル移動は「←」「→」を使用することが多いのではないだろうか。
bash でも当然矢印キーでの移動は可能だが、矢印キーはキーボードの若干離れた位置にあるため、bash を使いこなす人間は以下の操作でカーソル移動を行う。
入力 | 内容 |
Ctrl + b | 後方に1文字移動(←) |
Ctrl + f | 前方に一文字移動(→) |
Ctrl + a | 行頭に移動 |
Ctrl + e | 行末に移動 |
単語単位でのカーソル移動
「Ctrl」ではなく「Alt」を使用することで、単語単位で移動することも可能だ。
入力 | 内容 |
Alt + b | 後方に単語1ワード分移動 |
Alt + f | 前方に単語1ワード分移動 |
例えば「ls /etc | grep ppp」の場合は、以下に記す青文字単位でカーソルが移動する。
ls /etc | grep ppp
記号は単語と判断されない。「/etc」のように単語の前に記号があった場合も、単語の先頭としては認識されないため、移動した際のカーソルの位置は「e」になる。
「Esc」を使用する単語単位のカーソル移動も存在する。具体的には「Esc」を入力した後に「B」もしくは「F」を入力する。同時押しではないので注意。なお、一度「B(F)」を入力すると「Esc」が解除されるため、連続で実行することができない。
文字の削除
文字を削除する場合、「BackSpace」や「Delete」を使用するよりも、以下の操作で削除した方が手の移動が少なくて済む。
入力 | 内容 |
Ctrl + h | カーソル位置の後方1文字を削除(BackSpace) |
Ctrl + d | カーソル位置の1文字を削除(Delete) |
Ctrl + w | スペースを区切りとした文字列を削除 |
「Ctrl + W」は少し分かり辛いかもしれないが、例えば以下のコマンドライン上で実行した場合、文字色単位で削除される。
ls /etc | grep ppp
カットとヤンク
以下の操作を実行すると、行単位で削除することができる。
入力 | 内容 |
Ctrl + k | カーソル位置から行末までを削除 |
Ctrl + u | カーソル位置から行頭までを削除 |
なお、この操作で実行した操作はシェルに記憶され、Ctrl + y で貼り付けることができる。Windows や Mac では「ペースト」と呼ばれる操作だが、bash では「ヤンク」と呼ばれる。
Ctrl を使ったその他の便利な操作
コマンドの強制終了
実行中のコマンドを停止させるにはCtrl + cを入力する。Ctrl + cは実行前のコマンドを放棄することもできる(改行され次のプロンプトに移る)。
画面表示のロック
以下の操作を実行することで、ターミナルの出力(画面表示)のロックと解除が実行できる。
入力 | 内容 |
Ctrl + s | 画面表示をロック |
Ctrl + q | 画面表示のロックを解除 |
画面表示をロックすると、キーを押してもターミナルに反映されなくなる。しかし、出力がロックされているだけなので、実際は入力されている。
この機能は若干紛らわしいものなので、機能自体をオフにする方法は少し検索すると結構な数出てくる。
画面内容を消去する
Ctrl + lを入力すると、画面内容をクリアすることができる。また、「clear」コマンドでも同様の結果を得られる。
駆け足で紹介してきたが、これらの操作をマスターすることで、Linux の操作は格段に速くなる。