Linuxコマンド新定番2026 — exa/bat/fd/ripgrepでCLIを劇的に刷新

コマンド


lscatgrepfind……これって変えちゃダメなの?」——そう思ったことはありませんか。

結論からいうと、この4つは全部、もっと便利な新世代ツールに置き換えられます。しかも特別なリポジトリを足す必要はなく、Ubuntu 24.04 LTS の標準リポジトリから apt install 一発で入ります。

本記事では eza(ls の代替)・bat(cat の代替)・fd(find の代替)・ripgrep(grep の代替)を、docker run --rm ubuntu:24.04 の公式コンテナで実際にインストール・実行して検証しました。Ubuntu ではコマンド名が変わるという詰まりやすいポイントや、ripgrep が grep の約3.3倍速だった実測ベンチまで、すべて手元で動かした一次データで解説します。

この記事のポイント

  • 4ツールとも Ubuntu 24.04 LTS の標準リポジトリで apt install できます(ubuntu:24.04 で実測・2026-06-15)
  • Ubuntu では batbatcatfdfdfind にコマンド名が変わります(素の bat/fd は存在せず alias が必要)
  • exa は Ubuntu 24.04 で削除され、後継の eza に置き換わりました(実測で確認)
  • バージョンは 22.04 から大きく更新(bat 0.19→0.24、rg 13→14、fd 8.3→9.0、exa 0.10→eza 0.18)
  • 900万行の全文検索では rggrep の約3.3倍速でした(0.06秒 vs 0.19秒・実測)

目次

  1. モダンCLIツールとは? ls/cat/find/grep を刷新する4ツール
  2. Ubuntu 24.04 へのインストール方法
  3. Ubuntu では実コマンド名が変わる(実測)
  4. Ubuntu 22.04 vs 24.04 バージョン比較(実測)
  5. bat(batcat)— cat を置き換える
  6. fd(fdfind)— find をシンプルに
  7. ripgrep(rg)— grep を高速化(実測ベンチ)
  8. eza — ls の現代的な後継
  9. alias 設定まとめ(.bashrc に追記)
  10. まとめ

動作確認環境

本記事は docker run --rm ubuntu:24.04 bashUbuntu 24.04.4 LTS)で実際にコマンドを実行して検証しています。バージョン番号・パッケージ名・ベンチ値はすべて実測値です(2026-06-15 計測)。

モダンCLIツールとは? ls/cat/find/grep を刷新する4ツール

Linux の標準コマンドは何十年も基本設計が変わっていません。一方、Rust などの現代的な言語で書き直された新世代ツールが登場し、より速く、より見やすく、より使いやすい代替コマンドとして広まっています。

従来コマンド 新定番ツール Ubuntu での実コマンド名 主な改善点 Ubuntu 24.04 版(実測)
ls eza eza カラー表示・パーミッションの見やすさ・Git 情報 0.18.2
cat bat batcat シンタックスハイライト・行番号 0.24.0
find fd fdfind 直感的な構文・.gitignore 自動除外 9.0.0
grep ripgrep rg 超高速・Unicode 対応・.gitignore 連携 14.1.0
著者アイコン
著者アイコン

正直、最初は「わざわざ変える必要ある?」と思っていました。でも実際にコンテナで動かして rggrep の3倍以上速いのを目の前で見ると、「これ無しには戻れない」レベルでした。

Ubuntu 24.04 へのインストール方法

4ツールすべてが Ubuntu 24.04 LTS の標準リポジトリ(universe)に含まれています。以下の1行でまとめてインストールできます。なお apt update を忘れると古いパッケージリストのままになるので、必ず先に実行してください。




ubuntu@linuxlab: ~
$ sudo apt update
Reading package lists… Done
$ sudo apt install -y bat fd-find ripgrep eza
Setting up fd-find (9.0.0-1) …
Setting up ripgrep (14.1.0-1) …
Setting up bat (0.24.0-1build1) …
Setting up eza (0.18.2-1) …

パッケージ名は batfd-findripgrepeza の4つです(fd ではなく fd-find である点に注意)。インストールが終わったら、実際に起動してバージョンを確認します。下の図は ubuntu:24.04 コンテナで実際に取得したインストールログと --version 出力です。

bat/fd-find/ripgrep/eza のインストール実ログとバージョン確認(Ubuntu 24.04 実測)
bat/fd-find/ripgrep/eza のインストール実ログとバージョン確認(Ubuntu 24.04 実測)



ubuntu@linuxlab: ~
$ batcat –version
bat 0.24.0
$ fdfind –version
fdfind 9.0.0
$ rg –version | head -1
ripgrep 14.1.0
$ eza –version | sed -n 2p
v0.18.2 [+git]

Ubuntu では実コマンド名が変わる(実測)

