eza
eza の紹介
- eza は Unix および Linux オペレーティングシステムで標準提供されるファイル一覧コマンド
ls のモダンな代替品
- ファイルの種類とメタデータを区別するために色を使用
- シンボリックリンク、拡張属性、Git を認識
- 小さく高速で、単一バイナリとして提供
- ユーザーフレンドリーで機能豊富な
ls の代替を目指している
eza の主な機能
- exa 2021 で発生した「グリッドバグ」を修正
- ハイパーリンク対応
- マウントポイントの詳細を提供
- Selinux コンテキストを出力
- Git リポジトリの状態を出力
- 人間に読みやすい相対日付を表示
- 複数のセキュリティ修正
- 明るいターミナルカラーに対応
- さまざまな小さなバグ修正と変更
インストール方法
- eza は Windows、macOS、Linux で利用可能
- プラットフォームおよびディストリビューション別のインストール手順は INSTALL.md で確認可能
コマンドラインオプション
表示オプション
- -1, --oneline: 1 行に 1 項目を表示
- -G, --grid: 項目をグリッド形式で表示(デフォルト)
- -l, --long: 拡張された詳細情報と属性を表示
- -R, --recurse: ディレクトリを再帰的に探索
- -T, --tree: ディレクトリをツリー形式で再帰的に探索
- -x, --across: グリッドを横方向に整列
- -F, --classify=(when): ファイル名に種類を表示(常時、自動、なし)
- --colo[u]r=(when): ターミナルカラーを使用するタイミングを設定(常時、自動、なし)
- --colo[u]r-scale=(field):
field のレベルを区別して強調(all、age、size)
- --color-scale-mode=(mode): --color-scale で固定色またはグラデーションを使用(fixed、gradient)
- --icons=(when): アイコンを表示するタイミングを設定(常時、自動、なし)
- --hyperlink: 項目をハイパーリンクとして表示
- --absolute=(mode): 項目を絶対パスで表示(on、follow、off)
- -w, --width=(columns): 画面幅を列単位で設定
フィルタリングオプション
- -a, --all: 隠しファイルおよびドットファイルを表示
- -d, --list-dirs: ディレクトリを通常のファイルのように一覧表示
- -L, --level=(depth): 再帰の深さを制限
- -r, --reverse: ソート順を逆転
- -s, --sort=(field): ソートするフィールドを設定
- --group-directories-first: ディレクトリをほかのファイルより先に一覧表示
- -D, --only-dirs: ディレクトリのみ一覧表示
- -f, --only-files: ファイルのみ一覧表示
- --no-symlinks: シンボリックリンクを表示しない
- --show-symlinks: シンボリックリンクを明示的に表示
- --git-ignore:
.gitignore に記載されたファイルを無視
- -I, --ignore-glob=(globs): 無視するファイルのグロブパターンを設定
長い表示オプション
- -b, --binary: ファイルサイズをバイナリ接頭辞で表示
- -B, --bytes: ファイルサイズをバイト単位で表示
- -g, --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 状態を表示しない
- --time-style: タイムスタンプ形式を設定
- --total-size: 再帰的なディレクトリサイズを表示
- --no-permissions: 権限フィールドを表示しない
- -o, --octal-permissions: 各ファイルの権限を 8 進数形式で表示
- --no-filesize: ファイルサイズフィールドを表示しない
- --no-user: ユーザーフィールドを表示しない
- --no-time: 時間フィールドを表示しない
- --stdin: stdin からファイル名を読み込む
eza への貢献方法
- eza に貢献するには、まず行動規範に従う必要がある
- 行動規範を理解した後、実際のハッキングに関する情報は CONTRIBUTING.md を参照できる
GN⁺ のまとめ
- eza は
ls のモダンな代替品で、より多くの機能とユーザーフレンドリーなインターフェースを提供
- さまざまなカラーオプションや Git 状態表示などの便利な機能を含む
- Windows、macOS、Linux で利用可能で、インストールも簡単
ls に似ているが、より多くのオプションを提供し、ファイル一覧作業をより効率的に行える
- 類似の機能を提供するツールとして
exa がある
1件のコメント
Hacker Newsのコメント
「human readable dates」は不便。ディレクトリ一覧では日付と時刻を見たい
lsdもあるが、ezaのほうが好みbat- ハイライト機能付きのcatdifftastic- より良いdiffgdu- SSD向けのディスク容量アナライザーzoxide- モダンなcdfd-findの代替rg-ripgrep(grep)fzf- ファジーファインダーjless- マウスでの折りたたみ機能があるJSONビューアdra- リリースアセットのダウンロードとインストールlazygit- Git TUIlazydocker- Docker TUIyazi- 画像プレビュー付きのファイルマネージャーzellij- より良いtmux/screenstarship- クロスシェルのプロンプト設定GNU
lsは保守されているfish shellに切り替えてから
lsの使用が100%減った色を使ってファイルタイプを区別するターミナルツールには問題がある
lsまたはlsの代替出力で色は不要ls -AFCの出力で十分GNUユーティリティの新しいバージョンがMITライセンスでビルドされる理由が気になる
READMEに
ezaがexaのフォークだという言及がないのを奇妙に思うqwertyキーボードでは
ezaのタイピングがしづらいlsは素早く打てるキーの組み合わせeza/exaの主な機能は派手な色ではなくgit統合lsを使う人はほとんどいないlsがもう保守されていないと主張する理由が気になる