You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu下mount命令无法显示swap分区及sd?匹配无输出的问题咨询

Ubuntu下mount命令无法显示swap分区及sd?匹配无输出的问题咨询

Hey Michal, 我来帮你拆解这两个问题,都是日常使用Linux命令时很容易踩的小坑哦~

第一个问题:为什么mount | grep sdb没有输出?

这是因为swap分区的管理逻辑和普通文件系统不一样:

  • mount命令的作用是挂载文件系统(比如你看到的ext4)到指定目录,而swap分区属于交换空间,是通过swapon命令启用的,并不在mount的管理范围内。
  • 如果你想查看swap分区的状态,可以用这两个命令:
    • swapon --show:直观展示当前正在使用的swap设备及相关信息
    • cat /proc/swaps:查看内核层面的swap记录,能和lsblk里标记为[SWAP]的设备对应上

第二个问题:为什么mount | grep sd?没有输出?

这里的问题涉及到shell路径扩展和grep的正则表达式规则,两步走分析:

  1. shell的路径扩展优先级:当你输入sd?时,shell会先尝试在当前工作目录下匹配以sd开头、后面跟任意单个字符的文件(比如sda、sdb这类)。如果当前目录没有符合条件的文件,shell才会把sd?作为字符串传给grep。
  2. grep的正则规则:grep默认使用基本正则表达式(BRE),在BRE里?是普通字符,不是“匹配前面字符0次或1次”的元字符。所以grep会去查找包含sd?这个精确字符串的行,但你的mount输出里根本没有这个内容,自然就没有结果了。

解决办法

你可以用以下几种方式实现预期的匹配:

  • 用引号包裹正则表达式,避免shell扩展,同时用.匹配任意单个字符:
    mount | grep 'sd.'
    
  • 使用扩展正则表达式(加-E参数),明确匹配sd后跟单个字符的模式:
    mount | grep -E 'sd.'
    
  • 更精准地匹配磁盘设备名(比如sd后跟小写字母):
    mount | grep -E 'sd[a-z]'
    

备注:内容来源于stack exchange,提问作者michal roesler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 08:15:28