本页内容

  • 先决条件
  • 使用 df 命令查看磁盘空间
  • 以人类可读格式显示磁盘空间
  • 显示文件系统类型
  • 使用 du 命令查看磁盘空间占用
  • 结论

监控磁盘使用信息是任何系统管理员每天都要执行的任务。Linux 提供了一些易于使用的实用工具,可帮助你在命令行中查看系统的磁盘空间情况。

  • df 命令:用于显示 Linux 文件系统所占用的磁盘空间大小。
  • du 命令:用于显示文件和目录所占用的磁盘空间大小。

在本教程中,我将向你展示在 Linux 上检查磁盘空间的几种方法。

在 Ubuntu 24.04 上查看磁盘空间占用

先决条件

  • 一台运行 Ubuntu Linux 操作系统的服务器。
  • 服务器上已配置 root 密码。

使用 df 命令查看磁盘空间

你可以不带任何参数直接使用 df 命令,来查看已挂载文件系统的磁盘空间使用情况。

df

你将看到如下输出:

Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/sda1      288237920 35699668 237873500  14% /
none                   4        0         4   0% /sys/fs/cgroup
udev             1950372        4   1950368   1% /dev
tmpfs             392664     4548    388116   2% /run
none                5120        0      5120   0% /run/lock
none             1963312   150760   1812552   8% /run/shm
none              102400       48    102352   1% /run/user
/dev/sda5      187308940 37156240 140614908  21% /Data
/dev/loop0         93568    93568         0 100% /snap/core/8592
/dev/loop1        177536   177536         0 100% /snap/skype/112
/dev/loop2         93568    93568         0 100% /snap/core/8689
/dev/loop3         46080    46080         0 100% /snap/gtk-common-themes/1440
/dev/loop4         56064    56064         0 100% /snap/core18/1668
/dev/loop5        177664   177664         0 100% /snap/skype/115
/dev/loop6        164096   164096         0 100% /snap/gnome-3-28-1804/116
/dev/loop7         56832    56832         0 100% /snap/teams-for-linux/79

下面简要说明每一列的含义:

  • Filesystem(文件系统):显示文件系统分区的名称。
  • 1K-blocks(1K 块数):以 1K 块为单位显示文件系统的大小。
  • Used(已用):显示已使用的空间。
  • Available(可用):显示可用的剩余空间。
  • Use%(使用率):以百分比形式显示已使用空间占比。
  • Mounted on(挂载点):显示文件系统所挂载的目录。

以人类可读格式显示磁盘空间

如果你想以人类可读的格式显示磁盘空间使用情况,可以使用带 -h 选项的 df 命令。

df -h

你将得到如下输出:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       275G   35G  227G  14% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            1.9G  4.0K  1.9G   1% /dev
tmpfs           384M  4.7M  379M   2% /run
none            5.0M     0  5.0M   0% /run/lock
none            1.9G  160M  1.8G   9% /run/shm
none            100M   48K  100M   1% /run/user
/dev/sda5       179G   36G  135G  21% /Data
/dev/loop0       92M   92M     0 100% /snap/core/8592
/dev/loop1      174M  174M     0 100% /snap/skype/112
/dev/loop2       92M   92M     0 100% /snap/core/8689
/dev/loop3       45M   45M     0 100% /snap/gtk-common-themes/1440
/dev/loop4       55M   55M     0 100% /snap/core18/1668
/dev/loop5      174M  174M     0 100% /snap/skype/115
/dev/loop6      161M  161M     0 100% /snap/gnome-3-28-1804/116
/dev/loop7       56M   56M     0 100% /snap/teams-for-linux/79

显示文件系统类型

你可以配合 -T 选项使用 df 命令,在显示其他信息的同时一并显示文件系统类型。

df -T

你将看到如下输出:

