服务器测评网
我们一直在努力

Linux系统如何详细查看硬盘信息及使用情况?

在Linux系统中,查看硬盘信息是系统管理和日常运维的基础操作,无论是监控存储空间、排查磁盘性能问题,还是规划存储方案,都需要熟练掌握相关的命令和工具,本文将详细介绍Linux系统中查看硬盘信息的多种方法,涵盖基本命令、高级工具以及不同场景下的应用技巧,帮助用户全面掌握硬盘状态监控技能。

Linux系统如何详细查看硬盘信息及使用情况?

基础命令:快速获取硬盘概览信息

对于初学者而言,dfdu是两个最常用且最基础的命令,能够快速了解磁盘空间使用情况和文件目录大小。

df命令:查看文件系统整体使用情况

df(disk free)命令用于显示Linux系统中各文件系统的磁盘空间使用情况,默认以KB为单位显示,通过不同选项可以获取更详细的信息:

  • df -h:以人类可读格式(如GB、MB、KB)显示磁盘空间,这是最常用的选项。df -h会列出每个挂载点的总容量、已用空间、可用空间、使用率及挂载点路径。
  • df -T:显示文件系统类型,如ext4、xfs、ntfs等,便于区分不同格式的分区。
  • df -i:查看inode的使用情况,inode是Linux中存储文件元数据的关键结构,inode不足会导致无法创建新文件,即使磁盘空间仍有剩余。

示例输出中,Use%列直观展示了各分区的使用率,当接近100%时需要及时清理空间或扩容。

du命令:统计目录或文件大小

du(disk usage)命令用于递归计算指定目录或文件所占用的磁盘空间,与df关注文件系统不同,du聚焦于具体文件和目录:

  • du -sh:统计当前目录的总大小(-s表示汇总,-h以人类可读格式显示)。du -sh /var/log可查看日志目录的总占用空间。
  • du -ah:递归显示当前目录下所有文件和子目录的大小,-a表示包含文件。
  • du --max-depth=1:限制递归深度,仅显示一级子目录的大小,便于快速定位大容量目录。

块设备管理:lsblkblkid查看硬盘底层信息

若需了解硬盘的物理结构(如磁盘分区、设备名称等),则需要使用块设备管理命令。

lsblk命令:列出块设备信息

lsblk(list block devices)以树状结构展示系统中所有块设备的信息,包括磁盘、分区、挂载点等:

  • lsblk:默认显示设备名、大小、挂载点等基本信息。sda表示第一块SATA磁盘,其下的sda1sda2为分区。
  • lsblk -f:显示文件系统类型、UUID(通用唯一标识符)和挂载状态,便于快速识别分区格式和挂载情况。
  • lsblk -m:显示设备的权限、所有者和组信息,适用于权限管理场景。

lsblk的输出结构清晰,能直观展示磁盘与分层的层级关系,适合快速定位物理磁盘和对应分区。

Linux系统如何详细查看硬盘信息及使用情况?

blkid命令:查看块属性标识

blkid用于显示块设备的属性标识,包括文件系统类型、UUID、LABEL(卷标)等:

  • blkid:列出所有已识别设备的标识信息。/dev/sda1: UUID="1234abcd-5678" TYPE="ext4"表示分区的UUID和文件系统类型。
  • blkid /dev/sdb1:指定设备查看特定分区的标识信息,常用于挂载文件时确认分区属性。

详细磁盘信息:fdiskparted分区管理工具

当需要对磁盘进行分区管理或查看详细的分区表信息时,fdiskparted是功能强大的工具。

fdisk命令:经典分区表操作工具

fdisk是基于MBR(主引导记录)或GPT(GUID分区表)的分区管理工具,适用于大多数Linux系统:

  • fdisk -l:列出系统中所有磁盘及其分区信息,包括起始扇区、结束扇区、分区大小和分区类型。/dev/sdb磁盘的分区表会以Device Boot Start End Sectors Size Id Type的格式展示。
  • 交互模式操作:直接运行fdisk /dev/sdb进入交互模式,可通过p(打印分区表)、n(新建分区)、d(删除分区)等命令管理分区,适合需要修改分区结构的场景。

parted命令:支持GPT的高级分区工具

parted是比fdisk更现代的工具,对GPT分区表支持更好,且支持分区对齐等高级功能:

  • parted -l:列出所有磁盘及其分区信息,显示更详细的分区属性,如文件系统类型、标志位等。
  • 交互模式操作:进入parted /dev/sdc后,可使用print查看分区表,mkpart创建分区,set设置分区标志(如引导标志)。

I/O性能监控:iostatiotop排查磁盘瓶颈

若系统出现卡顿或响应缓慢,可能需要监控磁盘I/O性能,定位瓶颈所在。

iostat命令:统计磁盘I/O统计信息

iostatsysstat包的一部分,用于监控系统CPU和磁盘I/O性能:

  • iostat -dx 2:每2秒输出一次磁盘I/O统计,-d表示仅显示磁盘信息,-x显示扩展统计(如%util、await等关键指标)。
    • %util:磁盘利用率,表示磁盘处理I/O请求的时间占比,超过70%可能意味着磁盘瓶颈。
    • await:平均I/O等待时间(毫秒),值过高说明磁盘响应慢。
    • r/s/w/s:每秒读写请求数,反映磁盘负载情况。

iotop命令:实时监控磁盘I/O进程

iotop类似于top命令,以实时列表形式展示各进程的磁盘I/O使用情况:

Linux系统如何详细查看硬盘信息及使用情况?

  • iotop -o:仅显示正在产生I/O的进程,方便定位高I/O消耗的进程(如数据库服务、大文件读写操作)。

智能健康监控:smartctl检测硬盘健康状态

为预防硬盘故障,可通过S.M.A.R.T.(自我监控、分析和报告技术)监控硬盘健康状态。smartctlsmartmontools包中的工具:

  • smartctl -a /dev/sda:显示硬盘的完整S.M.A.R.T.信息,包括温度、坏块数量、通电时间等关键健康指标。
  • smartctl --health /dev/sdb:仅显示硬盘的健康状态,若显示“PASSED”表示硬盘健康,“FAILED”则需立即更换。

S.M.A.R.T.信息中的Reallocated_Sector_Ct(重分配扇区数)和Current_Pending_Sector(当前待修复扇区数)是重要的预警指标,数值升高可能预示硬盘物理损坏。

根据场景选择合适的工具

Linux查看硬盘信息的方法多样,需根据实际需求选择工具:

  • 快速查看空间使用:优先使用df -hdu -sh
  • 了解物理设备结构lsblk -fblkid最直观。
  • 分区管理fdisk(MBR/GPT基础操作)或parted(高级功能)。
  • 性能排查iostat(统计信息)和iotop(实时进程监控)。
  • 健康预警smartctl(S.M.A.R.T.检测)。

熟练掌握这些命令,不仅能有效管理磁盘空间,还能提前发现硬件故障,保障系统稳定运行,在日常运维中,建议结合多种工具综合分析,确保对硬盘状态有全面把控。

赞(0)
未经允许不得转载:好主机测评网 » Linux系统如何详细查看硬盘信息及使用情况?