CentOS系统如何查看硬盘大小和剩余空间命令?

在CentOS系统中,有效地管理和监控硬盘空间是系统维护的核心任务之一,无论是为了规划存储资源、排查性能问题,还是仅仅为了了解当前系统的使用状况,掌握查看硬盘大小的方法都至关重要,本文将详细介绍几种在CentOS中查看硬盘大小和空间使用情况的常用命令,从宏观的文件系统概览到具体的分区详情,帮助您全面了解系统存储状态。

CentOS系统如何查看硬盘大小和剩余空间命令?

使用 df 命令查看文件系统空间

df(Disk Free)命令是最常用、最直接的查看文件系统磁盘空间使用情况的工具,它能显示每个已挂载文件系统的总容量、已用空间、可用空间以及使用百分比。

默认情况下,df 命令会以1KB为单位显示信息,对于现代人来说可读性较差,我们通常会结合 -h(human-readable)参数使用,它会以K(KB)、M(MB)、G(GB)等更易读的单位来展示数据。

df -h

执行上述命令后,您会看到类似以下的输出:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        50G   15G   33G  32% /
devtmpfs        3.9G     0  3.9G   0% /dev
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           3.9G  8.6M  3.9G   1% /run
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda1      1014M  150M  865M  15% /boot
tmpfs           799M     0  799M   0% /run/user/0

输出字段解释:

  • Filesystem: 文件系统的设备名称,如 /dev/sda3
  • Size: 该文件系统的总大小。
  • Used: 已使用的空间大小。
  • Avail: 可用的空间大小。
  • Use%: 磁盘使用率百分比。
  • Mounted on: 挂载点,即该文件系统在目录树中的位置。

如果您还想查看文件系统的类型(如xfs, ext4),可以使用 -T 参数:

df -hT

使用 lsblk 命令查看块设备结构

lsblk(List Block Devices)命令以树状结构清晰地展示系统中的块设备(硬盘、分区、光驱等),非常适合用来了解物理磁盘和逻辑分区之间的层次关系。

直接输入 lsblk 即可:

lsblk

输出示例如下:

CentOS系统如何查看硬盘大小和剩余空间命令?

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   50G  0 disk
├─sda1   8:1    0    1G  0 part /boot
└─sda2   8:2    0   49G  0 part
  └─centos-root
         253:0    0   49G  0 lvm  /
sdb      8:16   0  100G  0 disk
└─sdb1   8:17   0  100G  0 part /data

输出字段解释:

  • NAME: 设备名称。
  • MAJ:MIN: 主设备号和次设备号。
  • RM: 是否为可移动设备(1表示是,0表示否)。
  • SIZE: 设备大小。
  • RO: 是否为只读(1表示是,0表示否)。
  • TYPE: 设备类型(disk表示磁盘,part表示分区,lvm表示逻辑卷)。
  • MOUNTPOINT: 挂载点。

lsblk 的优点在于其直观的树状结构,能让人一眼看出哪个分区属于哪块硬盘,使用 -f 参数还可以额外显示文件系统类型、UUID和挂载点,信息更为全面。

使用 fdiskparted 查看磁盘分区详情

当需要查看更底层的分区表信息时,fdiskparted 是强大的工具。


fdisk 是一个经典的磁盘分区工具,使用 -l 参数可以列出所有磁盘的分区表,由于需要读取原始设备信息,通常需要 sudo 权限。

sudo fdisk -l

输出会包含磁盘的几何信息、分区起始和结束扇区、分区ID等非常详细的技术数据。


parted 是一个更现代的分区工具,支持GPT分区表,能更好地处理大容量硬盘,同样使用 -l 参数列出信息。

sudo parted -l

parted 的输出相对 fdisk 更简洁一些,同样能提供磁盘模型、大小、分区表类型以及每个分区的详细信息。

命令小编总结与对比

为了方便您快速选择合适的工具,下表小编总结了上述命令的主要用途和特点。

CentOS系统如何查看硬盘大小和剩余空间命令?

命令 主要用途 特点
df -h 查看已挂载文件系统的空间使用情况 最常用,关注文件系统层面的空间,直观易读
lsblk 查看块设备(磁盘、分区)的层次结构 树状图,清晰展示物理与逻辑关系,适合了解整体布局
sudo fdisk -l 查看磁盘的详细分区表信息 经典工具,信息非常底层和技术化,适合高级用户
sudo parted -l 查看磁盘分区详情(支持GPT) 现代工具,输出清晰,适合大容量磁盘和新式分区表

相关问答FAQs

问题1:为什么有时 df 命令显示的已用空间和 du 命令统计某个目录下所有文件大小总和不一致?

解答: 这是一个常见现象,主要原因有以下几点:

  1. 已删除但被进程占用的文件:如果一个文件被删除了,但仍有正在运行的进程打开了这个文件句柄,df 会认为该文件仍在占用空间,而 du 则不会统计这个已经不存在的文件,重启相关服务或系统后,空间会被释放。
  2. 文件系统保留空间:Linux文件系统(如ext4)会为 root 用户保留一部分空间(默认5%),以防系统满盘时无法登录进行维护。df 的总空间包含了这部分保留空间,而 du 统计的是普通用户可用的空间。
  3. 文件系统元数据df 统计的空间包含了inode等文件系统元数据占用的空间,而 du 主要统计文件数据块的大小。

问题2:如何快速找出系统中占用空间最大的目录?

解答: 可以结合 dusort 命令来实现,使用 du 命令获取当前目录下所有子目录的大小,然后通过管道传递给 sort 命令进行排序。
要查看根目录 下哪个一级子目录占用空间最大,可以执行:

du -sh /* | sort -rh

命令解释:

  • du -sh /*-s 表示汇总每个目录的总大小而不显示子目录,-h 表示以人类可读格式显示, 表示统计根目录下的所有一级子目录。
  • sort -rh-r 表示反向排序(从大到小),-h 表示按人类可读的数字大小进行排序(如G > M > K)。
    这样,输出列表的第一行就是占用空间最大的目录,您可以进入该目录,再次执行类似的命令,层层深入,最终定位到占用空间的大文件或目录。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-07 04:34
下一篇 2025-10-07 04:38

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信