我正在使用以下命令将本地 OSX 系统上的文件从一个文件夹同步到另一个文件夹:
rsync -avC ./src ~/Sites
里面./src
有几个子文件夹:
./src/assets
./src/core
./src/css
./src/js
除 外,所有文件夹和内容均按预期复制./src/core
。重命名文件夹可解决问题,但这不是选项。例如,将其命名为./src/core2
即可。
答案1
它这样做是因为您要求它这样做。具体来说,您要求-C
它“忽略 CVS 所做的事”。
其中包括各种垃圾,例如核心转储在链接远端,这些内容其实并不有趣。除非它按名称而不是“类型和名称”执行此操作,因此您的目录会陷入混乱。
从中rsync(1)
,可以列出其排除的内容:
RCS SCCS CVS CVS.adm RCSLOG cvslog.* tags TAGS .make.state .nse_depinfo *~ #*
.#* ,* _$* *$ *.old *.bak *.BAK *.orig *.rej .del-* *.a *.olb *.o *.obj *.so
*.exe *.Z *.elc *.ln core .svn/ .git/ .hg/ .bzr/
要忽略来自 CVS 的文件和文件夹并包含“核心”文件夹,请明确包含“核心”,如下所示:
rsync -avC --include "core" ./src ~/Sites