feat: 新增 disk usage 内置命令(跨平台 du 等价)
- 注册表新增 Variant.Builtin 内置动作,与 Argv 互斥并参与平台匹配 - disk.usage 支持位置参数与 --path/--path=,输出按大小降序并带合计 - Unix 用设备号实现 -x 不跨文件系统,Windows 降级为不跟随 reparse point - list/help/explain 支持展示内置动作,补充单元与 CLI 测试、README
This commit is contained in:
@@ -44,6 +44,32 @@ func Builtin() *Registry {
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
ID: "disk.usage",
|
||||
Aliases: []string{"disk.du"},
|
||||
Group: "disk",
|
||||
Summary: "列出目录下各直接子项的占用空间,按大小降序",
|
||||
Action: "等价于 du -x --max-depth=1 -h <路径> | sort -hr:统计每个直接子项(文件或目录递归)的占用," +
|
||||
"不跨越文件系统边界,末尾输出该路径的合计。路径必填,可作位置参数或用 --path 指定;" +
|
||||
"由于 Windows 没有等价的 du/sort,这里使用 kopsc 内置实现以保证三平台输出一致",
|
||||
Variants: []Variant{
|
||||
{
|
||||
Match: Match{OS: "linux"},
|
||||
Builtin: "disk.usage",
|
||||
Note: "Linux 内置实现(等价 du -x -d 1 -h | sort -hr)",
|
||||
},
|
||||
{
|
||||
Match: Match{OS: "darwin"},
|
||||
Builtin: "disk.usage",
|
||||
Note: "macOS 内置实现(BSD du 不支持 --max-depth)",
|
||||
},
|
||||
{
|
||||
Match: Match{OS: "windows"},
|
||||
Builtin: "disk.usage",
|
||||
Note: "Windows 内置实现(系统没有 du/sort)",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
ID: "net.ports",
|
||||
Group: "net",
|
||||
|
||||
Reference in New Issue
Block a user