Linux系统下如何查看硬盘容量、分区及使用情况的详细方法?

在Linux系统中,查看硬盘信息是系统管理、故障排查和资源优化的基础操作,通过不同命令可以从多个维度(如设备结构、分区信息、空间使用、健康状态等)获取硬盘详情,以下详细介绍常用方法及其实际应用。

linux如何查看硬盘

基础块设备信息查看

块设备是Linux中硬盘的抽象表示,通过基础命令可快速了解磁盘的物理结构和分区情况。

lsblk:列出块设备信息

lsblk以树状结构显示块设备,包括磁盘、分区及挂载点,适合直观查看设备层级关系。

  • 常用参数
    • -f:显示文件系统类型(如ext4、xfs)、UUID及挂载点;
    • -m:显示设备的权限、所有者及所属组;
    • -o NAME,SIZE,RO,TYPE,MOUNTPOINT:自定义输出列(设备名、大小、只读状态、类型、挂载点)。
  • 示例输出
    NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT  
    sda      8:0    0 238.5G  0 disk   
    ├─sda1   8:1    0   500M  0 part /boot/efi  
    └─sda2   8:2    0   238G  0 part /  
    nvme0n1 259:0    0 931.5G  0 disk   
    └─nvme0n1p1 259:1    0 931.5G  0 part /data  

    TYPEdisk表示整块硬盘,part表示分区;SIZE显示磁盘容量(默认单位为KB,可通过-b指定字节)。

fdisk:分区表管理工具

fdisk是经典的分区管理工具,通过-l参数可查看所有磁盘的分区表信息,包括分区类型、起始/结束扇区等。

  • 常用参数
    • -l:列出所有磁盘的分区详情;
    • /dev/sda:指定目标磁盘(如/dev/sdb/dev/nvme0n1)。
  • 示例输出
    Disk /dev/sda: 238.5 GiB, 256060514304 bytes, 500118192 sectors  
    Disk model: WDC WD10EZEX-08WN4A0  
    Units: sectors of 1 * 512 = 512 bytes  
    Sector size (logical/physical): 512 bytes / 4096 bytes  
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes  
    Disklabel type: gpt  
    Device     Start      End  Sectors Size Type  
    /dev/sda1   2048   1024000  1021951 500M EFI System  
    /dev/sda2 1024000 500117503 499093504 238G Linux filesystem  

    输出中包含磁盘型号、分区表类型(gpt/mbr)、分区的起始/结束扇区及大小,适合分析分区布局。

blkid:查看块设备属性

blkid用于显示块设备的文件系统类型、UUID、LABEL等属性,常用于确认分区格式或挂载参数。

  • 示例输出
    /dev/sda1: UUID="C12A7328-F81F-11D2-BA4B-00A0C93EC93B" TYPE="vfat" PARTLABEL="EFI System" PARTUUID="12345678-1234-1234-1234-123456789abc"  
    /dev/sda2: UUID="a1b2c3d4-e5f6-7890-abcd-ef1234567890" TYPE="ext4" PARTUUID="87654321-4321-4321-4321-abcdef123456"  

文件系统空间使用情况

了解文件系统的空间占用是管理磁盘的核心,常用dfdu命令分别从整体和局部视角分析空间使用。

linux如何查看硬盘

df:文件系统空间统计

df按文件系统显示磁盘空间使用情况,适用于检查整体空间是否充足。

  • 常用参数
    • -h:以人类可读格式显示(如K、M、G);
    • -T:显示文件系统类型;
    • -i:显示inode使用情况(inode耗尽会导致无法创建文件,即使空间充足)。
  • 示例输出
    Filesystem     Type      Size  Used Avail Use% Mounted on  
    /dev/sda2      ext4       238G   50G  178G  22% /  
    /dev/nvme0n1p1 xfs       932G  200G  732G  22% /data  
    tmpfs          tmpfs      16G     0   16G   0% /dev/shm  

    Use%表示已用空间占比,若接近100%,需及时清理或扩容;Avail是可用空间(考虑保留空间,实际可用量可能略大)。

du:目录/文件大小统计

du用于递归计算指定目录或文件的大小,适合定位大文件或目录。

  • 常用参数
    • -sh:显示总大小(s汇总,h人类可读);
    • --max-depth=1:限制递归深度(仅显示一级子目录大小)。
  • 示例输出
    /data 200G  
    /data/logs 150G  
    /data/videos 45G  

硬盘物理与健康状态监控

对于硬盘维护,了解物理信息和健康状态可提前预警故障,需借助专业工具。

hdparm:查看硬盘物理信息

hdparm可获取硬盘型号、序列号、转速等物理参数,需安装(sudo apt install hdparm)。

  • 常用参数
    • -i:显示硬盘标识信息(型号、固件版本、接口类型);
    • -t:测试读取速度(非精确,仅作参考)。
  • 示例输出
    /dev/sda:  
      Model=WDC WD10EZEX-08WN4A0, FwRev=80.00A80, SerialNo=WD-WCC4N0KZ2Y7  
      Config={HardSect NotMFM HdSw>15uSec SpinControlRpmCmd}  
      RawCHS=16383/16/63, TrkSize=0, SectSize=512, ECCbytes=40  

