CentOS服务器下查看磁盘空间和使用情况的常用命令有哪些?

在 CentOS 系统管理中,监控和管理磁盘空间是一项至关重要的日常任务,无论是为了防止系统因磁盘空间耗尽而崩溃,还是为了进行容量规划、排查性能瓶颈,熟练掌握查看磁盘信息的命令都是每一位系统管理员必备的技能,CentOS 作为基于 Linux 内核的企业级操作系统,提供了一系列强大而灵活的命令行工具,可以让我们从不同维度、不同深度地了解磁盘状态,本文将系统性地介绍几个最核心、最常用的磁盘查看命令,并通过实例解析其用法与输出含义,帮助您构建完整的磁盘管理知识体系。

CentOS服务器下查看磁盘空间和使用情况的常用命令有哪些?

df 命令:文件系统空间概览

df(Disk Filesystem)命令是最基础也是最常用的磁盘空间查看工具,它用于显示文件系统的磁盘空间使用情况,通过 df,我们可以快速了解各个分区已用、可用的空间以及使用百分比。

最常用的参数组合是 -h(human-readable),它将以 KB、MB、GB 等更易读的格式显示容量,而不是默认的 1K 块。

df -h

输出结果通常如下所示:

文件系统        容量  已用  可用 已用% 挂载点
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/vda1        50G   15G   33G   32% /
tmpfs           784M     0  784M    0% /run/user/0

输出解读:

  • 文件系统: 分区的设备名称,如 /dev/vda1
  • 容量: 分区总大小。
  • 已用: 已使用的空间。
  • 可用: 剩余可用空间。
  • 已用%: 空间使用百分比,这是判断磁盘是否即将满载的关键指标。
  • 挂载点: 该分区挂载到的系统目录。

除了 -h-T 参数也很有用,它会额外显示文件系统的类型(如 ext4, xfs)。

df -hT

-i 参数用于查看 inode 的使用情况,有时即使磁盘空间还有剩余,但由于 inode 耗尽,也无法创建新文件。

df -i

lsblk 命令:块设备树状结构

lsblk(List Block Devices)命令以树状结构列出所有可用的块设备(磁盘、分区、LVM等),其输出直观地展示了设备间的层级关系,它不显示空间使用情况,而是专注于设备的物理和逻辑结构。

直接运行 lsblk 即可:

lsblk

输出示例如下:

CentOS服务器下查看磁盘空间和使用情况的常用命令有哪些?

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda    252:0    0   50G  0 disk
└─vda1 252:1    0   50G  0 part /

输出解读:

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

从上面的例子可以清晰地看到,vda 是一块 50G 的磁盘,它包含一个名为 vda1 的分区,该分区挂载在根目录 下。

fdiskgdisk 命令:磁盘分区详情

fdiskgdisk 是强大的磁盘分区工具,但它们也常被用来查看磁盘的分区表信息。fdisk 主要用于 MBR 分区表,而 gdisk 用于 GPT 分区表。

使用 -l 参数可以列出系统中所有磁盘的分区布局。

sudo fdisk -l

输出会包含非常详细的分区信息,包括磁盘的扇区总数、每个分区的起始和结束扇区、分区 ID(如 83 表示 Linux,82 表示 Linux swap)等,这对于底层磁盘管理和故障排查非常有价值。

对于 GPT 格式的磁盘,应使用 gdisk -l

du 命令:目录与文件空间占用

df 查看文件系统级别的空间使用不同,du(Disk Usage)命令用于查看指定目录或文件所占用的磁盘空间,这是定位“大文件”或“大目录”从而清理空间的利器。

最常用的组合是 du -sh *

  • -s(summarize): 只显示总计,不列出每个子目录的详情。
  • -h(human-readable): 以易读格式显示。
  • 表示当前目录下的所有文件和目录。
# 查看当前目录下各个子目录的大小
du -sh *
# 查看某个特定目录(如 /var)的总大小
du -sh /var
# 查看当前目录下所有文件和目录的大小,并按大小排序
du -ah | sort -rh | head -n 10

最后一个命令组合非常强大,它可以快速找出占用空间最多的前 10 个文件或目录。

CentOS服务器下查看磁盘空间和使用情况的常用命令有哪些?

命令对比与实战应用

为了更清晰地理解这些命令的区别,下表对它们进行了小编总结:

命令 主要用途 信息层级 常用选项 输出特点
df 查看文件系统总空间使用情况 文件系统级别 -h, -T, -i 汇总性,显示整体使用率
lsblk 查看块设备及其层级关系 物理设备级别 -f, -m 树状结构,直观展示设备关系
fdisk -l 查看磁盘分区表详情 分区表级别 -l 极其详细,包含扇区等底层信息
du 查看目录/文件的具体占用空间 文件/目录级别 -h, -s, --max-depth 递归统计,精确定位空间占用源

