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

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

我无法cd像平常一样进入桑巴舞:

cd smb://server/folder

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

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

smb://server/folder

为什么这不起作用?谢谢

答案1

程序“cd”只能导航到挂载到本地 VFS 的目录,以“smb://”开头的 URI 描述了远程资源。为了 cd 到 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 上的类似问题有一些很好的答案

答案2

您不能仅从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输入用户名/密码。登录成功后,您就可以访问文件夹了。

答案3

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

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

cd ~/.gvfs/
ls

如果我没记错的话,你应该会看到一个名为的目录folder on server/

答案4

如果其他方法不起作用(就像我的情况一样),您可能会发现这个会:

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

适当更换yourserveryourshare

如果你使用制表符补全,请注意你的 shell 会错误地转义逗号、美元符号和斜线。但是,冒号应该逃脱。

相关内容