在 linux 系统运维中,查看磁盘挂载是日常高频核心操作。说实话,传统的mount命令输出信息量大但不够直观、df命令侧重空间使用,复杂场景挂载时候不够给力。
findmnt凭借树状展示、精准过滤等特性,堪称挂载查看利器,能显著提升日常排查、脚本编写和故障定位的效率。
今天就给大家整理一份超全的findmnt 高级用法,全是运维实战干货,建议需要的直接收藏!
findmnt是util-linux工具包自带的命令,主流linux发行版(centos、ubuntu、debian 等)都默认安装,无需额外部署。它最大的亮点:树状结构展示挂载、支持精准过滤、支持反向查询、输出可定制化,完美解决 mount 命令输出不直观的痛点。基础格式,默认以树状结构展示所有挂载点,层级清晰,一眼看懂挂载关系。1. 挂载盘容量统计(替代 df -h)
想要查看挂载点空间使用,无需再用 df,findmnt -D 输出更规整,信息更全面:
输出比 df 更规整,直接显示文件系统类型、总容量、已用、可用、使用率,排查磁盘空间更方便。尤其适合已熟悉findmnt 但又需要看容量的场景
不知道某个目录属于哪个分区?一行命令反向定位,再也不用逐层排查:
#格式:findmnt 目标文件/目录findmnt /disk2findmnt /
只查看特定文件系统的挂载,过滤无用信息,运维排查更高效:#只查看ext4/xfs分区findmnt -t ext4,xfs#只查看NFS/网络挂载findmnt -t nfs,cifs#只查看临时文件系统(tmpfs)findmnt -t tmpfs
默认输出字段太多,可自定义展示列,精简信息,脚本或终端展示更方便:
#输出:挂载点、设备源、文件系统、挂载参数findmnt -o TARGET,SOURCE,FSTYPE,OPTIONS #只获取纯挂载点列表(无表头)findmnt -n -o TARGET#只查看根目录的设备源findmnt -n -o SOURCE /
三、进阶用法(复杂场景)
1. 查看内核级挂载参数
适合排查容器挂载、命名空间、共享/从属关系异常:
2. 检查挂载有效性
一键检测所有挂载点是否正常,排查挂载失效、磁盘脱机问题:
自动校验挂载状态,异常挂载会直接提示,快速定位故障。若挂载点不可访问,命令会返回非零值并报错,便于在脚本中实现自动化故障检测。3. 查看绑定 / 共享挂载
排查 docker、k8s 容器绑定挂载、共享挂载问题:
#查看所有挂载的传播属性findmnt -o TARGET,SOURCE,PROPAGATION#筛选共享挂载findmnt -o TARGET,PROPAGATION | grep -i shared#筛选私有挂载 findmnt -n -o TARGET,PROPAGATION | grep -i private
4. 树状结构展示深层挂载
查看嵌套挂载、子挂载关系,结构一目了然:
四、脚本自动化:实用脚本片段
findmnt 支持无输出、静默判断,非常适合写入自动化脚本,以下脚本实例供参考:
#!/bin/bash#定义要判断的挂载点MOUNT_POINT="/data"#判断指定目录是否为挂载点if findmnt -rno TARGET "$MOUNT_POINT" >/dev/null 2>&1; then echo " $MOUNT_POINT 已挂载,状态正常!"else echo "$MOUNT_POINT 未挂载,执行紧急挂载操作..." # 在此处填写你的挂载命令示例 # mount /dev/sdb1 $MOUNT_POINT #挂载后再次验证 if findmnt -rno TARGET "$MOUNT_POINT" >/dev/null 2>&1; then echo "挂载成功!" else echo "挂载失败,请检查磁盘设备或配置!" exit 1 fifi
五、findmnt 常用参数总结
最后给大家整理一份参数速记,方便快速查阅:
-D:查看挂载点磁盘容量统计-t:过滤指定文件系统类型-o:自定义输出字段-n:不显示表头,纯数据输出-k:查看内核挂载信息-A:校验所有挂载有效性-J:JSON 格式输出,适配脚本解析
很多运维还在用 mount 和 df,其实学会 findmnt,复杂挂载场景效率提升非常明显。 以上都是实战常用命令,收藏起来,工作直接套用! 觉得有用点赞关注,持续更新 Linux 运维硬核干货。
#运维#linux运维#findmnt