Filesystem     Type     1K-blocks     Used Available Use% Mounted on
/dev/sda1      ext4     288237920 35700492 237872676  14% /
none           tmpfs            4        0         4   0% /sys/fs/cgroup
udev           devtmpfs   1950372        4   1950368   1% /dev
tmpfs          tmpfs       392664     4976    387688   2% /run
none           tmpfs         5120        0      5120   0% /run/lock
none           tmpfs      1963312   223944   1739368  12% /run/shm
none           tmpfs       102400       48    102352   1% /run/user
/dev/sda5      ext4     187308940 37156240 140614908  21% /Data
/dev/loop0     squashfs     93568    93568         0 100% /snap/core/8592
/dev/loop1     squashfs    177536   177536         0 100% /snap/skype/112
/dev/loop2     squashfs     93568    93568         0 100% /snap/core/8689
/dev/loop3     squashfs     46080    46080         0 100% /snap/gtk-common-themes/1440
/dev/loop4     squashfs     56064    56064         0 100% /snap/core18/1668
/dev/loop5     squashfs    177664   177664         0 100% /snap/skype/115
/dev/loop6     squashfs    164096   164096         0 100% /snap/gnome-3-28-1804/116
/dev/loop7     squashfs     56832    56832         0 100% /snap/teams-for-linux/79

若要只显示 ext4 分区的信息,可运行以下命令:

df -t ext4

你将看到如下输出:

Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/sda1      288237920 35700936 237872232  14% /
/dev/sda5      187308940 37156240 140614908  21% /Data

不带任何参数运行 du 命令,会显示当前目录的磁盘空间占用情况:

You can also use the du command to check the disk space usage in a Linux system.

你将看到如下输出:

du

若要以人类可读的格式显示信息,可运行以下命令:

308     ./.anydesk/thumbnails
1256    ./.anydesk
164     ./.gftp
4       ./.xx-svn-diff
4       ./Public
4       ./.local/share/folks
12      ./.local/share/data/Nextcloud
16      ./.local/share/data
4       ./.local/share/gstreamer-1.0/presets
8       ./.local/share/gstreamer-1.0
20      ./.local/share/unity-webapps
8       ./.local/share/vlc
4       ./.local/share/evolution/calendar/trash
8       ./.local/share/evolution/calendar/system
16      ./.local/share/evolution/calendar
4       ./.local/share/evolution/mail/trash
8       ./.local/share/evolution/mail
4       ./.local/share/evolution/memos/trash

你将看到如下输出:

du -h

你可以使用带 -hs 选项的 du 命令,来显示指定目录的总磁盘空间占用情况。

308K    ./.anydesk/thumbnails
1.3M    ./.anydesk
164K    ./.gftp
4.0K    ./.xx-svn-diff
4.0K    ./Public
4.0K    ./.local/share/folks
12K     ./.local/share/data/Nextcloud
16K     ./.local/share/data
4.0K    ./.local/share/gstreamer-1.0/presets
8.0K    ./.local/share/gstreamer-1.0
20K     ./.local/share/unity-webapps
8.0K    ./.local/share/vlc
4.0K    ./.local/share/evolution/calendar/trash
8.0K    ./.local/share/evolution/calendar/system
16K     ./.local/share/evolution/calendar

你将看到如下输出:

du -hs /var/log

你还可以配合 sort 参数使用 du 命令,按大小对文件和目录进行排序,如下所示:

18M	/var/log

结论

du -h | sort -rn

You should see the following output:

136K	./master-pdf-editor-4/lang/qt
124K	./master-pdf-editor-5/stamps/Standard
124K	./master-pdf-editor-4/stamps/Standard
80K	./master-pdf-editor-5/templates
80K	./master-pdf-editor-4/templates
77M	./HD-Wallpaper
76K	./master-pdf-editor-5/templates/stamps
76K	./master-pdf-editor-4/templates/stamps
64M	./Mummy
52K	./111
48M	./master-pdf-editor-5
44M	./master-pdf-editor-4
19M	./master-pdf-editor-5/lang
15M	./master-pdf-editor-4/lang
12M	./Webserver

Conclusion

In the above guide, you learned how to check disk space usage with the du and df command. I hope this will help you in your day-to-day tasks.