「ls、cat、grep、find……これって変えちゃダメなの?」——そう思ったことはありませんか。
結論からいうと、この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 では
bat→batcat、fd→fdfindにコマンド名が変わります(素の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万行の全文検索では
rgがgrepの約3.3倍速でした(0.06秒 vs 0.19秒・実測)
目次
- モダンCLIツールとは? ls/cat/find/grep を刷新する4ツール
- Ubuntu 24.04 へのインストール方法
- Ubuntu では実コマンド名が変わる(実測)
- Ubuntu 22.04 vs 24.04 バージョン比較(実測)
- bat(batcat)— cat を置き換える
- fd(fdfind)— find をシンプルに
- ripgrep(rg)— grep を高速化(実測ベンチ)
- eza — ls の現代的な後継
- alias 設定まとめ(.bashrc に追記)
- まとめ
動作確認環境
本記事は docker run --rm ubuntu:24.04 bash(Ubuntu 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 |
Ubuntu 24.04 へのインストール方法
4ツールすべてが Ubuntu 24.04 LTS の標準リポジトリ(universe)に含まれています。以下の1行でまとめてインストールできます。なお 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) …
パッケージ名は bat・fd-find・ripgrep・eza の4つです(fd ではなく fd-find である点に注意)。インストールが終わったら、実際に起動してバージョンを確認します。下の図は ubuntu:24.04 コンテナで実際に取得したインストールログと --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 の命名規則です。
本当に素の名前が無いのか、which と command -v で確認しました。
/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
このとおり、rg と eza はそのままの名前で使えますが、bat と fd は素の名前では存在しません。元の名前で使いたい場合は alias を設定します(後述)。実コマンド名と実バージョンを一覧にまとめました。

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

最も大きな変化は、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 とは
bat は cat の代替で、シンタックスハイライト・行番号表示・ファイルヘッダーを備えています。Ubuntu では batcat コマンドとして使います。
②基本的な使い方
実際に ubuntu:24.04 上で簡単なシェルスクリプトを batcat で表示した実出力です。--style=numbers,header でファイル名ヘッダーと行番号が付きます。
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 だけで済みます。
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 が入ります。
②基本的な使い方
src/api.py:2: raise ValueError(“error: invalid input”)
③grep との速度を実測した
ここがこの記事の目玉です。ubuntu:24.04 コンテナ内に 6,000ファイル・合計900万行のテキストを用意し、その中から特定の語(NEEDLE)を全文検索する時間を、grep -r と rg でそれぞれ3回ずつ計測しました(/usr/bin/time 使用)。

結果は grep -r が3回平均 0.19秒(0.21 / 0.18 / 0.18)、rg が3回平均 0.06秒(0.05 / 0.06 / 0.06)。rg は grep の約3.3倍速でした。しかも両者のマッチ件数はどちらも6,000件で完全に一致しており、速いだけで結果が変わるわけではないことも確認できます。
$ 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ツールを同じプロジェクトで動かした様子をまとめたのが次の画面です。

eza — ls の現代的な後継
①eza とは(exa との違い)
eza は ls の代替で、カラー表示・見やすいパーミッション・Git 情報表示が特徴です。前述のとおり、かつての exa は開発停止により Ubuntu 24.04 で削除され、コミュニティフォークの eza(24.04 で 0.18.2)に置き換わりました。
②基本的な使い方
サンプルプロジェクトを 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 に追記)
素の名前が無い bat と fd は alias を設定すると元の名前で使えます。~/.bashrc に追記して source し直すだけです。下の図は alias 設定後に bat・fd で起動し、実バージョンと実測ベンチを確認した画面です。

# モダンCLIツール alias
alias bat=’batcat’
alias fd=’fdfind’
EOF
$ source ~/.bashrc
$ bat –version && fd –version
bat 0.24.0
fdfind 9.0.0
好みで ls を eza に置き換えることもできます。
alias ls=’eza’
alias ll=’eza –long –header’
alias la=’eza –long –header –all’
スクリプト内での使用に注意
alias は対話的シェルでのみ有効です。シェルスクリプト(.sh ファイル)の中で使う場合は、batcat・fdfind のフルネームで書く必要があります。また ls を eza に置き換えると、出力フォーマットに依存した既存スクリプトが壊れることがあるので注意してください。
まとめ
本記事では、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 では実コマンド名が
batcat・fdfindになり、素の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万行の全文検索で
rgはgrepの約3.3倍速(0.06秒 vs 0.19秒・マッチ件数は一致)
これらのツールは VPS 上の Ubuntu サーバーでもまったく同じ手順で導入できます。自分のサーバーを借りて本格的に運用してみたい方は、下記の記事も参考にしてください。

コメント