網頁

2020年5月20日 星期三

整理 Mac 磁碟空間

硬碟使用一段時間後會發現磁碟空間被一些不知名的檔案佔據空間造成磁碟空間不足或是速度變慢,像是在Mac 磁碟資訊中顯示 (下圖左):


經過清理後磁碟資訊中顯示 (上圖右),下面就來說說如何清理。
 
其中"5.06GB 可清除"的資料佔據磁碟空間,要怎麼找到這是什麼檔案呢?
1. 首先先確認時光機(Time Machine) 自動備份是關閉的 (自動備份不勾選)。

2. 於蘋果選單【關於這台Mac】,點選【儲存空間】:
 按下【管理】:
3. 使用 diskutil 指令釋放磁碟空間:
輸入 df -h 檢視目前掛載磁碟名稱,下圖中 /dev/disk1s1 是我的主要磁碟邏輯名稱。
輸入 diskutil secureErase freespace 0 /dev/disk1s1
過程需要一段時間要耐心等一下


4. 當使用Time Machine自動備份但又沒有裝上備份碟,OSX系統會將備份檔案佇列成快照
(snapshots) 檔案,可以用下面指令檢查並列出:
sudo tmutil listlocalsnapshots /

執行
sudo tmutil deletelocalsnapshots
刪除快照檔
以上面的例子,快照檔是 com.apple.TimeMachine.2020-05-20-084339
所以刪除這個檔案可以輸入:
sudo tmutil deletelocalsnapshots 2020-05-20-084339
 

要是覺得一個一個刪除太慢也可以寫成 shell script 自動執行:
#!/bin/bash
echo "Snapshots file:"
tmutil listlocalsnapshots /
echo "----------------------------------------"
for snapshot_file in $(tmutil listlocalsnapshotdates | grep "-"); do
    sudo tmutil deletelocalsnapshots $snapshot_file;
done




如此可以將佔據磁碟的一些暫存檔清除,釋放出一些磁碟空間。


可以參考:

1. OSX 刪除時光機快照檔案