首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复制directory+renaming it

复制directory+renaming it
EN

Unix & Linux用户
提问于 2014-04-14 09:53:23
回答 2查看 3.4K关注 0票数 6

我想从以下位置复制一个目录:

代码语言:javascript
复制
path1/dir1

代码语言:javascript
复制
path2/dir2

我第一次调用

代码语言:javascript
复制
cp -r path1/dir1 path2/dir2

没有问题,dir2是在path2下创建的

代码语言:javascript
复制
ls path2/dir2

第二次,dir1是在路径2/dir2 2下创建的。

代码语言:javascript
复制
ls path2/dir2/dir1

我可以只使用cp获得正确的行为吗?(=不调用rm -f path2/dir2 )

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2014-04-14 10:01:11

使用-T选项进行cp (GNU cp):

代码语言:javascript
复制
cp -rT path2/dir2 path1/dir1

如果为此使用rsync (这可能是您想要的,因为它将避免复制未更改的文件),您可以将/附加到源目录,以便具体地复制内容,而不是复制目录本身。例:

代码语言:javascript
复制
rsync -r path1/dir1/ path2/dir2
票数 8
EN

Unix & Linux用户

发布于 2014-04-14 10:01:26

当您将目录“复制”到已经存在的目标时,您想要的行为是不明确的。你想不想

  • 只添加新文件?
  • 添加内容已更改的新文件和更新文件?
  • 添加和更新文件,并删除从源中删除的目标文件?

基本上,您认为简单的复制操作实际上要复杂得多--对cp来说太复杂了。在所有情况下,您都希望使用rsync命令。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/124661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档