通过脚本从挂载共享驱动器复制到本地文件夹

Mit*_*ell 5 bash mount rm smb 12.10

这是我第一次尝试使用 Linux 脚本,所以这可能是显而易见的事情。

这是我正在尝试做的事情:

  1. 从本地文件夹中删除所有内容 - rm /home/user/Documents/Exercise/
  2. 从共享 Windows 网络驱动器复制文件 - cp smb://server/arc/Exercise%20Files/Word/

所以根据我的理解,我的命令应该是这样的

  rm /home/user/Documents/Exercise/
  cp smb://server/arc/Exercise%20Files/Word/ /home/user/Documents/Exercise/
Run Code Online (Sandbox Code Playgroud)

但每当我尝试运行上述任一命令时,都会收到以下错误:

  "rm: cannot remove `/home/user/Documents/Exercise/': Is a directory"
  "cp: cannot stat `smb://server/arc/Exercise%20Files/Word/': No such file or directory"
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

亲切的问候,

中号

编辑:

我现在已经可以rm使用该功能,但仍然受到该cp功能的困扰。为了确保文件夹名称中的空格不是问题,我已重命名共享上的文件夹,因此现在显示为: //server/Arc/ExerciseFiles/*

我已经安装了该文件夹,因此我(假设)不再需要smb://. 目前内容如下: cp -rfv /home/user/Documents/ExerciseShare/ExerciseFiles/Word/ /home/user/Documents/Exercise/

中号

Reg*_*ser 4

不,你的命令应该如下所示

  rm -rfv /home/user/Documents/Exercise/*
Run Code Online (Sandbox Code Playgroud)

因为文件夹Exercise可以有子目录

如果是 samba 共享,首先您必须在本地安装它

IE

mount -t smbfs smb://"server/arc/Exercise Files/Word/" /mnt 
Run Code Online (Sandbox Code Playgroud)

然后做

 cp /mnt /home/user/Documents/Exercise/
Run Code Online (Sandbox Code Playgroud)