'l'コマンドは時代遅れです

標準の 'ls' コマンドは数十年も進化しておらず、現代の開発者にとっては古くなったツールとなっています。Rustを活用した代替ツール「eza」は、組み込みのGit統合、ファイルアイコン、優れたパフォーマンスを備え、ターミナルを革新しています。

Stork.AI
Hero image for: 'l'コマンドは時代遅れです
💡

TL;DR / Key Takeaways

標準の 'ls' コマンドは数十年も進化しておらず、現代の開発者にとっては古くなったツールとなっています。Rustを活用した代替ツール「eza」は、組み込みのGit統合、ファイルアイコン、優れたパフォーマンスを備え、ターミナルを革新しています。

なぜあなたのターミナルは過去にとどまっているのか

今日、ターミナルで `ls` を入力すると、実質的に1970年代にタイムトラベルしているようなものです。このコマンドは依然としてディレクトリのリストを表示するだけですが、現代の開発ワークフローは単色のファイル名の列以上のものを要求しています。エディター、ブラウザ、IDEは進化したのに対し、ファイルリスターは大きくは進化していません。

従来の ls では、実際にはほぼすべての真剣なプロジェクトがリポジトリに存在するにもかかわらず、Gitについて何も知識がありません。ディレクトリを見ただけでは、どのファイルが変更されたか、無視されているか、追跡されていないかを別々の `git status` コマンドを実行せずには分かりません。これは、ファイルを確認するために `ls`、状態を確認するために `git`、そしてそれを結びつけるために脳を労働させるという、絶え間ないメンタルなコンテキストスイッチを意味します。

視覚的フィードバックも同様に原始的です。GNU lsは出力を色分けできますが、基本的なファイルタイプや権限に留まっており、アイコン、クリック可能なパス、または大きなファイルや最近のファイルを強調するグラデーションの概念はありません。以下は得られないものです: - Git対応のインジケーター - ファイルごとのアイコン - 現代のターミナルでクリックできるハイパーリンク

情報の密度は別の問題です。長い `ls -l` の出力は、パーミッション、所有者、サイズ、タイムスタンプをテキストの壁に詰め込み、ディレクトリに数百のエントリがあると、可読性が悪化します。必要な情報が少なすぎる(`ls`)か、ありすぎる(`ls -l`)かで、「ディレクトリのみ表示」、「Git無視ファイルを隠す」、「ディレクトリを先に表示」といった微妙な中間設定が存在しません。

その間に、あなたのターミナルは主なユーザーインターフェースとなり、Git、Docker、Kubernetesのようなツールがワークフローをコマンドラインに押し込んでいます。LinuxとmacOSの間を行き来し、数十のリポジトリを扱いながら、バージョン管理が主流になる前に設計されたファイルリスト表示に依存しています。なぜあなたのディレクトリビューは、あなたのVCS、フォント、またはカラースキームを理解していないのでしょうか?

では、1975年ではなく2025年のために設計されたファイルリスティングツールはどのようになるでしょうか?もし`ls`がGitのステータスをインラインで表示でき、自動的にアイコンを追加し、実際の作業方法にマッチしたスマートなソートやフィルタリングのフラグを使用できるとしたら?そのギャップ、すなわち`ls`が提供するものと今の開発者が期待するものの違いこそが、ezaが登場する理由です。

伝説の後継者、エザをご紹介します。

イラスト:伝説の後継者、エザに会おう
イラスト:伝説の後継者、エザに会おう

コマンドラインの伝統主義者には耳が痛いかもしれませんが、ezaは2025年に人々が`ls`に期待するように振る舞うツールです。 saneなデフォルト設定があり、色がデフォルトで付いており、実際に重要な情報、つまりファイルタイプ、Gitステータス、人間が読めるメタデータを強調するレイアウトになっています。単調な文字の壁ではありません。 Rustで書かれており、メモリ安全性と積極的な並列処理を活用して、大規模なリポジトリでも高速性を保ちます。

Ezaは突然現れたわけではありません。これは、長年メンテナンスが行われていなかった、ベンジャミン・サゴ(“ogham”として知られる)が作った愛されるRust製の`ls`置き換えツールexaの、コミュニティが維持するフォークとして始まりました。exaが停滞したとき、貢献者たちはコードベースをeza-community/ezaリポジトリに移し、長年の問題を整理し、LinuxとmacOS向けに頻繁にリリースを行い始めました。

