无法进入samba位置(在Windows共享位置)

我无法像往常一样进入samba:

 cd smb://server/folder 

它说: "bash: cd: smb/..." No such file or directory.

但是如果在nautilus我转到文件夹并右键单击它,属性中显示的位置是:

 smb://server/folder 

为什么这不起作用? 谢谢

程序“cd”只能导航到安装到本地VFS的目录,而以“smb://”开头的URI描述远程资源。 要进入SMB共享,​​您必须安装它。

在您的情况下,听起来已经安装了SMB共享并可从nautilus访问。 这意味着SMB共享已经安装在本地VFS的某个位置。

在Ubuntu 15.04中,我认为SMB共享的默认挂载点(至少是你使用nautilus连接的挂载点)是:

 /run/user/$UID/gvfs/smb:host=$SERVER_NAME 

所以相反,尝试:

 $ cd /run/user/$UID/gvfs/smb:host=server/path/to/file.txt 

编辑:有关这方面的更深入的解释,这里有一个关于unix stackexchange的类似问题,有一些很好的答案

您不能仅使用来自终端的cd smb://server/folder

要从终端访问该文件夹,您需要先mount该文件夹。

 sudo mkdir /mnt/server sudo mount -t cifs //remote/folder /mnt/server -o username=user uid=name 

或者只需输入smbclient //hostname/folder并输入用户名/密码。 成功登录后,您将能够访问这些文件夹。

shell(bash)不使用唯一资源定位符(URL)。

除了告诉您如何手动挂载samba共享的其他答案之外,如果您可以使用文件管理器访问它,则已使用gvfs挂载它。 您可以通过主目录中的.gvfs/目录访问它:

 cd ~/.gvfs/ ls 

如果我是正确的,你应该folder on server/看到一个名为folder on server/的目录。

bash不能像这样使用smb协议。 如果要使用它,则必须使用mount命令挂载smb共享,或者将其添加到/etc/fstab (例如,从我的fstab中获取):

 // server / smb-share / my / path / where / to / mount / it cifs guest,uid = 1000,iocharset = utf8,codepage = unicode,unicode 0 0

如果其他人不工作(我的情况),你可能会发现这样:

cd /$XDG_RUNTIME_DIR/gvfs/smb-share\:server=yourserver,share=yourshare/

适当地替换你的和你的yourshare

如果您正在使用制表符完成,请注意您的shell错误地转出逗号,美元符号和斜杠。 然而,冒号应该逃脱。