【ターミナルTIPS】ターミナルで知っておくとちょっとだけ便利なコマンド

ターミナルトリック

ターミナル(コンソール)で、「知っているとちょっとだけ便利なコマンド」を紹介します。
このコマンドはCtrlキーを押しながら(組み合わせて)使います。

例えば、Ctrl n は、Ctrlを押しながら n を押します。
Windowsの貼り付けコマンド Ctrl + v の感じです。

コマンドを覚えるコツは、ゆっくりやることです。
なんどもゆっくりやることで直感的に使いこなすことができます。
便利なショートカットコマンドは、使わずに素早くやることに意味はありません。
ゆっくりとでもショートカットコマンドを活用していくことで、素早く考えることなく、直感的に活用することができるようになります。

Ctrl f カーソル位置を後方に1文字ずつ移動

Ctrl fは、カーソル位置を後方に1文字ずつ移動します。

Ctrl f : カーソル位置を後方に1文字ずつ移動します。

Ctrl b カーソル位置を前方に1文字ずつ移動

Ctrl bは、カーソル位置を前方に1文字ずつ移動します。

Ctrl b : カーソル位置を前方に1文字ずつ移動します。

Ctrl l 画面をクリアする

Ctrl lは、画面がコマンドで一杯になった、ログを出力して画面が埋まってしまう、等の場合、Ctrl lコマンドで画面をクリアすることができます。
日常的に非常によく使うコマンドです。

Ctrl l : クリアと同等。 

Ctrl m Enterキーを使わない

Ctrl mは、キーボードのEnterキーと同じ挙動です。
メリットは、指をFとJといったホームポジションから外すことなく操作できることです。

Ctrl m : Enterと同じ

Ctrl n 下矢印キーを使わない

Ctrl nは、キーボードの下矢印キーと同様の振る舞いをします。
メリットは、指をFとJといったホームポジションから外すことなく操作できることです。

Ctrl n : 下矢印と同じ。 

Ctrl p 上矢印キーを使わない

Ctrl pは、キーボードの上矢印キーと同様の振る舞いをします。
メリットは、指をFとJといったホームポジションから外すことなく操作できることです。

Ctrl p : 上矢印と同じ。 

Ctrl r 同じコマンドを再入力しない

Ctrl rは、コマンド履歴の後方検索を開始します (後方に移動するには Ctrl r を押し続けます)
Ctrl pCtrl nで過去のコマンド履歴を順にたどっていってもよいのですが、過去のコマンド履歴を簡単に検索して実行することができます。
Ctrl rを押して、冒頭行から数文字を入力することでマッチする過去のコマンドが表示されます。

Ctrl r : コマンド履歴の後方検索

Ctrl h カーソル位置の手前の文字を削除(BackSpaceキーを使わない)

Ctrl hは、キーボードのBackSpace、Macではdeleteキーと同じ挙動です。
メリットは、指をFとJといったホームポジションから外すことなく操作できることです。

Ctrl h : BackSpaceと同じ。カーソル位置の手前の文字を削除します。

Ctrl d カーソル位置の文字を削除(BackSpce/deleteとは異なります)

Ctrl dは、カーソルの下の文字を削除します。
BackSpce/deleteは、カーソル手前の一文字を削除しますが、このコマンドはカーソル位置の文字を削除します。

Ctrl d : カーソル下の文字を削除します。

Ctrl u カーソル位置の手前から行頭までのすべてのテキストを削除

Ctrl uは、行頭まで削除します。
カーソルの1文字手前から行頭までを削除します。

Ctrl u : カーソル位置の手前から行頭までのすべてのテキストを削除します。

Ctrl k カーソル位置から行末までのすべてのテキストを削除

Ctrl kは、カーソルから行末までのすべてのテキストを削除します。
vimShift dコマンドと同じです。

Ctrl k : カーソルから行末までのすべてのテキストを削除します。 

Ctrl x BackSpace カーソル位置から行頭までのすべてのテキストを削除します。

Ctrl x BackSpaceは、行頭からカーソルまでのすべてのテキストを削除します。
BackSpaceを使わずにCtrl hを使う。とか言っておきながらなんなのですが、便利なので覚えてください。
Ctrl xに続いてBackSpceを押します。

Ctrl x backspace : 行頭からカーソルまでのすべてのテキストを削除します。 

Ctrl a コマンド行先頭へジャンプ

Ctrl aは、コマンドの行頭に移動します。
頻繁に利用される必須のコマンドの1つです。

