MacOS空間清理

Mac電腦現在都用SSD硬盤,速度超快用起來很爽,但價格貴,同樣價格下容量比傳統硬盤低很多,因此用不了多久就開始捉襟見肘。尤其對於開發者來說,Xcode經常升級,每次升級後舊的模擬器、系統文件、項目緩存文件都不會自動刪除,結果就是沒用的文件佔有越來越多的空間,白白浪費了。

今天升級Xcode,系統提示空間不足,無法升級,只能手動清理一下了。下面是清理過程,供有同樣問題的朋友參考。

首先第一步,通過清空垃圾桶把已經刪除文件佔用的空間釋放出來。如果這樣搞了之後空間達到預期,那就可以收工了。如果不行,就繼續往下走。

在Home目錄下通過 du 命令查看目錄佔用情況:

$: du -sm *
# 其它目錄忽略了,重點是這兩個目錄
20891	Downloads
102860	Library

Downloads目錄就是平時下載的各種文件,可以通過按日期排序,把3個月前的都刪除,只要自己平時養成一個習慣,下載的好東東都移動到其它目錄,不要放在Downloads目錄下,這樣方便清理。

然後看Library目錄:

$ cd Library
Library$ du -sm *
# 其它目錄忽略,只看佔用空間最大的
51509	Developer

Developer目錄佔用了50G,這是Xcode的相關文件存放目錄,進去看內容:

Library $ cd Developer
Developer $ du -sm *
25346	CoreSimulator
0	Shared
29	XCPGDevices
146	XCTestDevices
25990	Xcode

一半是CoreSimulator,一半是Xcode,先看CoreSimulator:

Developer $ cd CoreSimulator
CoreSimulator $ du -sm
4496	Caches
21567	Devices
0	Temp

主要都被Devices目錄佔用了,這個目錄下是一大堆UDID命名的目錄,這是各種版本的iOS模擬器,升級Xcode時會自動安裝新版本模擬器,但不會刪除舊的,所以就會越來越多,而這些舊版本模擬器幾乎不會再用到了,可以放心刪除。當然,刪除的時候要把當前Xcode版本用到的模擬器保留,否則就需要重新安裝Xcode了。可以在Xcode的Devices and Simulators工具裏查看目前用的是哪些模擬器,模擬器的Identifier就是對應的目錄名。如果目錄太多,可以用bash腳本生成刪除命令:

$ cd Devices
$ ls -l | awk '{print "rm -rf " $9;}'
rm -f 1BC92CCF-99BA-4C36-93E2-CB3BE5331BDF
rm -f 2B19E9FF-410E-457A-8145-E3BA7C776D91
rm -f 30A62EF4-5874-4A29-B86A-D9E6F24E72A2
rm -f 3434DC6D-45A8-45E0-A0C0-32AA1AC2CDF3
rm -f 381CF61E-F835-4A2D-95B5-975BBBC1CDF5
rm -f 3B564390-1D12-4044-98B3-B3E3F17822F1
rm -f 413BBEBF-1A74-42D7-8CC7-7BE5935FFFD2
rm -f 4E5F6F88-354D-4A34-BAB7-86F2B2E046A1
rm -f 4F3689E5-F3A8-420E-809A-3A07D136AAC7
rm -f 63F590FD-B459-457B-9AF1-7E3940E96498
rm -f 78E9FEFF-E379-4B19-BB68-961D21E55E6A
rm -f 81615E93-E27B-4CE5-8B68-BD2825E0DE07
rm -f 82476019-C4E2-4BCB-BF1E-DEF25F3C7E13
rm -f 8C6A2F90-0685-4ADA-AB66-CDDF2F942F8B
rm -f 8CF34315-380F-4218-951D-1C902E4ABE89
rm -f 99A844D2-76F5-4CDB-AB10-C762B083B8CF
rm -f 9E860AB5-DBFA-457F-BED6-046D0273DCF6

把這些命令複製下來,刪除目前用到的模擬器ID,就可以運行刪除。

下面再看Xcode目錄:

$ cd ../Xcode
$ du -sm *
905	Archives
3027	DerivedData
304	Templates
980	UserData
689	iOS Device Logs
19865	iOS DeviceSupport

其中 iOS DeviceSupport是iOS編譯鏈接需要的庫文件,不能刪除。Archives和DerivedData、iOS Device Logs都是開發過程中生成的文件,可以放心刪除。

整個操作下來,釋放了100多G的空間,世界終於清淨了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章