Linux 磁盘空间报告

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在 Linux 环境中,磁盘空间管理是系统管理的一个关键方面。监控可用磁盘空间有助于防止因存储资源耗尽而导致的系统崩溃、应用程序故障和数据丢失。作为系统管理员,你的日常任务之一是检查不同文件系统的磁盘空间使用情况。

在这个实验中,你将学习如何使用强大的 df 命令(即 “disk free” 的缩写)来检查系统中的磁盘空间使用情况。你将查看所有已挂载文件系统的磁盘使用情况,解读输出结果,并聚焦于特定目录,以更深入地了解你的存储使用情况。这些技能对于有效的系统维护和资源规划至关重要。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/SystemInformationandMonitoringGroup -.-> linux/df("Disk Space Reporting") subgraph Lab Skills linux/cd -.-> lab-271267{{"Linux 磁盘空间报告"}} linux/df -.-> lab-271267{{"Linux 磁盘空间报告"}} end

检查基本磁盘空间使用情况

在这一步中,你将学习如何使用 df 命令检查所有已挂载文件系统的磁盘空间使用情况。df 命令是用于显示文件系统上可用磁盘空间量的基本工具。

在你的 LabEx 虚拟机环境中打开一个终端。默认情况下,你应该已经位于主目录。如果不是,你可以使用以下命令导航到主目录:

cd ~

现在,运行以下命令来检查磁盘空间使用情况:

df

你将看到类似于以下的输出:

Filesystem     1K-blocks    Used Available Use% Mounted on
overlay         20509264 3207552  16249328  17% /
tmpfs             395052       0    395052   0% /dev
tmpfs            1975244       0   1975244   0% /sys/fs/cgroup
shm                65536       0     65536   0% /dev/shm
/dev/sda1       20509264 3207552  16249328  17% /etc/hosts
tmpfs            1975244       0   1975244   0% /proc/acpi
tmpfs            1975244       0   1975244   0% /sys/firmware

输出为每个文件系统显示了几个重要信息:

  • Filesystem:文件系统的名称
  • 1K-blocks:以 1 千字节块为单位的总大小
  • Used:当前正在使用的空间量
  • Available:可供使用的空间量
  • Use%:正在使用的空间百分比
  • Mounted on:文件系统的挂载点

虽然这些信息很全面,但以 1K 块为单位的数字可能难以快速阅读和理解。

使用人类可读的格式

在处理磁盘空间信息时,以更易读的格式呈现数据通常会让你更容易解读。在这一步中,你将学习如何在 df 命令中使用 -h 选项,以人类可读的格式显示磁盘大小。

-h 选项(即 “human-readable” 的缩写)会根据磁盘空间大小,将其转换为合适的单位(KB、MB、GB 或 TB)。这样一来,输出结果一目了然,理解起来容易多了。

在终端中运行以下命令:

df -h

你应该会看到类似如下的输出:

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  3.1G   16G  17% /
tmpfs           386M     0  386M   0% /dev
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
shm              64M     0   64M   0% /dev/shm
/dev/sda1        20G  3.1G   16G  17% /etc/hosts
tmpfs           1.9G     0  1.9G   0% /proc/acpi
tmpfs           1.9G     0  1.9G   0% /sys/firmware

注意,现在磁盘空间以 GB 和 MB 为单位显示,而非 1K 块。这让你能快速了解已使用和可用的磁盘空间大小。

将此输出与第一步的输出进行比较。你会发现信息是一样的,但使用 -h 选项后,呈现方式更加直观。例如,你现在看到的是 “20G”(20 吉字节),而不是 “20509264” 个 1K 块,这显然更容易理解。

分析特定文件系统或目录

有时候,你只需要特定文件系统或目录的相关信息。在这一步中,你将学习如何检查文件系统中特定位置的磁盘空间。

你可以向 df 命令指定一个路径,以获取该路径所在文件系统的信息。当你想在将文件复制或下载到特定位置之前检查可用空间时,这一功能特别有用。

让我们来检查你的主目录的磁盘空间。运行以下命令:

df -h ~

波浪号 (~) 在 Linux 中是主目录的简写。该命令将提供包含你主目录的文件系统的信息:

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  3.1G   16G  17% /

这表明你的主目录位于根文件系统(挂载在 / 处)。

现在,让我们检查另一个目录的磁盘空间。例如,让我们查看 /tmp 目录,该目录通常用于存放临时文件:

df -h /tmp

输出将显示 /tmp 所在文件系统的详细信息:

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  3.1G   16G  17% /

