直接看当前生效的挂载参数,用findmnt最准——它读内核实时状态/proc/self/mountinfo,执行findmnt /dev/sdb1或findmnt /data可精准获取设备或挂载点的完整options字段,比mount、/proc/mounts更可靠、安全、结构化。

直接看当前生效的挂载参数,用 findmnt 最准 —— 它读的是内核实时状态 /proc/self/mountinfo,不是配置文件或缓存输出。
查某个设备(如 /dev/sdb1)当前挂载选项
执行 findmnt /dev/sdb1,输出会明确列出该设备所有挂载实例(包括 bind mount、subvol 等),字段对齐、选项完整,不怕路径含空格或特殊字符。
- 如果设备没挂载,命令直接报错
findmnt: failed to find a device...,比mount | grep sdb1更可靠 - 若有多处挂载(比如同一分区被 bind mount 到多个路径),
findmnt全部列出;mount可能只显示首次挂载项 - 注意:
findmnt /dev/sdb1不会匹配 UUID 或 LABEL,必须用真实设备路径;要查 UUID,先用lsblk -f找对应设备名
查某个挂载点(如 /data)实际生效的参数
运行 findmnt /data,返回该路径归属的设备、文件系统类型和完整 OPTIONS 字段,比如 rw,noatime,stripe=400。
- 比
mount | grep '/data'安全:后者可能误匹配/data-backup或子目录,而findmnt严格按挂载点树结构匹配 - 如果
/data是 symlink 或未挂载,findmnt会向上追溯到最近的有效挂载点(比如/),并提示source: /dev/sda1,避免你误判路径归属 - 输出中
FSTYPE是真实类型(如ext4),不是df -T那种可能被 overlayfs 伪装的类型
为什么不能只信 /etc/fstab 或 mount 命令输出
/etc/fstab 是开机“愿望清单”,mount 是美化过的 /proc/mounts,两者都不等于当前真实状态。
- 手动执行过
sudo mount -o remount,noatime /?那/etc/fstab里写的defaults就失效了,findmnt /才反映现状 -
mount会过滤掉debugfs、securityfs等内核内部挂载项;findmnt和/proc/mounts都保留它们 - systemd 的 automount 单元(如
/proc/sys/fs/binfmt_misc)可能未触发,mount不显示,但findmnt仍能查到定义(加-D参数),而/proc/mounts只有已激活的条目
需要脚本解析时,优先用 findmnt -n -o OPTIONS
例如提取根分区选项:findmnt -n -o OPTIONS / 输出就是纯字符串 rw,relatime,noatime,data=ordered,没有表头、无缩进、无多余空格。
- 别用
awk '{print $4}' /proc/mounts解析 —— NFS/cifs 的选项可能含空格,$4会被切碎;findmnt内部处理了这些边界情况 -
-n去掉表头,-o OPTIONS只取选项列,适合管道后续处理,比如findmnt -n -o OPTIONS / | grep -q noatime判断是否启用 - 如果必须用
/proc/mounts(如旧系统没装util-linux),请用awk '$2 == "/" {print $4}' /proc/mounts,字段位置固定,比正则匹配更稳
真正关键的不是“怎么查”,而是查完后得立刻比对:如果 findmnt / 显示 relatime 但你想关它,说明 noatime 没生效 —— 这时候不是工具问题,是忘了 sudo mount -o remount,noatime / 或没改对 /etc/fstab 对应行。











