假设我有这样的文件夹结构:
/parentFolder/
folder1/
folder1.1/
file1
folder2/
file2
如何将folder2复制到folder1.1中,以便file2也在
/parentFolder/folder1/folder1.1/folder2/file2
即,文件夹结构如下所示:
/parentFolder/
folder1/
folder1.1/
folder2/
file2
file1
folder2/
file2
?
如果我只是去cp -R /parentFolder/folder2 /parentFolder/folder1/folder1.1
那么它会复制内容的文件夹2,但我也想复制文件夹2。
相关问题:答案mv
也适用于吗?
答案1
cp -R parentFolder/folder2 parentFolder/folder1/folder1.1/folder2
答案2
我更喜欢用于rsync
这种动作。除了复制文件之外,它还可以复制权限并比传统的传输速度提高cp
。
目的地的跟踪/
对于您的要求至关重要。
尝试类似的方法:
rsync -aHSv /parentFolder/folder2 /parentFolder/folder1/
答案3
cp
你用的是哪个?不同系统中的 UNIX 工具有些相似,但在某些情况下可能表现不同。
GNUcp
有你想要的行为。 BSDcp
具有您所描述的行为。尝试从第一个参数中删除斜杠,然后编写:
cp -R /parentFolder/folder2 /parentFolder/folder1/folder1.1
而不是:
cp -R /parentFolder/folder2/ /parentFolder/folder1/folder1.1
根据维基百科(1),这就是 BSDcp
做你想做的事情的方式。