使用 df 和 du 命令检查 Linux 中的磁盘空间使用 df 和 du 命令检查 Linux 中的磁盘空间使用 df 和 du 命令检查 Linux 中的磁盘空间使用 df 和 du 命令检查 Linux 中的磁盘空间
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

使用 df 和 du 命令检查 Linux 中的磁盘空间

发表 admin at 2025年2月28日
类别
  • 未分类
标签

Linux 有强大的内置命令来检查可用磁盘空间,称为“df”和“du”。让我们了解如何正确使用它们。

df
du

使用 df 命令检查 Linux 中的磁盘空间

检查磁盘空间的最简单且更流行的方法是运行 df 命令。

$ df <options>

如果您运行 df 命令,这就是您将获得的输出。

ubuntu:~$ df
Filesystem     1K-blocks     Used Available Use% Mounted on
udev             2007152        0   2007152   0% /dev
tmpfs             403960      716    403244   1% /run
/dev/vda1       81120644 31236604  49867656  39% /
tmpfs            2019792        0   2019792   0% /dev/shm
tmpfs               5120        0      5120   0% /run/lock
tmpfs            2019792        0   2019792   0% /sys/fs/cgroup
/dev/vda15        106858     3668    103190   4% /boot/efi
tmpfs             403956        0    403956   0% /run/user/0
tmpfs             403956        0    403956   0% /run/user/1000

默认情况下,df 命令显示六列:

  • 文件系统:文件系统的名称,可能与文件系统上的分区名称相同(/dev/vda1 或 /dev/sda1例子)。
  • 1K-blocks:文件系统上大小为 1Kb 的块数。 /dev/vda1 包含 81120644 个 1K 块,总共有 81120644000 字节或 78.5 GB 空间。
  • 已使用:文件系统上使用的 1K 块数。
  • 可用:文件系统可用的 1K 块数。
  • 使用百分比:文件系统上使用的磁盘百分比。
  • 安装于:用于安装文件系统的安装点。

以人类可读的格式显示磁盘空间使用情况

您是否注意到上面的命令以字节为单位显示信息,根本不可读?我们习惯以兆字节、千兆字节等单位读取大小,因为这样很容易理解和记忆。

-h
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            2.0G     0  2.0G   0% /dev
tmpfs           395M  716K  394M   1% /run
/dev/vda1        78G   30G   48G  39% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/vda15      105M  3.6M  101M   4% /boot/efi
tmpfs           395M     0  395M   0% /run/user/0
tmpfs           395M     0  395M   0% /run/user/1000

检查特定文件系统磁盘空间

在某些情况下,您可能希望将搜索限制到主机上的特定文件系统。要检查特定文件系统的磁盘空间,您必须运行以下命令:

$ df <options> <path>

例如,要检查与根挂载点相关的磁盘信息,您可以运行:

$ df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        78G   30G   48G  39% /

查看输出中的特定字段

要实现此结果,只需在命令上附加一个 -output 标志即可。

$ df -h --output='field1','field2' /

例如,要仅显示大小和使用百分比,您可以运行:

$ df -h --output='size','pcent' /
Size Use%
78G  39%

检查 Linux 上的 inode 使用情况

在某些非常特殊的情况下,您可能需要检查 Linux 文件系统上的 inode 使用情况。

这些文件与文件系统上的索引节点紧密耦合。然而,这个索引节点表的大小是有限的。因此,您可能会在磁盘空间耗尽之前耗尽 inode 条目。

如果您的系统已经处理了太多文件(无论是否很小),它将无法为新文件分配更多空间,即使您的磁盘有 30GB 可用空间。

-inodes
$ df --inodes
Filesystem       Inodes  IUsed    IFree IUse% Mounted on
udev             501788    384   501404    1% /dev
tmpfs            504948    617   504331    1% /run
/dev/vda1      10321920 320672 10001248    4% /
tmpfs            504948      1   504947    1% /dev/shm
tmpfs            504948      4   504944    1% /run/lock
tmpfs            504948     18   504930    1% /sys/fs/cgroup
/dev/vda15            0      0        0     - /boot/efi
tmpfs            504948     19   504929    1% /run/user/0
tmpfs            504948     10   504938    1% /run/user/1000
-h
$ df -h --inodes /
Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/vda1        9.9M  314K  9.6M    4% /

使用 du 命令检查 Linux 中的磁盘空间

du 命令用于获取与系统上的目录和文件相关的磁盘使用信息。

$ du <option> <path|file>du <option> <path1> <path2> <path3>

根据指定,您可以获取特定文件的磁盘使用情况,也可以获取系统上的路径。

检查文件磁盘使用情况

要检查特定文件的磁盘使用情况,只需将文件名附加到 du 命令即可。

例如,要检查 .bashrc 文件的大小,您可以运行:

$ du ~/.bashrc
4    /home/user3/.bashrc
-B
$ du -BM ~/.bashrc
1M      /home/user3/.bashrc

请注意,尺寸将四舍五入到最接近的整数。在本例中,.bashrc 文件不是 1Mb 大,但已自动舍入。

当然,您也可以选择以人类可读的格式显示大小,验证大小确实以千字节为单位显示。

$ du -h ~/.bashrc
4.0K    /home/user3/.bashrc
-h
-apparent-size
$ du -h --apparent-size ~/.bashrc
3.7K    /home/user3/.bashrc

检查目录磁盘使用情况

另一方面,您可以通过指定 du 命令的路径来检查目录磁盘使用情况。

例如,如果您正在查找文件系统上所有目录的磁盘使用情况,您将运行:

$ du /
...
0	/run/udev/links/\x2fdisk\x2fby-id\x2fwwn-0x5002538e09a787b4-part3
0	/run/udev/links/\x2fdisk\x2fby-partuuid\x2f6bd9a838-03
0	/run/udev/links/\x2fdisk\x2fby-id\x2fwwn-0x5002538e09a787b4
0	/run/udev/links/\x2fdisk\x2fby-path\x2fpci-0000:00:1f.2-ata-1
0	/run/udev/links
868	/run/udev/data
868	/run/udev
4	/run/tmpfiles.d
0	/run/initramfs
1384	/run
448393904

但是,在某些情况下,您不希望查看路径上每个文件或目录的输出,而是希望查看给定路径的总计。

-shc
$ sudo du -shc /home
2.8G    /home
2.8G    total

以下是所使用选项的细分:

  • -s
  • :总而言之,它将显示提供的每个路径的总计,而不是其中每个文件和目录的完整列表。

  • -c
  • :对于总计,如果您指定多个路径,它将对它们进行求和以生成总计。

  • -h
  • :为了人类可读,它将显示带有单位的结果。

结论

df
du

因此,您可以做出明智的决定,将某些数据移动到其他存储、向计算机添加另一个硬盘驱动器或删除冗余数据。

这些命令有很多选项。我们在这里仅描述了最有用的选项。您可以在 Linux 手册页中查看 df 命令和 du 命令选项的完整列表。

©2015-2025 Norria support@alaica.com