eza 现代文件列表命令行
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/eza-modern-file-listing-cli
技能介绍
要解决的问题
原生 ls 命令输出信息有限:不区分文件类型颜色、不展示 Git 状态、无法以树状结构递归列出目录,也看不到扩展属性。日常开发中,开发者需要反复敲 ls -la、git status、tree 等多个命令才能拼凑出完整的目录视图,信息分散且低效。
核心能力与工作方式
eza 用单个 Rust 编译的二进制文件替代 ls,在一次调用中整合以下能力:
- 彩色输出:根据文件类型和权限自动着色,无需手动配置
LS_COLORS - Git 集成:在文件列表中直接标注未跟踪(
U)、已修改(M)、已暂存(A)等仓库状态 - 树状视图:通过
--tree参数递归展开目录结构,替代独立的tree工具 - 符号链接感知:用箭头标记 symlink 指向的真实路径,避免误操作
- 扩展属性支持:读取并显示 xattr 元数据,如文件标签或 ACL 信息
使用时可直接将 eza 作为 ls 的别名,或按需调用 eza --tree、eza -a 等参数组合。主题配置通过 docs/theme.yml 示例文件定义,可放置在指定目录生效。
适用边界与注意点
- 作为
ls的直接替代,需要确保终端支持 ANSI 转义序列以正确显示颜色 - Git 集成功能要求当前目录位于 Git 仓库内,否则相关状态标注不会出现
- 树状视图在深层嵌套的大型仓库中可能产生大量输出,建议配合
--depth限制层级 - 扩展属性读取依赖文件系统支持 xattr,部分网络文件系统可能不支持
- 详细参数说明请查阅
man eza手册页
使用场景
- 在 Git 仓库中浏览源码目录,想一眼看出哪些文件被修改或尚未跟踪,不用额外执行 git status
- 递归查看多层嵌套的项目结构,需要树状展示而不是逐个目录敲 ls
- 检查大量符号链接的目录,想确认每个链接指向的真实路径避免误操作
- 排查文件的扩展属性是否写入正确,比如给配置文档打标签后需要核对 xattr 信息
适合人员
- 后端工程师,经常在大型仓库中定位改动文件,需要快速感知 Git 状态
- 运维工程师,维护含大量软链接的服务目录,需要确认链接指向避免误删
- 命令行重度用户,希望用单一工具替代 ls、tree 等多个命令完成目录浏览