curl -fL 'https://www.helper.sh/tree-to-file.sh' -o './tree-to-file.sh' 此命令只下载本站文件,不会执行。请先检查保存的源码并核对版本,再决定是否运行。
开发工具
一个托管在 helper.sh 的 Shell 脚本,适用于 Linux、macOS 和常见 Unix 环境,用来把经过过滤的目录树导出到文本文件。它优先使用系统自带的 tree;如果未安装,会根据当前环境尝试调用包管理器安装;如果安装仍不可行,则自动退回到内置的 find + awk 方案,但权限或文件系统错误仍可能导致失败。
与本页面构建时内置的确切字节比较。文件只在当前标签页处理,此工具不上传、不持久化文件。上限 2 MiB。
预期 SHA-2565abd1198eb756cd94316669022678802d59c1121f221cb879d6255259d47097d
内置文件字节数: 2797
保存校验文件将脚本和校验文件保存在同一目录。Linux 安装 GNU Coreutils 后可用下方命令只检查字节,不运行脚本;使用此命令时需保留原文件名。
sha256sum --check './tree-to-file.sh.sha256' 尚未比较。
所选文件 SHA-256
校验值与脚本来自同一网站,不是独立签名。一致不证明安全、上游依赖真实可信或适合本机;可变远程依赖需单独审阅。
遇到权限、包管理器或写入错误时,保留已有输出并检查报错。若不接受自动软件包变更,应先通过批准的流程单独安装 tree。确认工作目录并选择新的输出文件名;脚本没有备份或回滚。
先下载、审阅并核对版本,再决定是否执行。哈希只能标识这一版字节,不能证明安全。pipe 命令会立即执行远程内容;上游依赖也可能变化。
这是源码审阅,不是文件系统扫描或导出通过的证明。沿用上方已有操作限制,下列实例帮助你在运行和分享前做具体判断。
扫描根目录始终是当前工作目录。第一个参数是输出文件名,不是源目录;第二个是忽略规则。空参数会使用默认值(tree.txt和内置忽略列表)。源码没有选项解析,不要把--help或--no-install当作已支持的开关;多余参数不能设置深度或扫描根目录。
Shell的 > 会在遍历前创建或截断输出,并可能跟随已有输出符号链接;渲染失败仍可能留下空的或不完整的替代文件。为避免把输出本身列入清单,选择扫描树之外、经核实的新输出位置,其父目录必须已存在且可写。这不会增加备份、防覆盖或原子写入能力。
这些命令只显示当前目录和命令位置,不运行导出器、不安装软件、不验证权限或证明兼容。如果没有tree且不允许软件包变更,请停止;此脚本没有禁止安装的开关。
pwd
command -v tree
command -v find
command -v sort
command -v awk 以下是源码/文档推导的示例,不是实测输出。“排除”只表示不显示,不代表禁止访问;备用分支仍会遍历被忽略目录。tree版本可能不同,请核对已安装版本的手册。
| 规则 / 示例路径 | tree分支 | find/awk备用分支 |
|---|---|---|
| node* / node_modules/file.js | 通配符匹配,排除该名称 | 字面量node*不等于node_modules,路径仍保留 |
| .git / .git/config | 由-I排除 | 路径组成部分完全相同,因此排除 |
| 内置默认规则 / .env | 不在默认排除列表内 | 不在默认排除列表内 |
排除名为.gitignore的文件,不等于读取其中的规则;源码没有传入tree --gitignore。即使不导出文件内容,隐藏名称和符号链接目标也可能泄露私有信息,分享前请检查实际保存的名称。
备用分支在sh的set -eu下使用find | sort | awk,没有设置pipefail。以管道末尾命令状态为准的Shell中,find/sort报错后awk仍可能成功,随后显示“Wrote”。文件名含换行也会破坏逐行表示。请查看标准错误及已知路径;文件非空或退出码0都不能单独证明完整。保留不完整输出作为线索,私下诊断,不要盲目覆盖同一输出重跑。
变更已结束支持的主机前,先区分仓库故障、SSH 访问问题和 Docker 存储压力。
查看专题