iRSSの日記

はてなダイアリーiRSSの日記の続き

historyコマンドの使い方、まとめ

いいページがありました。

  1. ヒストリを表示し、!+番号+[Enter]で再実行
  2. コマンドライン上で、ctl+[p]で上向き矢印と同じ効果
  3. コマンドライン上で、esc+[f]で、右方向に単語単位でカーソル移動

等々、しってると便利

過去に入力したコマンドを実行する

 以前入力したのとまったく同じ、あるいは引数だけ違うコマンドを再実行することはよくあります。これを簡単に行えるのが「ヒストリ機能」です。
$ history

とすると、過去に実行したコマンドがリストされます。それぞれに数字が付いているので、「!」に続けて実行したいコマンドの数字をタイプし、[Enter]キーを押すとそのコマンドを再実行できます。また、「!」に続けて文字をタイプすると、その文字で始まる過去のコマンドが実行されます。

 この辺りは、いにしえのテレタイプベースでの動作を前提とした機能です。もちろん、bashにはビデオ端末に即したヒストリ機能もあります。まず[Ctrl]+[P](あるいは[↑]キー)を押すと、過去に入力したコマンドを順番にさかのぼって表示します。行き過ぎたら、[Ctrl]+[N](あるいは[↓]キー)で戻れます。目的のコマンドが表示されたら、[Enter]キーで実行です。

 コマンドをそのまま実行せず、引数などを変更したい場合は、Emacsに準じたキーの組み合わせで編集できます。単純にカーソルを1つずつ動かすだけなら、カーソルキーも使えます。
  行頭に移動 [Ctrl]+[A]
  行末に移動 [Ctrl]+[E]
  1文字左に移動 [Ctrl]+[B]
  1文字右に移動 [Ctrl]+[F]
  1単語左に移動 [ESC]+[B]
  1単語右に移動 [ESC]+[F]
  1文字削除 [Ctrl]+[D]、[Ctrl]+[H]

 察しのよい方はお気付きかもしれませんが、インクリメンタルサーチもできます。[Ctrl]+[R]でこのモードに入ります。適当に文字をタイプすると、その文字を含んだ過去のコマンドが表示されます。複数の文字をタイプすれば、その順番で入力された過去のコマンドを表示します。

 
1/2