作为一款高效且用户友好的操作系统(OS),Ubuntu提供了许多工具和技术来管理磁盘空间,保持系统平稳运行。但是,如果没有适当的关注和维护,你的Ubuntu磁盘空间很快就会变得凌乱,空间不足。
这份综合指南将为您提供许多管理Ubuntu磁盘空间的工具,包括安装和使用各种工具和技术。
继续阅读,与Ubuntu说再见磁盘空间焦虑!
先决条件
本教程将进行实际演示。要跟着操作,请确保您拥有一台Ubuntu系统。本教程使用的是Ubuntu 20.04,但其他版本也适用。
使用Disk应用程序
如果您想快速处理磁盘空间管理,基于GNOME的桌面环境(如Ubuntu)有一个默认的图形分区工具。只要安装了gnome-disk-utility,就可以访问Disks应用程序。
Disks应用程序提供了磁盘使用的视觉表示,对于喜欢使用图形用户界面处理文件和目录的用户来说非常直观。
要查看Disks应用程序在磁盘空间管理中的操作,请按照以下步骤进行:
1. 搜索并打开如下所示的Disks应用程序。

2. 当Disk应用程序打开时,请单击任意磁盘以查看更详细的信息,包括总大小、型号等。
在Volumes部分下,您可以看到系统中所有分区及其相关详细信息的列表。这些详细信息包括设备名称、分区类型、挂载点、总大小和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
命令以定期执行df
命令,并实时显示磁盘使用情况的更新(5
秒)。
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 应用程序)查看和管理磁盘空间的多种方法。
现在,为什么不将这些工具付诸实践,并采取下一步掌握亚马逊EFS文件系统对象呢?