在 Linux 系统中获取盘符最核心的方法是使用 lsblk 命令查看块设备列表,或通过 df -h 查看已挂载文件系统的详细信息,前者侧重硬件拓扑,后者侧重实际挂载点。
很多刚接触 Linux 的管理员或者开发者,面对满屏的代码和终端,往往会在“这个硬盘叫什么”、“这个分区挂载在哪里”这类基础问题上卡壳,Windows 用户习惯了 C 盘、D 盘这种直观的盘符概念,但在 Linux 的世界里,并没有统一的“盘符”这一说法,取而代之的是更灵活的挂载点(Mount Point)概念,理解这一点,是解决后续所有存储管理问题的前提。
为什么 Linux 没有传统意义上的盘符
在深入具体命令之前,我们需要先厘清一个概念差异,Windows 使用盘符(如 C:、D:)来标识逻辑驱动器,这是一种静态的、基于字母的映射,而 Linux 采用树状文件系统结构,所有设备和分区都被视为文件系统中的节点,通过“挂载”操作连接到特定的目录树下。
业内专家指出,这种设计使得 Linux 在存储管理上具有极高的灵活性,同一个物理硬盘可以被分割成多个分区,分别挂载到 /home、/var 甚至自定义的 /data 目录下,而不是被限制在一个固定的盘符中,当我们谈论“获取盘符”时,实际上是在寻找两个信息:一是物理设备的标识符(如 /dev/sda),二是该设备当前挂载到的目录路径(如 /mnt/data)。
核心工具 lsblk 的使用场景
lsblk(List Block Devices)是查看块设备信息的首选工具,它不仅能列出所有磁盘,还能清晰地展示层级关系,非常适合用来理清复杂的存储拓扑。
当你执行 lsblk 命令时,你会看到类似以下的输出结构:
- NAME:设备名称,如
sda、sdb。 - MAJ:MIN:主设备号和次设备号。
- RM:是否为可移动设备。
- SIZE:设备容量。
- RO:是否只读。
- TYPE:设备类型,如
disk(磁盘)、part(分区)、lvm(逻辑卷)。 - MOUNTPOINT:挂载点,这是最关键的信息。
对于需要快速确认“哪个分区对应哪个挂载点”的场景,lsblk 提供了 -f 参数,可以额外显示文件系统类型(FSTYPE)和标签(LABEL),这对于识别不同格式的分区(如 ext4、xfs、ntfs)非常有帮助。
进阶筛选技巧
如果系统中磁盘数量较多,输出信息会显得杂乱,此时可以使用 -o 参数自定义输出列,lsblk -o NAME,SIZE,MOUNTPOINT,只关注名称、大小和挂载点,让信息一目了然。-l 参数可以以列表形式输出,便于脚本处理或管道传输。
查看已挂载文件系统与空间状态
如果说 lsblk 侧重于硬件层面的“有什么”,df(Disk Free)则侧重于软件层面的“用了多少”,这是日常运维中最常用的命令之一,尤其适用于监控磁盘剩余空间。
df 命令的实用参数解析
默认情况下,df 输出的单位通常是 1K 块,这对于人类阅读并不友好,几乎在所有生产环境中,我们都会配合 -h 参数使用,即 df -h。
-h:以人类可读的方式显示大小(如 K、M、G、T)。-T:显示文件系统类型,有助于区分本地磁盘和网络挂载(如 NFS、CIFS)。-i:显示 inode 使用情况,当磁盘空间未满但无法创建新文件时,往往是 inode 耗尽,df -i是排查利器。
对比分析:lsblk 与 df 的区别
为了更直观地理解两者的区别,我们可以通过下表进行对比:
| 特性 | lsblk | df |
|---|---|---|
| 主要用途 | 查看块设备拓扑结构 | 查看文件系统空间使用情况 |
| 磁盘、分区、LVM、挂载点 | 已挂载文件系统的总大小、已用、可用 | |
| 未挂载设备 | 显示所有块设备,包括未挂载的 | 不显示未挂载的设备 |
| 适用场景 | 硬件识别、分区规划、故障排查 | 日常监控、空间清理、容量预警 |
行业共识认为,在实际工作中,这两个命令通常是配合使用的,先用 lsblk 确认物理连接和分区结构,再用 df -h 确认实际可用空间,这样才能对存储状况有全面的掌握。
高级场景:处理软链接与特殊挂载
在某些复杂的企业级环境中,存储结构可能更加隐蔽,使用 LVM(逻辑卷管理)或软件 RAID 时,物理磁盘 /dev/sda 可能并不直接对应一个挂载点,而是通过 /dev/mapper/ 下的逻辑卷进行挂载。
识别 LVM 逻辑卷
当使用 lsblk 时,你可能会看到类型为 lvm 的设备,结合 lvdisplay 或 pvs、vgs 命令可以更深入地了解逻辑卷的详细信息。lvdisplay 可以显示逻辑卷所属的卷组、大小以及快照信息。
网络存储挂载识别
对于挂载了 NFS 或 CIFS 网络存储的场景,df -T 命令尤为关键,它能在输出中明确标注文件系统类型为
nfs 或 cifs,帮助用户区分本地磁盘和网络共享,这对于排查“为什么某个目录访问缓慢”或“为什么空间显示异常”至关重要,因为网络存储的延迟和容量限制与本地磁盘完全不同。
常见问题解答
linux 查看硬盘型号和序列号
如果需要获取物理硬盘的硬件信息,如型号和序列号,lsblk 和 df 都无法直接提供,此时应使用 lsblk -d -o NAME,MODEL,SERIAL 命令,该命令仅列出磁盘(-d 排除分区),并指定输出列包含型号(MODEL)和序列号(SERIAL),这是进行资产盘点或硬件故障定位时的标准操作。
linux 获取盘符大小和类型
若需同时获取分区的大小和文件系统类型,lsblk -f 是最佳选择,它会在输出中增加 FSTYPE(文件系统类型)和 FSSIZE(文件系统大小)两列,输出可能显示 /dev/sdb1 为 ext4 类型,大小为 50G,这比分别运行 lsblk 和 blkid 更为高效,一步到位获取关键元数据。
linux 挂载点查询命令
除了 df -h 和 lsblk,mount 命令也是查询挂载点的重要手段。mount | grep /dev 可以过滤出所有与设备相关的挂载信息,需要注意的是,mount 输出的信息较为原始,且可能包含内核自动挂载的临时文件系统,相比之下,lsblk 和 df 的输出更为结构化,更适合自动化脚本解析和人工快速阅读。
在 Linux 的世界里,没有绝对的“盘符”,只有灵活的“挂载点”,掌握 lsblk 和 df 的组合拳,不仅能帮你快速定位存储资源,更能让你深入理解 Linux 文件系统的底层逻辑,这种从硬件到软件、从结构到状态的完整视角,是每一位 Linux 使用者从新手迈向专家的必经之路。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/460771.html



