Linux系统如何查看硬盘的详细信息、容量、使用情况及分区状态?

Linux系统中,查看硬盘信息是系统管理、故障排查和性能优化的基础操作,Linux提供了多种命令和工具,从不同维度(如设备识别、分区结构、使用情况、健康状态等)展示硬盘信息,本文将详细介绍这些方法,并通过示例帮助读者理解输出结果的含义。

linux 如何查看硬盘

硬盘设备命名规则

在Linux中,硬盘设备文件通常位于/dev目录下,命名规则与硬盘接口类型相关:

  • IDE硬盘:早期接口,设备名为/dev/hd[a-z](如/dev/hda)。
  • SCSI/SATA/USB硬盘:当前主流接口,设备名为/dev/sd[a-z](如/dev/sdaa表示第1块硬盘,b为第2块,以此类推)。
  • NVMe硬盘:高速固态硬盘接口,设备名为/dev/nvme[0-9]n[1-9](如/dev/nvme0n10为控制器编号,1为磁盘编号)。
  • PCIe SSD:部分高性能SSD可能以/dev/pciename形式命名,但较少见。

了解命名规则后,可通过ls /dev | grep -E 'sd|nvme|hd'查看系统中的所有硬盘设备。

查看硬盘基本信息与分区结构

lsblk:列出块设备信息(推荐)

lsblk(list block devices)是Linux中最常用的块设备查看工具,以树状结构展示设备及其分区信息,支持自定义输出列。

常用参数

  • -f:显示文件系统类型(FSTYPE)、挂载点(MOUNTPOINT)和UUID。
  • -m:显示设备权限、所有者、组信息。
  • -t:显示设备拓扑结构(如层级、是否为虚拟设备)。
  • -o NAME,SIZE,FSTYPE,MOUNTPOINT,ROTA:自定义输出列(如设备名、大小、文件系统、挂载点、是否为旋转介质,ROTA=1表示机械硬盘,0表示SSD)。

示例

lsblk -f -o NAME,SIZE,FSTYPE,MOUNTPOINT,ROTA

输出解读(示例表格):

NAME SIZE FSTYPE MOUNTPOINT ROTA
sda 8T 1
├─sda1 512M vfat /boot/efi 1
└─sda2 8T ext4 1
nvme0n1 512G 0
└─nvme0n1p1 512G xfs /data 0

从输出可直观看到:sda是1.8TB机械硬盘(ROTA=1),分为两个分区;nvme0n1是512GB SSD(ROTA=0),仅有一个分区挂载到/data

fdisk:查看和管理分区表

fdisk是经典的分区工具,适合查看MBR或GPT分区表的详细信息。

用法

fdisk -l /dev/sda  # 查看/dev/sda的分区表

输出解读

  • Device:分区设备名(如/dev/sda1)。
  • Boot:是否为启动分区(标记为)。
  • Start/End:分区的起始和结束扇区。
  • Sectors:分区大小(扇区数)。
  • Size:分区大小(自动换算为KB/MB/GB)。
  • Id:分区类型(如83为Linux原生分区,8e为LVM分区,7为NTFS分区)。

交互模式:直接运行fdisk /dev/sda进入交互界面,输入p打印分区表,q退出,m查看帮助。

parted:高级分区工具(支持GPT/MBR)

partedfdisk更强大,支持GPT分区表、大容量硬盘(超过2TB),且可调整分区大小。

用法

linux 如何查看硬盘

parted -l  # 列出所有设备的分区信息

输出解读

  • Model:硬盘型号(如Samsung SSD 870 EVO 500GB)。
  • Disk /dev/nvme0n1:硬盘设备名及总大小。
  • Partition Table:分区表类型(如gpt)。
  • Number:分区编号,Start/End:分区起始和结束位置,Size:分区大小,File system:文件系统类型。

查看磁盘使用情况

df:文件系统磁盘使用量

df(disk free)用于查看已挂载文件系统的磁盘使用情况,默认单位为KB。

常用参数

  • -h:人类可读格式(如1K234M2G)。
  • -T:显示文件系统类型(如ext4xfsvfat)。
  • -i:显示inode使用情况(inode耗尽会导致无法创建文件)。

示例

df -hT

输出解读(示例表格):

Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 ext4 8T 800G 950G 45%
/dev/nvme0n1p1 xfs 512G 300G 200G 60% /data
tmpfs tmpfs 16G 0 16G 0% /dev/shm

