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 儲存壓力。
查看專題