2 个版本
0.1.1 | 2024年6月19日 |
---|---|
0.1.0 | 2024年6月19日 |
#531 in 命令行工具
93KB
2.5K SLoC
Trees-rs
Trees-rs 是一个纯 Rust 开发的命令行工具,用于在终端上以 ASCII 格式显示目录结构或将它们保存到文本文件。它无缝替代了用 C 编写的 tree 工具。此项目的首要目标是提供一个非臃肿且功能更强大的 tree 工具替代品。
安装
运行
cargo install trees-rs
或者您可以从源代码构建
cargo build --release
命令行选项
Tree-rs 提供了多个命令行选项
$ trs -h
Usage: tree-rs [OPTIONS]
Options:
-V, --version Print current version of Tree-rs.
-A, --absolute Print file/dir name along with it absolute path
-f, --relative Print file/dir name along with it relative path
-r, --reverse Sort entires in ascending order.
-S, --no-sort No entries sort.
-s, --sort Sort entries.
-F, --filesfirst Sort files first.
-c, --color Print entries with color.
-C, --color-less Print entries without color.
--visible Print visible entries only.
--all Print all entries.
--folder Print directoris only.
-m, --meta Print all default entry's metadata.
-p, --permission Print entires attribute.
--btime Print the date that the entry was created.
--mtime Print the date that the entry was modified.
--atime Print the date that the entry was last time accessed.
--size Print entires's size.
-L, --level <level-bounds> Print tree until certain depth. Default depth: 5000
-y, --yield Print exhaustive report
-B, --nobranch Discard branch's stick from the output
-h, --help Print help
示例用法
$ trs src -m
drwxr-xr-x 25-04-2024 08:51 19-06-2024 18:37 19-06-2024 18:38 4096 src
drwxr-xr-x 25-04-2024 08:51 19-06-2024 18:37 19-06-2024 18:38 4096 ├── cli
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 7286 │ ├── app.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 19:05 19-06-2024 19:05 6465 │ ├── arg.rs
.rw-r--r-- 15-05-2024 18:19 15-05-2024 18:19 19-06-2024 11:58 26 │ └── mod.rs
drwxr-xr-x 25-04-2024 08:51 19-06-2024 18:37 19-06-2024 18:38 4096 ├── config
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 7009 │ ├── color.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 2726 │ ├── inspect.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 81 │ ├── mod.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 5970 │ ├── registry.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 6205 │ ├── root.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 871 │ └── sorting.rs
drwxr-xr-x 25-04-2024 08:51 30-04-2024 07:41 19-06-2024 13:16 4096 ├── error
.rw-r--r-- 25-04-2024 08:51 03-04-2024 10:14 19-06-2024 11:58 16 │ ├── mod.rs
.rw-r--r-- 30-04-2024 07:41 30-04-2024 07:41 19-06-2024 11:58 1860 │ └── simple.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 892 ├── main.rs
drwxr-xr-x 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:38 4096 ├── render
drwxr-xr-x 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:38 4096 │ ├── attr
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 1129 │ │ ├── atime.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 1120 │ │ ├── btime.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 72 │ │ ├── mod.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 1129 │ │ ├── mtime.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 2286 │ │ ├── pms.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 869 │ │ └── size.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 1690 │ ├── buffer.rs
drwxr-xr-x 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:38 4096 │ ├── entree
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 993 │ │ ├── dirr.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 1056 │ │ ├── filee.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 3045 │ │ ├── headd.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 63 │ │ ├── mod.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 1051 │ │ └── symlinked.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 46 │ └── mod.rs
drwxr-xr-x 25-04-2024 08:51 19-06-2024 18:37 19-06-2024 18:38 4096 ├── report
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 378 │ ├── depth.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 59 │ ├── mod.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 82 │ ├── size.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 3645 │ ├── tail.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 152 │ └── widest.rs
drwxr-xr-x 25-04-2024 08:51 19-06-2024 18:37 19-06-2024 18:38 4096 ├── tree
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 1846 │ ├── branch.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 19:05 19-06-2024 19:05 1453 │ ├── level.rs
.rw-r--r-- 25-04-2024 08:51 05-05-2024 13:50 19-06-2024 11:58 45 │ ├── mod.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 9747 │ └── node.rs
drwxr-xr-x 25-04-2024 08:51 19-06-2024 18:37 19-06-2024 18:38 4096 └── walk
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 31 ├── mod.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 6987 ├── trctxt.rs
.rw-r--r-- 19-06-2024 18:37 19-06-2024 18:37 19-06-2024 18:37 3017 └── visit.rs
directories: 10, files: 37, hidden_files: 0, symlinks: 0, special_files: 0, total_items: 47, size: 122358 bytes
$ trs src -f
src
├── src/cli
│ ├── src/cli/app.rs
│ ├── src/cli/arg.rs
│ └── src/cli/mod.rs
├── src/config
│ ├── src/config/color.rs
│ ├── src/config/inspect.rs
│ ├── src/config/mod.rs
│ ├── src/config/registry.rs
│ ├── src/config/root.rs
│ └── src/config/sorting.rs
├── src/error
│ ├── src/error/mod.rs
│ └── src/error/simple.rs
├── src/main.rs
├── src/render
│ ├── src/render/attr
│ │ ├── src/render/attr/atime.rs
│ │ ├── src/render/attr/btime.rs
│ │ ├── src/render/attr/mod.rs
│ │ ├── src/render/attr/mtime.rs
│ │ ├── src/render/attr/pms.rs
│ │ └── src/render/attr/size.rs
│ ├── src/render/buffer.rs
│ ├── src/render/entree
│ │ ├── src/render/entree/dirr.rs
│ │ ├── src/render/entree/filee.rs
│ │ ├── src/render/entree/headd.rs
│ │ ├── src/render/entree/mod.rs
│ │ └── src/render/entree/symlinked.rs
│ └── src/render/mod.rs
├── src/report
│ ├── src/report/depth.rs
│ ├── src/report/mod.rs
│ ├── src/report/size.rs
│ ├── src/report/tail.rs
│ └── src/report/widest.rs
├── src/tree
│ ├── src/tree/branch.rs
│ ├── src/tree/level.rs
│ ├── src/tree/mod.rs
│ └── src/tree/node.rs
└── src/walk
├── src/walk/mod.rs
├── src/walk/trctxt.rs
└── src/walk/visit.rs
directories: 10, files: 37, hidden_files: 0, symlinks: 0, special_files: 0, total_items: 47, size: 122358 bytes
依赖项
~4–14MB
~179K SLoC