開源 · MIT · 純 bash · macOS
sheersweep
**掃描 · 確認 · 回收:刪除留給你。**
大部分的 Mac 清理工具是一個黑盒子:它要你信任它,同時刪掉你看不見的東西,還要你付月費。sheersweep 相反,它是一支你可以從頭讀到尾的 shell 腳本。釋放任何東西之前先讓你看它會釋放什麼,只清你的 Mac 自己會重建的快取與記錄,而且有一份寫死的清單,腳本裡沒有任何一行構得到那些東西。
它一次掃過 /Users 底下的每一個帳號。共用的 Mac、家人的 Mac 特別有感:其他工具永遠只看得到正在跑它的那個使用者。
運作原理
1.
掃描
sheersweep --dry-run 會印出每一項「會釋放多少」,然後什麼都不刪。跑一次、讀一遍,再決定。每次執行的結尾都附一份唯讀的地圖:你的硬碟到底去了哪裡,而且照「你能對它做什麼」分組。
2.
確認
沒有你點頭,什麼都不會走。移除一個 App 要你打出它的名字;一整批要你打出「幾個」。打錯就跳過那一個,其餘的完全不動。
3.
回收
所有東西都搬進垃圾桶,永遠不用 rm。每次執行都寫一張小收據,所以 sheersweep restore 一個指令就能把上一次的移除整批放回去,跨所有帳號。真正把空間拿回來的是「清空垃圾桶」,而那一步永遠是你的手,不是我們的。
主要功能
寫死的永不觸碰清單
照片、文件、桌面、Mail、鑰匙圈、任何 git repo、任何 Obsidian vault、App 容器與雲端同步資料夾。這不是一個你可以關掉的設定。腳本裡沒有任何一行構得到它們。
每個帳號,一次掃完
/Users 底下每一個家目錄的快取、記錄與暫存,現有的和未來的,加上系統層的位置各一次。大部分清理工具永遠只看得到跑它的那個使用者。
大部分工具跳過的 APFS 快照
如果本機的時光機快照還釘著那些空間,刪掉檔案是拿不回來的。sheersweep 會釋放它們,而且會告訴你它做了。空間通常就是在那一步才真的回來。
會把工作攤開來的移除
從一份編號清單挑,每個 App 都帶著它的完整足跡:App 本體,加上它在每個帳號底下擁有的一切,在你選之前就量好。2 GB 的 App 跟 200 MB 的是不同的決定,你不該事後才知道。
它會找出已移除 App 留下的東西
把 App 拖進垃圾桶,它的資料會留好幾年。sheersweep 用 bundle id 把這些殘留翻出來,而且只在「沒有任何已安裝的東西宣告那個 id」時才列,完全不用名字去猜。還在嘗試啟動一個已經不存在的程式的開機項目,也在同一份清單裡。
build 產物:主動選才動,永遠不併進 sweep
sheersweep reclaim 會找出你專案裡的 node_modules、.build、target 這些東西,但三道閘全過才算:git 忽略它、名字在一份短清單上、而且旁邊有 manifest 佐證那個 build 工具。每一列都帶著能重建它的指令,所以你有兩種撤銷。
誠實記帳
當 macOS 擋下一次搬移(App 容器連 root 都動不了),sheersweep 會明講哪幾項留在原地、為什麼、以及開關在哪。它從不自己去要那個權限;而「成功」那一行,只在它承諾的全部真的抵達垃圾桶時才會出現。
九種語言,零連網
英文 · 日文 · 繁體中文 · 簡體中文 · 韓文 · 西班牙文 · 德文 · 法文 · 葡萄牙文,全部內建。沒有遙測、沒有更新檢查、沒有帳號。它唯一交談的對象是你的硬碟。
試試看
brew install CVERInc/sheersweep/sheersweep,然後跑一次 sheersweep --dry-run,讀讀它找到什麼。一支 bash 檔、零依賴、MIT、macOS。如果你不想先裝任何東西,這支腳本短到可以直接在 GitHub 上讀完,而那正是重點。