ヒストリー
ヒストリーとは
シェルでは以前に実行したコマンドをいくつか覚えている。
その覚えているコマンドを再利用すると、効率的にコマンドを入力できる。
ヒストリー関係のコマンドと機能
- history
- ヒストリーを表示するコマンド
- !(コマンドの頭文字)
- 一つ前のコマンドから過去にさかのぼって、頭文字が一致するコマンドを
探して実行してくれる。
- !(コマンド番号)
- コマンド番号に相当するコマンドを実行する。
- !!
- 直前に実行したコマンドを実行する。
- ^文字列1^文字列2
- 直前に実行したコマンドの文字列1を文字列2に変更して実行する。
- !(コマンドの頭文字):s/文字列1/文字列2/
- !(コマンド番号):s/文字列1/文字列2/
- 以前に実行したコマンドの文字列1を文字列2に変更して実行する。
実行例
# history
10 vi test.c
11 cc test.c
12 a.out
13 vi tmp.c
14 cc tmp.c
15 a.out
# !v <- vi tmp.c が実行される
# !c <- cc tmp.c が実行される
# !a <- a.out が実行される
# !1 <- vi test.c が実行される
# !2 <- cc test.c が実行される
# !3 <- a.out が実行される
# vi test1.c
# !! <- vi test1.c が実行される
# ^1^2 <- vi test2.c が実行される
# ^test^tmp <- vi tmp2.c が実行される
# !14:s/tmp/tmp2/ <- cc tmp2.c が実行される
ヒストリーのその他の機能
- !(コマンドの頭文字):gs/文字列1/文字列2/
- !(コマンド番号):gs/文字列1/文字列2/
- 以前に実行したコマンドの文字列1を文字列2に全て変更して実行する。
- !!:gs/文字列1/文字列2/
- 直前に実行したコマンドの文字列1を文字列2に全て変更して実行する。
- !$
- 直前に実行したコマンドの最後の引数
- !*
- 直前に実行したコマンドの引数全部
- !(コマンドの頭文字):(引数の番号)
- !(コマンド番号):(引数の番号)
- 以前に実行したコマンドの引数
- !!:(引数の番号)
- 直前に実行したコマンドの引数
コマンド名が0番目、引数が1, 2, ... と続く。
実行例
# vi test1.c test2.c test3.c
# cc !$ <- cc test3.c が実行される
# cc !vi:2 <- cc test1.c が実行される
# cc !vi:2 <- cc test2.c が実行される
# cc !vi:3 <- cc test3.c が実行される
# !vi:gs/test/tmp/ <- vi tmp1.c tmp2.c tmp3.c が実行される
# mv !* dir <- vi tmp1.c tmp2.c tmp3.c をdirディレクトリに移動
参考
- ヒストリーの使い方(もう少し詳しい使い方)
- 「続・たのしいUNIX」 p.61 ~ p.75
Prev | Next
Home | Contents
abe@injapan.net