使用终端将文件夹复制到 NAS 驱动器

Ada*_*dam 4 command-line networking files drive transfer

您好,我是 Ubuntu 的新手,我想将文件夹复制到我的网络驱动器。我了解如何正常复制文件,但我似乎无法将文件复制到我的网络驱动器。

sudo cp /home/adam/file.txt smb://nas/main/
Run Code Online (Sandbox Code Playgroud)

它说不存在这样的目录。我可以通过文件资源管理器导航到该位置。

EDIT2:RoVo 提供的解决方案有效。我通过编辑 /etc/fstab 文件并将该行添加到末尾来永久安装网络驱动器。

我现在可以传输文件:

sudo cp /home/adam/file.txt /media/networkdrive
Run Code Online (Sandbox Code Playgroud)

pLu*_*umo 6

你不能cd像这样分享一个smb。
Nautilus/Nemo 可以做到这一点,因为它在后台使用虚拟文件系统 ( gvfs ) 并自动将共享挂载到文件系统中某处的文件夹。

在你启动 Nautilus/Nemo 来安装它之后,你可以去/run/user/1000/gvfs/[...](比较你的mount输出)然后瞧。您应该在那里看到 smb 共享。


从没有 Nautilus/Nemo 的终端,您需要手动安装 smb 驱动器。这样做有几种选择。

最常见的选项 afaik 是使用cifs. smbfs是一个替代方案。此处此处此处描述在用户空间中安装 smb 的替代方法(无需具有 sudo 权限或成为 root)。

安装 cifs-utils:

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

然后挂载你的驱动

--> 要么暂时:

sudo mount -t cifs -o <Options> //<Server>/<Sharename> <Mountpoint> 
Run Code Online (Sandbox Code Playgroud)

注意:<MountPoint>必须存在。

例如

sudo mount -t cifs -o credentials=~/.smbcredentials //nas/shared_folder /media/nas_shared
Run Code Online (Sandbox Code Playgroud)

~/.smbcredentials 只是一个普通的文本文件,内容如下:

username=<username of the share>
password=<password of the share>
Run Code Online (Sandbox Code Playgroud)

-o credentials=[...]如果它是没有登录的公共共享,则省略该部分。

--> 或永久使用 fstab:

//<Server>/<Sharename> <Mountpoint> cifs credentials=/home/user/.smbcredentials  0 0
Run Code Online (Sandbox Code Playgroud)

然后你可以 cd 到<Mountpoint>.


Ubuntu WIKI获取更多信息。