smartctl:S.M.A.R.T.健康检测

S.M.A.R.T.(自我监控、分析和报告技术)是硬盘的健康监测标准,smartctl来自smartmontools工具包(需安装)。

  • 常用参数
    • -a:显示完整的S.M.A.R.T.信息(包括属性值、阈值、错误日志);
    • --health:仅显示健康状态摘要;
    • /dev/sda:指定目标硬盘。
  • 示例输出
    SMART overall-health self-assessment test result: PASSED  
    SMART Attribute Data:  
    ID# Attribute Name      Flags   Value Worst Threshold  
    9  Power_On_Hours     0x0032   12345  65535  00000  
    194 Temperature_Celsius 0x0022   35     00000  00000  

    SMART overall-health显示FAILED,或属性值(如Reallocated_Sector_Ct)接近阈值,需立即备份数据并更换硬盘。

    linux如何查看硬盘

nvme-cli:NVMe硬盘专用工具

对于NVMe固态硬盘,需使用nvme-cli工具(sudo apt install nvme-cli)查看专属信息,如温度、磨损等级等。

  • 常用命令
    • nvme list:列出NVMe设备;
    • nvme smart-log /dev/nvme0n1:显示SMART日志(包含温度、可用剩余寿命等)。

常用查看命令总结表

命令 主要功能 常用参数 适用场景
lsblk 列出块设备树状结构 -f, -m, -o NAME,SIZE,MOUNTPOINT 查看设备层级、分区及挂载点
df 文件系统空间统计 -h, -T, -i 检查整体空间使用及inode状态
du 目录/文件大小统计 -sh, --max-depth=1 定位大文件或目录
fdisk -l 查看分区表详情 -l 分析分区布局、类型(gpt/mbr)
smartctl S.M.A.R.T.健康检测 -a, --health 硬盘健康状态监控与故障预警
hdparm 硬盘物理信息读取 -i, -t 获取型号、转速等物理参数

相关问答FAQs

Q1: 如何测试硬盘的读写速度?
A1: 可使用dd命令进行简单测试(需确保无其他大流量IO操作),读取速度测试:

dd if=/dev/sda of=/dev/null bs=1G count=1 iflag=direct

写入速度测试:

dd if=/dev/zero of=/testfile bs=1G count=1 oflag=direct

测试后通过ls -lh /testfile查看文件大小,计算速度(如1GB耗时2秒,则速度为500MB/s),更专业的工具可使用fio( Flexible I/O Tester)。

Q2: 为什么df显示的已用空间和du计算的不一致?
A2: 主要原因包括:

  1. 文件系统保留空间:Linux文件系统默认预留5%空间(仅root用户可使用),df包含这部分空间,而du不统计;
  2. 删除文件未释放:若文件被删除但进程仍持有句柄(如日志文件被应用打开),空间未被实际释放,df仍计入已用,du无法统计已删除文件;
  3. 挂载点包含其他文件系统:如/home挂载独立分区,du /home仅统计该分区,而df /显示根分区空间,两者无直接关联。
    可通过df -i检查inode是否耗尽,或使用lsof | grep deleted查看被删除但未释放的文件。

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

(0)
酷番叔酷番叔
上一篇 2025年8月28日 05:25
下一篇 2025年8月28日 05:40

相关推荐

  • Linux如何查看时间戳?详细操作步骤有哪些?

    在Linux系统中,时间戳是一种常见的时间表示方式,它通常指从1970年1月1日00:00:00 UTC(Unix纪元)开始经过的秒数、毫秒数或微秒数,时间戳广泛应用于日志记录、文件管理、系统调度等场景,掌握查看和转换时间戳的方法对Linux用户和开发者来说至关重要,本文将详细介绍Linux中查看时间戳的多种方……

    2025年9月11日
    2700
  • Linux环境下启动SMB服务器的具体方法是什么?详细操作步骤和命令有哪些?

    在Linux系统中,SMB(Server Message Block)服务器通常通过Samba软件包实现,它允许Linux与Windows系统之间进行文件和打印共享,以下是详细启动SMB服务器的步骤,涵盖安装、配置、启动及测试全流程,安装Samba软件包首先根据Linux发行版选择对应的命令安装Samba,主流……

    2025年9月9日
    3100
  • linux如何看系统配置

    Linux 中,可使用 uname -a 查看系统信息,lscpu 查看 CPU 信息,

    2025年8月16日
    3200
  • 如何安全添加官方仓库?

    在Linux系统中安装Google Chrome浏览器有多种方法,具体取决于您的发行版,以下是详细步骤,请务必从官方渠道下载以确保安全:通用方法:直接下载官方安装包(适用于所有发行版)访问官网下载打开 Google Chrome 官方网站 → 点击”下载Chrome” → 选择 .deb (Debian/Ubu……

    2025年7月7日
    5300
  • linux 如何消耗内存吗

    nux 系统可通过运行程序、缓存文件等方式消耗内存,也受系统配置和运行进程影响

    2025年8月18日
    3500

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信