不,這不是神奇寶貝球。
硬碟滿了,要怎麼找出佔用空間容量的最大檔案和最大資料夾呢?
覺得df/du指令排查Linux空間不直觀嗎?
如果想知道Linux電腦上究竟是什麼東西在佔空間,你可以使用KDE開發的圖形程式「Filelight」快速找出答案。
Filelight為一款跨平台的硬碟分析軟體,支援Linux/Windows/macOS系統。根據 Github用戶所做的測試指出,Filelight是Linux上所有硬碟分析軟體中載入最快的一款。
1. 安裝Filelight#
Filelight是KDE開發的開源軟體。
Ubuntu、Arch Linux、Fedora、openSUSE、Gentoo都有收Filelight套件。不要安裝Flatpak版,因其可能有權限問題。
# Ubuntu
sudo apt install filelight
# Arch Linux
sudo pacman -S filelight
Windows和macOS版,請到 官網下載。
至於讀取硬碟的部分,EXT4、BTRFS等常見的檔案系統Linux應該都支援,不過要讀取NTFS硬碟請記得裝ntfs-3g套件。
2. 使用Filelight分析硬碟空間#
- Filelight除了找出最大目錄外也能找出單一最大檔案。你可以按照需求掃描整個硬碟,或者單一目錄。
例如「根目錄」即為Linux系統所在的硬碟。
如果要掃描外接硬碟請點選「掃描資料夾」再手動選取該硬碟的路徑(通常Linux的外接硬碟會掛載到/media
或/run/media
)。
- Filelight不到一分鐘就可以完成掃描,然後就會印出下面圖表。
3. 解讀Filelight的圖表#
- 以這個根目錄的圖片為例。
左邊顯示的目錄則是你現在所在的目錄層級下的目錄。
右邊的圓圈代表目錄層級,內側的是最上層的目錄,外側為子目錄。
以彩虹顏色當作判斷依據,顏色越紅的代表佔用空間越多。
點下去紅色的區塊,它會帶你到對應的目錄,通常都是使用者家目錄(
/home/
)佔整個硬碟最多空間啦。不過這還不夠具體,難道我們要把自己資料都刪掉嗎?順著最紅的區塊往下走。
好了,現在答案呼之欲出了,我的電腦最佔空間的是這個
~/.local/share/flatpak
目錄。對左邊的目錄點一下即可刪除目錄或者檔案。(如果權限不足,請改用
sudo filelight
指令重新開啟本程式)但是刪除前請往下看。也可以在該位置開啟終端機
~/.local/share/flatpak
,用指令刪除檔案。
4. 如何清理Linux硬碟空間#
不要隨便就用sudo rm -rf
刪除檔案。
在開始之前,你要確認佔空間的究竟是單純的資料(例如影片、圖片文字),還是軟體套件在佔空間。
如果只是單純資料那麼用檔案管理器前往該目錄,整理檔案後刪除目錄就行。
但是如果是軟體套件請用對應指令移除,免得套件管理混亂。
以我的例子來說,~/.local/share/flatpak
是Flatpak套件管理器的儲存庫,如果要釋出空間,那麼當然是用flatpak本身的指令來刪除。
順帶一提,如果要找出最大的軟體套件,在Ubuntu可以用以下指令列出最大的系統套件,再使用apt purge
和apt clean
指令移除。
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n