作为高效且用户友好的操作系统(OS),Ubuntu提供了许多工具和技术来管理磁盘空间,保持系统的顺畅运行。但是,如果不进行适当的关注和维护,Ubuntu的磁盘空间很快就会变得混乱,并且可能会用尽空间。
本全面指南将提供许多用于管理Ubuntu磁盘空间的工具,包括安装和使用各种工具和技术。
继续阅读,与Ubuntu说再见磁盘空间焦虑!
先决条件
本教程将进行实践演示。要跟随操作,请确保您拥有一个Ubuntu系统。本教程使用的是Ubuntu 20.04,但其他版本也适用。
使用磁盘应用程序
如果您正在寻找一种快速的方式来处理磁盘空间管理,像Ubuntu这样基于GNOME的桌面环境会有一个默认的图形分区工具。只要安装了gnome-disk-utility,您就可以访问磁盘应用程序。
磁盘应用程序提供了磁盘使用情况的可视化表示,对于喜欢使用图形用户界面(GUI)处理文件和目录的用户来说是直观的。
要了解磁盘应用程序在磁盘空间管理方面的实际操作,请按照以下步骤进行:
1. 搜索并打开如下所示的Disks应用程序。

2. 當Disk應用程式打開時,點擊任何磁碟以查看更詳細的信息,包括總大小、型號等等。
在卷部分,您可以看到系統中所有分區的列表及其相關的詳細信息。這些詳細信息包括設備名稱、分區類型、掛載點、總大小和UUID(通用唯一標識符,用於識別卷或分區)。

3. 最後,點擊齒輪圖標並從上下文菜單中選擇任何您想要執行的選項。您可以執行的操作包括但不限於以下:
Option | Function |
Format Partition | Formatting a partition erases all its data and creates a new empty filesystem. This option is useful when you plan to reinstall your OS. |
Edit Partition | Editing the partition allows you to change the partition’s size, format, and filesystem type without deleting any data. |
Edit Filesystem | This option lets you change the label or name of a partition on your system. The label or name of a partition is a short, descriptive string that identifies the partition on your system. |
Check or Repair Filesystem | This option performs a filesystem check on the volume, which can help identify and fix any problems, such as corruption or inconsistencies with the filesystem. |
? 請注意,文件系統檢查需要一些時間,特別是如果卷很大或文件系統有許多問題。此外,文件系統修復可能會導致數據丟失,所以在進行操作之前請備份您的數據。

使用df
命令
當您主要在終端中工作並需要檢查系統磁碟和分區的可用空間時,磁碟文件系統(df
)命令可以派上用場。 df
命令顯示有關計算機上的文件系統的信息,包括設備名稱、總大小、已使用空間、可用空間和掛載點。
要查看df
命令的工作原理,請按照以下步驟進行:
1. 打開終端,運行以下df
命令以以人類可讀的形式(-h
)顯示所有文件系統及其相關信息的列表。您可以使用-h
選項以“人類可讀”的格式顯示大小。
以下是系統上掛載的幾個檔案系統:
- A main partition (
/dev/sda5
) with a total size of 20GB and 9.4GB of available space.
- A /boot/efi partition (/dev/sda1) with a total size of 511MB and 511MB of available space
- 幾個 snap 套件(軟體套件的檔案系統)掛載在 /snap/。
- 許多 tmpfs 檔案系統,這些是基於記憶體的暫存儲存空間。
By default, the df
command displays sizes in bytes, which is difficult to read. The -h
option changes the display of sizes to use units such as kilobytes (K), megabytes (M), gigabytes (G
), and terabytes (T). For example, the 1024000000 bytes size is displayed as 976M.
整體而言,主要分割區 (/dev/sda5) 使用了 49% 的空間,剩餘可用空間為 9.4GB,如下所示。根據這些資訊,您可以決定是否刪除不必要的檔案以釋放磁碟空間。

2. 接下來,執行以下 watch
指令以定期間隔 (5
秒) 執行 df
指令並即時顯示磁碟使用情況的更新。
watch
指令與 -n
選項一起使用,非常方便用於監控系統狀態的變化或追蹤長時間運行指令的進度。

3. 最後,執行以下 df
指令來列出所有檔案系統,但僅限於特定的檔案系統類型 (-t
),在此案例中為 ext4
。
通過限制輸出為特定類型,您可以專注於對您最重要的檔案系統並過濾掉其餘的部分。這種方法在疑難排解問題或對特定類型的檔案系統感興趣時非常有幫助。
下面,您可以看到 df
指令僅返回了一個 ext4 檔案系統,即根分割區 (/dev/sda5)。

使用 du
指令
相比获取整个文件系统的已用空间,您可能想要确定某个文件或目录占用了多少空间。如何实现呢?使用磁盘使用情况(du
)命令。
du
命令可以估计文件和目录(包括子目录)的使用空间。
?
du
命令有助于更详细地了解磁盘空间的使用情况。
要了解如何使用 du
命令来管理磁盘空间,请按照以下步骤进行操作:
1. 运行以下 du
命令,以人类可读的格式(-h
)检索 /tmp
目录的使用摘要(-s
)。
下面的输出显示,/tmp
目录及其子目录总共使用了 6.1GB 的空间。
在类 Unix 操作系统中,/tmp 是一个用于存储临时文件的特殊目录。监控 /tmp 目录非常重要,因为它很快就会填满。

2. 接下来,运行以下 ls
命令,以长格式(-l
)列出 /tmp
目录中的文件。
长格式包括每个文件的目录权限、所有者、大小和修改时间。通过这些信息,您可以轻松识别出可能需要删除或缩小大小的大文件。
在下面的输出中,您可以看到 /tmp 目录中最大的文件是 test2.img 文件,如果不再需要,则可以删除。

3. 現在,執行以下的 rm
命令,該命令不會產生輸出,但會刪除指定的大型文件(test2.img
),以釋放系統中的空間。
自動化磁碟空間檢查和文件刪除
監控您不希望擴大的目錄有助於保持系統運行在最佳狀態。為什麼呢?磁碟空間不足會對需要寫入臨時文件的程序造成問題。
但是,在長期運行中,手動檢查磁碟空間變得繁瑣。那麼,為什麼不使用腳本自動化這項任務呢?
在這個例子中,您將創建一個腳本來檢查磁碟空間並自動刪除不必要的文件。
1. 使用您喜歡的編輯器創建一個 Bash 腳本文件,並將其命名為您喜歡的名稱,但本教程的選擇是 temp_file_terminator.sh。
2. 接下來,將下面的代碼填充到 temp_file_terminator.sh 文件中,保存更改並關閉文件。
下面的代碼檢查當前/tmp
目錄的大小。如果大小超過了聲明的最大大小,代碼將運行一個命令來刪除/tmp
目錄中的所有文件。否則,將在控制台上打印一條消息,而不刪除任何文件。
3. 最後,運行以下bash
命令從工作目錄(./
)執行您的腳本(temp_file_terminator.sh
)。
根據/tmp目錄的大小,腳本將刪除文件或打印一條消息表示未刪除任何文件。

結論
在Ubuntu中管理磁盤空間是任何Linux管理員的基本技能。使用正確的工具和技巧,您可以通過命令行和GUI(Disks應用程序)查看和管理磁盤空間,讓系統始終保持順利運行並具有足夠的Ubuntu磁盤空間。
在本教程中,您已經學會了從命令行和GUI(Disks應用程序)查看和管理磁盤空間的多種方法。
現在,為什麼不將這些工具付諸實踐,並進一步掌握Amazon EFS文件系統對象呢?