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

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

这是我第一次尝试使用 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/

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

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

我究竟做错了什么?

亲切的问候,

编辑:

现在该rm功能已运行,但仍然困扰着我cp。为了确保文件夹名称中的空格不是问题,我已重命名共享上的文件夹,现在内容如下: //server/Arc/ExerciseFiles/*

我已经挂载了该文件夹,所以我(假设)不再需要smb://。它目前显示为: cp -rfv /home/user/Documents/ExerciseShare/ExerciseFiles/Word/ /home/user/Documents/Exercise/

答案1

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

  rm -rfv /home/user/Documents/Exercise/*

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

如果有 Samba 共享,首先你必须在本地安装它

IE

mount -t smbfs smb://"server/arc/Exercise Files/Word/" /mnt 

然后做

 cp /mnt /home/user/Documents/Exercise/

答案2

您必须使用“减 r”标志或-r

rm -r

cp -r

这将以递归方式复制或删除到文件夹或文件中的文件。

相关内容