オリジンは別として、ezaの提案はシンプルです:より良いデフォルト、豊富な情報、そして開発者優先の体験です。`eza -l --git`を実行すると、すぐに変更されたファイルには`M`、新しいファイルには`N`、無視されたファイルには`I`などのGit認識マーカーが、パーミッションやサイズと同じリスト内に表示されます。`--git-repos`を追加すると、ディレクトリは複数のリポジトリにわたるブランチや「汚れている/クリーン」状態のダッシュボードに変わります。

視覚信号の密度は、ezaが`ls`から離れるところです。インタラクティブな使用時には常に色が表示され、`--colour=always`のようなフラグはパイプを通しても色を保持します。一方、`--colour-scale`は大きなファイルや最近のファイルを強調するためにグラデーションを使用します。Nerd Fontがインストールされていると、`--icons`はファイルタイプのグリフで各エントリを装飾し、`--hyperlink`は対応するターミナルでパスをクリック可能なリンクに変換します。

開発者のエルゴノミクスは、ソートとフィルタリングのモデルに現れます。難解な `ls` フラグの組み合わせを暗記する代わりに、次のような明確なオプションが用意されています: - `--sort=size`、`--sort=time`、または `--sort=extension` - 逆順のための `--reverse` - `--group-directories-first`、`--only-dirs`、または `--only-files`

代替手段は存在しますが、ezaはそれらに直接アプローチしています。このプロジェクトは、別のRust製の`ls`クローンであるlsdよりも速いと明言しており、より深いGit統合、設定ファイルを介したテーマのカスタマイズ、`--tree`オプションを使ったツリー表示、そして`ls`や`exa`をezaにエイリアスするための互換性シムを提供しており、その切り替えがあったことを忘れてしまうことができます。

インストールと最初のエイリアス

最新のmacOSマシンでは、ezaのインストールがほぼ trivial です。Homebrewを設定したら、次のコマンドを実行してください: - `brew install eza` この1つのコマンドで、事前にビルドされたRustバイナリがダウンロードされ、PATHに追加され、プロジェクトが新しいリリースを出すたびに`brew upgrade eza`を使って更新を受けることができます。

Linuxユーザーも同様の扱いを受けます。Debian/Ubuntuでは、`sudo apt install eza`を実行します(古いリリースではGitHubから.debファイルが必要な場合があります)。Archおよびその派生版では、`sudo pacman -S eza`でコミュニティリポジトリからインストールされます。他のディストリビューションは、`eza`としてパッケージ化するか、eza – lsの最新の代替手段(公式GitHub)にインストール手順を記載しています。

ezaを目立たず、しかし常に存在するように感じさせるために、lsという別名を付けます。シェル設定に次の行を追加してください: - Bash: `alias ls='eza'`を`~/.bashrc`に追加 - Zsh: `alias ls='eza'`を`~/.zshrc`に追加 編集後は、`source ~/.bashrc`または`source ~/.zshrc`を実行するか、新しいターミナルタブを開いて再読み込みします。

最初にフラグなしで`eza`を実行すると、ターミナルの幅をより適切に尊重したカラーコード付きの列揃え出力が得られます。隠しファイルはデフォルトで隠されたままで、騒がしいプロジェクトのルートを読みやすく保ちます。

次に、`eza -l`を試してください。ロングビューでは、権限、所有者、サイズ、タイムスタンプがより見やすいレイアウトで追加され、メタデータとファイル名が色分けされています。その後、`eza -a`を実行してドットファイルを含めます。これにより、通常の`ls -a`が生成する視覚的な混乱ではなく、クリーンで色分けされたリストが得られます。

エイリアスが機能しない場合、恐らく間違ったファイルを編集したか、シェルが別の設定を読み込んでいます。`$SHELL`を確認してBashとZshを確かめ、エイリアスの行に余計なスペースや引用符がないかを確認し、`type ls`を実行して現在`eza`を指していることを確認してください。疑わしい場合は、ターミナルを再起動してクリーンな環境を強制してください。

ファイルリスト内で直接Gitを解放しよう

Git対応のファイルリストは、30秒ごとに`git status`に切り替える手間を省きます。ezaを使えば、Gitは別のステップではなく、ディレクトリビューに組み込まれているため、作業ツリーの健康状態がファイル名、サイズ、タイムスタンプの隣に表示されます。