重点关注Use%(使用率)和Mounted on(挂载点),避免磁盘空间不足导致系统故障。

du:目录/文件磁盘占用

du(disk usage)用于统计指定目录或文件的磁盘占用空间,适合定位大文件或目录。

常用参数

  • -h:人类可读格式。
  • -s:汇总指定目录的总大小(不显示子目录详情)。
  • --max-depth=N:限制递归深度(如--max-depth=1仅统计一级子目录)。

示例

du -sh /home/* | sort -hr  # 按大小倒序查看用户目录占用

输出解读

2G    /home/user1
800M    /home/user2
50M     /home/user3

可快速定位占用空间大的用户或目录。

查看硬盘健康状态与物理信息

smartctl:硬盘SMART信息(关键工具)

SMART(Self-Monitoring, Analysis and Reporting Technology)是硬盘的自我监控技术,smartctl来自smartmontools包,用于读取硬盘SMART信息,判断健康状态。

安装(Ubuntu/Debian):

linux 如何查看硬盘

sudo apt install smartmontools

常用参数

  • -i:显示设备信息(型号、序列号、固件版本)。
  • -H:显示硬盘健康状态(PASSED正常,FAILED异常)。
  • -a:显示所有SMART信息(包括属性、错误日志)。
  • -x:显示SMART详细信息(包括原始值和阈值)。

示例

sudo smartctl -H /dev/sda
sudo smartctl -a /dev/nvme0n1 | grep -E "Reallocated_Sector_Ct|Current_Pending_Sector"

输出解读

  • SMART Health Status: PASSED:硬盘健康状态正常。
  • 关键属性(机械硬盘):
    • Reallocated_Sector_Ct(重分配扇区数):大于0表示扇区损坏,需关注。
    • Current_Pending_Sector(当前待重定向扇区数):大于0表示读取错误。
    • Uncorrectable_Error_Cnt(不可纠正错误计数):大于0表示数据丢失风险。
  • SSD专属属性:
    • Wear_Leveling_Count(磨损均衡计数):反映SSD写入寿命,数值越大越接近寿命极限。
    • Available_Reservd_Space(预留空间):剩余预留空间比例,低于10%需更换。

hdparm:获取/设置硬盘参数

hdparm用于查看硬盘的物理参数,如缓存大小、传输模式、是否支持TRIM(对SSD重要)。

示例

hdparm -I /dev/sda | grep -E "cache|TRIM"  # 查看缓存和TRIM支持

输出解读

  • * Nominal Media Rotation Rate: 7200:机械硬盘转速(7200RPM)。
  • Device does not support TRIM:不支持TRIM(影响SSD写入性能)。
  • * LBA48 supported:支持LBA48 addressing(突破2TB容量限制)。

通过/sys文件系统查看物理信息

Linux将设备信息暴露在/sys目录下,可直接查看硬盘型号、接口类型等:

cat /sys/block/sda/device/model  # 硬盘型号
cat /sys/block/nvme0n1/device/device_type  # 接口类型(如NVMe)
cat /sys/block/sda/queue/rotational  # 是否为旋转介质(1=机械硬盘,0=SSD)

常用命令对比总结

命令 主要用途 常用参数 示例场景
lsblk 查看块设备及分区结构 -f, -m, -o NAME,SIZE,FSTYPE 快速了解设备、分区、挂载信息
fdisk 查看/管理MBR/GPT分区表 -l, 交互模式(p/q 查看分区类型、大小、启动标记
parted 高级分区管理(支持大容量) -l, print(交互模式) 调整分区大小、查看GPT分区
df 查看已挂载文件系统使用量 -h, -T, -i 监控磁盘空间是否不足
du 统计目录/文件占用空间 -sh, --max-depth=N 定位大文件、清理磁盘
smartctl 查看硬盘SMART健康状态 -H, -a, -x 判断硬盘是否损坏、预测寿命
hdparm 获取硬盘物理参数 -I, -t(基准测试) 查看缓存、TRIM支持、转速
blkid 查看块设备属性(UUID/FS类型) -o value -s UUID 获取分区UUID用于挂载

相关问答FAQs

Q1:Linux中/dev/sda和/dev/nvme0n1有什么区别?如何确认硬盘接口类型?

A/dev/sda是SCSI/SATA/USB等传统接口硬盘的设备名,而/dev/nvme0n1是NVMe接口的固态硬盘,可通过以下方式确认接口类型:

  1. 通过设备名判断sd前缀通常为SATA/SCSI,nvme前缀为NVMe。
  2. 通过lsblk查看拓扑结构
    lsblk -t | grep -E "sda|nvme0n1"

    输出中SATANVMe等字段直接标注接口类型。

  3. 通过物理信息判断
    cat /sys/block/sda/device/interface  # 可能输出"ata"(SATA)或"scsi"
    cat /sys/block/nvme0n1/device/device_type  # 输出"NVMe"

Q2:如何判断硬盘是否即将损坏?需要关注哪些SMART属性?

A:通过smartctl查看SMART信息,重点关注以下属性(不同硬盘厂商属性名可能略有差异):

  • 机械硬盘
    • Reallocated_Sector_Ct(重分配扇区数):大于0表示扇区损坏,持续增长需立即更换。
    • Current_Pending_Sector(当前待重定向扇区数):大于0表明存在读取错误。
    • Uncorrectable_Error_Cnt(不可纠正错误计数):大于0可能导致数据丢失。
    • Raw_Read_Error_Rate(原始读取错误率):异常升高表明磁头或盘片问题。
  • SSD
    • Wear_Leveling_Count(磨损均衡计数):反映SSD写入寿命,数值越大越接近寿命极限(需结合厂商寿命阈值)。
    • Available_Reservd_Space(预留空间):剩余比例低于10%时性能下降,需更换。
    • Media_Wearout_Indicator(媒体磨损指标,部分厂商支持):百分比形式,低于20%需警惕。
      操作建议:定期执行sudo smartctl -a /dev/sda | grep -E "(ATTRIBUTE_ID|fail)",若出现FAILING_NOWPre-fail属性异常,立即备份数据并更换硬盘。

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

(0)
酷番叔酷番叔
上一篇 2025年9月19日 18:24
下一篇 2025年9月19日 18:38

相关推荐

  • ARM设备运行Linux时如何安全退出?

    退出当前终端会话当需要结束命令行操作时:临时退出当前Shellexit或按快捷键 Ctrl + D效果:关闭当前终端窗口或返回上一级登录状态(不影响系统运行),终止正在运行的前台程序Ctrl + C # 强制终止当前进程退出图形界面(GUI)若设备运行桌面环境(如GNOME、KDE):通过系统菜单退出点击屏幕右……

    2025年7月26日
    3600
  • 更新软件包列表为什么重要?

    在Linux系统中安装GCC(GNU Compiler Collection)是开发C、C++等程序的基础步骤,不同发行版的安装命令略有差异,以下是详细指南:通过包管理器安装(推荐)Ubuntu/Debian 系# 安装GCC(默认安装最新稳定版)sudo apt install gcc# 安装G++(C++编……

    2025年7月24日
    4200
  • Linux中如何为新加硬盘进行挂载操作?

    在Linux系统中,为新添加的硬盘进行挂载是常见的系统管理操作,完整的流程涉及硬盘识别、分区、格式化、创建挂载点及配置自动挂载等步骤,以下是详细操作指南:识别新硬盘首先需要确认系统是否已识别新硬件,通过以下命令查看当前磁盘信息:lsblk或fdisk -l新硬盘通常会显示为/dev/sdb(第二个SATA/SA……

    2025年9月29日
    1900
  • Linux制作ISO镜像文件的操作方法是什么?

    在Linux系统中,制作ISO镜像文件是一项常见操作,可用于系统备份、软件分发、安装介质创建等场景,ISO镜像本质上是光盘数据的完整副本,包含文件系统的结构和所有文件信息,Linux下制作ISO镜像的方法多样,可通过命令行工具高效完成,也可借助图形界面工具简化操作,以下将详细介绍不同场景下的制作方法及注意事项……

    2025年10月7日
    1500
  • Linux操作系统中如何高效查询历史命令的详细操作记录及执行时间?

    在Linux系统中,用户操作历史主要通过命令历史记录、系统日志、文件访问痕迹等方式留存,掌握这些查询方法能帮助用户回顾操作、排查问题或恢复数据,以下从核心命令历史、扩展历史记录查询两方面详细说明,命令历史查询(核心方法)Linux默认使用Bash shell,命令历史功能由history命令管理,历史记录存储在……

    2025年10月4日
    1100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信