Linux查看磁盘命令详解
在Linux系统中,磁盘管理是系统运维的重要环节,掌握查看磁盘信息的命令能够帮助用户有效监控存储空间、分析磁盘性能以及排查存储相关问题,本文将详细介绍Linux系统中常用的查看磁盘命令,包括df、du、lsblk、fdisk、smartctl等,并说明它们的使用场景、参数选项及实际应用案例。

df命令:文件系统磁盘空间使用情况
df(disk free)命令用于显示Linux文件系统的磁盘空间使用情况,包括已用空间、可用空间、挂载点等信息,该命令适用于快速查看整体磁盘容量分配及剩余空间。
基本语法:
df [选项] [文件或目录]
常用选项:
-h:以人类可读的格式显示(如KB、MB、GB)。-T:显示文件系统类型。-i:显示inode信息而非块使用情况。--total:汇总所有文件系统的磁盘使用情况。
示例:
# 查看所有文件系统的磁盘使用情况(人类可读格式) df -h # 查看指定目录的磁盘使用情况 df -h /home # 汇总总磁盘使用量 df -h --total
输出说明:
df命令的输出包含多个列,如Filesystem(文件系统)、Size(总容量)、Used(已用空间)、Avail(可用空间)、Use%(使用率)、Mounted on(挂载点),通过Use%列可以快速判断磁盘是否接近满载,避免系统因磁盘空间不足而出现问题。
du命令:目录或文件磁盘使用量
du(disk usage)命令用于递归查询指定目录或文件的磁盘使用量,适用于分析特定目录或文件占用的空间大小。
基本语法:
du [选项] [文件或目录]
常用选项:
-h:以人类可读格式显示。-s:仅显示总计大小,不显示子目录详情。-a:显示所有文件的大小,而仅目录。--max-depth=N:限制递归深度为N层。
示例:
# 查看当前目录下各子目录的磁盘使用量 du -h # 查看指定目录的总大小 du -sh /var/log # 查看当前目录下所有文件的大小,限制递归深度为1 du -ha --max-depth=1
应用场景:
当磁盘空间不足时,可通过du命令定位占用空间较大的目录或文件,结合find命令进一步分析或清理无用数据。
# 查找大于1GB的文件 find / -type f -size +1G
lsblk命令:列出块设备信息
lsblk(list block devices)命令以树状结构显示块设备信息,包括磁盘分区、挂载点、设备类型等,适合直观查看磁盘与分层的层级关系。

基本语法:
lsblk [选项]
常用选项:
-f:显示文件系统类型、挂载点等详细信息。-d:不显示子设备(如分区)。-l:使用列表格式而非树状结构。-o NAME,SIZE,FSTYPE,MOUNTPOINT:自定义输出列。
示例:
# 以树状结构显示所有块设备 lsblk # 显示文件系统类型和挂载点 lsblk -f # 仅显示磁盘设备(不显示分区) lsblk -d
输出说明:
lsblk的输出包含NAME(设备名)、SIZE(大小)、RO(是否只读)、MOUNTPOINT(挂载点)等列,通过NAME列可识别磁盘设备(如sda、nvme0n1),而其子设备则表示分区(如sda1、sda2)。
fdisk命令:磁盘分区管理
fdisk是一款经典的磁盘分区工具,用于查看、创建、删除或调整磁盘分区,虽然其界面为交互式模式,但功能强大,适合低级磁盘操作。
基本语法:
sudo fdisk [选项] [设备文件]
常用选项:
-l:列出指定磁盘的分区表信息。-u:显示扇区而非柱面单位。
示例:
# 查看所有磁盘的分区信息 sudo fdisk -l # 查看指定磁盘的分区 sudo fdisk -l /dev/sdb
交互式操作:
运行sudo fdisk /dev/sdb后,可通过以下命令操作分区:
p:打印分区表。n:创建新分区。d:删除分区。w:保存更改并退出。q:不保存更改退出。
注意事项:
fdisk不支持大于2TB的磁盘分区,对于大容量磁盘,推荐使用parted或gdisk命令。
smartctl命令:磁盘健康状态检测
smartctl是SMART(Self-Monitoring, Analysis and Reporting Technology)工具的一部分,用于检测磁盘的健康状态,提前预警硬盘故障。

基本语法:
smartctl [选项] [设备文件]
常用选项:
-a:显示所有SMART信息。-H:检查磁盘健康状态(是否正常)。-i:显示设备识别信息。
示例:
# 检查磁盘健康状态 sudo smartctl -H /dev/sda # 显示磁盘详细信息及SMART属性 sudo smartctl -a /dev/sda
关键指标:
SMART overall-health self-assessment test result:磁盘整体健康状态(通常为“PASSED”或“FAILED”)。Reallocated_Sector_Ct:重分配扇区数,若数值上升表明磁盘存在坏道。Current_Pending_Sector:待处理扇区数,可能预示即将出现的坏道。
其他实用命令
-
df与du结合分析磁盘空间
当df显示磁盘空间不足,但du统计结果与df不一致时,可能是由删除的文件仍被进程占用导致,可通过以下步骤排查:# 查找占用文件的进程 lsof | grep deleted
-
mount命令:查看挂载信息
mount命令用于查看当前已挂载的文件系统,结合-l选项可显示标签信息:mount -l
-
ncdu工具:交互式磁盘使用分析
ncdu(NCurses Disk Usage)是du的增强版,提供交互式界面,支持快速导航和删除文件:sudo apt install ncdu # Debian/Ubuntu ncdu /var/log
Linux提供了丰富的磁盘查看命令,满足不同场景的需求:
df:快速查看文件系统整体空间使用情况。du:精确分析目录或文件的磁盘占用。lsblk:直观展示块设备的层级关系。fdisk:管理磁盘分区(适合中小容量磁盘)。smartctl:监控磁盘健康状态,预防数据丢失。
熟练掌握这些命令,并结合grep、awk等工具进行过滤和统计,能够高效解决磁盘空间管理、性能优化及故障排查等问题,在实际操作中,建议定期执行磁盘检查命令,建立磁盘使用监控机制,确保系统稳定运行。