在这个环境中,你的主目录和 /tmp 都位于同一个文件系统上。在许多生产系统中,出于性能或安全考虑,这些目录可能位于不同的文件系统上。

当你需要进行以下操作时,检查特定位置的功能非常有用:

  • 在下载大文件之前验证是否有足够的空间
  • 排查文件系统特定部分的空间问题
  • 监控容易快速占满空间的关键目录

df 命令中使用其他选项

df 命令提供了其他几个实用选项,这些选项可以提供额外的信息,或者改变输出的显示方式。在这一步中,你将探索其中一些选项,以增强你监控磁盘空间的能力。

显示文件系统类型

-T 选项会增加一列,用于显示文件系统的类型。当你需要了解正在使用的文件系统类型时,这一功能非常有用,因为不同的文件系统类型具有不同的特性和限制。

运行以下命令:

df -hT

这将人类可读格式 (-h) 与文件系统类型显示 (-T) 结合起来。你应该会看到类似如下的输出:

Filesystem     Type      Size  Used Avail Use% Mounted on
overlay        overlay    20G  3.1G   16G  17% /
tmpfs          tmpfs     386M     0  386M   0% /dev
tmpfs          tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup
shm            tmpfs      64M     0   64M   0% /dev/shm
/dev/sda1      ext4       20G  3.1G   16G  17% /etc/hosts
tmpfs          tmpfs     1.9G     0  1.9G   0% /proc/acpi
tmpfs          tmpfs     1.9G     0  1.9G   0% /sys/firmware

注意新增的 “Type” 列,它显示了诸如 “overlay”、“tmpfs” 和 “ext4” 等文件系统类型。

显示索引节点 (inode) 信息

文件系统的索引节点 (inode) 数量是有限的,inode 是存储文件信息的数据结构。即使你有大量的磁盘空间,但如果有太多小文件,你也可能会耗尽 inode。

使用 -i 选项检查 inode 的使用情况:

df -i

你将看到显示 inode 利用率的输出:

Filesystem      Inodes  IUsed    IFree IUse% Mounted on
overlay        1310720 106794  1203926    9% /
tmpfs            98811      1    98810    1% /dev
tmpfs            98811     16    98795    1% /sys/fs/cgroup
shm              98811      1    98810    1% /dev/shm
/dev/sda1      1310720 106794  1203926    9% /etc/hosts
tmpfs            98811      1    98810    1% /proc/acpi
tmpfs            98811      1    98810    1% /sys/firmware

输出显示了以下内容:

  • Inodes:inode 的总数
  • IUsed:已使用的 inode 数量
  • IFree:空闲的 inode 数量
  • IUse%:已使用的 inode 百分比

当你遇到磁盘空间充足但因 inode 耗尽而无法创建新文件的情况时,这些信息特别有用。

组合使用选项

你可以组合使用这些选项,以获得更全面的信息。例如,要同时查看人类可读的磁盘空间和 inode 使用情况:

df -hi

这将提供更完整的文件系统使用情况:

Filesystem     Inodes IUsed IFree IUse% Mounted on
overlay         1.3M  107K  1.2M    9% /
tmpfs            97K     1   97K    1% /dev
tmpfs            97K    16   97K    1% /sys/fs/cgroup
shm              97K     1   97K    1% /dev/shm
/dev/sda1       1.3M  107K  1.2M    9% /etc/hosts
tmpfs            97K     1   97K    1% /proc/acpi
tmpfs            97K     1   97K    1% /sys/firmware

总结

在这个实验中,你学习了如何使用 df 命令在 Linux 环境中有效地监控和分析磁盘空间的使用情况。以下是你所完成内容的回顾:

  1. 你使用了基本的 df 命令来查看所有已挂载文件系统的磁盘空间信息。
  2. 你学会了使用 -h 选项让输出更易读,该选项以人类可读的格式显示大小。
  3. 你聚焦于特定目录,以分析特定文件系统上的磁盘空间。
  4. 你探索了其他选项,如 -T 用于显示文件系统类型,-i 用于检查索引节点 (inode) 的使用情况。
  5. 你学会了如何组合使用选项,以进行更全面的文件系统分析。

这些技能对于系统管理和维护任务至关重要。定期监控磁盘空间有助于预防系统问题,并确保系统性能达到最优。随着你继续使用 Linux 系统,这些命令将成为你主动进行系统管理的常用工具。

若你想了解目录(而非整个文件系统)内空间使用的更详细信息,可以使用补充命令 du(磁盘使用情况),它能更细致地展示磁盘空间在目录和子目录中的使用情况。