ここが一番詰まりやすいポイントです。Ubuntu で apt install bat をしても、bat というコマンドは入りません。実際にインストールされるのは batcat です。fd も同じく fdfind になります。これは既存パッケージとの名前衝突を避けるための Debian/Ubuntu の命名規則です。

本当に素の名前が無いのか、whichcommand -v で確認しました。




ubuntu@linuxlab: ~
$ which batcat fdfind rg eza
/usr/bin/batcat
/usr/bin/fdfind
/usr/bin/rg
/usr/bin/eza
$ command -v bat || echo ‘NO bare bat’; command -v fd || echo ‘NO bare fd’
NO bare bat command
NO bare fd command

このとおり、rgeza はそのままの名前で使えますが、batfd は素の名前では存在しません。元の名前で使いたい場合は alias を設定します(後述)。実コマンド名と実バージョンを一覧にまとめました。

Ubuntu 24.04 での実コマンド名・実バージョン一覧(実測)
Ubuntu 24.04 での実コマンド名・実バージョン一覧(実測)

Ubuntu 22.04 vs 24.04 バージョン比較(実測)

これらのツールが Ubuntu 22.04 LTS と 24.04 LTS でどう変わったかを、両方のコンテナで apt-cache policy を実行して比較しました。

Ubuntu 22.04 vs 24.04 モダンCLIツール バージョン比較(実測)
Ubuntu 22.04 vs 24.04 モダンCLIツール バージョン比較(実測)

最も大きな変化は、Ubuntu 24.04 で exa が削除され、後継の eza が追加されたことです。実際に確認すると、22.04 には exa 0.10.1 がある一方で eza はリポジトリに存在せず、逆に 24.04 では exa が消えて eza 0.18.2 に置き換わっていました。exa は開発が止まっており、アクティブにメンテされている eza(eza-community/eza)へ移行が進んでいます。

22.04 を使っている人へ

Ubuntu 22.04 では eza はリポジトリに無いため apt install eza は失敗します。22.04 では exa を使うか、24.04 へのアップグレードを検討してください。バージョンも bat 0.19→0.24、ripgrep 13→14 と大きく上がるので、24.04 のほうが快適です。

bat(batcat)— cat を置き換える

①batcat とは

batcat の代替で、シンタックスハイライト・行番号表示・ファイルヘッダーを備えています。Ubuntu では batcat コマンドとして使います。

②基本的な使い方

実際に ubuntu:24.04 上で簡単なシェルスクリプトを batcat で表示した実出力です。--style=numbers,header でファイル名ヘッダーと行番号が付きます。




ubuntu@linuxlab: ~/proj
$ batcat –style=numbers,header start.sh
File: start.sh
1 #!/bin/bash
2 # server start script
3 PORT=8080
4 echo “listening on $PORT”

③よく使うオプション

オプション 説明
--style=numbers 行番号を表示 batcat --style=numbers file.sh
--language=python 言語を手動指定 batcat --language=python file.txt
--color=never カラーなしで出力(パイプ時) batcat --color=never f.sh | grep error
-A / --show-all 不可視文字を表示 batcat -A file.txt

パイプにつなぐと素の cat になる

実は batcat は出力先が端末でない(パイプやファイルにリダイレクトする)とき、自動的に装飾を外してただの cat のように振る舞います。スクリプトの中でハイライトを強制したいときは --decorations=always を付けてください。これは実際に検証中に詰まったポイントです。

fd(fdfind)— find をシンプルに

①fdfind とは

fd(Ubuntu では fdfind)は find の代替です。短い構文・高速・.gitignore の自動除外が特徴です。Ubuntu 24.04 では fd-find 9.0.0 が入ります。

②基本的な使い方

サンプルプロジェクトで .py ファイルを再帰検索した実出力です。find . -name "*.py"fdfind -e py だけで済みます。




ubuntu@linuxlab: ~/proj
$ fdfind -e py
src/api.py
src/models.py
tests/test_api.py

③find との構文比較

目的 find(従来) fdfind(新定番)
拡張子で検索 find . -name "*.py" fdfind -e py
ファイルのみ find . -type f -name "*.sh" fdfind -t f -e sh
大文字小文字無視 find . -iname "*.LOG" fdfind -i -e log
隠しファイルも含む find . -name ".*" fdfind --hidden

ripgrep(rg)— grep を高速化(実測ベンチ)

①rg とは

ripgrep(コマンド名 rg)は Rust で書かれた超高速な検索ツールです。デフォルトで .gitignore を尊重し、バイナリをスキップするため、コードベースの検索に向いています。Ubuntu 24.04 では ripgrep 14.1.0 が入ります。

②基本的な使い方




ubuntu@linuxlab: ~/proj
$ rg -n error .
src/api.py:2: raise ValueError(“error: invalid input”)

③grep との速度を実測した

ここがこの記事の目玉です。ubuntu:24.04 コンテナ内に 6,000ファイル・合計900万行のテキストを用意し、その中から特定の語(NEEDLE)を全文検索する時間を、grep -rrg でそれぞれ3回ずつ計測しました(/usr/bin/time 使用)。