任意のリポジトリで `eza -l --git` を実行すると、Gitからの追加のステータス列が表示されます。各ファイルには `git status --short` から取得した簡潔なマーカーが表示されるため、長いテキストを解析することなく問題を素早く確認できます。

その小さな文字には多くの意味が詰まっています。長い形式で、ezaは次のように使用します:

  • 1左側の「M」: 修正済みおよびステージング済み
  • 2右の「M」:修正済みだが、ステージには上がっていない
  • 3`N`: 新規の未追跡ファイル
  • 4`I`: `.gitignore` または `.git/info/exclude` に無視されました

これらのマーカーは行ごとに表示されるため、どのファイルが安全で、どれが半ばコミットされていて、どれがまだ未処理であるかをすぐに確認できます。最後のコミット前に追加し忘れた `src/` の変更を推測する必要はもうありません。

大規模なモノレポはその価値を倍増させます。`eza --git --tree --level=2`を使用することで、プロジェクトの階層を辿り、あらゆる深さでGitのステータスを確認できます。その組み合わせによって、シンプルなツリー表示が未コミットの作業のライブマップに変わります。

リポジトリのスプロールは別の問題を引き起こします。それは、プッシュする前にどのプロジェクトがクリーンであるかを知ることです。`--git-repos`フラグはまさにその問題に対処します。ezaをプロジェクトが満載のディレクトリに向けると、各Gitリポジトリを1行で要約します。

`.git` フォルダーを含む各サブディレクトリに対して、`eza --git-repos` は現在のブランチを表示し、さらに「ダーティ」または「クリーン」のインジケーターを示します。10または50のリポジトリを一度にざっと見るだけで、プッシュされていない変更やコミットされていない変更があるリポジトリを瞬時に見つけることができます。

生成されたアセットやログからのノイズは、大規模なコードベースで信号を埋もれさせる可能性があります。`--git-ignore`を追加すると、ezaはGitがすでに無視しているものを隠し、実際のファイルリストにも`.gitignore`ルールを適用します。Nodeの`dist/`、Pythonの`.venv/`、`coverage/`レポート、ビルドアーティファクトが視界から消えます。

これらのフラグを組み合わせると、ターミナルがGitダッシュボードに変身します:`eza -l --git --git-ignore --group-directories-first`を使えば集中した編集が可能になり、`eza --git-repos ~/code`を使えばポートフォリオ全体のステータスを確認できます。古い`ls`はファイルを表示しますが、ezaはあなたの作業の実際の状態を示します。

黒と白を超えて:色の世界

イラスト:白と黒を超えて:色の世界
イラスト:白と黒を超えて:色の世界

色は、ezaが置き換え可能なツールとしての振る舞いをやめ、ターミナルに押し込まれた現代的なUIのように感じ始めるところです。初期設定の状態で、ファイルタイプ、権限、メタデータをひと目で識別できるインテリジェントなデフォルトパレットが用意されています。ディレクトリはある色、実行ファイルは別の色、シンボリックリンクはまた別の色で表示され、スティッキービットや全ユーザー書き込み可能なパスなどの項目には追加のアクセントがあります。何も設定する必要はなく、ただ`eza`を実行するだけで、ファイルシステムに伝説が突然現れます。

従来の `ls --color` は比較すると粗雑に感じます。Ezaのデフォルト設定は、ファイルが何であるかだけでなく、触るのがどれほど安全かも区別します。グループ書き込み可能なバイナリのような疑わしいパーミッションの組み合わせはすぐに目立ち、ディレクトリをリストするたびに低負荷のセキュリティ監査として機能します。

パイピングを始めると、色の重要性がさらに増します。多くのツールは、明示的に指示しない限りANSIコードを除去してしまうため、ezaは持続的な色出力を強制するために`--colour=always`を提供しています。このフラグ一つで、`grep`、`less -R`、`fzf`、さらには後でテールするログファイルの中でさえ、あなたの色合いを生かし続けることができます。

一緒に使用すると、パターンは次のようになります: - `eza --colour=always | less -R` - `eza --colour=always | grep pattern` - `eza -l --git --colour=always | fzf`

