在Linux和Unix-like系统中,查看硬盘大小是系统管理和日常维护中的常见操作,掌握相关命令可以帮助用户快速了解磁盘使用情况、剩余空间以及分区信息,以下将详细介绍几种常用的查看硬盘大小的命令,包括它们的用法、输出含义及适用场景。

df命令是最基础的磁盘空间查看工具,其名称来源于“disk free”(磁盘剩余空间),默认情况下,df命令以KB为单位显示所有挂载点的磁盘使用情况,包括总容量、已用空间、可用空间、使用百分比以及挂载点,输入df会输出类似/dev/sda1 1048576 206848 841728 20% /的结果,其中1048576表示总容量(KB),206848为已用空间,841728为可用空间,若需要以更易读的单位(如GB、MB)显示,可以使用-h参数(human-readable),即df -h,输出会自动转换为合适的单位,如100G、50M等。-T参数可显示文件系统类型,如ext4、xfs等;-i参数则用于查看inode的使用情况,适用于排查inode耗尽的问题。
du(disk usage)命令主要用于查看指定目录或文件的磁盘占用空间,与df不同,du更侧重于具体对象的空间消耗。du /home会显示/home目录及其子目录的磁盘使用量,默认以KB为单位,同样,-h参数可使输出更人性化,如1G、512M,若想查看某个目录下各子目录的空间占用并排序,可结合-s(summary,仅显示总计)和sort命令,例如du -sh /home/* | sort -hr,其中-r表示反向排序(从大到小),需要注意的是,du计算的是实际占用的空间,而df显示的是文件系统级别的分配空间,两者在处理稀疏文件或删除文件后可能存在差异。
对于更底层的磁盘信息查看,如磁盘型号、分区表类型、扇区大小等,可以使用lsblk(list block devices)命令。lsblk以树状结构显示所有块设备信息,包括设备名(如sda、sda1)、大小、挂载点、文件系统类型等。lsblk -f会额外显示文件系统类型和UUID,而lsblk -m则显示设备的主设备号、次设备号及所有者信息,若需要更详细的磁盘几何结构(如柱面、磁头、扇区数),可使用fdisk -l命令,该命令会列出所有磁盘的分区表及分区大小,但需要root权限执行。
在Windows系统中,查看硬盘大小的命令行工具主要是wmic(Windows Management Instrumentation Command-line)。wmic logicaldisk get size,freespace,caption会显示每个逻辑磁盘的盘符、总大小(字节)和剩余空间,若要以GB为单位显示,可通过计算转换,如wmic logicaldisk get size,freespace,caption | findstr "C:"后手动处理数值。diskpart是另一个强大的磁盘管理工具,通过list disk命令可查看磁盘大小及状态,但需要先执行diskpart进入交互界面。

以下为不同命令的对比表格:
| 命令 | 主要功能 | 常用参数 | 适用系统 |
|---|---|---|---|
| df | 查看挂载点磁盘使用情况 | -h(人性化单位)、-T(文件系统类型) |
Linux/Unix |
| du | 查看目录/文件空间占用 | -h(人性化单位)、-s(总计) |
Linux/Unix/Windows(部分) |
| lsblk | 查看块设备信息(分区、挂载点等) | -f(文件系统)、-m(权限信息) |
Linux |
| wmic | 查看Windows磁盘逻辑信息 | get size,freespace,caption |
Windows |
| fdisk | 查看磁盘分区表及几何结构 | -l(列出所有分区) |
Linux(需root) |
在实际使用中,根据需求选择合适的命令:若需快速了解磁盘剩余空间,用df -h;若排查目录空间占用,用du -sh;若需底层硬件信息,用lsblk或fdisk -l,Windows用户则可通过wmic或diskpart实现类似功能。
相关问答FAQs
-
问:
df -h和du -sh显示的磁盘大小不一致,为什么?
答:df -h显示的是文件系统级别的总容量和剩余空间,受文件系统管理机制(如保留块、元数据)影响;而du -sh计算的是目录下实际文件占用的空间,不包括未分配的空白空间。df基于块设备统计,du基于文件统计,若文件被删除但进程未释放,可能导致df的已用空间仍较高。
(图片来源网络,侵删) -
问:如何查看未挂载分区的磁盘大小?
答:在Linux中,可使用lsblk或fdisk -l查看所有磁盘及其分区信息,包括未挂载的分区。fdisk -l /dev/sdb会显示磁盘sdb的所有分区及大小,无论是否挂载,在Windows中,可通过diskpart进入交互模式,执行list disk和list partition查看未分配或未挂载的分区信息。