ripgrep vs grep 900万行の全文検索速度(実測ベンチ)
ripgrep vs grep 900万行の全文検索速度(実測ベンチ)

結果は grep -r が3回平均 0.19秒(0.21 / 0.18 / 0.18)、rg が3回平均 0.06秒(0.05 / 0.06 / 0.06)。rggrep の約3.3倍速でした。しかも両者のマッチ件数はどちらも6,000件で完全に一致しており、速いだけで結果が変わるわけではないことも確認できます。




ubuntu@linuxlab: ~ (900万行を検索)
# /data = 6000ファイル / 900万行
$ grep -r NEEDLE /data | wc -l
6000
# 3回平均 0.19s
$ rg NEEDLE /data | wc -l
6000
# 3回平均 0.06s(grep の約3.3倍速)

④grep との構文比較

目的 grep(従来) rg(新定番)
再帰検索 grep -r 'pat' . rg 'pat'
大文字小文字無視 grep -ri 'pat' . rg -i 'pat'
ファイルタイプ指定 grep -r --include="*.py" 'pat' . rg -t py 'pat'
マッチ数を数える grep -rc 'pat' . rg -c 'pat'

実際に4ツールを同じプロジェクトで動かした様子をまとめたのが次の画面です。

batcat/fdfind/rg/eza の実使用デモ(Ubuntu 24.04 実測)
batcat/fdfind/rg/eza の実使用デモ(Ubuntu 24.04 実測)

eza — ls の現代的な後継

①eza とは(exa との違い)

ezals の代替で、カラー表示・見やすいパーミッション・Git 情報表示が特徴です。前述のとおり、かつての exa は開発停止により Ubuntu 24.04 で削除され、コミュニティフォークの eza(24.04 で 0.18.2)に置き換わりました

②基本的な使い方

サンプルプロジェクトを eza --long --header で表示した実出力です。パーミッション・サイズ・更新日時・名前が整列して表示されます。




ubuntu@linuxlab: ~/proj
$ eza –long –header
Permissions Size Date Modified Name
drwxr-xr-x – 14 Jun 18:15 src
.rw-r–r– 70 14 Jun 18:15 start.sh
drwxr-xr-x – 14 Jun 18:15 tests

③ls との構文比較

目的 ls(従来) eza(新定番)
詳細表示 ls -la eza --long --all
ヘッダー付き なし eza --long --header
サイズ順ソート ls -lS eza --long --sort=size
Git 情報を表示 なし eza --long --git

alias 設定まとめ(.bashrc に追記)

素の名前が無い batfd は alias を設定すると元の名前で使えます。~/.bashrc に追記して source し直すだけです。下の図は alias 設定後に batfd で起動し、実バージョンと実測ベンチを確認した画面です。

alias 設定後の動作確認と実速度ベンチ(Ubuntu 24.04 実測)
alias 設定後の動作確認と実速度ベンチ(Ubuntu 24.04 実測)



ubuntu@linuxlab: ~
$ cat >> ~/.bashrc << 'EOF'
# モダンCLIツール alias
alias bat=’batcat’
alias fd=’fdfind’
EOF
$ source ~/.bashrc
$ bat –version && fd –version
bat 0.24.0
fdfind 9.0.0

好みで lseza に置き換えることもできます。




ubuntu@linuxlab: ~
# 好みで ls → eza に置き換える(任意)
alias ls=’eza’
alias ll=’eza –long –header’
alias la=’eza –long –header –all’

スクリプト内での使用に注意

alias は対話的シェルでのみ有効です。シェルスクリプト(.sh ファイル)の中で使う場合は、batcatfdfind のフルネームで書く必要があります。また lseza に置き換えると、出力フォーマットに依存した既存スクリプトが壊れることがあるので注意してください。

まとめ

本記事では、Ubuntu 24.04 LTS の標準リポジトリで使えるモダンCLIツール4種を、ubuntu:24.04 公式コンテナで実測して解説しました。

まとめ

  • sudo apt install -y bat fd-find ripgrep eza で4ツールまとめて導入できる(ubuntu:24.04 で実測・2026-06-15)
  • Ubuntu では実コマンド名が batcatfdfind になり、素の bat/fd は存在しない(alias で解決)
  • exa は 24.04 で削除され eza 0.18.2 に置き換わった(22.04 との比較で確認)
  • バージョンは 22.04 から大きく更新(bat 0.19→0.24、rg 13→14、fd 8.3→9.0)
  • 900万行の全文検索で rggrep の約3.3倍速(0.06秒 vs 0.19秒・マッチ件数は一致)

これらのツールは VPS 上の Ubuntu サーバーでもまったく同じ手順で導入できます。自分のサーバーを借りて本格的に運用してみたい方は、下記の記事も参考にしてください。

コメント

タイトルとURLをコピーしました