qro*_*rts 118
cp -rf /source/path/ /destination/path/
Run Code Online (Sandbox Code Playgroud)
-r =递归,复制所有子目录
-f = force,如果无法打开现有的目标文件,请将其删除并重试
注意使用该-f标志时应小心,因为它会强制覆盖您复制到的任何内容。感谢@Nifle 的建议。
如果需要,您可能希望使用 * 通配符复制目录中的所有文件。
dmc*_*ten 11
虽然cp -R答案是正确的(顺便说一句,BSD 上的标志的情况必须是大写的,两者都在 linux 上支持),但有一个涉及 tar 的旧咒语:
$ tar cf - . | (cd DIR; tar xf - )
Run Code Online (Sandbox Code Playgroud)
你为什么要这样做?因为 tar对硬链接和符号链接有相当复杂的理解。
您是否希望复制以使用具有相同文本的符号链接替换现有符号链接?或者链接到同一目标(调整相对路径以进行补偿)?还是使用目标的按位副本?
如果原始文件中的两个文件是硬链接的,那么新结构应该有两个数据副本还是只有一个?
决定,决定。Tar 具有合理的默认值,但可以让您非常具体地了解它。
小智 9
我喜欢
cp -axv source dest
Run Code Online (Sandbox Code Playgroud)
Rsync 是另一个很好的工具
rsync -va source dest
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
127395 次 |
| 最近记录: |