よく使うCLIのショートカット(bash)


以前、以下の内容を投稿しました。
新しいLinuxサーバにログイン時確認すること

後輩の方などに説明する際に利用していましたが、今回の題でも整理いたします。すでにインターネット上には、いろんな方が整理・まとめていますが、私がよく使うという観点でまとめてみます。

環境

CentOS7.2(bash)を利用します。

Ctrl + a
カーソルを先頭に移動します。
コマンドをコピーペーストした後で、オプションを追加する場合など。

[Alnitak@user ~]$ PATH=/usr/local/bin:/usr/bin:/usr/local/sbin: [corsor]
[Alnitak@user ~]$ [corsor]PATH=/usr/local/bin:/usr/bin:/usr/local/sbin: 

Ctrl + e
カーソルを末尾に移動します。
コマンド後に続けて、|(パイプ)などで処理を追加する場合など。

[Alnitak@user ~]$ [corsor]PATH=/usr/local/bin:/usr/bin:/usr/local/sbin: 
[Alnitak@user ~]$ PATH=/usr/local/bin:/usr/bin:/usr/local/sbin: [corsor]

Ctrl + k
カーソル位置から末尾の文字を削除します。
1つのファイルを、複数の名前でコピーするなど(そんな状況想像できない。。)

[Alnitak@user ~]$ PATH=/usr/local/bin:[corsor]/usr/bin:/usr/local/sbin: 
[Alnitak@user ~]$ PATH=/usr/local/bin:[corsor]

Ctrl + s
一時的にキー入力不可、標準出力に出しません。(Ctrl + qで復帰)
grepや、tailなどで大量の出力がある場合、一時的に出力を止めます。
若手の頃、気付かずこのショートカットを入力してOSの反応がなくなって焦ったのも良い思い出。。

Ctrl + q
Ctrl + sで止めた制御を元に戻す

[Alnitak@user ~]$ None Example

Ctrl + l
プロンプトを、画面の一番上段に移動します。
作業前や、設定ファイル編集前に画面を整理するなど。

[Alnitak@user ~]$ None Example

Ctrl + d
カーソル位置によって、2通りの動きをします。
・コマンドラインに文字を挿入している場合、カーソルに重なっている文字を削除します。バックスペースだと、消したい文字の右側にカーソルを持っていく必要がありますが、これであれば1マス分移動が減ります。
・コマンドラインに文字を入力していない(カーソルのみ)の場合、ログアウト($ exitと同義)します。

[Alnitak@user ~]$ None Example

Ctrl + c
入力している内容を破棄して、新しい行を入力可能とする

[Alnitak@user ~]$ echo "This is Anfield." [cursor]
[Alnitak@user ~]$ [cursor]

今日、新しいサーバに接続すると「ls = ls -aF」というaliasが設定されていました。複数の.shファイル中身を一括で確認していて、「ls | xargs 〜」のようなコマンドを入力したところlsコマンドの-Fオプションにより、.sh*という出力になって、lsコマンドの結果をうまくxargsコマンドに渡せていませんでした。そういえばこんなオプションありましたね。結局、unaliasコマンドでaliasを剥がして作業しました。