我正在进行数据传输,旧文件系统深深依赖于现在位于不同路径上的目录。这是一个 git 目录,用于在线存储代码。我无权移动或重命名它。
所以我能做的是将这个目录 rsync 到同一个旧路径。但是目录名也变了。
有没有一种简单的方法可以将目录同步到具有不同名称的目标目录?
Adr*_*ian 136
如果要使用rsync
递归使dest
目录成为目录的精确副本src
:
rsync -a src/ dest
Run Code Online (Sandbox Code Playgroud)
该rsync
手册页介绍了如何工作的:
源 [...] 上的尾部斜杠避免 [s] 在目标上创建额外的目录级别。您可以
/
将源的尾随视为“复制此目录的内容”而不是“按名称复制目录”[...]
小智 6
跑:
rsync -av --exclude='path1/in/source' --exclude='path2/in/source' [source]/ [destination]
Run Code Online (Sandbox Code Playgroud)
-avr
将创建一个名为[destination]
.source
并source/
创造不同的结果:
source
— 将文件夹源复制到目标中。source/
— 将源的内容复制到目标中。--exclude-from=FILE
—FILE
是包含要排除的其他文件或目录的文件的名称。--exclude
也可能包含通配符:
--exclude=*/.svn*
修改自:https : //stackoverflow.com/a/2194500/749232
起始文件夹结构:
.
??? destination
??? source
??? fileToCopy.rtf
??? fileToExclude.rtf
Run Code Online (Sandbox Code Playgroud)
跑:
rsync -av --exclude='fileToCopy.rtf' source/ destination
Run Code Online (Sandbox Code Playgroud)
结束文件夹结构:
.
??? destination
? ??? fileToExclude.rtf
??? source
??? fileToCopy.rtf
??? fileToExclude.rtf
Run Code Online (Sandbox Code Playgroud)