在日常的Linux系统管理和运维工作中,查看硬盘大小和磁盘使用情况是最基础也是最频繁的操作之一。无论是为了监控磁盘空间是否充足,还是排查系统性能问题,准确、快速地获取磁盘信息都是一项必备技能。Linux系统提供了丰富的命令行工具,可以从不同维度、不同粒度地查看硬盘大小、分区情况、目录占用以及实时IO状态。下面,我将为你详细介绍几种最实用、最高频的查看方法。

用什么命令查看硬盘大小

对于刚接触Linux的朋友来说linux命令行和shell脚本编程宝典,最想知道的就是如何一眼看清整个硬盘的总大小、已用空间和可用空间。这时,df命令是你的首选。df是disk free的缩写,它用于报告文件系统的磁盘空间使用情况。只需在终端输入df -hlinux查看硬盘大小-h参数代表human-readable,它会以GB、MB等易于理解的单位显示数据。你将看到系统里所有已挂载分区的详细信息,包括文件系统、总大小、已用、可用、使用率以及挂载点。

linux硬盘大小怎么看_linux查看硬盘大小_查看硬盘容量linux

除了查看整体使用情况,你可能还想确认某个特定目录所在分区的大小。df -h命令后面可以直接跟上目录路径,比如df -h /home,它会只显示/home目录所在分区的信息。另外,df -T可以额外显示文件系统的类型linux查看硬盘大小,比如是ext4还是xfs,这在处理不同文件系统特性时非常有用。而df -i则用于查看inode的使用情况,当你的磁盘明明还有空间却无法写入文件时,往往就是inode耗尽了。

如何查看硬盘分区信息

当你需要了解系统中有几块物理硬盘,以及每块硬盘是如何分区的,fdisk命令就派上了用场。运行sudo fdisk -l(通常需要root权限),它会列出系统中所有磁盘的设备名、总容量、扇区大小以及详细的分区表信息。你可以清晰地看到每个分区的起始和结束扇区、大小以及分区类型。这对于手动分区或了解磁盘布局非常有帮助。

查看硬盘容量linux_linux硬盘大小怎么看_linux查看硬盘大小

如果你的磁盘采用了较新的GPT分区表格式,或者磁盘容量超过2TB,那么parted命令会是更好的选择。使用sudo parted -lparted会以更清晰的方式显示磁盘的分区表类型(msdos或gpt)以及每个分区的详细信息,包括分区号、类型、文件系统、起始点和结束点以及大小。相比fdiskparted在处理大容量磁盘和现代分区表时更加得心应手。

如何查看目录占用空间

df命令能看分区,但如果你想精确找出是哪个目录“吃”掉了你的磁盘空间,就需要用到du命令了。du是disk usage的缩写,最常用的组合是du -sh-s参数表示汇总指定目录的总大小,-h同样是为了可读性。例如,在当前目录下执行du -sh中标麒麟linux,它会显示当前目录及其所有子目录总共占用了多少空间。如果想查看特定目录,比如du -sh /var,就能快速了解/var目录的总大小。

查看硬盘容量linux_linux查看硬盘大小_linux硬盘大小怎么看

更进一步,当你需要逐级排查大文件时,可以组合使用du和其他命令。比如,执行du -h --max-depth=1 /home | sort -hr--max-depth=1du只显示/home下第一级子目录的大小,然后通过管道传递给sort -hr进行从大到小的排序。这样,哪些目录占用了最多的空间就一目了然,为清理磁盘提供了精准的目标。

如何查看文件系统磁盘使用

df命令实际上就是从文件系统的层面报告已挂载分区的使用情况。当你运行df -h时,输出的第一列“文件系统”可能显示为/dev/sda1/dev/mapper/centos-root,这代表了不同的存储设备或逻辑卷。同时,你也会看到tmpfs这样的临时文件系统,它使用的是内存而不是实际的硬盘空间。理解这一点,有助于你正确解读磁盘的使用状况,避免把内存文件系统误认为是硬盘空间。

另一个查看磁盘与文件系统关系的利器是lsblk(list block devices)。执行lsblk,它会以树状图的形式展示所有块设备,清晰地呈现出磁盘、分区和挂载点之间的层级关系。加上-f参数(lsblk -f),还能额外显示每个分区的文件系统类型和UUID。这个命令虽然不直接显示“大小”,但它能帮你快速理清系统中有哪些磁盘、它们如何分区以及分区被挂载到了哪里,是理解系统存储结构的绝佳工具。

linux查看硬盘大小_查看硬盘容量linux_linux硬盘大小怎么看

如何查看硬盘型号和序列号

在硬件故障排查或资产盘点时,我们可能需要知道硬盘的具体型号和序列号。lsblk配合--scsi选项(lsblk --scsi)可以查看SCSI设备的简单信息。但更专业的方法是使用smartctl命令,它来自smartmontools软件包(需要先安装)。执行sudo smartctl -i /dev/sda-i参数会显示设备的身份信息,你将能从中找到硬盘的型号、序列号、固件版本、容量以及是否支持SMART自检等详细硬件信息。

除了smartctl,另一个传统的命令hdparm也能获取硬件信息。使用sudo hdparm -I /dev/sda-I参数用于请求硬盘的身份信息。输出结果中会包含型号、序列号、固件版本、物理和逻辑扇区大小,以及硬盘支持的功能特性列表。这些信息对于确认硬盘规格、判断新旧程度以及在某些情况下调整硬盘参数都非常实用。

如何监控实时磁盘IO

linux查看硬盘大小_查看硬盘容量linux_linux硬盘大小怎么看

当系统响应变慢,你怀疑是磁盘读写过于繁忙时,就需要监控实时的磁盘I/O了。iostat命令是这方面的专家,它通常包含在sysstat软件包中。执行iostat -x 1-x参数显示扩展统计信息,1表示每隔1秒刷新一次。你会看到诸如r/s(每秒读次数)、w/s(每秒写次数)、await(平均I/O等待时间)以及%util(磁盘利用率)等关键指标。如果%util长期接近100%,说明磁盘确实很忙。

如果想要更直观地看到是哪个进程在“搞鬼”,iotop命令是你的不二之选。它类似于top命令,但专门用于监控磁盘I/O。以root权限运行iotop,它会实时显示系统中每个进程的磁盘读写速度、I/O百分比以及累计读写总量。当你想快速定位是哪个应用程序(比如MySQL、日志服务或备份进程)在大量读写磁盘导致系统变慢时,iotop可以提供最直接的证据。

以上就是在Linux环境下查看硬盘大小及相关信息的常用方法。从基础的dfdu,到分区的fdiskparted,再到硬件信息的smartctl和实时监控的iostatiotop,这些命令基本覆盖了日常工作的所有场景。你在实际运维中,有没有遇到过因为磁盘问题引发的奇葩故障?当时是用哪个命令排查出来的?欢迎在评论区分享你的故事和技巧,如果觉得本文有用,也请点个赞并分享给更多需要的朋友!

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复