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

コマンド
コマンド

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

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

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

  • 視認性の高いカラーリング: ファイル種別ごとに最適化された色分け。
  • アイコン表示: Nerd Fontsと組み合わせることで、直感的にファイルが判別可能。
  • Git連携: ディレクトリ内の各ファイルのGitステータス(M/A/Uなど)をその場で表示。
  • ツリー表示の統合: 別途treeコマンドを叩く必要がありません。
[rust]lsの進化系代替ツール「eza」
[Mac] gitでerror: non-monotonic index対策
Mac環境のGitで発生する「error: non-monotonic index」の原因と解決策を解説。macOS特有の「._」から始まる不要なメタデータファイルを、dot_cleanやfindコマンドで安全に削除して即座に復旧する方法と予防策を紹介します。

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)ができるため、巨大なプロジェクトの全体像を把握するのに最適です。

[rust]lsの進化系代替ツール「eza」
[Mac]デスクトップのアイコンサイズ調整
Macのデスクトップアイコンのサイズを変更し、画面を広くすっきりと使うための調整手順を解説します。表示オプションの開き方やショートカットキー、さらにグリッド間隔やスタック機能を用いたデスクトップ整理のヒントまで網羅しています。

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

Q よくある質問 (FAQ)
Q. ezaでアイコンを表示するには何が必要ですか?
A.
ezaでアイコンを表示するには、Nerd Fontsなどの対応フォントがインストールされたターミナル環境が必要です。
Q. ezaはメンテナンスが停止したexaと何が違いますか?
A.
ezaはexaのフォークプロジェクトであり、現在も活発に開発・メンテナンスが継続され、バグ修正や新機能追加が行われています。
Q. 既存のlsコマンドをezaに置き換えるにはどうすればよいですか?
A.
.zshrcや.bashrcなどのシェル設定ファイルに「alias ls='eza'」や「alias ll='eza -lah --git'」といったエイリアスを登録することで置き換え可能です。

コメント

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