Ctrl a : 行頭に移動します。 

Ctrl e コマンド行末へジャンプ

Ctrl e コマンドの行末に移動します。
頻繁に利用される必須のコマンドの1つです。

Ctrl e : 行末に移動します。 

Ctrl t 前後の文字を入れ替え

Ctrl t は、カーソルの前の文字をカーソルの下の文字と入れ替えます。
例えば Windows というコマンドを入力したいとします。
キーボードの入力で Windwos となってしまった場合、wとoを入れ替えたいと考えます。
この場合、windwosの o にカーソルを移動して Ctrl t を実行します。

Ctrl t : カーソルの前の文字をカーソルの下の文字と入れ替えます。Esc t を押すと、カーソルの前の 2 つの単語が入れ替えられます。 

Ctrl w カーソル位置の手前の単語を切り取り貼り付ける

Ctrl wは、カーソルの前の単語を切り取ります。
切り取った単語はクリップボードの保存されるので、Ctrl y で貼り付ける事ができます。

Ctrl w : カーソルの前の単語を切り取ります。Ctrl y 貼り付けます 

Ctrl u カーソル位置の手前から行頭を切り取り貼り付けます。

Ctrl uは、カーソル位置の手前から行頭にかけてすべての文字列を切り取ります。
Ctrl yで貼り付ける事ができます。

Ctrl u : カーソルの前の行を切り取ります。次に Ctrl y で貼り付けます
ヒント
とにかく、ゆっくりとコマンドを入力することです。
何度も繰り返しゆっくりと実行することで、いずれ素早く実行できるようになります。
焦ってはいけません。

【超裏技】 Esc #(Shift 3) コマンドライン行をコメントアウトして改行

このTIPSはものすごく便利です。
必ず覚えておくと良いことがあります。

まず、ある程度長いコマンドを入力し終わってEnterキーを押して実行しようとしているとします。
「あ・・」と、気がついて「ディレクトリに入るのを忘れてた」と思い出します。
cd hoge など、ディレクトリ移動をして、先程の長いコマンドを再入力する。

こんな面倒なことってよくありますよね。

一般的な方法 Ctrl a + #(Shift 3)

$ ./configure sutasuta hoihoi option=hoge

と、入力して、このコマンドラインのカーソル行をCtrl aで先頭に移動して、#(Shift 3)を入力してEnterキーを押す。

そうすると、コマンドラインは以下のようになります。

$ #./configure sutasuta hoihoi option=hoge 

ここで改めて

$ cd hoge

で、ディレクトリに入ってから、Ctrl pで1つ前のコマンドを呼び出して、行頭の#Ctrl dで消します。

$ #./configure sutasuta hoihoi option=hoge 
<Ctrl d で行頭の # を消す>
$ ./configure sutasuta hoihoi option=hoge 
<Enterキーで実行>

超裏技 Esc + #(Shift 3)

もう少し楽にできるショートカットが用意されています。
Esc を押し離してから#(Shift+3)を押します。
すると一瞬でコマンドラインの行頭に # が付与されて改行されます。

まず、先走ってコマンドラインを入力したとします。

$ ./configure sutasuta hoihoi option=hoge 

Esc # でコマンドラインをコメントアウトします。

$ #./configure sutasuta hoihoi option=hoge 

その後、あらためてcd hogeでディレクトリ移動

$ cd hoge

Ctrl pで1つ前のコマンドを呼び出して、Ctrl dで行頭の#を消す

<Ctrl p>で1つ前のコマンドを呼び出す
$ #./configure sutasuta hoihoi option=hoge 

<Ctrl d で行頭の # を消す>
$ ./configure sutasuta hoihoi option=hoge 

<Enterキーで実行>

まとめると、

  1. Esc #でコマンドラインをコメントアウト
  2. 何らかの別コマンドを入力
  3. Ctrl pで先程のコマンドラインを呼び出す
  4. Ctrl dで行頭の#を削除してEnter
ヒント
Esc # はコマンドライン全体をコメントアウトして改行するコマンドです。
一度入力したコマンドを再入力する手間が省けます。

書籍の紹介

【ちょいと便利な】シェルスクリプトワンライナー特集【一行完結】

【ちょいと便利な】シェルスクリプトワンライナー特集【一行完結】

【set -x】bash/シェルスクリプトマニアックコマンドあれこれ12

【set -x】bash/シェルスクリプトマニアックコマンドあれこれ12