新手必看!在 Ubuntu 上檢查磁碟容量的方法 | 指令與 GUI 工具完整解析

目次

1. 前言

由於 Ubuntu 具有輕量且穩定的特性,不僅適合個人使用,也廣泛應用於伺服器環境。然而,隨著時間的推移,磁碟空間逐漸減少是無法避免的。當可用空間不足時,可能會導致系統效能下降,甚至無法安裝新的軟體。

本篇文章將詳細介紹如何在 Ubuntu 中檢查磁碟容量並進行適當的管理。我們將涵蓋 dfdu 指令等 CLI(命令列介面)工具的使用方式,以及 GUI 工具「磁碟使用分析器」(Disk Usage Analyzer)的操作方法。文章內容包含實際範例與步驟,即使是初學者也能輕鬆理解,請放心閱讀。

2. 如何檢查整體磁碟使用狀況(df 指令)

要在 Ubuntu 中檢查整體磁碟使用狀況,可以使用 df 指令。此指令可顯示各個檔案系統的磁碟使用量和剩餘容量,十分實用。以下我們將從基本用法到進階應用進行說明。

什麼是 df 指令?

df 是「disk free」的縮寫,用於檢視 Linux 或 Unix 系統的磁碟使用情況。這個指令簡單且執行速度快,能夠即時掌握系統的磁碟狀況。

基本用法

以下是最常見的 df 指令用法:

df -h
  • -h 選項
    以「人類可讀格式」(帶單位)輸出,例如「1G」或「500M」,而不是「1024000」這樣的數字。

執行結果範例

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        50G   20G   30G   40% /
tmpfs           500M     0  500M    0% /dev/shm

輸出內容說明

  • Filesystem: 使用中的檔案系統類型(例如 ext4、tmpfs 等)。
  • Size: 檔案系統的總大小。
  • Used: 已使用的容量。
  • Avail: 剩餘的可用空間。
  • Use%: 已使用比例(% 顯示)。
  • Mounted on: 檔案系統的掛載位置。

進階應用

僅顯示特定類型的檔案系統

使用 -T 選項可顯示檔案系統的類型,並可過濾出特定類型的檔案系統。

df -T ext4

此指令將僅顯示 ext4 格式的檔案系統資訊。

檢查特定掛載點的磁碟使用狀況

若要僅檢視某個掛載點(例如 /home)的磁碟空間資訊,可使用:

df -h /home

這樣可以查看 /home 目錄的總容量與剩餘空間。

故障排除提示

  • 磁碟空間已滿時怎麼辦?
    當可用空間為 0% 時,可以使用 df 指令找出已使用 100% 的檔案系統,然後刪除不必要的檔案或進行清理。
  • 刪除檔案後,df 指令的結果沒有更新?
    這可能是因為某些程序仍在佔用已刪除的檔案,可使用 lsof 指令來檢查。
lsof | grep deleted

總結

df 指令是一個簡單易用的工具,可快速檢視 Ubuntu 的整體磁碟使用狀況。特別是使用 -h 選項時,可以獲得更直觀的資訊,適合初學者。透過本節介紹的基本與進階技巧,您可以更有效地管理系統的磁碟空間。

年収訴求

3. 如何檢查特定目錄或檔案的使用量(du 指令)

僅檢查整體磁碟使用狀況時,無法確定哪些目錄或檔案佔用了最多空間。這時可以使用 du 指令來獲取更詳細的資訊。本節將介紹 du 指令的基本用法與進階應用。

什麼是 du 指令?

du 是「disk usage」的縮寫,可用來檢視特定目錄或檔案的磁碟使用量。當磁碟空間不足時,此指令能幫助找出佔用空間較大的資料夾或檔案。

基本用法

以下是 du 指令的基本範例:

du -sh /path/to/directory
  • -s 選項
    僅顯示指定目錄的總使用量,而不列出子目錄的細節。
  • -h 選項
    以「人類可讀格式」顯示結果(如 KB、MB、GB 單位)。

執行結果範例

5.2G    /home/user/Documents