实战场景:根目录空间告警,如何快速定位问题?

  1. 第一步:宏观查看,使用 df -h 确认是哪个分区(通常是 )空间不足。
  2. 第二步:定位大目录,进入根目录 cd /,然后使用 du -sh * 查看哪个一级目录占用空间最大,比如发现 /var 目录特别大。
  3. 第三步:深入排查,进入 /var 目录,再次使用 du -sh *,或者使用 du -ah | sort -rh | head -n 10 找出最大的文件或子目录。
  4. 第四步:清理或处理,根据排查结果,对大文件(如日志文件、临时文件)进行清理、归档或移动。

相关问答 FAQs

Q1: 为什么 df 命令显示的磁盘空间使用率很高,但用 du 命令统计所有目录的大小之和却远没有那么大?

A1: 这是一个在 Linux 系统中很常见的问题,主要原因通常是某个已经被删除的文件,但仍有正在运行的进程在引用它。df 统计的是文件系统分配给文件的空间,只要文件还被进程占用,空间就不会被释放;而 du 统计的是目录树中实际可见的文件,被删除的文件已经不在目录树中,du 不会统计它,要找到这类文件,可以使用 lsof | grep '(deleted)' 命令,它会列出所有被删除但仍被进程打开的文件,重启或终止相应的服务进程后,磁盘空间通常就会被释放。

Q2: 除了查看空间使用,如何监控磁盘的读写性能(I/O)?

A2: CentOS 提供了专门的工具来监控磁盘 I/O 性能,最常用的两个是 iostatiotop

  • iostat: 属于 sysstat 软件包,使用 iostat -x 1 命令可以每秒动态刷新一次,显示详细的磁盘 I/O 统计信息,包括设备名、每秒读取/写入的扇区数、每秒读取/写入的请求数、队列长度、等待时间等。%util 列是关键指标,它表示磁盘 I/O 的繁忙程度,如果持续接近 100%,说明磁盘已成为性能瓶颈。
  • iotop: 类似于 top 命令,但用于监控 I/O,它会实时显示哪些进程正在进行大量的读写操作,并按 I/O 使用率排序,使用 sudo iotop 运行,可以快速定位到是哪个进程在“拖慢”磁盘。

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

(0)
热舞的头像热舞
上一篇 2025-10-03 08:53
下一篇 2025-10-03 08:55

相关推荐

  • CentOS7DNS配置,如何修改DNS服务器地址?

    CentOS 7 作为一款广泛使用的服务器操作系统,其 DNS(域名系统)配置是网络管理中的基础且关键环节,DNS 负责将人类易于记忆的域名转换为机器可识别的 IP 地址,是互联网正常运行的基石,本文将详细介绍在 CentOS 7 系统中配置 DNS 服务器的完整流程,包括安装、主配置文件编辑、区域文件创建、服……

    2025-11-06
    008
  • CentOS使用mutt邮件客户端时,为何无法配置msmtp发送邮件?

    CentOS下使用Mutt与Msmtp进行邮件发送配置指南介绍Mutt是一个轻量级的文本模式邮件客户端,而Msmtp是一个简单的邮件发送代理,在CentOS系统中,我们可以通过配置Mutt和Msmtp来实现邮件的发送,本文将详细介绍如何在CentOS下配置Mutt与Msmtp,安装Msmtp使用以下命令安装Ms……

    2026-01-14
    003
  • CentOS如何修改网卡速率为1000Mbps?

    在CentOS系统中正确配置网卡速率是保障网络稳定运行的重要环节,无论是服务器还是桌面环境,合理的网卡速率设置都能有效提升网络传输效率,避免因速率不匹配导致的性能瓶颈,本文将详细介绍CentOS系统中网卡速率设置的方法、注意事项及相关配置技巧,查看当前网卡速率信息在进行网卡速率设置之前,首先需要了解当前网卡的运……

    2025-11-21
    006
  • centos7下go环境配置踩坑?新手必看避坑指南!

    CentOS 7作为一款广泛使用的Linux发行版,其稳定性和兼容性使其成为许多企业和开发者的首选,而Go语言(Golang)以其高效的并发性能和简洁的语法,在现代软件开发中占据重要地位,在CentOS 7系统上搭建Go语言开发环境,是许多开发者的基础需求,本文将详细介绍这一过程的各个环节,包括环境准备、安装配……

    2025-11-29
    006

发表回复

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

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

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

关注微信