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

如何在Bash中获取含空格的挂载点完整路径

挂载路径含空格时df命令无法完整获取路径的解决办法

我的Ubuntu安装U盘挂载路径为/run/media/UBUNTU 22_0-sda1(含空格),执行df | grep /dev/sda | awk '{ print $6 }'仅返回/run/media/UBUNTU,原因是awk默认以空格分割字段,空格后的内容被识别为独立字段。

以下是几种解决方案:

方法1:用awk拼接后续字段

通过循环遍历awk的第6到最后一个字段,拼接出完整路径:

df | grep /dev/sda | awk '{for(i=6;i<=NF;i++) printf "%s ",$i; print ""}'

或通过字符串替换移除前5个字段的内容:

df | grep /dev/sda | awk '{sub(/^[^ ]+ +[^ ]+ +[^ ]+ +[^ ]+ +[^ ]+ +/,""); print}'

方法2:使用findmnt工具(推荐)

findmnt专为查询挂载点设计,可直接输出完整路径,不受空格干扰:

findmnt -n -o TARGET /dev/sda1

参数说明:

  • -n:隐藏表头
  • -o TARGET:仅输出挂载路径

方法3:结合df的POSIX格式输出

df -P确保每个文件系统信息单行显示,再处理得到完整路径:

df -P /dev/sda1 | awk 'NR==2 {sub(/^[^ ]+ +[^ ]+ +[^ ]+ +[^ ]+ +[^ ]+ +/,""); print}'

内容的提问来源于stack exchange,提问作者Chris Liu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 08:34:51