[rust]lsの進化系代替ツール「eza」

コマンド

Rust製で爆速、かつモダンな機能をこれでもかと詰め込んだlsの進化系代替ツール「eza」をご紹介します。開発効率を一段階引き上げるこのツールの導入から極上の設定まで、徹底的に解説します。

1. なぜ今、ls ではなく eza なのか?

ezaは、惜しまれつつメンテナンスが止まった名ツールexaのフォークプロジェクトです。Rust言語の恩恵を受けた圧倒的なパフォーマンスに加え、以下のような特徴を持っています。

  • 視認性の高いカラーリング: ファイル種別ごとに最適化された色分け。
  • アイコン表示: Nerd Fontsと組み合わせることで、直感的にファイルが判別可能。
  • Git連携: ディレクトリ内の各ファイルのGitステータス(M/A/Uなど)をその場で表示。
  • ツリー表示の統合: 別途treeコマンドを叩く必要がありません。

2. インストール手順

macOS (Homebrew)

Macをお使いの場合は、Homebrewで一撃です。M2/M3チップのパフォーマンスをフルに活かせるバイナリが提供されています。

brew install eza

Ubuntu / Debian系

Ubuntu(24.04などの最新版を含む)では、公式リポジトリにはまだ古いバージョンしかない場合があるため、公式の配布リポジトリを追加するのが最も「理詰め」な方法です。

# 1. 必要なツールのインストール
sudo apt update
sudo apt install -y gpg

# 2. リポジトリの追加
sudo mkdir -p /etc/apt/keyrings
wget -qO- https://raw.githubusercontent.com/eza-community/eza/main/deb.asc | sudo gpg --dearmor -o /etc/apt/keyrings/gierens.gpg
echo "deb [signed-by=/etc/apt/keyrings/gierens.gpg] http://deb.gierens.de stable main" | sudo tee /etc/apt/apt.list.d/gierens.list
sudo chmod 644 /etc/apt/keyrings/gierens.gpg /etc/apt/apt.list.d/gierens.list

# 3. インストール
sudo apt update
sudo apt install -y eza

3. 実戦で役立つ「便利な使い方」

lsとの違いを際立たせる、強力なオプションを紹介します。

基本の「キ」:詳細表示とアイコン

Bash

eza -lah --icons
  • -l: 長い形式(パーミッション、サイズ等)で表示。
  • -a: 隠しファイルも表示。
  • -h: ファイルサイズを読みやすい形式(KB, MB)で表示。
  • --icons: ファイル種別ごとのアイコンを付与。

開発者に刺さる:Gitステータス表示

eza -l --git

これだけで、どのファイルが修正済みで、どのファイルが未追跡(Untracked)かが一目でわかります。git statusを打つ回数が劇的に減ります。

構造を掴む:ツリー表示

eza --tree --level=2

ディレクトリ構造を階層的に表示します。深さの指定(--level)ができるため、巨大なプロジェクトの全体像を把握するのに最適です。

4. 設定方法:エイリアスで「ls」を上書きする

ezaをインストールしただけでは、無意識にlsを叩いてしまうのがエンジニアの性。.zshrc(または.bashrc)にエイリアスを設定して、環境を整えましょう。

# ~/.zshrc に追記
if [[ $(command -v eza) ]]; then
  alias ls='eza --icons --group-directories-first'
  alias ll='eza -lah --icons --group-directories-first --git'
  alias lt='eza --tree --level=2 --icons'
fi

設定のポイント

  • --group-directories-first: ディレクトリを常に先に表示するようにします。これでディレクトリの視認性が格段に上がります。
  • ll: 開発に必要な情報をすべて詰め込んだ最強のエイリアスです。

5. 比較:ls vs eza

機能lseza
Rust製高速化×
デフォルトの色分け強力
アイコン表示×
Gitステータス×
ヘッダー表示× (カラム名が出る)

💡 まとめ:モダンな環境こそ、道具から

ezaは単なる装飾ツールではありません。視覚情報を増やすことで、「脳がファイルを探すコスト」を削減する、極めて実利的なツールです。

コメント

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