树莓派5挂载Windows CIFS共享文件夹失败求助
树莓派5挂载Windows CIFS共享文件夹失败求助
嗨,我看到你在树莓派5上挂载Windows CIFS共享时遇到了报错,咱们来拆解下问题根源,再给出解决办法:
首先先还原下你执行的命令和出现的错误:
testkit@RASp5:~ $ sudo mount -t cifs -o username=Main_Link,pass=q&yLC0es9a //192.168.1.103/Remote_Access ~/Desktop/share [1] 15535 bash: yLC0es9a: command not found testkit@RASp5:~ $ mount: bad usage Try 'mount --help' for more information.
问题分析
核心问题出在你的密码里的&符号上——这是bash的特殊字符,会被解析成「后台执行命令」的分隔符。所以你的命令被bash拆成了两部分:
sudo mount -t cifs -o username=Main_Link,pass=q被放到后台执行- 剩下的
yLC0es9a //192.168.1.103/Remote_Access ~/Desktop/share被当成了新的命令,自然bash会报错找不到yLC0es9a这个指令,后续的mount也因为参数不完整提示用法错误。
解决方案
这里给你几个可行的解决方法,选你觉得方便的就行:
方法一:用单引号包裹密码
把包含特殊字符的密码用单引号括起来,让bash不再解析里面的特殊符号,修改后的命令如下:sudo mount -t cifs -o username=Main_Link,pass='q&yLC0es9a' //192.168.1.103/Remote_Access ~/Desktop/share方法二:用单引号包裹整个-o参数
也可以把整个-o后面的配置参数都用单引号包裹,效果是一样的:sudo mount -t cifs -o 'username=Main_Link,pass=q&yLC0es9a' //192.168.1.103/Remote_Access ~/Desktop/share方法三:使用凭证文件(更安全)
如果不想在命令行明文输入密码(避免密码留在命令历史里),可以创建一个凭证文件:- 先创建并写入凭证内容:
echo -e "username=Main_Link\npassword=q&yLC0es9a" > ~/cifs_cred.conf - 设置文件权限为仅自己可读(防止其他用户查看):
chmod 600 ~/cifs_cred.conf - 用凭证文件挂载:
sudo mount -t cifs -o credentials=~/cifs_cred.conf //192.168.1.103/Remote_Access ~/Desktop/share
- 先创建并写入凭证内容:
额外提醒
挂载前要确保目标目录~/Desktop/share已经存在,如果还没创建的话,先执行这条命令创建:
mkdir -p ~/Desktop/share
备注:内容来源于stack exchange,提问作者user1914329
相关产品推荐
相关产品推荐

