告别传统ls:exa命令行选项完全指南(2025最新版)
【免费下载链接】exa A modern replacement for ‘ls’. 项目地址: https://gitcode.com/gh_mirrors/ex/exa
你是否还在忍受ls命令单调的输出?是否曾为查找文件权限或Git状态而反复敲击键盘?作为现代命令行工具的代表,exa以色彩化输出、丰富元数据和Git集成彻底革新了文件列表体验。本文将系统梳理exa的全部高级选项,带你掌握从基础显示到专业级文件分析的完整技能链。读完本文,你将能够:
- 用一行命令生成含Git状态的树形文件结构
- 精确控制文件排序与过滤规则
- 自定义终端色彩主题与图标显示
- 掌握企业级文件审计所需的元数据查看技巧
基础显示模式:不止于列表
exa提供四种核心显示模式,可通过命令行选项快速切换:
网格视图(默认)
exa --grid # 或简写 -G
默认以多列网格展示文件,自动适应终端宽度。配合--across选项可实现横向排序:
exa -x # 横向填充网格,类似ls -x但更智能
源码实现参见src/output/grid.rs中的网格布局算法。
单行视图
exa --oneline # 或简写 -1
强制单列显示,适合管道操作:
exa -1 | grep "txt$" # 快速筛选文本文件
详细视图
exa --long # 或简写 -l
展示完整文件元数据,包括权限、所有者、大小和时间戳。扩展配置可在src/output/details.rs中查看格式定义。
树形视图
exa --tree --level=2 # 或简写 -T -L 2
递归显示目录结构,--level控制深度。结合详细模式使用效果更佳:
exa -lT -L 3 # 显示3级深度的树形文件详情
高级过滤与排序:精准定位文件
智能文件过滤
- 显示隐藏文件:
exa -a(等价于ls -a),使用-aa可额外显示.和.. - 仅列目录:
exa -D(比ls -d */更直观) - Git忽略文件:
exa --git-ignore(需Git支持,源码在src/fs/feature/git.rs) - 自定义排除:
exa -I "*.log|*.tmp"(管道分隔的glob模式)
多维度排序
exa --sort=size --reverse # 从大到小排序文件
exa -s modified # 按修改时间排序(可简写-snewest)
支持的排序字段包括:
name/Name(大小写敏感)extension/Extension(扩展名排序)size(文件大小)modified/accessed/created(时间戳)inode(索引节点号)type(文件类型)
排序逻辑实现位于src/options/sort.rs,可通过--group-directories-first确保目录置顶。
专业级元数据查看
详细视图增强选项
启用--long模式后,可添加以下参数扩展信息维度:
| 选项 | 功能 | 应用场景 |
|---|---|---|
-b/--binary | 二进制前缀显示大小(KiB, MiB) | 技术文档撰写 |
-B/--bytes | 原始字节数显示 | 精确磁盘分析 |
-i/--inode | 显示inode编号 | 文件系统调试 |
-@/--extended | 扩展属性 | macOS/Linux权限审计 |
--git | Git状态指示器 | 版本控制工作流 |
示例:完整审计命令
exa -lhb@ --git --time-style=long-iso
将显示:二进制大小、扩展属性、Git状态和ISO格式时间戳。
Git集成详解
当启用--git选项时,状态列将显示两个字符:
- 第一字符:暂存区状态
- 第二字符:工作区状态
可能的状态码包括:
M:已修改N:新文件D:已删除R:已重命名I:已忽略-:无变化
实现逻辑参见src/output/render/git.rs中的状态解析代码。
个性化终端体验
色彩与主题
- 强制彩色输出:
exa --color=always(即使重定向到管道) - 大小色彩分级:
exa --color-scale(按文件大小梯度着色) - 自定义配色:通过
EXA_COLORS环境变量配置,语法参考man/exa_colors.5.md
图标显示
exa --icons # 为不同文件类型显示图标
图标集定义在src/output/icons.rs,可通过EXA_ICON_SPACING环境变量调整图标间距。
实战场景示例
场景1:项目结构文档生成
exa -lT --git --level=4 > project_structure.txt
生成包含Git状态的4级目录树,可直接用于项目文档。
场景2:大文件清理
exa -lSrb --no-user --no-time | head -10
快速定位占用空间最大的10个文件,排除用户和时间信息干扰。
场景3:权限审计
exa -l --octal-permissions --no-filesize
以八进制显示权限位,便于脚本解析权限问题。
安装与配置
exa已在主流Linux发行版和macOS中打包:
- Debian/Ubuntu:
sudo apt install exa - Fedora/RHEL:
sudo dnf install exa - macOS:
brew install exa - 源码编译:
cargo install exa(需Rust环境,见README.md)
建议添加别名到.bashrc或.zshrc:
alias ll='exa -l --git --icons'
alias tree='exa --tree --level=3'
总结与扩展阅读
exa通过现代化设计重新定义了文件列表工具的标准,其核心优势在于:
- 零配置即可用的色彩系统
- 深度Git集成与文件元数据展示
- 高度可定制的输出格式
- 性能优化的递归遍历算法(见src/fs/dir.rs)
官方文档:
- 完整选项说明:man/exa.1.md
- 色彩配置指南:man/exa_colors.5.md
- 开发指南:devtools/README.md
掌握这些选项后,你将彻底告别繁琐的ls组合命令,以更高效的方式掌控文件系统。现在就用exa --long --git命令查看你的项目目录,体验现代命令行工具的强大魅力!
【免费下载链接】exa A modern replacement for ‘ls’. 项目地址: https://gitcode.com/gh_mirrors/ex/exa
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考




