Linux系统如何查看硬盘信息、使用率、健康状态及分区详情?

在Linux系统中,查看硬盘信息是系统管理、故障排查和容量规划的基础操作,Linux提供了多种命令和工具,帮助用户从不同维度获取硬盘的详细信息,包括设备识别、分区结构、使用情况、健康状态等,本文将详细介绍常用命令的使用方法及输出解读,并通过表格对比不同工具的特点,最后附上常见问题解答。

linux如何看硬盘信息

基础信息查看:识别硬盘设备

lsblk:列出块设备信息

lsblk(list block devices)是Linux中最常用的块设备查看工具,以树状结构显示硬盘及其分区信息,无需root权限即可运行。
常用选项

  • -l:以列表形式输出(默认为树状)。
  • -f:显示文件系统信息(如UUID、挂载点)。
  • -d:只显示磁盘设备,不显示分区。
  • -m:显示设备所有者和权限信息。

示例输出

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT  
sda      8:0    0  100G  0 disk  
├─sda1   8:1    0   50G  0 part /  
└─sda2   8:2    0   50G  0 part /home  
sdb      8:16   1  1.8T  0 disk  
└─sdb1   8:17   1  1.8T  0 part /data  
sr0     11:0    1 1024M  0 rom  

字段解读

  • NAME:设备名(sda为第一块SATA硬盘,sdb为第二块,sr0为光驱)。
  • MAJ:MIN:主设备号和次设备号,用于内核识别设备。
  • RM:是否为可移动设备(1表示可移动,如U盘;0表示固定硬盘)。
  • SIZE:设备总容量。
  • RO:是否为只读设备(0表示可读写)。
  • TYPE:设备类型(disk为磁盘,part为分区,rom为光驱)。
  • MOUNTPOINT:挂载点(未挂载时显示为空)。

lshw:列出硬件详细信息

lshw(list hardware)是一款功能强大的硬件信息查看工具,可显示硬盘的型号、序列号、接口类型(如SATA、NVMe)等详细信息,需root权限。
常用选项

  • class disk:仅显示磁盘类硬件信息。
  • -short:简化输出,仅显示关键信息。

示例输出

*-disk:0  
   description: SCSI Disk  
   product: Samsung SSD 870 EVO  
   vendor: Samsung  
   physical id: 0.0.0  
   bus info: scsi@0:0.0.0  
   logical name: /dev/sda  
   version: 2B6Q  
   serial: S3Z8NB0K123456  
   size: 931.51GiB (1TB)  
   capacity: 931.51GiB (1TB)  
   width: 64 bits  
   clock: 300MHz  
   capabilities: partitioned partitioned:dos  
   configuration: ansiversion=5 signature=00000000 sectorsize=512  

分区信息查看:分析分区结构

fdisk:磁盘分区表工具

fdisk是经典的分区管理工具,可查看磁盘的分区表类型(MBR/GPT)及分区详情,需root权限。
常用选项

  • -l:列出所有磁盘的分区信息。

示例输出

Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors  
Disk model: Samsung SSD 870 EVO  
Units: sectors of 1 * 512 = 512 bytes  
Sector size (logical/physical): 512 bytes / 512 bytes  
I/O size (minimum/optimal): 512 bytes / 512 bytes  
Disklabel type: gpt  
Disk identifier: 12345678-9012-3456-7890-ABCDEF123456  
Device     Start        End   Sectors  Size Type  
/dev/sda1   2048   104857599  104855552   50G Linux filesystem  
/dev/sda2 104857600 1953523711 1848666112 871.5G Linux filesystem  

关键信息

  • Disklabel type:分区表类型(gpt为GUID分区表,支持2TB以上硬盘;dos为MBR,最大支持2TB)。
  • Device:分区设备名(sda1为第一个分区)。
  • Sectors/Size:分区起始扇区、总扇区数及容量。

parted:高级分区工具

parted支持GPT/MBR分区表,可查看分区对齐、文件系统类型等高级信息,适合处理大容量磁盘。
常用选项

linux如何看硬盘信息

  • -l:列出所有磁盘分区信息。

