今回はLinuxのCUI環境で使用するキー操作について説明しようと思います。
WindowsでいうとCtrl+Cで「コピー」、Ctrl+Vで「貼り付け」のショートカットキーであることは、有名だと思います。
しかしLinuxのCUI環境だと同じキーでも動作がWindowsと異なることが多いので、自分で覚えるためにも今回説明させていただきます。
・TABキーによる自動補完
途中まで入力した文章を補完して自動入力してくれます。
例えば現在作業中のディレクトリ内に「miracletext1.txt」という名前のファイルがあったとします。プロンプトに「cat mira」まで入力してTABキーを押すと「cat miracletext1.txt」という文章まで自動補完してくれます。しかし、似たような名前のファイルがあった場合はまた別の動作をします。例えば現在作業中のディレクトリ内に「miracletext1.txt」、「miraclenote1.txt」、「miraclememo1.txt」という3つのファイルがあったとします。この状態でプロンプトに「cat mira」まで入力してTABキーを押しても「cat miracle」という文字までしか補完してくれません。ここでTABキーを2回押すと、下記のように補完文字列の候補を示してくれます。
miracletext1.txt miraclenote1.txt miraclememo1.txt
・↑キー、↓キーによるコマンド履歴参照(Ctrl+P、Ctrl+Nでも可能)
↑キー、↓キーによって過去実行したコマンドを参照することができます。
↑キーで1つ前のコマンド履歴、↓キーで1つ後のコマンド履歴へと辿っていきます。
何度も長いコマンドを打ち込むのはかなり面倒になるので、この履歴参照を用いてコマンドの一部分だけ書き換えて再利用すれば楽になることが多いと思います。ちなみに↑キーはCtrl+P、↓キーはCtrl+Nと同じ動作になります。
・Ctrl+A、Ctrl+E
Ctrl+Aで行の先頭、Ctrl+Eで行の末尾に移動することができます。長いコマンドを書いていて、実は行の先頭や末尾の部分を直したいとなった時に便利なキーです。
・Ctrl+D、Ctrl+H
Ctrl+Dでカーソル部分を1文字削除(Deleteキーと同じ)、Ctrl+Hでカーソルの左を1文字削除(Backspaceキーと同じ)できます。
このキー操作はわざわざ右手でDeleteキーやBackspaceキーを使わず、全て左手で操作できるところが良いところだと思っています。
・Ctrl+S、Ctrl+Q
Ctrl+Sで画面をロック、Ctrl+Qでロックを解除できます。
こちらのキーを使用する場面はあまり無いと思いますが、操作に慣れていない人が間違ってロックしてしまった場合、Ctrl+Qでロックを解除できるということは覚えておいた方がよいと思います。
・Ctrl+C
このキーは現在実行している処理をキャンセルすることができます。
例えばコマンドの中にはpingコマンドのように回数指定をきちんとしないとキャンセルするまで永遠に処理を続けるコマンドもあります。
そういったコマンドを止めるために使用されているキー操作になります。
・Ctrl+Z
このキーは現在実行しているプロセスを一時停止させることができます。
Ctrl+Cと違うのは、一時停止させたプロセスは再度動作させることができるという点です。再度動作させるためには「jobs」コマンドでプロセスのジョブ番号を調べて下記コマンドを打ち込めば動きます。
fg ジョブ番号
・Ctrl+U、Ctrl+K
Ctrl+Uでカーソル位置から行先頭まで削除、Ctrl+Kでカーソル位置から行末尾まで削除できます。
・Ctrl+Y
直前に削除した文字列を貼り付けできます。
・Ctrl+D
現在のユーザーからログアウトします。exitコマンドと同様です。
このようにWindowsとは操作が大きく異なっていて、最初は操作に戸惑う可能性が有ります。
今回紹介したキー操作はCUI環境のコンソール画面上での操作であり、viというテキストエディタの操作画面だとまた別のキー操作となるので、少しややこしいです。
機会が有ったら今度はviでのキー操作やGUI環境でのキー操作についても調べてみたいと思います。
参考資料