如何导航到我在命令行上安装在 Nautilus 中的 samba 位置?

tex*_*nic 61 command-line samba

请注意:我在 Linux 上已经两周大了。我在互联网上找到了很多关于这个问题的答案,尝试了很多,但都以一种或另一种方式失败了。所以我敢再问一次,希望这里有人能简单解释一下:)

先决条件:

在我的研究所,我们有一个 Samba 服务器。在 Windows 中,它是通过转到\\xyz.220.131.233\并输入登录名abc和密码来访问的def

在 Ubuntu 中,我可以使用 Nautilus 执行完全相同的操作,按 Ctrl+L 并输入smb://xyz.220.131.233/. 然后它要求输入登录名和密码并连接。我什至可以将文件夹从这里拖到“位置”,并有一个到远程位置的快捷方式。

到现在为止还挺好。我刚刚安装了 Matlab 并想打开这个远程位置。试图cdsmb://xyz.220.131.233/回报

无法 CD 到 smb://xyz.220.131.233(名称不存在或不是目录)。

我组中的一位 Mac 用户告诉我,我首先挂载了该位置,但他不知道该怎么做。

这是真的吗,我该怎么做?

des*_*gua 85

大多数情况下:

$XDG_RUNTIME_DIR/gvfs
Run Code Online (Sandbox Code Playgroud)

14.04:

/run/user/$(id -u)/gvfs
Run Code Online (Sandbox Code Playgroud)

12.10:

/run/user/<username>/gvfs
Run Code Online (Sandbox Code Playgroud)

12.04:

自 12.04 以来,已安装的 samba 共享文件夹为:

~/.cache/gvfs
Run Code Online (Sandbox Code Playgroud)

11.10 及以上

您可以学习如何安装 - 它肯定会起作用。但我认为这对您来说是一个更简单的解决方案:Nautilus 将 smb 分区安装在~/.gvfs(其中 ~/ 表示 /home/user_name/ - 示例:)/home/desgua/.gvfs
你只需要导航到那里:

cd ~/.gvfs
Run Code Online (Sandbox Code Playgroud)

  • 为什么他们每个版本都改变它? (15认同)
  • 14.04 与 12.10 相同。用户作为数字而不是我系统上的名称,例如 /run/user/1000/gvfs/smb-share:server=NAS,share=MyShareFolder (2认同)
  • $XDG_RUNTIME_DIR == /run/user/$(id -u) : on (14.04) (2认同)

laz*_*wer 5

此处的另一个选项虽然与在 nautilus 中挂载目录没有直接关系,但从命令行挂载该位置。

但是,要挂载 samba 卷,您必须有 CIFS 支持。

sudo apt-get install cifs-utils
Run Code Online (Sandbox Code Playgroud)

从这里,您可以选择要安装位置的位置。对此有两种“标准”。如果您希望该位置显示在“位置”菜单中,您可以将其安装在/media. 如果没有,您将安装它/mnt(仅遵循已安装卷的公共命名空间。将目录安装在 中没有任何问题/home/$user/mount/someshare

位置菜单中安装位置的图示

假设/media/myshare存在,您可以通过发出以下命令来实现这一点:

sudo mount -t cifs -o user=abc,password=def //xyz.220.131.233 /media/myshare
Run Code Online (Sandbox Code Playgroud)

边注

您可以通过将以下字符串附加到您的/etc/fstab配置中来自动完成此操作:

//xyz.220.131.233 /media/SambaMount cifs username=abc,password=def,rw,user,noauto 0 0
Run Code Online (Sandbox Code Playgroud)

请注意该noauto标志,这将阻止卷在启动时被挂载,因此当您不在工作场所时,它不会在启动期间尝试轮询和挂载该共享时挂起。


tex*_*nic 2

所以,不确定这是否是真正的答案(如果有疑问请评论或自己检查),但在与另一位 Linux 同事一起努力之后,我意识到我实际上并不在我的系统中的用户组中()nano /etc/group。将自己添加到该组后(sudo nano /etc/group将我的名字添加到该users行中),我现在可以访问远程目录。我的 /etc/fstab 文件有以下几行:

//xxx.220.131.233/user  /mnt/rua_user  cifs  username=abc,password=def 0 1
//xxx.220.131.233/all   /mnt/rua_all   cifs  username=abc,password=def 0 1
Run Code Online (Sandbox Code Playgroud)

文件夹的权限如下所示 ( ls -lh /mnt):

drwxrwx---  8 1016 users 0 2011-03-08 11:14 rua_all
drwxrwx--- 25 1016 users 0 2011-05-25 18:21 rua_user
Run Code Online (Sandbox Code Playgroud)