这是我第一次尝试使用 Linux 脚本,因此这可能是显而易见的。
以下是我想做的事情:
- 从本地文件夹中删除所有内容 - rm /home/user/Documents/Exercise/
- 从共享的 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
这将以递归方式复制或删除到文件夹或文件中的文件。