ezaが`ls`から際立つのは`--colour-scale`という機能です。この機能は、生のメタデータを視覚的なグラデーションに変換します。`--colour-scale=size`を使用すると、大きなアーティファクト—たとえば、マルチギガバイトのVMイメージや膨れ上がったnode_modules—が小さな設定ファイルとは異なる色で強調表示されます。`--colour-scale=age`に切り替えると、昨日の編集が触れられていない古いデータの背景に対して輝きます。

これらのグラデーションは特に大きなツリーでスケールが優れています。プロジェクトで `eza --tree --colour-scale=size` を実行すると、数字を一つも読むことなく、ディスクを消費している3~4のファイルを見つけることができます。単なるリスト表示よりも、ヒートマップに近い感覚です。

デフォルトが気に入らない場合でも、ezaはあなたを縛りません。カスタムカラーテーマをサポートしており、構成ファイルから読み込まれ、セマンティックロール(ディレクトリ、シンボリックリンク、ソケット、git修正済み)を特定のスタイルにマッピングします。コミュニティのテーマはeza-community/ezaから取得し、あなたの設定に追加するか、自分自身のテーマを作成して、触れるすべてのターミナルがあなた独自のものであると感じられるようにすることができます。

ビューをマスターする:グリッドからツリーへ

グリッドビューはezaの始まりです。デフォルトでは、ファイル名を複数列のグリッドにまとめて、ターミナルの幅に合わせて、lsでよく見られる乱雑な単一列の表示を避けます。このビューでも色、アイコン、Gitのマーカーが表示されるため、単に`eza`を実行するだけで、`ls -F`よりもすでに情報量が多くなります。

詳細が必要なとき、long viewは作業の主力です。`eza -l`は、権限、所有者、グループ、サイズ、タイムスタンプ、オプションのGitステータスを含む長いリスト表示に切り替え、整頓されたテーブルで表示します。`-l`を`-a`と組み合わせるとドットファイルが表示され、`--group-directories-first`と組み合わせるとフォルダをスタックの上部に保持できます。

時には装飾ではなく、密度が必要になります。`eza --oneline`は、スクリプト作成や`fzf`へのパイプ、または横スクロールなしで巨大なディレクトリを確認するのに最適な、1行につき1つのエントリを印刷します。`--sort=size`または`--sort=modified`を追加すると、最大のファイルや最新のファイルの迅速な視覚レポートに変わります。

開発者は `eza --tree` に惹かれます。ツリービューはディレクトリを再帰的に歩き回り、ボックス描画文字、アイコン、色を使って完全な階層を表示します。そのため、ネストされた `src`、`tests`、および `migrations` ディレクトリが瞬時に理解できるようになります。JavaScriptやRustのリポジトリで `eza --tree src` を実行すると、どんな `ls -R` の壁のようなテキストよりも優れたプロジェクトマップが得られます。

ツリー出力は、実際のモノレポで爆発的に増える可能性があるため、ezaは「シャープブレーキ」を搭載しています:`--level`。 `eza --tree --level=2`を使用すると、Nodeワークスペースの上位2層のみを表示でき、`--level=4`を使用すると、`node_modules`に埋もれることなく`packages/`の深部を覗くことができます。この深さの制限により、`--tree`は新奇さから、複雑な構造をナビゲートするための日常的なツールに変わります。

より多くの制御のために、ezaは特定の表示トグルをいくつか提供しています。`--header`は長いリストにヘッダー行を追加し、権限、サイズ、変更時間などの列にラベルを付けます。これは、ドキュメントやバグレポートのために出力をスクリーンショットする際に最適です。`--inode`はinode番号を表示します。これは、ハードリンクや奇妙なファイルシステムの動作をデバッグする際に非常に貴重です。

パワーユーザーはこれらのフラグを組み合わせて使用できます。`eza -la --header --inode --tree --level=2`のようなコマンドを実行すると、一度で豊富に注釈の付いた二階層のプロジェクト概要が得られます。これらのモードについてのより深い理解や他の例については、eza: 改良された 'ls' 機能を使用したファイルリストの簡素化 – Linuxiacが追加の組み合わせや例外ケースを詳しく説明しています。

データを制御する:プロのように並べ替えとフィルタリングを行う

コマンドラインのパワーユーザーは、ソート順によって生きるか死ぬかです。Ezaは、`ls`のさまざまなオプションの寄せ集めではなく、一貫した単一の`--sort`フラグを用いてソートを第一級の機能として扱います。サイズでソートするには(`--sort=size`)、変更日時でソートするには(`--sort=modified`または`--sort=mtime`)、作成日時でソートするには(`--sort=created`または`--sort=ctime`)、名前でソートするには(`--sort=name`)、または拡張子でソートするには(`--sort=extension`)を使用できます。

