| Crates.io | ptlist |
| lib.rs | ptlist |
| version | 0.2.4 |
| created_at | 2025-07-07 06:42:28.450627+00 |
| updated_at | 2025-07-07 07:04:57.050277+00 |
| description | A modern replacement for ls command with rich features and beautiful output |
| homepage | |
| repository | https://github.com/blkcor/ptlist |
| max_upload_size | |
| id | 1740813 |
| size | 75,469 |
一个功能强大的现代化文件列表工具,使用 Rust 编写,提供比传统 ls 命令更丰富的功能。
--format table) - 默认的现代化表格显示--format long) - 类似 ls -l 的详细信息显示--format tree) - 层次化的树状结构显示--format json) - 机器可读的 JSON 输出--extensions rs,txt,md) - 按文件扩展名过滤--min-size 1024 --max-size 1048576) - 按文件大小范围过滤--dirs-only / --files-only) - 只显示目录或文件--glob "*.rs") - 使用通配符模式过滤--all) - 显示隐藏文件和目录--sort name) - 自然排序,正确处理数字--sort size) - 按文件大小排序--sort modified/created) - 按修改或创建时间排序--sort type) - 按文件类型排序--order asc/desc) - 升序或降序--recursive) - 递归遍历子目录--max-depth 3) - 限制递归深度--human-readable) - 显示 KB、MB、GB 等单位--long) - 显示权限、所有者、时间戳等--summary) - 显示文件统计信息--no-color 禁用)cargo install ptlist
git clone https://github.com/blkcor/ptlist
cd ptlist
cargo build --release
编译后的可执行文件位于 target/release/ptlist
cargo install ptlist
# 列出当前目录
ptlist
# 列出指定目录
ptlist --path /home/user/documents
# 显示隐藏文件
ptlist --all
# 表格格式(默认)
ptlist --format table
# 长格式显示
ptlist --format long
# 树状格式
ptlist --format tree --recursive
# JSON 输出
ptlist --format json
# 只显示 Rust 文件
ptlist --extensions rs
# 显示多种扩展名
ptlist --extensions rs,txt,md
# 按大小过滤(大于 1KB 的文件)
ptlist --min-size 1024
# 只显示目录
ptlist --dirs-only
# 使用 glob 模式
ptlist --glob "test*"
# 按大小排序(降序)
ptlist --sort size --order desc
# 按修改时间排序
ptlist --sort modified
# 按文件类型排序
ptlist --sort type
# 递归列出所有文件
ptlist --recursive
# 限制递归深度
ptlist --recursive --max-depth 2
# 递归显示树状结构
ptlist --recursive --format tree
# 人性化大小显示 + 统计摘要
ptlist --human-readable --summary
# 组合多个选项
ptlist --recursive --extensions rs --sort size --order desc --human-readable
# 长格式显示大文件
ptlist --format long --min-size 100000 --sort size --order desc
╭────────────┬──────┬──────────┬─────────────────────┬─────────────╮
│ Name │ Type │ Size │ Modified │ Permissions │
├────────────┼──────┼──────────┼─────────────────────┼─────────────┤
│ Cargo.lock │ File │ 18.6 kiB │ 2025-07-07 02:54:50 │ -rw-r--r-- │
│ Cargo.toml │ File │ 951 B │ 2025-07-07 02:54:47 │ -rw-r--r-- │
│ src │ Dir │ 384 B │ 2025-07-07 02:58:11 │ drwxr-xr-x │
╰────────────┴──────┴──────────┴─────────────────────┴─────────────╯
Permissions Owner Group Size Modified Name
-rw-r--r-- chenzilong staff 18996 2025-07-07 02:54:50 Cargo.lock
-rw-r--r-- chenzilong staff 951 2025-07-07 02:54:47 Cargo.toml
drwxr-xr-x chenzilong staff 384 2025-07-07 02:58:11 src
Summary:
Files: 8
Directories: 1
Total Size: 52.1 kiB
File Statistics:
Files: 8
Directories: 1
Symlinks: 0
Hidden: 0
Total Size: 52.1 kiB
ptlist 支持智能颜色主题,根据文件类型自动着色:
.rs) - 亮红色.py) - 亮黄色| 选项 | 短选项 | 描述 |
|---|---|---|
--path <PATH> |
-p |
指定要列出的目录路径 |
--format <FORMAT> |
-f |
输出格式 (table/long/tree/json) |
--all |
-a |
显示隐藏文件和目录 |
--recursive |
-r |
递归列出目录 |
--max-depth <DEPTH> |
-d |
最大递归深度 |
--sort <FIELD> |
-s |
排序字段 (name/size/modified/created/type) |
--order <ORDER> |
-o |
排序顺序 (asc/desc) |
--extensions <EXTS> |
-e |
按扩展名过滤 |
--min-size <SIZE> |
最小文件大小(字节) | |
--max-size <SIZE> |
最大文件大小(字节) | |
--human-readable |
-H |
人性化大小显示 |
--long |
-l |
详细信息显示 |
--no-color |
禁用颜色输出 | |
--dirs-only |
只显示目录 | |
--files-only |
只显示文件 | |
--glob <PATTERN> |
-g |
Glob 模式过滤 |
--summary |
显示统计摘要 |
src/
├── main.rs # 主程序入口
├── cli.rs # 命令行参数解析
├── file_entry.rs # 文件条目数据结构
├── file_ops.rs # 文件系统操作
├── output.rs # 输出格式化
├── sorting.rs # 排序功能
├── filtering.rs # 过滤功能
├── colors.rs # 颜色主题
└── size_utils.rs # 大小格式化工具
欢迎提交 Issue 和 Pull Request!
本项目采用 MIT 许可证。
ptlist - 让文件列表变得更简单、更强大! 🚀