示例输出

Model: Samsung SSD 870 EVO (scsi)  
Disk /dev/sda: 1000GB  
Sector size (logical/physical): 512B/512B  
Partition Table: gpt  
Disk Flags: 
Number  Start   End     Size    File system  Name  Flags
 1      1049kB  53.7GB  53.7GB  ext4               boot, 
 2      53.7GB  1000GB  947GB   ext4              

使用情况统计:磁盘空间分析

df:文件系统磁盘使用情况

df(disk free)用于查看已挂载文件系统的空间使用率,支持按文件系统或inode统计。
常用选项

  • -h:以人类可读格式显示(如KB、MB、GB)。
  • -T:显示文件系统类型。
  • -i:显示inode使用情况(而非磁盘块)。

示例输出

Filesystem     Type      Size  Used Avail Use% Mounted on  
/dev/sda1      ext4       50G   20G   28G  42% /  
/dev/sda2      ext4      871G  150G  676G  18% /home  
tmpfs          tmpfs      16G     0   16G   0% /dev/shm  

du:目录/文件磁盘占用

du(disk usage)用于统计指定目录或文件的磁盘占用空间,常配合sortfind使用。
常用选项

  • -sh:以人类可读格式显示总计(s汇总,h人性化)。
  • --max-depth=N:限制统计层级(如--max-depth=1仅统计一级子目录)。

示例输出

2G    /home/user/documents  
5.6G    /home/user/videos  
7.8G    /home/user  

硬盘健康与性能检测

smartctl:S.M.A.R.T.信息监控

smartctl(来自smartmontools工具包)可读取硬盘的S.M.A.R.T.(Self-Monitoring, Analysis and Reporting Technology)数据,用于评估硬盘健康状态,需root权限。
常用选项

  • -a:显示所有S.M.A.R.T.信息。
  • -H:仅显示健康状态(如“PASSED”或“FAILED”)。

示例输出

SMART overall-health self-assessment test result: PASSED  
Device Model: Samsung SSD 870 EVO  
Serial Number: S3Z8NB0K123456  
Total NVM Blocks: 1562500000  
...  
Attribute Name          ID    Flag     Value   Worst Threshold  
Power_On_Hours          9     0x0032   1234   0    0  
Media_Wearout_Indicator 177   0x0013   98     0    10  

关键指标

  • Power_On_Hours:通电时间(小时),反映硬盘使用强度。
  • Media_Wearout_Indicator:介质磨损指标(0-100),越低表示寿命损耗越大。

hdparm:硬盘性能与参数测试

hdparm用于查看或修改硬盘参数,支持读取缓存大小、传输模式等,也可进行简单的速度测试。
常用选项

linux如何看硬盘信息

  • -I:显示硬盘识别信息(如ATA标准、支持的特性)。
  • -tT:进行缓存读取速度测试(-t为缓冲区测试,-T为缓存测试)。

示例输出

/dev/sda:  
ATA device, with non-removable media  
Model Number: Samsung SSD 870 EVO  
Serial Number: S3Z8NB0K123456  
Firmware Revision: 2B6Q  
...  
Timing cached reads:   12345 MB/sec  
Timing buffered disk reads: 678 MB/sec  

工具对比与适用场景

为方便快速选择工具,以下通过表格对比主要命令的特点:

命令/工具 主要用途 需要root 输出重点 适用场景
lsblk 列出块设备及分区结构 设备名、大小、挂载点 快速查看设备基本信息
lshw 硬件详细信息(型号、序列号) 硬件厂商、接口类型、容量 硬件资产盘点、故障定位
fdisk 分区表管理与分析 分区类型、起始/结束扇区 MBR/GPT分区查看与修改
parted 高级分区操作(支持GPT) 分区对齐、文件系统类型 大容量磁盘、分区优化
df 已挂载文件系统空间使用 使用率、剩余空间 实时监控磁盘空间
du 目录/文件空间占用统计 目录层级、文件大小 定位大文件、清理冗余数据
smartctl S.M.A.R.T.健康状态监控 硬盘寿命、错误计数、通电时间 硬件故障预警、性能评估
hdparm 硬盘参数与性能测试 缓存大小、传输模式、速度测试 性能测试、参数优化