`ls`が`-t`、`-S`、`-X`などのフラグに散らばった動作をするのに対し、ezaはそれを読みやすく、スクリプトに優しい引数に凝縮します。ビルドディレクトリの上部に最大のアーティファクトを表示したいですか?`eza --sort=size --reverse target`を使用すれば、最も大きなファイルを瞬時に表示します。

ソートを反転させることは、`ls`との最も重要な違いの一つを明らかにします。`-tr`や`-Sr`のような別々の反転バリアントの代わりに、ezaは常に同じ`--reverse`フラグを使用します。何でソートするかを指定し、その後反転させます:`eza --sort=modified --reverse`は「最も古いものを先に表示する」となり、複雑な考えは不要です。

そのデザインの選択は、オプションを連鎖させるときに効果を発揮します。最新の変更が上に表示されるリポジトリの長いGitビューが、`eza -l --git --sort=modified`になります。古いクルフトを削除したい場合は、`--reverse`を追加するだけで、他は何も変更されません。

ソートだけでは不十分です; 本格的なプロジェクトにはフィルタリングが必要です。Ezaは`--group-directories-first`を提供しており、奇妙なロケールハックやシェルトリックなしにフォルダーをリストの先頭に押し上げます。`--sort=name`と組み合わせることで、どの言語でもクリーンで予測可能なレイアウトを実現します。

騒音を減らしたいときは、`--only-dirs` と `--only-files` が外科的フィルターのように機能します。`eza --only-dirs --group-directories-first --tree` を使ってディレクトリ構造だけをスキャンしたり、`eza --only-files --sort=size` を使ってコンパイルされたバイナリやアセットのみを検査したりできます。`find` の呪文は必要ありません。

これらのフラグは、積み重ねるとクエリオペレーターのように感じ始めます。一般的な実世界の組み合わせには次のようなものがあります: - `eza --group-directories-first --sort=extension --only-files src` - `eza -l --sort=created --reverse --only-files dist` - `eza --sort=modified --only-dirs --git`

最後のコマンドは、最近の活動に基づいてソートされたディレクトリのみを表示し、Gitのステータスが統合されていて、実際に作業が行われている場所のライブヒートマップを提供します。

あなたのターミナル、アイコンとハイパーリンク付きで新登場

イラスト:アイコンとハイパーリンクを備えたターミナルのご紹介
イラスト:アイコンとハイパーリンクを備えたターミナルのご紹介

アイコンは、ezaをよりスマートな `ls` から実際に現代的な感じに変えます。任意のコマンドに `--icons` を追加すると、ファイルリストに突然、小さくて高い信号を持つグリフが表示されます: `.py` のための Python ロゴ、`.md` のための文書アイコン、実行可能ファイルのためのギア、シンボリックリンクと隠しファイルのための独特なシンボル。ディレクトリにはフォルダーアイコンが付き、`--git` および `--git-repos` と組み合わせることで、Gitリポジトリがすぐに目立ちます。

これらのアイコンは、開発者向けのフォントに数千の追加グリフを追加する人気プロジェクトであるNerd Fontsに依存しています。Nerd Fontsは、Font Awesome、Devicons、Octiconsなどのプロジェクトからのシンボルを50以上のベースフォントにバンドルしています。ezaのプラグインをインストールしているのではなく、ターミナルがレンダリングできるフォントをインストールしているのです。

macOSでは、一般的なセットアップは3つのステップで行います。まず、nerdfonts.comからFiraCode Nerd FontJetBrainsMono Nerd FontなどのNerd Fontをダウンロードし、ダブルクリックして「フォントをインストール」を選択します。最後に、ターミナルをそのフォントに設定します。Linuxユーザーは、パッケージマネージャーを通じてインストールできることが多いです(例:`sudo pacman -S nerd-fonts-jetbrains-mono`)。その後、エミュレーターの設定でフォントを選択します。

iTerm2の設定は簡単です。Preferences → Profiles → Textを開き、フォントセレクターをクリックして、インストールしたNerd Font(レギュラー版と非リガチャ版の両方が利用可能)を選択します。その後、`eza --icons`を実行すると、プログラミング言語のロゴ、`.zip`や`.tar.gz`のアーカイブアイコン、`.sql`のデータベースアイコンなどがすぐに表示されます。

