概要
`fc`は「fix command」の略で、シェル履歴から特定のコマンドを選択してデフォルトのエディタで開いたり、編集せずにすぐに再実行したりするのを助けます。これにより、繰り返し作業やタイプミス修正時の時間を節約できます。
主な機能
- シェル履歴コマンドの編集
- 編集なしでの履歴コマンド再実行
- 特定の範囲のコマンド選択と処理
- デフォルトエディタの指定が可能
主なオプション
`fc`コマンドは、履歴の処理方法を制御する様々なオプションを提供します。
動作制御
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`fc` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
`fc`コマンドの様々な活用例を通じて、履歴管理やコマンド再実行の方法を学ぶことができます。
直近のコマンド編集と再実行
fc
デフォルトエディタ(通常は`vi`)で直近に実行したコマンドを開き、修正して保存すると、そのコマンドが再実行されます。
特定のエディタで直近のコマンドを編集
fc -e nano
`nano`エディタを使用して、直近のコマンドを編集して再実行します。
直近5つのコマンドリストを表示
fc -l -5
直近に実行された5つのコマンドリストを番号付きで表示します。
特定の範囲のコマンドを編集
fc 100 105
履歴番号100番から105番までのコマンドをエディタで開き、修正して再実行します。
前のコマンドを再実行(編集なし)
fc -s
直近に実行したコマンドをエディタ呼び出しなしで即座に再実行します。`-s`オプションはエディタ呼び出しを抑制します。
特定の文字列で始まるコマンドを再実行
fc -s ssh
`ssh`で始まる直近のコマンドを見つけて、編集なしで再実行します。
前のコマンドの文字列を置換して再実行
fc -s old_string=new_string
直近のコマンドで'old_string'を'new_string'に変更して再実行します。これは`^old_string^new_string^`のショートカットキーに似ています。
ヒントと注意点
`fc`コマンドをより効率的かつ安全に使用するためのヒントと注意点です。
デフォルトエディタの設定
環境変数`$FCEDIT`または`$EDITOR`を設定することで、`fc`が使用するデフォルトエディタを指定できます。
- 例: export FCEDIT=nano
- 優先順位: `$FCEDIT`は`$EDITOR`より優先されます。
履歴番号の確認
`history`コマンドを使用して、現在のシェルの履歴リストと各コマンドの番号を確認できます。これは`fc`で特定のコマンドを指定する際に役立ちます。
安全な再実行
特にパイプ(|)やリダイレクション(>, >>)を含む複雑なコマンドを再実行する場合、`fc`でエディタを先に開いてコマンドを確認・修正するのが安全です。`fc -s`は編集プロセスなしで即座に実行されるため注意が必要です。