不解压,先查文件
find 按通配符匹配文件清单中的路径。顺序压缩格式需要先扫描清单,查询结果不会写出文件。
使用 arcthis <command> <archive> [entry] 查看、读取和管理 ZIP、7z、RAR、TAR 及单文件压缩格式。
find 按通配符匹配文件清单中的路径。顺序压缩格式需要先扫描清单,查询结果不会写出文件。
grep 逐行搜索压缩包内的文本,限制文件大小、行长度、匹配数量和结果总量。默认跳过二进制文件。
hash 计算单个文件的 SHA-256 或 SHA-512 校验值;verify 从头到尾读一遍,一次性校验压缩包结构和每个可读文件。
pack、extract 和 convert 都支持 --dry-run:先把完整的执行计划列出来,确认无误再动手。真正的写入会先放到临时位置,验证通过后才会保存为最终结果。
--within 可以重复使用,逐层进入压缩包里的压缩包,全程在内存中完成,最多 8 层 —— 不会在磁盘上留下临时文件。
每个查询命令加上 --json 都会输出带版本号的 JSON:字段保持稳定,错误有固定类型并写入 stderr,退出码也是确定的。
识别格式看内容,不看扩展名:改错的扩展名骗不过它。不同格式的差异在底层各自处理,你面对的是统一的行为和诚实的能力说明。
| 格式 | 访问 / 解压 | 创建 | 读取方式 |
|---|---|---|---|
| zip | Stored/Deflate,含 ZipCrypto/AES 解密 | Deflate,不加密 | 可直接读取任意文件 |
| 7z | 支持,含 AES 解密 | LZMA2,不加密 | 取决于压缩结构 |
| rar / rar5 | 支持(经 libarchive) | 只读 | 需从头读到尾 |
| tar | 支持 | 支持 | 需从头读到尾 |
| tar.gz / tgz | 支持 | 支持 | 需从头解压 |
| tar.bz2 / tbz2 | 支持 | 支持 | 需从头解压 |
| tar.xz / txz | 支持 | 支持 | 需从头解压 |
| tar.zst / tzst | 支持 | 支持 | 需从头解压 |
| gzip | 单个文件 | 支持 | 需从头读到尾 |
| bzip2 | 单个文件 | 支持 | 需从头读到尾 |
| xz | 单个文件 | 支持 | 需从头读到尾 |
| zstd | 单个文件 | 支持 | 需从头读到尾 |
schema_version: "2" 的完整 JSON 文档,字段名与类型是公开的版本化接口。read 输出原始文件内容,并且拒绝 --json。inspect 报告 random_access、solid 等能力,Agent 可以在执行前推算操作成本。{ "schema_version": "2", "archive": { "path": "/data/dataset.zip", "path_lossy": false, "index_used": false, "format": "zip" } }
写入前检查路径、冲突和资源限制。输出先写入临时位置,成功后保存。
解压时会拒绝 ..、绝对路径、Windows 盘符/UNC 前缀、NUL 字节,以及可能跳出目标目录的链接。
输出先写到旁边的临时位置,全部文件成功后才正式保存;失败不会留下看似完整的半成品。
目标已存在时需明确选择覆盖、跳过或改名。源和目标互相包含时拒绝写入;批处理也会检查不同压缩包之间的路径冲突。
--delete-source 只在新文件写入、验证并正式保存之后才执行;任何错误、中断或验证失败都会保留源文件。
--allow-root 明确授权目录后始终可用。--allow-output-root 明确授权输出目录后才会出现。