Kittyユーザーは`kitty.conf`を直接編集します。`font_family JetBrainsMono Nerd Font`のような行を設定し、Kittyを再起動するか設定をリロードしてください。KittyはモダンなUnicodeをきれいに扱うため、アイコンはシャープに表示され、列のずれや壊れたボックス文字はありません。

視覚的密度は増加しますが、認知負荷は低下します。`eza -l --git --icons`のようなコマンドを実行すると、目で次のものを素早く確認できます: - フォルダーアイコンでディレクトリ構造を把握 - リポジトリアイコンでGitのルートを特定 - 言語アイコンで`.ts`、`.rs`、`.go`を一目で見つける

ハイパーリンクにより、ezaはさらにGUIの領域に進出します。`--hyperlink`オプションを使用すると、ezaは多くの現代のターミナルがクリック可能なリンクとして理解するOSC 8エスケープシーケンスを出力します。ファイル名は`file://`パスを指すURLに変わるため、それをクリックするとmacOSではFinderが、Linuxではファイルマネージャーが、またはハンドラーとして登録されたエディタが開きます。

エミュレーターによってサポートは異なりますが、iTerm2、Kitty、最近のGNOME Terminalビルドはこれらのリンクを確実に処理します。`--hyperlink`を`--icons --long --git`と組み合わせることで、作業ディレクトリの密度の高いクリック可能なビジュアルコーディングダッシュボードを、単一のコマンドで手に入れることができます。

Eza対オールドガード:ls、exa、LSD

旧式のlsはすべてのUnix系システムでまだ動作しますが、その機能セットは何十年も前に停滞しています。デフォルトでは色が表示されず、Gitに対する認識もなく、アイコンやハイパーリンクもありません。エイリアスやLS_COLORSを追加することはできますが、GNU coreutils、BSD、macOSの間で異なるフラグを使い分ける必要があります。

現代の置き換えは三つのグループに分かれています:exalsd、および eza。これらの全ては、より良いデフォルト、カラー、そして優れたメタデータを目指しています。しかし、その中で2024年に積極的にメンテナンスされているのは一つだけです。

素早い機能のスナップショット:

  • 1ls: C、普遍的、最小限の機能、Gitなし、アイコンなし
  • 2exa: Rust、GitHubにアーカイブ、カラー、基本的なGit、一部ツリーサポート
  • 3lsd: Rust、独自のアイコンとカラー、深いGitの知識不要、機能の進行が遅い
  • 4eza: Rust、活発なコミュニティ、Git重視、アイコン、ハイパーリンク、ツリー、テーマ設定

コアの差別化要因:exaは実質的に凍結されています。そのGitHubリポジトリはアーカイブされており、未解決の課題やマージされていないプルリクエストが積み上がっています。一方、ezaはフォークとして始まりましたが、eza-communityのメンテイナーたちによって、迅速なリリースや現代的なフラグ、迅速に配布パッケージが登場する活発なプロジェクトへと再構築されました。

Rustトリオ全体でパフォーマンスは安定しています。ユーザーからのベンチマークによれば、ezaとlsdは中程度のツリーでディレクトリリストを数十ミリ秒で実行し、比較可能な色や分類フラグを有効にすると、通常GNU lsに勝ります。ezaはRustの非同期に優しいエコシステムと緊密なシステムコールに依存しており、`--git`や`--tree`でリポジトリ全体を歩く場合でもレイテンシを低く保っています。

機能の深さでは、ezaがリードしています。`--git`、`--git-repos`、`--git-ignore`、`--colour-scale`、`--icons`、`--hyperlink`、`--only-dirs`、`--sort`を利用でき、`size`、`modified`、`created`、`extension`といったフィールドが利用可能です。lsdは美しいデフォルトやアイコンに焦点を当てていますが、高度なGitメタデータは飛ばしています。一方、exaは一部のGit情報を公開していますが、ezaが追加した新しいフラグやバグ修正を見逃しています。

エコシステムとドキュメントが決定的な要素です。ezaはHomebrewや主要なLinuxリポジトリに対応しており、詳細なマニュアルページ、さらにコミュニティテーマや設定スニペットも用意されています。さらに深く理解するためには、ezaでターミナルを変革する:lsがふさわしいアップグレード – DEV Communityで実用的な設定やエイリアスについて詳しく説明しています。

