eza について
eza は ls を現代的にした代替ツールで、色付きの出力でファイルを一覧表示し、Git ステータスやアイコンも表示できます。ツリー表示にも対応し、ほかのシェルツールと組み合わせて使えます。
主な機能
- 01eza -la で隠しファイルを含む詳細一覧を表示
- 02eza --tree --level=2 で 2 階層のディレクトリツリーを表示
- 03色・アイコン・Git ステータス付きの一覧
- 04ほかのシェルツールと組み合わせて利用可能
活用シーン
- 01プロジェクトのディレクトリ構成をすばやく把握する
- 02詳細一覧でファイルの権限やサイズを確認する
- 03リポジトリの簡潔なディレクトリ概要を得る
インストール
OS またはパッケージマネージャーを選び、コマンドをターミナルで実行します。
インストール後にeza --versionを実行して確認します。
コマンド例
よく使うコマンドを使う順に並べています。
詳細

eza は、Unix および Linux オペレーティングシステムに標準搭載されている、由緒あるファイル一覧表示用コマンドラインプログラム ls の最新の代替ツールで、より多くの機能と優れたデフォルト設定を備えています。
色を使ってファイルの種類やメタデータを区別します。
シンボリックリンク、拡張属性、Git に対応しています。
さらに、小さく、高速で、単一のバイナリです。
一部の仕様を意図的に異なる方法で決めることで、eza は ls よりも多機能で使いやすいバージョンを目指しています。
eza にあり、exa にはない機能(すべてではありません):
- exa 2021 で導入された「The Grid Bug」を修正。
- ハイパーリンクに対応。
- マウントポイントの詳細表示。
- SELinux コンテキストの出力。
- Git リポジトリのステータス表示。
- 人が読みやすい相対日付表示。
- 複数のセキュリティ修正。
brightターミナルカラーに対応。- その他、多数の細かなバグ修正や変更!
- 色やアイコンをカスタマイズするための
theme.yml設定ファイル。
……そして、頻繁に更新するのが大変になるほど、さらに多くの機能があります。 本当に、優れた機能がたくさんあります。
試してみましょう!
Nix ❄️
すでに Nix をフレーク対応でセットアップしている場合は、nix run コマンドで eza を試せます。
nix run github:eza-community/eza
Nix が eza をビルドして実行します。
この方法で引数を渡す場合は、たとえば nix run github:eza-community/eza -- -ol を使います。
インストール
eza は Windows、macOS、Linux で利用できます。プラットフォームやディストリビューションごとの インストール手順は INSTALL.md にあります。
コマンドラインオプション
eza のオプションは ls のものとほぼ似ていますが、まったく同じではありません。概要は次のとおりです。
表示オプション
クリックして展開
- -1, --oneline:1 行につき 1 つの項目を表示します
- -G, --grid:項目をグリッド形式で表示します(デフォルト)
- -l, --long:詳細情報と属性を表示します
- -R, --recurse:ディレクトリを再帰的に処理します
- -T, --tree:ディレクトリをツリー形式で再帰的に処理します
- -x, --across:グリッドを縦方向ではなく横方向に並べ替えます
- -F, --classify=(when):ファイル名に種類を示すマークを表示します(always、auto、never)
- --colo[u]r=(when):ターミナルの色を使用するタイミングを指定します(always、auto、never)
- --colo[u]r-scale=(field):
fieldのレベルをそれぞれ異なる方法で強調表示します(all、age、size) - --color-scale-mode=(mode):--color-scale でグラデーションまたは固定色を使用します。有効なオプションは
fixedまたはgradientです - --icons=(when):アイコンを表示するタイミングを指定します(always、auto、never)
- --hyperlink=(when):項目をハイパーリンクとして表示するタイミングを指定します(always、auto、never)
- --absolute=(mode):項目を絶対パスで表示します(on、follow、off)
- -w, --width=(columns):画面の幅を列数で設定します
フィルタリングオプション
クリックして展開
- -a, --all:隠しファイルと「ドット」ファイルを表示します
- -d, --treat-dirs-as-files:ディレクトリを通常のファイルと同様に一覧表示します
- -L, --level=(depth):再帰の深さを制限します
- -r, --reverse:並べ替え順を逆にします
- -s, --sort=(field):並べ替えに使用するフィールドを指定します
- --group-directories-first:他のファイルより先にディレクトリを一覧表示します
- --group-directories-last:他のファイルより後にディレクトリを一覧表示します
- -D, --only-dirs:ディレクトリのみを一覧表示します
- -f, --only-files:ファイルのみを一覧表示します
- --no-symlinks:シンボリックリンクを表示しません
- --show-symlinks:リンクを明示的に表示します(
--only-dirs、--only-filesと併用すると、フィルタに一致するシンボリックリンクを表示します) - --git-ignore:
.gitignoreに記載されたファイルを無視します - -I, --ignore-glob=(globs):無視するファイルのグロブパターンをパイプ区切りで指定します
--all オプションを 2 回渡すと、. および .. ディレクトリも表示されます。
クリックして展開
--long(-l)を指定して実行すると、次のオプションを使用できます。
- -b、--binary:ファイルサイズを2進接頭辞で表示します
- -B、--bytes:接頭辞を付けずにファイルサイズをバイト単位で表示します
- -g、--group:各ファイルのグループを表示します
- --smart-group:グループ名が所有者名と異なる場合のみ、グループを表示します
- -h、--header:各列にヘッダー行を追加します
- -H、--links:各ファイルのハードリンク数を表示します
- -i、--inode:各ファイルの inode 番号を表示します
- -m、--modified:更新日時フィールドを使用します
- -M、--mounts:マウントの詳細を表示します(Linux および MacOS のみ)。
- -S、--blocksize:割り当て済みファイルシステムブロックのサイズを表示します
- -t、--time=(field):使用するタイムスタンプフィールドを指定します
- -u、--accessed:アクセス日時フィールドを使用します
- -U、--created:作成日時フィールドを使用します
- -X、--dereference:ファイル情報の取得時にシンボリックリンクを参照先にたどります
- -Z、--context:各ファイルのセキュリティコンテキストを表示します
- -@、--extended:各ファイルの拡張属性とサイズを表示します
- --changed:変更日時フィールドを使用します
- --git:追跡対象または無視対象の場合、各ファイルの Git ステータスを表示します
- --git-repos:追跡対象の場合、各ディレクトリの Git ステータスを表示します
- --git-repos-no-status:ディレクトリが Git リポジトリかどうかを表示しますが、ステータスは表示しません(より高速です)
- --no-git:Git ステータスを表示しません(
--git、--git-repos、--git-repos-no-statusより常に優先されます) - --time-style:タイムスタンプの書式を指定します。有効なタイムスタンプ形式は「
default」、「iso」、「long-iso」、「full-iso」、「relative」、またはカスタム形式「+<FORMAT>」です(例:「+%Y-%m-%d %H:%M」 => 「2023-09-30 13:00」。書式文字列の詳細については、eza(1)マニュアルページ と chrono ドキュメントを参照してください。)。 - --total-size:ディレクトリの再帰的なサイズを表示します
- --no-permissions:パーミッションフィールドを表示しません
- -o、--octal-permissions:各ファイルのパーミッションを8進数形式で表示します
- --no-filesize:ファイルサイズフィールドを表示しません
- --no-user:ユーザーフィールドを表示しません
- --no-time:時刻フィールドを表示しません
- --stdin:標準入力からファイル名を読み込みます
一部のオプションではパラメーターを指定できます。
- 有効な --colo[u]r オプションは always、automatic(短縮形は auto)、never です。
- 有効なソートフィールドは accessed、changed、created、extension、Extension、inode、modified、name、Name、size、type、none です。大文字で始まるフィールドは、小文字より先にソートされます。modified フィールドには date、time、newest のエイリアスがあり、逆順には age、oldest のエイリアスがあります。
- 有効な時刻フィールドは modified、changed、accessed、created です。
- 有効な時刻形式は default、iso、long-iso、full-iso、relative です。
使用方法の詳細については、man ページを参照してください。以下から利用できます。
- オンラインのリポジトリ内
- バージョン
[0.18.13] - 2024-04-25以降は、ターミナルでman ezaを実行
カスタムテーマ
クリックして展開
Eza では最近、theme.yml ファイルがサポートされました。このファイルでは、LS_COLORS および EXA_COLORS 環境変数で利用できる既存のテーマ設定に加え、ファイルの種類や拡張子ごとに異なるアイコンを指定できます。既存の環境変数の設定は引き続き使用され、後方互換性のために優先されます。
New 既成テーマ
公式の eza-themes リポジトリで利用可能なテーマを確認するか、自分のテーマを提供してください。
テーマファイルの例は docs/theme.yml にあります。環境変数 EZA_CONFIG_DIR で指定したディレクトリに配置するか、デフォルトでは $XDG_CONFIG_HOME/eza が検索されます。
eza の開発に参加する
eza への貢献を希望する場合は、まず行動規範に従っていただく必要があります。 行動規範を確認したら、実際の開発に関する詳細についてCONTRIBUTING.mdをご覧ください。