菜鸟科技网

如何查看硬盘大小?命令有哪些?

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

如何查看硬盘大小?命令有哪些?-图1
(图片来源网络,侵删)

df命令是最基础的磁盘空间查看工具,其名称来源于“disk free”(磁盘剩余空间),默认情况下,df命令以KB为单位显示所有挂载点的磁盘使用情况,包括总容量、已用空间、可用空间、使用百分比以及挂载点,输入df会输出类似/dev/sda1 1048576 206848 841728 20% /的结果,其中1048576表示总容量(KB),206848为已用空间,841728为可用空间,若需要以更易读的单位(如GB、MB)显示,可以使用-h参数(human-readable),即df -h,输出会自动转换为合适的单位,如100G50M等。-T参数可显示文件系统类型,如ext4xfs等;-i参数则用于查看inode的使用情况,适用于排查inode耗尽的问题。

du(disk usage)命令主要用于查看指定目录或文件的磁盘占用空间,与df不同,du更侧重于具体对象的空间消耗。du /home会显示/home目录及其子目录的磁盘使用量,默认以KB为单位,同样,-h参数可使输出更人性化,如1G512M,若想查看某个目录下各子目录的空间占用并排序,可结合-s(summary,仅显示总计)和sort命令,例如du -sh /home/* | sort -hr,其中-r表示反向排序(从大到小),需要注意的是,du计算的是实际占用的空间,而df显示的是文件系统级别的分配空间,两者在处理稀疏文件或删除文件后可能存在差异。

对于更底层的磁盘信息查看,如磁盘型号、分区表类型、扇区大小等,可以使用lsblk(list block devices)命令。lsblk以树状结构显示所有块设备信息,包括设备名(如sdasda1)、大小、挂载点、文件系统类型等。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进入交互界面。

如何查看硬盘大小?命令有哪些?-图2
(图片来源网络,侵删)

以下为不同命令的对比表格:

命令 主要功能 常用参数 适用系统
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;若需底层硬件信息,用lsblkfdisk -l,Windows用户则可通过wmicdiskpart实现类似功能。

相关问答FAQs

  1. 问:df -hdu -sh显示的磁盘大小不一致,为什么?
    答:df -h显示的是文件系统级别的总容量和剩余空间,受文件系统管理机制(如保留块、元数据)影响;而du -sh计算的是目录下实际文件占用的空间,不包括未分配的空白空间。df基于块设备统计,du基于文件统计,若文件被删除但进程未释放,可能导致df的已用空间仍较高。

    如何查看硬盘大小?命令有哪些?-图3
    (图片来源网络,侵删)
  2. 问:如何查看未挂载分区的磁盘大小?
    答:在Linux中,可使用lsblkfdisk -l查看所有磁盘及其分区信息,包括未挂载的分区。fdisk -l /dev/sdb会显示磁盘sdb的所有分区及大小,无论是否挂载,在Windows中,可通过diskpart进入交互模式,执行list disklist partition查看未分配或未挂载的分区信息。

分享:
扫描分享到社交APP
上一篇
下一篇