はじめに
Linuxの操作に慣れてくると、オプションをたくさん繋げた長いコマンドや、深い階層のファイルパスを指定する機会が増えてきます。
そんな時、「よし、完璧だ!」と思ってEnterを押した瞬間に「No such file or directory(ファイルがありません)」と怒られ、パスの1文字だけ打ち間違えていたことに気づく……という経験を味わったことはありませんか?
上矢印キー(↑)でコマンドを呼び出し、左矢印キー(←)を押しっぱなしにして修正箇所までカーソルを移動させるのは、非常にストレスが溜まりますよね。
今回は、そんな長文コマンドの修正ストレスをゼロにする魔法のコマンド、「fc(エフシー)」を紹介します。

1. fc コマンドとは?
fc は「Fix Command(コマンドを修正する)」の略としてよく覚えられます。
このコマンドを打つと、「直前に実行したコマンド」がテキストエディタ(nano や vi など設定したエディタ)で開かれます。 そして、エディタ上で文字を自由に修正して「保存して閉じる」と、修正されたコマンドが即座に自動実行されるという、便利な機能を持っています。
ターミナルの1行という窮屈な場所ではなく、画面全体を使えるエディタでコマンドを推敲できるのが最大のメリットです。
2. 基本的な使い方:直前のコマンドを直す
百聞は一見に如かず。実際に長いコマンドを打ち間違えたというシチュエーションで試してみましょう。
例えば、深い階層にある設定ファイルをコピーしようとして、ファイル名のスペルを間違えてしまったとします。

深い階層にある設定ファイルのディレクトリ構成例
【実行例:間違えたコマンド】
conf を congとタイプミスした例。
# cp conf/nginx.conf conf/nginx-backup.conf ←正しい
cp conf/nginx.cong conf/nginx-backup.conf ←誤り
#実行結果 ファイルがないと出る。
cp: cannot stat 'conf/nginx.cong': No such file or directoryエラーが出た直後に、ターミナルに以下のように打ち込んで Enter を押します。
fcすると、画面がパッと切り替わり、テキストエディタが開きます。

起動したnanoエディタ
【実行例:nanoで編集】
エディタ上なので、矢印キーやショートカットを使って自由にスイスイと移動できます。間違えていた cong を conf に修正しましょう。

修正が終わったら、エディタを保存して終了します(nano の場合は Ctrl+o → Enter → Ctrl+x)。
エディタを閉じると、修正済みのコマンドが自動的に実行されました! カーソルをポチポチと左へ動かして直すよりも、圧倒的に早く、そして確実です。

3. エディタが vi で開いてしまった場合
fc コマンドを打った時、初心者にとって最大のトラップがあります。 それは、「Linuxの初期設定によっては、操作にコツがいる vi(または vim)というエディタが勝手に開いてしまう」ことです。
「抜け出し方が分からない!」とパニックにならないために、開くエディタを初心者向けの nano に固定する設定をしておきましょう。
第2回で学んだ .bashrc(または .zshrc)を開き、一番下に以下の1行を追記します。
# デフォルトのエディタを nano に設定する
export EDITOR=nano保存して source ~/.bashrc で反映させれば、次から fc を打った時は必ず nano で開くようになり安心です。
設定方法の詳細: 【.bashrc / .zshrc】Linux設定ファイルの書き方と反映方法【Linuxコマンド入門 Part4-2】
4. 応用編:特定の過去コマンドを引っ張り出す
fc は直前のコマンドだけでなく、過去の特定のコマンドをエディタに呼び出すこともできます。
第6回で学んだ history コマンドで履歴番号を確認し、fc の後ろにその番号を付けます。
# 履歴番号 105 番のコマンドをエディタで開いて修正・実行する
fc 105前回の記事で紹介した Ctrl + r(または fzf)で過去のコマンドを呼び出し、「これを実行したいけど、パスだけ書き換えたいな」という時に、この fc コマンドと組み合わせることで、ターミナル操作は劇的に快適になります。
【history】Linuxコマンドの実行履歴を確認・削除・再実行する使い方【Linuxコマンド入門 Part4-6】
上矢印キーで過去のコマンドを遡っていませんか?Linuxの「history」コマンドを使えば、過去の実行履歴を一覧表示して検索・再実行が可能です。環境構築の自動マニュアルとしての活用法や、sudo付け忘れに便利な「!!」の小技、履歴の削除方法まで詳しく解説します。
【注意】実行をキャンセルしたくなったら? エディタを開いたものの「やっぱり実行をやめたい」と思った時は、エディタ上のコマンド(文字)をすべて削除して空っぽにしてから保存・終了してください。空のコマンドとして処理されるため、何も実行されずに安全に元の画面に戻れます。
まとめ
fc: 直前のコマンドをテキストエディタで開き、修正・自動実行するコマンド。- 長文修正の救世主: 矢印キーでカーソルをポチポチ動かすストレスから解放される。
- デフォルトエディタの変更:
.bashrcにexport EDITOR=nanoを設定しておくのがおすすめ。 - 特定履歴の編集:
fc [履歴番号]で過去のコマンドも修正・実行可能。
今回紹介した fc は、参考書などではあまり大きく取り上げられないマイナーなコマンドですが、実務で使っていると「なに今の!どうやったの!?」と驚かれること間違いなしのテクニックです。
さて、これまで「コマンドの打ち方や探し方」を快適にしてきましたが、次回は「ターミナルの見た目」そのものを自分好みに改造します。
「ユーザー名」や「現在時刻」、「今いるディレクトリ」などをカラフルに表示させる、プロンプト(PS1)のカスタマイズに挑戦しましょう!
【PS1】ターミナルの表示名や色を変更!プロンプトのカスタマイズ術【Linuxコマンド入門 Part4-9】
Linuxターミナルの文字(プロンプト)が長くて見にくいとお悩みですか?環境変数「PS1」を変更すれば、ユーザー名やホスト名を消したり、現在の時刻を表示させたりと自由にカスタマイズ可能です。コピペで使えるカラフルな色付き設定や、.bashrcへの保存方法まで分かりやすく解説します。
第四回”Linuxコマンド入門 Part4 ~自分好みの環境を整える~”では、linuxでの作業を効率化し自分好みの環境を作り上げる方法を紹介しています
Linuxコマンド入門 Part4 ~ターミナル操作の効率化とシェル環境のカスタマイズ~
Linuxで、コマンドライン操作を効率化したり、自分好みにカスタマイズする方法を学ぼう。
ここまで読んでいただきありがとうございます。
では、次の記事で。 lumenHero