相关问答FAQs

Q1: 如何查看硬盘的通电时间和读写次数?
A: 使用smartctl命令结合grep过滤关键字,

sudo smartctl -a /dev/sda | grep -E "Power_On_Hours|Total_LBAs_Written|Total_LBAs_Read"

输出示例:

Power_On_Hours:             1234 (hour)  
Total_LBAs_Written:         123456789 (sector)  
Total_LBAs_Read:            987654321 (sector)  

Power_On_Hours为通电时间,Total_LBAs_Written/Read为累计写入/读取的扇区数(可通过扇区大小×扇区数换算为容量)。

Q2: 为什么df命令显示的已用空间与du命令统计的不一致?
A: 主要原因有以下几点:

  1. 文件缓存df统计的是磁盘块实际占用空间,而du默认不统计已删除但仍在缓存中的文件(可通过du --exclude=lost+found排除)。
  2. 保留空间df包含文件系统为root用户保留的空间(默认5%),而du统计的是用户实际使用的空间。
  3. 挂载点子目录:若目录被挂载到子目录(如/home挂载到/dev/sda2),du /home可能未统计子目录中的其他文件系统。
  4. inode占用:若文件数量过多导致inode耗尽,df可能显示空间未满,但du无法统计新文件。

可通过df -i查看inode使用情况,或使用df -B 1du -b -x --max-depth=1(以字节为单位,排除其他文件系统)缩小差异。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/37428.html

(0)
酷番叔酷番叔
上一篇 2025年10月7日 04:38
下一篇 2025年10月7日 04:52

相关推荐

  • Linux服务重启的命令与操作步骤是什么?

    在Linux系统中,服务是后台运行的关键程序,负责提供特定功能(如Web服务、数据库服务等),当服务配置更新、出现故障或需要优化性能时,重启服务是最常见的操作之一,本文将详细介绍Linux系统中重启服务的多种方法,包括主流的systemctl命令、传统的service命令,以及底层的init.d脚本操作,并说明……

    2025年9月17日
    2400
  • Linux环境下如何自动获取并配置IP地址、DNS等网络参数?

    在Linux系统中,自动获取IP地址是网络配置中的常见需求,尤其是在动态网络环境(如企业办公网络、公共WiFi)或需要频繁变更网络配置的场景下,Linux主要通过动态主机配置协议(DHCP)和IPv6的无状态地址自动配置(SLAAC)或DHCPv6实现IP地址的自动获取,本文将详细介绍不同Linux发行版和工具……

    2025年10月4日
    700
  • Linux系统如何开放1521端口?具体步骤是什么?

    在Linux环境下开发涉及1521端口的应用,通常与Oracle数据库交互密切相关,因为1521是Oracle数据库的默认监听端口,开发过程中需要完成数据库安装、监听配置、防火墙规则设置、编程连接等步骤,以下是详细操作指南,1521端口背景与开发准备1521端口是Oracle Net Services的默认监听……

    2025年9月9日
    2300
  • Linux混合硬盘如何分区?

    在Linux系统中对混合硬盘(通常指SSD+HDD组合,或自带SSD缓存的机械硬盘)进行分区,核心原则是“高速部件优先处理高频访问数据”,以最大化性能与存储空间的平衡,以下是具体分区思路与操作步骤,混合硬盘类型与分区策略差异混合硬盘主要分为两类:SSHD(自带SSD缓存的机械硬盘)和用户自行组装的SSD+HDD……

    2025年9月16日
    2300
  • Linux如何安全覆盖文件内容?

    命令行工具覆盖(高效推荐)重定向符号 >原理:将命令输出覆盖到文件(文件不存在则创建),命令示例:echo "新内容" > file.txt # 覆盖为单行文本cat newfile.txt > file.txt # 用另一文件内容覆盖注意:若需清空文件,用 > fi……

    2025年6月13日
    5200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信