ls 的現代替代品。
eza是 Unix 和 Linux 作業系統附帶的久負盛名的檔案清單命令行程式ls
的一個現代的、經過維護的替代品,賦予它更多的功能和更好的預設設定。它使用顏色來區分文件類型和元資料。它了解符號連結、擴展屬性和 Git。而且它體積小、速度快並且只有一個二進位檔案。
透過故意做出一些不同的決定, eza 試圖成為ls
的一個更豐富、更用戶友好的版本。
exa 中未包含的eza功能(非詳盡):
修正了 exa 2021 中引入的「網格錯誤」。
超連結支援。
掛載點詳細資料。
Selinux 上下文輸出。
Git 儲存庫狀態輸出。
人類可讀的相對日期。
多項安全修復。
支援bright
終端顏色。
許多較小的錯誤修復/更改!
用於自訂顏色和圖示的配置theme.yml
檔案。
……而且,太多了,以至於一直更新這個變得很累。說實話,我們有很多好東西。
如果您已經安裝了支援 flake 的 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 : 每行顯示一個條目
-G , --grid :將條目顯示為網格(預設)
-l , --long :顯示擴展詳細資訊和屬性
-R , --recurse : 遞歸到目錄
-T , --tree :以樹狀遞歸到目錄中
-x , --across :對網格進行橫向排序,而不是向下排序
-F , --classify=(when) :按檔案名稱顯示類型指示符(始終、自動、從不)
--colo[u]r=(when) :何時使用終端顏色(總是、自動、從不)
--colo[u]r-scale=(field) : 清楚地反白顯示欄field
層級(全部、年齡、大小)
--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=(深度) : 限制遞歸深度
-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) :要忽略的檔案的 glob 模式(管道分隔)
傳遞--all
選項兩次也可以顯示.
和..
目錄。
當使用--long
( -l
) 運行時,這些選項可用:
-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 狀態(總是覆寫--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 : 以八進位格式列出每個檔案的權限
--no-filesize : 抑製檔案大小字段
--no-user : 抑制使用者字段
--no-time : 抑制時間字段
--stdin : 從標準輸入讀取檔案名
有些選項接受參數:
有效的--colo[u]r選項有always 、 automatic (或簡稱auto )和never 。
有效的排序欄位包括access 、 changed 、 created 、 extension 、 Extension 、 inode 、 modified 、 name 、 Name 、 size 、 type和none 。以大寫字母開頭的欄位將大寫字母排序在小寫字母前面。修改後的欄位具有別名date 、 time和Lastest ,而其反向欄位具有別名Age和oldest 。
修改、變更、存取和建立有效時間欄位。
有效的時間樣式有default 、 iso 、 long-iso 、 full-iso和relative 。
有關使用的更多文檔,請參閱man
頁。他們可用
在線上倉庫中
在您的終端機中通過man eza
,從版本[0.18.13] - 2024-04-25
開始
Eza最近新增了對theme.yml
檔案的支持,您可以在其中指定可用於LS_COLORS
和EXA_COLORS
環境變數的所有現有主題選項,以及為不同檔案類型和副檔名指定不同圖示的選項。任何現有的環境變數集將繼續運作,並優先考慮向後相容性。
查看官方 eza-themes 儲存庫中提供的主題,或貢獻您自己的主題。
範例主題檔案位於docs/theme.yml
中,需要放置在環境變數EZA_CONFIG_DIR
指定的目錄中,或預設在$XDG_CONFIG_HOME/eza
中尋找。
手冊頁上提供了完整的詳細信息,此處包含示例主題文件
如果您想為 eza 做出貢獻,首先,您應該遵守我們的行為準則。了解行為準則後,您可以查看我們的 CONTRIBUTING.md,以了解有關實際駭客攻擊的更多資訊。