はじめに
Linux を使っていると、ほぼ必ず触れることになる「シェル」。
多くの人は何となく bash を使っていますが、
- 設定が難しい
- 補完が弱い
- 書き方が直感的じゃない
と感じたことはないでしょうか。
そこで登場するのが fish(Friendly Interactive SHell) です。
この記事では、
「fishって何?」というレベルから説明します。
fish とは?
fish は 対話操作に特化したシェルです。
正式名称は:
Friendly Interactive SHell
名前の通り、
「人に優しい」ことを最優先に設計されています。
そもそもシェルとは?
簡単に言うと、
人間の命令を Linux に伝える通訳
です。
人間 → シェル → Linuxカーネル
代表的なシェルには以下があります。
| シェル | 特徴 |
|---|---|
| bash | デフォルトで多い |
| zsh | カスタマイズ性が高い |
| fish | 直感的・学習コスト低 |
fish の最大の特徴
① 補完が異常に賢い
例えば:
git ch
と入力すると、
git checkout
git cherry-pick
のように 説明付きで補完候補が出ます。
しかも 設定不要。
② 過去コマンドを「予測」してくれる
cd /u
と打つと、過去に使った
cd /usr/local
などが 薄い文字で予測表示されます。
Enter を押すだけで確定。
③ 設定ファイルが読みやすい
bash の .bashrc に疲れた人には衝撃です。
- fish は 独自構文
- その代わり 読みやすさ最優先
「シェル芸」より「実用性」重視。
fish は bash の上位互換ではない
⚠️ 重要ポイントです。
fish は:
- POSIX 準拠 ❌
- bash スクリプトをそのまま実行 ❌
つまり、
fish は「別物のシェル」
です。
でも安心してください。
- 日常操作 → fish
- スクリプト → bash
という使い分けが王道です。
実際に fish を起動してみる
もし fish が入っていれば、これだけ。
fish
すると、見た目が変わります。
- 補完が色付き
- エラーが赤文字
- 何か優しい
この時点で
**「あ、違うな」**と感じるはずです。
初心者が最初につまずくポイント
❌ bash の常識を持ち込む
export PATH=...
👉 fish では 使えません
fish には fish の流儀があります。
この100日チャレンジの目的
- fish を「なんとなく」から卒業
- 毎日 Qiita にアウトプット
- 最終的に 自分専用の最強シェル環境を作る
まとめ
- fish は「人に優しい」シェル
- bash とは思想が違う
- 初心者ほど fish は向いている
- まずは触るだけでOK
次回予告(Day02)
👉 fish のインストールとデフォルトシェル設定
- Ubuntu / Arch / その他
- 既存環境を壊さず試す方法
👍 この記事が役に立ったら LGTM もらえると嬉しいです!