在 CentOS 系统管理中,查询挂载点是一项基础且至关重要的技能,挂载点是文件系统树中访问特定存储设备(如硬盘分区、逻辑卷、网络共享等)的入口,了解如何有效地查看挂载信息,有助于管理员进行磁盘空间管理、故障排查以及系统维护,本文将详细介绍几种在 CentOS 中查询挂载点的常用方法,并对它们的特点进行比较。

使用 df 命令查看挂载点信息
df(disk free)命令是最常用于报告文件系统磁盘空间使用情况的工具,但它也清晰地显示了每个已挂载文件系统的挂载点。
其最实用的组合选项是 -h(human-readable,以易读的 K、M、G 格式显示)和 -T(显示文件系统类型)。
df -hT
执行后,您会看到类似以下的输出:
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 50G 8.5G 42G 17% /
devtmpfs devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs tmpfs 3.9G 8.6M 3.9G 1% /run
tmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 150M 865M 15% /boot
优点:输出简洁,一目了然地展示了设备、文件系统类型、总容量、已用空间、可用空间以及最重要的挂载点,非常适合快速概览磁盘使用情况。
使用 mount 命令列出所有挂载点
mount 命令是传统的挂载管理工具,不带任何参数直接执行时,它会列出系统中当前所有已挂载的文件系统及其详细的挂载选项。
mount
其输出格式为:设备 on 挂载点 type 文件系统类型 (挂载选项)。
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
/dev/mapper/centos-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=29,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=17743)
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
优点:信息非常详尽,特别是挂载选项(如 rw 读写、noexec 不可执行等),这对于安全审计和高级配置至关重要。

使用 findmnt 命令进行高级查询
findmnt 是一个功能更强大、输出更现代的查询工具,它可以以树状结构显示挂载信息,非常直观,并且支持多种过滤条件。
默认情况下,它会以漂亮的树状图展示所有挂载点:
findmnt
您也可以根据特定条件进行查询,例如查找挂载到 /home 目录的设备:
findmnt --target /home
或者查找 /dev/sdb1 这个设备挂载到了哪里:
findmnt --source /dev/sdb1
优点:输出格式美观,支持树状视图便于理解挂载层级关系,且查询功能灵活,非常适合脚本化和自动化任务。
使用 lsblk 命令查看设备与挂载点关系
lsblk(list block devices)命令主要用于列出块设备信息,使用 -f 选项时,它会在设备列表中额外显示文件系统类型、UUID 和对应的挂载点。
lsblk -f
输出示例:

NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 xfs 1a2b3c4d-5e6f-7g8h-9i0j-klmnopqrstuv /boot
└─sda2 LVM2_member abcdef12-3456-7890-abcd-ef1234567890
└─centos-root
xfs 9876fedc-5432-10ba-cdef-1234567890ab /
sdb
└─sdb1 ext4 mydata-uuid /mnt/data
优点:清晰地展示了物理/逻辑设备与挂载点之间的对应关系,对于规划分区或添加新硬盘时非常有帮助。
常用命令对比
| 命令 | 主要用途 | 输出特点 | 推荐场景 |
|---|---|---|---|
df -hT |
查看磁盘空间和挂载点 | 表格化,包含容量、使用率 | 快速检查磁盘空间使用情况 |
mount |
列出所有挂载信息 | 详细列表,包含挂载选项 | 查看具体的挂载参数,进行安全审计 |
findmnt |
高级挂载点查询 | 默认树状图,支持过滤 | 理解挂载层级,精确查找特定挂载 |
lsblk -f |
查看块设备与挂载点关系 | 树状图,展示设备层级和文件系统信息 | 规划磁盘分区,查看设备与挂载点的对应关系 |
掌握以上四种方法,您就可以在 CentOS 系统中游刃有余地查询和管理挂载点了,根据不同的需求选择合适的命令,将使您的系统管理工作更加高效。
相关问答 (FAQs)
问题1:如何临时挂载一个U盘或新硬盘分区到指定目录?
解答: 创建一个用于挂载的目录,sudo mkdir /mnt/mydisk,使用 mount 命令进行挂载,假设您的设备是 /dev/sdb1,命令如下:sudo mount /dev/sdb1 /mnt/mydisk,这种挂载方式是临时的,系统重启后就会失效,若要永久生效,需要将挂载信息写入 /etc/fstab 文件中。
*问题2:为什么我用 df 命令看到的根分区(/)已用空间,和我用 `du -sh /` 命令统计出来的文件总大小对不上?解答:** 这是一个常见问题,通常由以下原因造成:
- 文件被删除但进程仍在使用:如果一个文件被删除了,但仍有进程打开其句柄,
df会认为该文件仍占用磁盘空间,而du因为扫描不到文件路径所以不会计算它,可以使用lsof | grep '(deleted)'命令查找这类文件,重启对应的服务或进程即可释放空间。 - 文件系统保留空间:
ext4、xfs等文件系统默认会为root用户保留一部分空间(通常是5%),以防系统磁盘被普通用户占满导致服务无法启动。df显示的总可用空间已经扣除了这部分保留空间,而du统计的是普通文件实际占用的空间。