這表示 /home/user/Documents 目錄共佔用了 5.2GB 的磁碟空間。

檢查更詳細的使用量

列出目錄內的子目錄與檔案大小

若想查看特定目錄下的所有子目錄與檔案的使用量,可以使用:

du -h /path/to/directory/*

範例輸出

1.5G    /path/to/directory/subdir1
3.2G    /path/to/directory/subdir2
500M    /path/to/directory/subdir3

透過這個結果,可以快速找出哪個子目錄佔用了最多空間。

進階應用

按大小排序顯示結果

如果要按照大小排序顯示目錄內的檔案與資料夾,可以使用 sort 指令:

du -ah /path/to/directory | sort -rh | head -n 10
  • -a 選項
    顯示所有檔案與目錄的大小。
  • sort -rh
    按大小降序排列結果。
  • head -n 10
    僅顯示前 10 筆最大項目。

範例輸出

2.5G    /path/to/directory/largefile1.iso
1.2G    /path/to/directory/subdir1
800M    /path/to/directory/largefile2.zip

這樣就可以找出佔用磁碟空間最多的檔案或目錄。

如何找出特定類型的檔案?

如果想查找特定副檔名(例如 .log)的檔案大小,可以使用 find 指令搭配 du

find /path/to/directory -name "*.log" -exec du -h {} +

這個指令會列出目標目錄內所有 .log 檔案的大小。

故障排除提示

  • 刪除檔案後磁碟空間沒有釋放?
    有些程序可能仍然佔用已刪除的檔案,導致可用空間未更新。可使用 lsof | grep deleted 檢查哪些程序仍然佔用已刪除的檔案,然後重新啟動相關程序或整個系統。
  • 磁碟空間異常增加時怎麼辦?
    可使用 du 來找出快速增長的目錄,並檢查是否有過量的暫存檔案或日誌檔案。

總結

du 指令是強大的磁碟使用分析工具,能幫助使用者快速找出佔用空間較大的目錄或檔案。透過搭配 findsort 等指令,可進一步提高檢索效率,讓磁碟管理更加輕鬆。

4. 使用 GUI 工具視覺化檢查磁碟使用狀況(Disk Usage Analyzer)

除了 CLI(命令列工具)外,Ubuntu 也提供 GUI(圖形使用者介面)工具來檢查磁碟使用狀況。其中「磁碟使用分析器」(Disk Usage Analyzer)是一個直覺易用的工具,能夠以圖形方式顯示磁碟使用情況。本節將介紹其特色、安裝方法與基本操作。

什麼是 Disk Usage Analyzer?

Disk Usage Analyzer(磁碟使用分析器)是 Ubuntu 內建的磁碟管理工具。它可以透過圓餅圖或條形圖的方式顯示磁碟使用情況,讓使用者能夠快速找出哪些目錄或檔案佔用了最多空間。

如何安裝

在許多 Ubuntu 版本中,Disk Usage Analyzer(baobab)已預裝。如果沒有安裝,可以透過以下指令安裝:

sudo apt update
sudo apt install baobab

安裝完成後,可以透過應用程式選單搜尋「Disk Usage Analyzer」或「磁碟使用分析器」來啟動。

基本操作

1. 啟動工具

有兩種方式可以啟動 Disk Usage Analyzer:

  1. 透過應用程式選單搜尋「Disk Usage Analyzer」。
  2. 在終端機輸入以下指令:
baobab

2. 選擇要掃描的目錄

  • 掃描整個家目錄:預設會掃描使用者的家目錄。
  • 選擇特定目錄:可手動選擇要分析的資料夾。
  • 掃描遠端磁碟:可檢視網路存儲或遠端伺服器的磁碟使用情況。

3. 檢視磁碟使用狀況

當掃描完成後,您將會看到以下資訊:

  • 圖表顯示
    以圓餅圖或條形圖方式呈現不同目錄或檔案的磁碟使用狀況。
  • 詳細列表
    提供每個目錄的使用容量、可用空間及檔案數量。

進階應用

1. 找出佔用最多空間的檔案

展開目錄後,可以直覺地檢視哪些檔案或資料夾佔用了最多空間,這樣能夠快速決定哪些檔案可以刪除或轉移。

2. 掃描網路磁碟

Disk Usage Analyzer 允許您掃描遠端伺服器或網路存儲設備(如 NFS 或 SMB),讓您可以輕鬆管理遠端磁碟的使用狀況。

3. 匯出掃描結果

您可以將掃描結果匯出,以便稍後檢視或與團隊成員分享。

優缺點分析

優點

  • 視覺化數據:以圖形方式呈現磁碟使用狀況,適合初學者。
  • 簡單易用:不需要使用指令,即可快速檢視磁碟使用情況。
  • 支援網路磁碟:可掃描遠端磁碟或網路存儲設備。

缺點

  • 掃描時間較長:當目錄內容過多時,分析過程可能需要較長時間。
  • 客製化選項較少:相比 CLI 工具,Disk Usage Analyzer 的自訂設定較少。

總結

Disk Usage Analyzer 是一款適合所有使用者的工具,特別是初學者,可以透過視覺化的方式快速掌握磁碟使用狀況。若搭配 CLI 工具(如 dudf),則能進一步提高磁碟管理的效率。

5. 磁碟空間不足時的解決方法

當磁碟空間不足時,系統可能會變慢,甚至無法安裝新軟體。本節將介紹一些常見的解決方案,幫助您釋放磁碟空間。

刪除不必要的檔案與目錄

1. 清除暫存檔案

系統中的暫存檔案可能會佔據大量空間,可透過以下指令刪除:

sudo rm -rf /tmp/*
  • 注意: /tmp 目錄內的某些檔案可能仍在使用,刪除前請確認是否安全。

2. 清空垃圾桶

Ubuntu 刪除的檔案會被移至垃圾桶,可能仍然佔用空間。可以使用以下指令清空垃圾桶:

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

刪除不必要的套件與快取

1. 移除未使用的套件

若系統中安裝了許多不再使用的軟體或套件,可以使用以下指令清理:

sudo apt-get autoremove
  • 解釋: 此指令會刪除系統中不再需要的套件和依賴。

2. 清理套件快取

系統會保留已安裝的套件快取,這些檔案可能佔據大量空間。可透過以下指令刪除:

sudo apt-get clean

找出並刪除大檔案

1. 找出 100MB 以上的檔案

可以使用 find 指令來搜尋大檔案:

find / -type f -size +100M

2. 查詢特定目錄內佔用空間較大的項目

如果想知道某個目錄內的最大檔案,可以使用:

du -ah /path/to/directory | sort -rh | head -n 10

整理日誌檔案

1. 刪除過時的日誌檔案

Ubuntu 會保留許多日誌檔案,可使用以下指令清理:

sudo journalctl --vacuum-size=50M

2. 設定日誌自動清理

可透過 logrotate 設定日誌的自動清理方式:

sudo nano /etc/logrotate.conf

新增以下內容,使系統每週自動壓縮日誌,並僅保留四週的日誌檔案:

weekly
rotate 4
compress

定期監控磁碟使用狀況

1. 使用 CLI 或 GUI 監控工具

可定期使用 dfdu 指令,或使用 Disk Usage Analyzer 來監控磁碟狀況。

2. 自動監測磁碟空間

可以建立一個自動監測磁碟使用狀況的腳本,並透過 cron 設定定期執行:

#!/bin/bash
df -h > ~/disk_usage_report.txt

總結

透過上述方法,您可以有效釋放 Ubuntu 的磁碟空間。定期監測系統並適時清理不必要的檔案,有助於維持系統效能與穩定性。

6. 常見問題(FAQ)

在 Ubuntu 中管理磁碟空間時,使用者經常會遇到各種疑問。本節彙總了一些常見問題,並提供詳細解答,以幫助您更有效地管理系統磁碟。

Q1: df 指令與 du 指令的區別是什麼?

A:

  • df 指令:顯示整個檔案系統的磁碟使用情況,適合用來查看系統整體的可用空間。
    範例指令:
    df -h
  • du 指令:用來檢視特定目錄或檔案的磁碟使用量,適合用來找出佔用空間較大的資料夾。
    範例指令:
    du -sh /path/to/directory

最佳做法是先使用 df 來檢查整體使用情況,然後使用 du 來進一步分析哪些目錄佔用了最多空間。

Q2: 為什麼磁碟使用量突然增加?

A:
磁碟空間突然減少的常見原因包括:

  1. 日誌檔案過大:檢查 /var/log/ 目錄是否有大量日誌檔案。
  2. 暫存檔案累積:清理 /tmp 目錄和瀏覽器快取。
  3. 意外產生大檔案:可使用以下指令列出系統中的大檔案:
    du -ah / | sort -rh | head -n 10

Q3: 為什麼刪除檔案後磁碟空間沒有釋放?

A:
如果您刪除檔案後仍然發現磁碟空間未釋放,可能是因為某些程序仍然在使用已刪除的檔案。可以使用以下指令檢查哪些程序仍然佔用這些檔案:

lsof | grep deleted

如果發現某些程序仍然佔用已刪除的檔案,可以嘗試重新啟動該程序,或者直接重新啟動系統來釋放空間。

Q4: 如何快速找出哪些資料夾佔用了最多磁碟空間?

A:
使用以下指令來列出佔用最多空間的資料夾:

du -ah /path/to/directory | sort -rh | head -n 10

這樣可以快速找出哪些目錄佔用了最多空間,方便您進一步清理。

Q5: 如何設定定期監控磁碟使用量?

A:
您可以使用 cron 排程工具來自動監控磁碟使用量,並將結果儲存到日誌檔案:

crontab -e

然後在其中加入以下內容,讓系統每天自動記錄磁碟使用狀況:

0 0 * * * df -h > ~/disk_usage_report.txt

這樣每晚 12 點,系統就會自動將磁碟使用狀況記錄到 disk_usage_report.txt 檔案中。

Q6: 如何避免磁碟空間不足的問題?

A:
您可以透過以下方式預防磁碟空間不足的問題:

  • 定期檢查磁碟使用狀況:使用 df -hdu 定期監控磁碟空間。
  • 清理快取與暫存檔案:定期執行 sudo apt-get cleanrm -rf /tmp/*
  • 設定日誌檔案輪替:透過 logrotate 設定定期清理日誌檔案。

7. 總結

在 Ubuntu 中管理磁碟空間對於系統穩定性與效能維護至關重要。本篇文章詳細介紹了如何使用 CLI 工具(如 dfdu)及 GUI 工具(如 Disk Usage Analyzer)來監控磁碟使用情況,並提供了解決磁碟空間不足問題的方法。

重點回顧

  1. 檢視整體磁碟使用狀況:使用 df -h 來快速了解系統磁碟的總體使用情況。
  2. 分析特定目錄的使用量:使用 du -sh 來找出佔用最多空間的資料夾。
  3. 使用 GUI 工具進行視覺化分析:Disk Usage Analyzer 提供直覺化的磁碟使用資訊,適合初學者。
  4. 解決磁碟空間不足問題:刪除不必要的檔案、清理快取、移除未使用的套件等。
  5. 設定自動監控:使用 cron 自動監測磁碟使用狀況,避免磁碟空間不足。

建議

  • 定期檢查磁碟使用量,避免磁碟空間不足影響系統效能。
  • 熟悉 CLI 工具與 GUI 工具,根據需求選擇適合的管理方式。
  • 遇到磁碟空間不足問題時,先使用 dfdu 來找出問題來源,再採取適當的清理措施。

結語

磁碟管理看似複雜,但透過本篇文章介紹的技巧,您可以輕鬆管理 Ubuntu 的磁碟空間,確保系統運作順暢。希望這篇指南能幫助您更有效地維護系統,讓 Ubuntu 的使用體驗更加順利!

侍エンジニア塾