Ubuntu 磁碟空間指南:如何檢查可用空間並解決問題—您所需的一切

目次

1. 先決知識:Linux/Ubuntu 中的儲存結構與掛載

在 Ubuntu(以及大多數基於 Linux 的作業系統)上檢查儲存容量時,有一些基本的結構您需要正確理解。本節整理了經常引起混淆的概念:

  • 裝置與分區的含義
  • 掛載與掛載點
  • LVM(邏輯卷管理)的基礎
  • 典型的 Ubuntu 配置

我們將逐步介紹每個要點。

1.1 裝置與分區基礎

裝置(實體與邏輯磁碟)

在 Linux 中,每個儲存裝置都被視為一個裝置檔案。例如,HDD、SSD、USB 隨身碟等,會以 /dev/sda/dev/sdb/dev/nvme0n1 等形式出現。
尾隨的字母(abc…)表示系統偵測到裝置的順序。

分區

單一實體裝置可以直接使用,但通常會將其分割成數個邏輯區段(分區)。分區化可讓您將 OS、資料、記錄等分開,以利更容易管理。

例如,/dev/sda1/dev/sda2 表示裝置 sda 上的第一個與第二個分區。每個分區上會建立檔案系統,實際資料儲存在其中。
(Linux 中分區的範例說明)Engineer’s Entrance

分區使用如 MBR(舊式)或 GPT(新式)等分區表格式,每種格式皆有其限制與優點。

1.2 掛載與掛載點

掛載

為了讓檔案系統可用,您必須掛載它—即將分區(或邏輯卷)與特定目錄(掛載點)關聯起來。若未掛載,您無法存取該分區上的資料。

例如,即使 /dev/sda1 包含 ext4 檔案系統,您仍需執行 mount /dev/sda1 /mnt/data,才能在 /mnt/data 下工作。

掛載點

掛載檔案系統的目錄稱為掛載點。典型的範例包括:

  • / – 根目錄,整個系統的起點
  • /home – 使用者家目錄
  • /var – 記錄、快取、可變資料
  • /boot – 開機相關檔案

將不同分區指派至不同掛載點是一種常見做法。

在 Ubuntu 與大多數 Linux 作業系統中,檔案 /etc/fstab 會列出「哪個裝置/UUID 在何處掛載(於開機時自動執行)」。

1.3 LVM(邏輯卷管理)概覽

純分區化可能使後續變更變得困難。LVM(邏輯卷管理器) 解決了此問題。

LVM 核心元件

  • 實體卷 (PV) – 實體磁碟或分區。
  • 卷組 (VG) – 將多個 PV 彙整成單一大型資源池。
  • 邏輯卷 (LV) – 從 VG 中取出的區段;在 LV 上建立檔案系統。

此階層結構讓您之後能夠擴充或縮減邏輯卷,或將更多實體磁碟新增至資源池中。

LVM 的優點與注意事項

優點

  • 彈性的調整大小
  • 將多個磁碟合併成單一資源池
  • 輕鬆建立快照以進行備份

注意事項

  • 配置與操作更複雜
  • 若處理不當,可能有資料遺失風險
  • 擴充步驟與非 LVM 設定不同

Ubuntu 的安裝程式經常提供 LVM 選項,但許多使用者會依需求選擇不使用它。

1.4 典型的 Ubuntu 配置

確切的配置因情況而異,但常見模式包括:

單一分區(簡單)配置

所有檔案皆位於根目錄 (/) 下。更簡單,但後續分割或擴充可能較困難。

分割配置範例

  • / – 系統檔案
  • /home – 使用者資料
  • /var – 記錄與可變資料
  • /boot – 開機載入器檔案
  • Swap(交換分區或交換檔案)

將這些分開有助於防止記錄或快取增長而填滿整個系統。

LVM + 邏輯卷

更進階的設定:

  • 實體磁碟 → PV
  • 多個 PV → VG
  • //home/var 等 → 個別 LV
  • 依需求之後新增或擴充 LV

