如何在使用mount命令时排除环回设备的显示?
如何在使用mount命令时排除环回设备的显示?
兄弟,我太懂这种被一堆环回设备输出淹没的痛苦了!你现在用grep -v层层过滤的路子虽然能解决问题,但确实有更顺手、更精准的办法,给你整理几个实用的选项:
用mount的类型参数精准筛选
如果你清楚自己系统里真实硬件常用的文件系统(比如ext4、xfs、btrfs这类),可以直接用mount命令的-t参数指定要显示的类型,自动排除loop相关的挂载:mount -t ext4,xfs,btrfs这个方法的唯一小缺点是,如果你后续新增了其他类型的硬件文件系统,得记得把类型补进去。
推荐用findmnt工具(更强大的挂载查看器)
findmnt是mount的替代工具,默认输出就更清晰,过滤功能也强得多。要排除所有环回设备,直接用这行命令:findmnt -n -o target,source,fstype -not -source 'loop*'给你解释下参数:
-n去掉冗余的表头,-o指定要显示的列(挂载点、源设备、文件系统类型),-not -source 'loop*'就是直接排除所有源是loop开头的设备。要是还想顺带排除squashfs类型的挂载,再加个过滤条件就行:findmnt -n -o target,source,fstype -not -source 'loop*' -not -fstype squashfs这个命令比grep过滤精准得多,输出格式也更规整,真心推荐你试试。
简化现有grep写法
要是你还是习惯用mount+grep的组合,也可以把两次grep合并成一次,更简洁高效:mount | grep -vE '(loop|squashfs)'这里用
-E启用扩展正则表达式,一次就能排除包含loop或squashfs的行,比两次管道更顺畅。
备注:内容来源于stack exchange,提问作者ccpizza
相关产品推荐
相关产品推荐

