at_shiita.ishigaki
2021年12月2日 8時55分
コマンドの履歴を表示するには、fc -lコマンドを使用します。
[armadillo ~]# fc -l
169 mv a.txt abc.txt
170 mv b.txt def.txt
171 ls abc.txt
172 ls def.txt
:(省略)
コマンドの履歴を表示する範囲を指定することもできます。
※ここでは例として、169~172番のコマンド履歴を表示します。
[armadillo ~]# fc -l 169 172
169 mv a.txt abc.txt
170 mv b.txt def.txt
171 ls abc.txt
172 ls def.txt
過去に実行したコマンドを編集して再実行するにはfcコマンドを使用します。
※ここでは例として、171番目のコマンドを"ls abc.txtを"ls def.txt"に編集して再実行します。fcコマンドのオプションに数値を与えない場合は、直前のコマンドを編集します。
※テキストエディタを保存せずに終了しても、コマンドが実行されることに注意してください。コマンドの実行を行わない場合は、コマンドを削除してからテキストエディタを終了してください。
[armadillo ~]# fc 171 //初期状態ではviで編集画面が表示されます。
ls abc.txt
~
~
"/tmp/bash-fc.ib7U3m" 1L, 12C
abc.txtをdef.txtに変更し、viを終了します。
[armadillo ~]# ls def.txt
def.txt
fc -sコマンドを使用すると、テキストエディタを開かずに、コマンドを編集して再実行することができます。
fc -s [OLD=NEW] [COMMAND]形式を使用すると、COMMANDはOLDがNEWに置換されて再実行されます。
※ここでは例として、fcコマンドの例と同様に"ls abc.txt"を"ls def.txt"に変更し、再実行します。
※fcコマンドの例と同様に、コマンドのオプションに数値を与えない場合は、直前のコマンドに対して編集し実行します。
[armadillo ~]# fc -s abc=def 171
ls def.txt
def.tx