相まって、アクティブな開発、Rustのパフォーマンス、Gitファーストの機能セットにより、ezaは2024年にインストールできる最も優れた`ls`の代替品となります。

あなたの究極のEzaワークフローを作成する

エイリアスから始めましょう。ほとんどの人は、`~/.zshrc` または `~/.bashrc` のいくつかのハイレバレッジショートカットを使って `eza` を筋肉記憶にすぐに定着させます:

  • 1`alias ll="eza -l --group-directories-first --git --icons"`
  • 2`alias la="eza -la --group-directories-first --git --icons"`
  • 3`alias lt="eza --tree --level=2 --long --git --icons"`
  • 4`alias l1="eza --oneline --sort=name"`
  • 5`alias lg='eza -l --git --git-ignore --group-directories-first'`

これらの5つが、日常的なリスト表示の90%をカバーしています:詳細表示、すべてのファイル、ツリービュー、単一列表示、そしてGit対応ビューです。

次に、個人のデフォルトを作成し、それを`ls`自体にバインドします。多くの開発者が行います:

`alias ls="eza --グループディレクトリを先に表示 --アイコン --git --ヘッダー"`

そこから、あなたのワークフローに合ったフラグを追加してください:`--all` は dotfiles に住んでいる場合、`--binary` は人間が読みやすいサイズを重視する場合、または `--colour-scale=size` は常に `dist/` や `node_modules/` 内の大きなアーティファクトを探している場合です。

パワーユーザーは、特定のビューに複数の行動を組み合わせます。例:

  • 1`alias lcode='eza -l --git --git-ignore --sort=modified --group-directories-first src tests'`
  • 2`alias lbig="eza -l --sort=size --reverse --colour-scale=size"`
  • 3`alias lrecent='eza -l --sort=modified --reverse --colour-scale=age'`
  • 4`alias ldirs="eza --only-dirs --group-directories-first --tree --level=3"`

それらは複雑な意図を5〜6文字に圧縮します。「最近のコード変更を見せて」や「最大のファイルを表示して」など。

カスタマイズはフラッグだけでは終わりません。Ezaはテーマをサポートしており、コミュニティテーマを設定ディレクトリに追加することで(詳細はGitHubを参照)、瞬時に切り替えることができます。また、テーマガイドを使用して、権限、シンボリックリンク、およびGitの状態に合わせて色を手動で調整することも可能です。これにNerd Fonts、`--hyperlink`、および`--icons`を組み合わせれば、あなたのターミナルを密度の高い、ナビゲート可能なダッシュボードに変えることができます。

さあ、あなたの鋭い `eza` のエイリアス、テーマ設定、そして変わったワンライナーをコメントで投稿してみてください。他の誰かの三旗トリックが、あなたの新しいデフォルトになるかもしれません。

よくある質問

ezaとは何ですか?

Ezaは、従来の「ls」コマンドを置き換える、現代的で多機能なコマンドラインユーティリティです。Rustで書かれており、より優れたパフォーマンス、カラーコーディングされた出力、Git統合、ファイルアイコン、ツリービューなどを提供します。

ezaは「ls」の直接的な置き換えですか?

主にそうですが、完全ではありません。日常的に「ls」を「eza」にエイリアスすることはできますが、一部のフラグやソートの動作が異なります。例えば、時間でリストを逆順にするには、ezaではlsとは異なるフラグの組み合わせが必要です。

ezaをどのようにインストールしますか?

ezaは、macOSのパッケージマネージャであるHomebrew(`brew install eza`)や、Linuxのディストリビューションのパッケージマネージャ(例:`sudo apt install eza`)を使用してインストールできます。

なぜezaでアイコンを使用するためにNerd Fontが必要なのですか?

Nerd Fontsは、多数のグリフとアイコンでパッチ処理された特別なフォントです。Ezaはこれらのアイコンを使用して異なるファイルタイプやフォルダーを表現しますので、これらを正しく表示するには、Nerd Fontをインストールしてターミナルで設定する必要があります。

🚀Discover More

Stay Ahead of the AI Curve

Discover the best AI tools, agents, and MCP servers curated by Stork.AI. Find the right solutions to supercharge your workflow.

Back to all posts