使用 LVM,您可以彈性地新增磁碟或擴大邏輯卷。

2. 檢查容量的基本命令

在 Ubuntu 上,使用命令列是檢查磁碟使用情況最可靠且靈活的方式。即使在無頭伺服器上,您也可以精確看到哪些磁碟在使用中,以及哪些目錄佔用了空間。

下面是核心的 dfdu 命令,以及一些輔助工具。

2.1 使用 df 檢查整個檔案系統

df 的功能

df (磁碟可用空間) 顯示每個檔案系統的總計、使用中和可用空間。這是 Linux 上檢查容量最常見的方式。

基本用法

df -h

此命令以「人類可讀」單位 (K, M, G) 列出每個檔案系統。主要欄位:

ColumnMeaning
FilesystemDevice name (e.g., /dev/sda1)
SizeTotal size of the filesystem
UsedSpace already used
AvailFree space remaining
Use%Percentage used
Mounted onMount point (e.g., /,
OptionDescription
-hDisplay sizes in MB/GB units (handy for a quick view)
-TAlso show the filesystem type (e.g., ext4, xfs)
--totalAppend a total line at the end
df -h /homeShow only the filesystem that contains the specified directory

範例

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2       100G   55G   40G  59% /
/dev/sda1       512M  120M  392M  24% /boot
tmpfs            16G   32M   16G   1% /run

從此輸出中,您可以一目了然地看到每個區域使用了多少空間。

注意事項

  • 未掛載的分區 不會包含在 df 的輸出中。
  • 如果 Snap 套件 ( /var/lib/snapd/snaps ) 佔用了空間,您需要單獨檢查它們。
  • 沒有 root 權限,有些掛載點是不可見的。

2.2 使用 du 命令檢查目錄層級使用情況

du 的概述

du (磁碟使用量) 是一個 報告目錄和檔案大小 的命令。
雖然 df 給您「大局觀」,但 du 幫助您找出「重型東西在哪裡」。

基本用法

du -sh /home

在這個範例中,/home 目錄的總使用量以「人類可讀」格式 (-h) 顯示。

常見選項

OptionDescription
-sShow only the total (suppress details)
-hAuto‑scale units for readability
--max-depth=1List usage of items directly under the specified directory
-cShow a grand total at the end
--exclude=PATTERNExclude specific folders (e.g., caches)

範例 (整體比較)

sudo du -h --max-depth=1 /var

範例輸出:

1.2G    /var/log
2.5G    /var/lib
800M    /var/cache
4.5G    /var

這讓您快速看到哪些資料夾佔用了空間。

進階:依大小排序

透過結合 dusort,您可以輕鬆找出大型目錄。

sudo du -hsx /* | sort -rh | head -10

此命令計算每個頂層資料夾的使用量並顯示前 10 名。
這對於在整個系統中追蹤「吞噬空間的罪魁禍首」非常有效。

注意事項

  • 深層目錄樹可能需要一段時間處理。
  • 沒有 root 權限,有些目錄不會報告準確的大小。
  • 即使在快速 SSD 上,測量數十 GB 也可能需要幾分鐘。

2.3 其他實用的輔助命令與工具

lsblk:檢視區塊裝置配置

lsblk

lsblk 以樹狀格式顯示磁碟裝置及其分區配置。
這是將大小與掛載點視覺關聯的便捷方式。

範例:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0   100G  0 disk
├─sda1   8:1    0   512M  0 part /boot
└─sda2   8:2    0  99.5G  0 part /

ncdu:互動式磁碟使用量分析器

如果您想要比 du 更直觀的介面,請試試 ncdu (NCurses Disk Usage)。
使用以下命令安裝:

sudo apt install ncdu

執行它:

sudo ncdu /

使用方向鍵展開和收合資料夾,並查看哪些目錄佔用了空間。
因為它無需 GUI 即可運作,因此在伺服器和工作站上都很受歡迎。

find 結合

要僅找出最大的檔案,請使用 find

sudo find / -type f -size +1G

這會搜尋所有大於 1 GB 的檔案,幫助您識別不必要的檔案,例如日誌或虛擬機器映像。

2.4 使用哪種方法?(比較摘要)

GoalExample commandCharacteristics
Check overall free spacedf -hShows usage per filesystem
Find size of a specific folderdu -sh /pathDisplays detailed size
Locate space‑eatersdu -hsx /* | sort -rhSorts directories by size
View device layoutlsblkVisualizes partition relationships
Find large filesfind / -type f -size +1GFilters by size condition

3. 使用 GUI 檢查磁碟使用情況 (Ubuntu Desktop)

Ubuntu 提供圖形工具,讓您無需開啟終端機即可查看磁碟使用情況。下面是兩種常見方法。

  • 內建的 檔案管理器 (Nautilus)
  • 磁碟使用量分析器 (Baobab)

我們將檢視每個工具的功能和使用方法。

3.1 使用檔案管理器 (Nautilus) 檢查可用空間

Ubuntu 的預設方法

如果您使用 Ubuntu Desktop,最簡單查看磁碟空間的方式是開啟 檔案管理器 (Nautilus)

  1. 點擊左側停靠欄(應用程式啟動器)中的 Files 圖示。
  2. 查看視窗右上角或左下角的 status bar
  3. 您會看到類似「xx GB 已使用,共 yy GB」或「zz GB 可用」的資訊。

這能讓您立即查看系統磁碟的可用空間。

透過 Properties 查看詳細資訊

右鍵點擊資料夾或磁碟圖示並選擇 Properties
此對話方塊顯示該特定資料夾的已用空間和可用空間,這對於檢查如 /home/Downloads 等目錄非常方便。

優缺點

ProsCons
One‑click, very easyHidden or system areas are not obvious
Beginner‑friendlyDoesn’t reveal /var/log, system partitions, etc.

GUI 非常適合快速了解整體使用情況,但對於深入分析,您會需要 Baobab。

3.2 磁碟使用量分析器 (Baobab)

Baobab 是什麼?

Baobab (Disk Usage Analyzer) 是一個圖形化工具,它掃描您的檔案系統並以互動式樹狀圖或環形圖呈現結果。它讓您能夠透過視覺概覽快速找出大型目錄和檔案。

安裝

sudo apt install baobab

啟動

您可以從應用程式選單啟動它(搜尋「Disk Usage Analyzer」)或執行:

baobab

使用方法

  1. 選擇要掃描的位置(例如,「Home Folder」、「Filesystem」或自訂路徑)。
  2. 掃描完成後,樹狀圖會將每個資料夾顯示為一個矩形,其大小與空間消耗成比例。
  3. 將游標懸停或點擊矩形以查看確切大小和路徑。
  4. 右鍵點擊資料夾以在檔案管理器中開啟它或直接刪除。

因為 Baobab 不需要完整的桌面環境即可運作,因此在輕量級 Ubuntu 版本中也很有用。

優點

  • 視覺化、直觀的磁碟使用量表示。
  • 輕鬆導航至最大的空間消耗者。
  • 不需要記住命令列選項。

限制

  • 掃描非常大的檔案系統可能需要幾分鐘。
  • 需要圖形化工作階段(不適合無頭伺服器)。

Baobab (官方名稱:Disk Usage Analyzer) 是 Ubuntu 預設提供的圖形化工具,它使用 餅圖和樹狀圖 視覺化顯示每個資料夾的使用空間。

它大多數系統上預設安裝,但如果不存在,您可以透過以下方式新增:

sudo apt install baobab

如何啟動

  1. 在 Activities 中搜尋「Disk Usage」(左上角搜尋列)
  2. 點擊 Disk Usage Analyzer (Baobab) 以啟動它
  3. 啟動後,選擇 Scan FolderScan Whole Filesystem

短暫掃描後,餅圖或樹狀視圖將視覺化顯示每個目錄的使用量。

範例視圖 (影像)

  • 越往外去,目錄層級越深
  • 每個區段的大小由餅圖切片的區域表示

視覺提示讓您一眼就能看出 哪些資料夾過度膨脹

主要功能

FeatureDescription
Specify Scan TargetYou can limit the scan to a specific directory such as /home
Tree ViewBrowse the folder structure and sizes in a list
Identify Unneeded FilesSpot large folders instantly
Right‑click → OpenOpen the selected directory directly in the file manager

優點與注意事項

優點

  • 圖形化顯示對初學者來說直觀
  • 幫助決定要刪除或重新組織什麼
  • 以 root 身分執行可分析系統分割區

注意事項

  • 掃描整個系統可能需要時間
  • 權限限制可能無法準確測量某些資料夾
  • 大型磁碟在掃描時可能增加記憶體使用量

3.3 使用 GNOME Disks 檢查磁碟資訊

Ubuntu 還包含標準應用程式 GNOME Disks (Disk Utility)
它讓您檢查 磁碟結構本身,顯示不僅僅是可用空間的資訊:

  • 裝置名稱(例如,/dev/sda
  • 檔案系統類型 (ext4、NTFS 等)
  • 掛載點
  • 使用量圖表

如何啟動:

  1. 在 Activities 中搜尋「Disks」
  2. 開啟 GNOME Disks
  3. 從左側清單中選擇一個磁碟

視覺化量表顯示使用量,以圖形化形式提供與 df 相同的資訊。

3.4 何時使用 GUI 與命令列

在 Ubuntu 桌面環境中,GUI 工具通常足以進行儲存管理。
然而,對於 精確故障排除或伺服器管理,命令列工具如 dfdu 至關重要。

SituationRecommended Tool
Quick check of free spaceFile manager (Nautilus)
Find large foldersBaobab (Disk Usage Analyzer)
Inspect device layoutGNOME Disks
Server or remote environmentdf, du, lsblk, ncdu

3.5 如果沒有 GUI (伺服器使用者)

如果您正在運行 Ubuntu Server 或其他沒有 GUI 的環境,Baobab 和檔案管理器就無法使用。

在這種情況下,請依賴先前介紹的 dfduncdu 命令;它們提供詳細的基於文字的儲存空間分析。

摘要

使用 GUI 可以讓您以 幾個點擊 檢查儲存空間並找出清理點。
特別是 Baobab,是從 Ubuntu 新手到進階使用者的必備工具。
透過混合本章所述的方法,日常儲存空間監控變得更加輕鬆。

4. 低磁碟空間的調查步驟和補救措施

隨著時間推移,長期使用和累積的套件更新可能導致 Ubuntu 的磁碟空間不足。
讓系統處於低空間狀態可能導致更新失敗、遺失日誌,以及整體不穩定。
本節逐步說明 如何診斷低空間問題以及有效的解決方法

4.1 辨識低空間症狀

首先,辨識儲存空間即將耗盡的跡象。請注意:

  • apt upgrade 報告「可用空間不足」
  • GUI 警告「磁碟空間不足」
  • 應用程式無法儲存設定或寫入日誌
  • /var/tmp 填滿,導致行為遲緩

當您看到這些時,是時候確定 空間被用在哪裡,而非僅僅增加更多空間。

4.2 步驟 1:取得使用概覽 (df)

df -h 開始,以查看整體容量:

df -h

範例輸出:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        50G   48G  1.2G  98% /
/dev/sda1       512M  120M  392M  24% /boot

任何掛載點的 使用率 ≥ 90% 都需要注意,特別是 //var/home

4.3 步驟 2:找出哪些目錄消耗空間 (du)

一旦您知道有問題的分區,請使用 du 深入調查。

範例:顯示前 10 名空間消耗項目

sudo du -hsx /* | sort -rh | head -10

範例輸出:

15G /var
10G /home
5.2G /usr
3.1G /snap

大型的 /var 通常指向日誌或快取;大型的 /home 表示使用者資料。

/var 內深入調查

sudo du -hsx /var/* | sort -rh | head -10

透過遍歷階層,您可以精確找出佔用空間的目錄。

4.4 步驟 3:移除不必要的檔案和快取

在辨識出罪魁禍首後,開始清理 可安全刪除 的項目。

(1) 清理 APT 快取

Ubuntu 在 /var/cache/apt/archives 中儲存臨時套件檔案。刪除它們可以釋放數 GB 的空間。

sudo apt clean
sudo apt autoremove
  • apt clean – 移除所有快取的套件檔案
  • apt autoremove – 移除不再需要的套件

(2) 刪除舊日誌檔案

/var/log 是常見的膨脹來源。

sudo journalctl --vacuum-time=7d

上述命令刪除超過 7 天的系統日誌。
您也可以手動刪除不必要的 .gz (壓縮日誌) 檔案。

sudo rm -f /var/log/*.gz

(3) 移除舊的 Snap 套件版本

在 Ubuntu 上,Snap 應用程式的舊版本會自動保留。
您可以使用下列命令刪除舊的 snap。

sudo snap list --all | grep disabled | awk '{print $1, $3}' | 
while read snapname revision; do
  sudo snap remove "$snapname" --revision="$revision"
done

或者,您可以使用簡單的「Snap Cleaner」類型公用程式。

(4) 刪除縮圖快取

如果您處理許多圖像或影片,~/.cache/thumbnails 中會累積大量快取。

rm -rf ~/.cache/thumbnails/*

(5) 清空垃圾桶

透過 GUI 刪除的檔案可能仍駐留在 ~/.local/share/Trash/files 中。

rm -rf ~/.local/share/Trash/*

4.5 步驟 4:減輕應用程式和日誌的膨脹

(1) 使用 Docker 時

使用 Docker 時,不必要的映像和容器可能消耗空間。

docker system df
docker system prune -a
  • docker system df : 檢查 Docker 相關的使用量
  • docker system prune -a : 移除未使用的映像和容器

(2) 大量使用 Flatpak 或 Snap 時

在安裝許多 GUI 應用程式的環境中,殘留的應用程式殘餘檔案(舊版本)容易累積。
使用像 flatpak uninstall --unused 這樣的指令來清理。

(3) 檢視記錄輪替設定

檢查 /etc/logrotate.conf/etc/logrotate.d/,並設定適當的保留期間和大小限制,以幫助防止再次發生。

4.6 步驟 5:透過調整大小或新增磁碟來從根本解決

如果僅刪除檔案不足以解決問題,請考慮以下設定變更。

(1) 使用 LVM 時

在具備 LVM (Logical Volume Manager) 的環境中,可以輕鬆擴充邏輯磁區。

sudo lvextend -L +20G /dev/ubuntu-vg/ubuntu-lv
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

這允許您增加 / 的容量。

(2) 新增新磁碟並掛載它

/mnt/data (或類似位置) 掛載新儲存空間,並將大型目錄 (例如 /var/lib/docker/home) 移至該處。

(3) 利用雲端儲存

將記錄和備份移至 Google Drive、Dropbox、Nextcloud 等,是另一種選擇。

4.7 定期檢查以防止再次發生

空間耗盡的問題可以透過定期監控來避免。
採用以下實務是有效的。

  • 定期檢查 df -hdu -sh /var
  • 建立腳本來自動檢查大型目錄
  • 當使用量超過閾值時設定電子郵件通知 ( cron + mailutils 等)

簡單範例:

#!/bin/bash
THRESHOLD=90
USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')
if [ "$USAGE" -gt "$THRESHOLD" ]; then
  echo "Disk usage on / has exceeded ${THRESHOLD}%!" | mail -s "Disk Alert" admin@example.com
fi

4.8 摘要:優先採用節省空間的措施

PriorityMeasureNotes
★★★★★Delete APT cache (sudo apt clean)Immediate effect
★★★★☆Delete logs (sudo journalctl --vacuum-time=7d)Safe and reliable
★★★★☆Remove unnecessary Snap/Flatpak versionsEffective on desktop environments
★★★☆☆Delete unnecessary Docker dataUseful for server use
★★☆☆☆Disk expansion / mount additionEffective as a root solution
★☆☆☆☆Implement regular monitoring scriptsBenefits over long‑term operation

當 Ubuntu 空間不足時,
找出主要消耗者 → 從安全區域刪除 → 檢視設定
遵循這三個步驟可以解決大多數問題。

5. 進階提示 (實用技巧與注意事項)

即使使用上述方法檢查和清理空間,磁碟也會隨著時間再次填滿。
以下是一些進階技巧,以保持 Ubuntu 順暢運行。

5.1 自動化定期磁碟檢查

手動執行 dfdu 很麻煩,但自動化腳本可以減少努力。
cron 中註冊簡單的監控腳本,當使用量超過閾值時發送警報。

範例:當可用空間低於 10% 時發送電子郵件的腳本

#!/bin/bash
THRESHOLD=90
USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')
if [ "$USAGE" -gt "$THRESHOLD" ]; then
  echo "Warning: Root disk usage has reached ${USAGE}%." |
  mail -s "Ubuntu Disk Warning" user@example.com
fi

將此儲存為 /usr/local/bin/check_disk.sh 並使用 chmod +x 使其可執行。
然後在 crontab -e 中像這樣註冊它:

0 8 * * * /usr/local/bin/check_disk.sh

→ 檢查會在每天早上 8 點自動執行。

實用要點

  • 通知也可以透過 Slack Webhook、LINE Notify 等發送。
  • 可以擴充以同時監控多個掛載點

5.2 尋找大型檔案的一行指令

通常,空間短缺是由少數巨大檔案引起的。
以下的一行指令會列出大於 1 GB 的檔案

sudo find / -type f -size +1G -exec ls -lh {} ; | awk '{print $9 ": " $5}'
/var/log/syslog.1: 1.5G
/var/lib/docker/overlay2/.../diff/usr/lib/libchrome.so: 2.3G
/home/user/Downloads/video.mp4: 4.1G

這樣,您可以快速找到應該刪除或移動的檔案。

範例:僅搜尋特定目錄

sudo find /var -type f -size +500M

→ 用於在 /var 下找到大於 500 MB 的檔案。

5.3 別名常用指令

每次輸入長指令很麻煩,因此設定別名很有效率。

範例:附加到 ~/.bashrc

alias dfh='df -h --total'
alias duh='sudo du -hsx /* | sort -rh | head -10'
alias logs='sudo du -hs /var/log/* | sort -rh | head -10'

設定後套用:

source ~/.bashrc

現在,

  • dfh → 檢查總容量
  • duh → 查看前 10 個資料夾
  • logs → 調查日誌大小

您可以即時執行這些操作。

5.4 持續監控磁碟使用變化(monitoring)

長期執行 Ubuntu 時,您可能會遇到「磁碟空間悄悄增加」的問題。
因此,將磁碟使用變化記錄為歷史是很有用的。

範例:將磁碟使用情況寫入檔案的腳本

#!/bin/bash
df -h / | awk 'NR==2 {print strftime("%Y-%m-%d %H:%M:%S"), $3, $4, $5}' >> /var/log/disk_usage.log

透過 cron 每日執行一次,即可在之後追蹤磁碟使用趨勢。

更進階的方法

  • 安裝 collectdnetdata 以進行圖形化
  • 使用 Prometheus + Grafana 進行監控可視化
  • 在雲端環境時,整合 AWS CloudWatch 或 GCP Ops Agent

您可以在營運管理層面進行監控,而不必依賴 GUI 工具。

5.5 警惕權限障礙

在檢查或刪除磁碟使用情況時,若未取得 root 權限可能無法得到正確的結果

範例:

du -sh /var

即使執行此指令,普通使用者仍會因「Permission denied」而跳過某些資料夾,導致數值低實際使用量。
→ 作為對策,請在指令前加上 sudo 或以管理員身分執行。

5.6 SSD/HDD 環境的考量

SSD 環境

  • 為避免不必要的寫入,請定期使用 fstrim 執行 TRIM:sudo systemctl enable fstrim.timer,讓 SSD 能最佳化已刪除的區塊。

HDD 環境

  • 日誌與快取容易碎片化,刪除不必要的檔案後重新開機可能會有效。
  • 在 I/O 負載較重的 du 指令,最好在低負載時段執行,例如深夜。

5.7 系統化容量管理以防止重現

最後,容量管理的最佳解決方案是養成慣例且系統化

實用檢查清單

  • 定期檢查 df -h
  • 每月檢查 /var/log 成長情況
  • 每週執行 apt autoremove
  • 定期刪除不必要的 Snap 與 Docker 資料
  • 建置自動通知腳本

若能定期執行上述工作,大多數磁碟空間問題都能避免。

小結

本節介紹了進階技巧,讓 Ubuntu 磁碟空間管理更有效率。
重點有三項:

  1. 透過自動化與通知提前偵測
  2. 以別名與單行指令提升營運效率
  3. 考量權限與裝置特性以安全管理

結合這些做法,將容量管理從繁雜的工作轉變為系統營運的核心部分。

6. 常見問題 (FAQ)

Q1. 在 Ubuntu 上檢查目前剩餘空間的簡易方法是什麼?

最簡單的方式是在終端機執行以下指令。

df -h

此指令會一目了然地顯示每個磁碟(分割區)的總容量、已使用空間與剩餘空間
加入 -h 參數可將大小以人類可讀的格式(GB、MB)顯示。

Q2. 如何檢查每個目錄的磁碟使用量?

使用 du 指令。
要檢查特定資料夾的使用量,執行:

du -sh /home

參數說明:

  • -s:僅顯示總計
  • -h:以人類可讀的單位顯示大小

若要取得更詳細的每個子資料夾使用情況,使用:

sudo du -h --max-depth=1 /var

Q3. dfdu 有何差異?

簡而言之,它們測量的對象不同。

CommandTargetPrimary Use
dfEntire filesystemCheck free space
duFile/directory levelFind where space is used

例如,使用 df 查看 / 的整體剩餘空間,使用 du 查看特定資料夾佔用了多少空間。

Q4. 如何透過 GUI 檢查剩餘空間?

在 Ubuntu Desktop 上,您可以使用檔案管理員 (Nautilus) 或磁碟使用分析器 (Baobab) 直觀檢查。

  • 檔案管理員 → 底部列會顯示「Remaining XX GB」
  • Baobab → 圖形化的使用量分布

兩者皆適合新手,只要點擊即可看到結果。

Q5. 若收到「磁碟已滿」警告,應該先刪除什麼?

首先移除安全快取與不必要的檔案。
建議的順序如下:

  1. 清除 APT 快取 sudo apt clean
  2. 移除不必要的套件 sudo apt autoremove
  3. 清理日誌 sudo journalctl --vacuum-time=7d
  4. 空垃圾桶與縮圖快取 rm -rf ~/.cache/thumbnails/* && rm -rf ~/.local/share/Trash/*

僅此步驟即可釋放數 GB 的空間。

Q6. 我聽說 Snap 應用程式會佔用大量磁碟空間。我該怎麼做?

Snap 會保留每個版本的應用程式,因此舊的修訂版可能會殘留。
您可以使用以下指令刪除不需要的舊修訂版:

sudo snap list --all | grep disabled | awk '{print $1, $3}' | 
while read snapname revision; do
  sudo snap remove "$snapname" --revision="$revision"
done

或者,您也可以使用圖形介面工具 Snap Store 手動移除。

Q7. 當 /var/home 太大時該怎麼辦?

  • /var – 清理日誌(/var/log)與/var/cache
  • /home – 備份或將下載與影片檔案移至外部儲存裝置

如果需要擴充容量,可使用 LVM 擴展磁碟卷,或掛載新硬碟並分別管理空間。

Q8. 執行 du 需要很長時間。有沒有加速的方法?

du 會遞迴掃描每個檔案,於檔案數量龐大的目錄上會相當緩慢。
以下技巧或能加速:

  • 使用 --max-depth=1 以跳過深層子目錄
  • 排除不必要的資料夾(例如 --exclude=/proc
  • 使用 ncdu 指令(互動式檢視)
    sudo apt install ncdu
    sudo ncdu /
    

ncdu 輕量且提供視覺化的磁碟使用情況檢查方式。

Q9. 如何防止再次磁碟空間不足?

定期維護非常有幫助:

  • 每週執行一次 sudo apt autoremove
  • 每月檢查 /var/log/home 的使用情況
  • df -h 的輸出存入日誌,並追蹤變化
  • 定期刪除舊的 Snap 或 Docker 資料
  • 在 SSD 上,使用 sudo systemctl enable fstrim.timer 啟用自動 trim

自動化這些任務可防止磁碟空間問題再度出現。

Q10. 擴充儲存空間有哪些選項?

常見的三種擴充方式:

  1. 擴展 LVM 磁碟卷

    bash sudo lvextend -L +10G /dev/ubuntu-vg/ubuntu-lv sudo resize2fs /dev/ubuntu-vg/ubuntu-lv 2. 新增硬碟並掛載 – 建立掛載點(例如 /mnt/data)並分散負載。
    3. 使用雲端儲存 – 將大型檔案搬移至 Google Drive、Nextcloud 等。

若無法新增實體儲存裝置,將舊檔案歸檔亦是有效方法。

Q11. 能在沒有 root 權限的情況下檢查磁碟使用量嗎?

基本的 df -h 可供任何使用者使用,但 du 需要讀取某些目錄的權限(例如 /var/log)。
在非 root 環境下,將掃描範圍限制在您的家目錄:

du -sh ~/*

Q12. 如何在無頭(伺服器)系統上檢查儲存空間?

由於 Ubuntu 伺服器版沒有圖形介面,請改用以下指令:

GoalCommand
Check overall usagedf -h
Check per‑directory usagesudo du -hsx /*
Find large filessudo find / -type f -size +1G
Visual, text‑based viewsudo ncdu /

結合些指令即可在沒有 GUI 的情況下輕鬆分析磁碟使用情況。

Q13. 檢查儲存空間時會不會有破壞系統的風險?

檢查使用情況本身不會有風險。
但在開始刪除或調整大小時需特別小心:

  • 在使用 sudo rm -rf 前務必再次確認路徑
  • 絕不要刪除系統目錄,如 /bin/lib/etc
  • 若不確定,請先備份

Q14. 有什麼隱藏技巧可以節省空間?

  • 縮短日誌保留時間(/etc/logrotate.conf 設定)
  • 移除不必要的語言套件:sudo apt install localepurge
  • 清除舊的核心(有時會殘留):sudo apt autoremove --purge

這些步驟可釋放數百 MB 至數 GB 不等的空間。

Q15. 推薦的磁碟使用監控工具?

Ubuntu 提供多項實用的監控工具:

ToolFeatures
ncduLightweight, fast CLI explorer
BaobabGUI with visual charts
dufEnhanced df with a clean table layout
Netdata / Prometheus / GrafanaFull‑stack server monitoring and graphing

Summary

管理 Ubuntu 磁碟空間的重點如下:

  1. 使用 df 來查看整體概況,使用 du 進行詳細檢查
  2. 安全地依序刪除不必要的資料(APT → 日誌 → 快取)
  3. 自動化清理與監控以防止再次發生

將這些做法列為日常,即可讓磁碟空間問題變得罕見。儲存空間管理看似平凡,卻是維持 Ubuntu 系統穩定的最關鍵維護工作之一。

年収訴求