ターミナル作業の大半は、編集・検索・移動・一覧・閲覧・ヘルプ参照の6動作に集約されます。nano、find、man、cd、ls、catはいずれも40年近い歴史を持ちますが、現代のターミナル環境に合わせて作り直された代替ツールが揃っています。
この記事では、micro・fd・tldr・zoxide・eza・batの6つを紹介します。各ツールの役割、インストール手順、定番コマンドとの違い、すぐ試せるコマンド例までをまとめています。
この記事でわかること
- 定番コマンドを置き換える6ツールの役割と特徴
- Debian系ディストリビューションでのインストール方法
- 各ツールの基本的な使い方とエイリアス設定
- 定番コマンドとの使い分け
なぜ定番コマンドから乗り換えるのか
GNU nanoはCtrl+SではなくCtrl+Oで保存するなど、現代のエディタ慣れとは合いにくいショートカットを使います。findは-inameやワイルドカードを組み合わせた長い構文が必要で、manページはオプション一覧が中心で具体例が少ないことも多いです。lsやcatの出力は色分けや行番号がなく、長いパスを毎回打つcd作業も手間がかかります。
6つのツールは、いずれも「よく使う操作を短いコマンドで、見やすい出力で」実行できるよう設計されています。いずれもオープンソースで、単一バイナリまたはパッケージマネージャーから導入できます。
まとめてインストールする
DebianやUbuntuなどのDebian系では、次のコマンドで6つをまとめて入れられます。
sudo apt install micro fd-find tldr zoxide eza bat
パッケージ名とコマンド名が異なる点に注意してください。fdはfdfind、batは環境によってbatcatとしてインストールされます。zoxideだけはシェル設定への追記が必要です。bashの場合は~/.bashrc、zshの場合は~/.zshrcに次を追加します。
eval "$(zoxide init bash)" # zshなら bash を zsh に変更
ezaはインストール後にパスが通っていない場合、~/.local/binなど実際の配置先をPATHに追加します。
micro:nanoの代わりに使うターミナルエディタ
microは、ターミナル上で動くテキストエディタです。公式サイトでは「依存関係なしの単一バイナリで、すぐ使える」と謳っています。nanoの後継を目指して設計され、Ctrl+Sで保存、Ctrl+C/Vでコピー&ペースト、Ctrl+Zで元に戻すといった一般的なショートカットがそのまま使えます。
マウスによるカーソル移動やテキスト選択にも対応しています。SSH先で設定ファイルを直す場面では、操作の直感性が作業時間に直結します。130以上の言語でシンタックスハイライトが効き、Lua製のプラグインも追加できます。
micro config.yaml # ファイルを開く
micro -version # バージョン確認
普段nanoを使っている場面は、コマンド名をmicroに差し替えるだけで移行できます。
fd:findを短い構文で置き換える
fdはファイル検索用のコマンドで、findのシンプルで高速な代替として開発されています。GitHubのREADMEでは「直感的な構文」「並列ディレクトリ走査による高速性」「.gitignoreの自動除外」を特徴として挙げています。
findでfind . -iname '*pattern*'と書く検索は、fdではパターンをそのまま渡すだけで済みます。デフォルトで隠しファイルを除外するため、プロジェクト内の検索結果がノイズ少なく表示されます。出力はファイル種別ごとに色分けされます。
fdfind netfl # カレント以下を再帰検索
fdfind -e py config # .py拡張子に限定
fdfind passwd /etc # 検索ルートを指定
Debian系ではコマンド名がfdfindです。毎回打つのが面倒なら、後述のエイリアス設定が有効です。
tldr:manページの前に試す実用例集
tldrは「too long, didn’t read」の略で、コマンドの実用例を短くまとめたヘルプを表示します。tldr-pagesプロジェクトの公式説明では、従来のmanページを補完する「よりシンプルで実践的なヘルプ」を目指しているとされています。
manページのshutdownでは-hオプションの説明はあっても、即時シャットダウンの具体例がすぐ見つからないことがあります。tldrではshutdown -h nowのような頻出パターンが色付きで一覧表示されます。
tldr tar
tldr shutdown
tldr fd
高度なオプションの詳細や技術仕様が必要なときはmanを参照し、構文を思い出したいときにtldrを使う、という使い分けが現実的です。Web版(https://tldr.inbrowser.app)もあり、インストール前の確認にも使えます。
zoxide:cdの履歴を覚えてジャンプする
zoxideは「より賢いcdコマンド」です。zやautojumpに触発されたツールで、訪問したディレクトリをスコアリングして記憶します。bash・zsh・fishなど主要シェルに対応しています。
普段どおりcdで移動し続けると、zoxideがバックグラウンドでパスを学習します。慣れたディレクトリへはzコマンドで部分一致ジャンプできます。
z projects # 「projects」を含む最もよく使うディレクトリへ移動
z foo bar # 複数キーワードで絞り込み
zi foo # fzf連携で対話的に選択
zoxide add ~/src # 手動でパスを登録
長いパスを何度も打つ作業が、数文字の入力に置き換わります。シェル初期化の設定を忘れるとzコマンドが使えないため、インストール直後にeval "$(zoxide init ...)"の追記を確認してください。
eza:lsに色・アイコン・Git情報を足す
ezaはlsの現代的な代替で、exaの後継としてメンテナンスが続いています。公式READMEでは「ファイル種別の色分け」「シンボリックリンクや拡張属性の認識」「Gitリポジトリ状態の表示」を特徴としています。
Nerd Fontsを入れていればファイル横にアイコンが表示され、ターミナルがハイパーリンクに対応していればファイル名をクリックして開くこともできます。ツリー表示でディレクトリ構造を俯瞰するのにも向いています。
eza
eza -l --git # 詳細一覧とGitステータス
eza --tree --level=2 # 2階層までツリー表示
ls -laの代わりにeza -laを使う習慣をつけると、変更ファイルの把握が楽になります。
bat:catにシンタックスハイライトと行番号を足す
batはcatのクローンにシンタックスハイライトとGit連携を加えたツールです。ソースコードやMarkdownをターミナルで読むとき、プレーンテキストのcatより情報量が高い出力になります。
Git管理下のファイルでは、行左側にインデックスとの差分が表示されます。出力が画面に収まらない場合は自動的にページャ(lessなど)に渡され、qで閉じられます。パイプで他コマンドに渡すときはcatと同様にプレーンテキストとして動作します。
batcat README.md
batcat --paging=never file.txt # ページャを使わない
cat file.txt | batcat -l json # 言語を明示してハイライト
Debian系ではコマンド名がbatcatです。catと同じ感覚で使いたい場合はalias cat='batcat --paging=never'が定番の設定です。
エイリアスで定番コマンドを置き換える
6つを毎回フルネームで打たなくても、シェル設定にエイリアスを書けば筋肉記憶をそのまま活かせます。
alias nano='micro'
alias find='fdfind'
alias ls='eza'
alias cat='batcat --paging=never'
zoxideはevalによる初期化後、alias cd='z'とする方法もありますが、通常のcdとの挙動差を理解したうえで設定してください。manの代わりにtldrを使うエイリアスも可能ですが、詳細仕様の確認にはmanが必要な場面が残ります。
導入の優先順位
一度に全部入れる必要はありません。SSHで設定ファイルをよく直すならmicroから、プロジェクト内のファイル検索が多いならfdから、というように課題に合わせて選ぶのが現実的です。いずれも定番コマンドと併用できるため、エイリアスを外せばいつでも元の環境に戻せます。
40年物のツールが悪いわけではありません。ただ、現代のターミナルとワークフローに合わせて磨かれた選択肢が揃っている今、6つを試すコストはパッケージ1行と設定数行で済みます。明日のターミナル作業が少し速くなるはずです。