cp -r
是 Linux 下用于复制目录及其内容的命令。-r
选项表示递归复制,即复制目录及其子目录和文件。下面是一些使用 cp -r
的案例分析:
假设我们有一个名为 dir1
的目录,我们想将其复制为 dir2
:
cp -r dir1 dir2
这将在当前目录下创建一个名为 dir2
的新目录,并将 dir1
中的所有文件和子目录复制到 dir2
。
假设我们有一个名为 dir1
的目录,我们想将其复制到 /tmp
目录下,并命名为 dir2
:
cp -r dir1 /tmp/dir2
这将在 /tmp
目录下创建一个名为 dir2
的新目录,并将 dir1
中的所有文件和子目录复制到 /tmp/dir2
。
假设我们有两个名为 dir1
和 dir2
的目录,我们想将它们复制到 /tmp
目录下,并分别命名为 dir1_backup
和 dir2_backup
:
cp -r dir1 dir2 /tmp
mv /tmp/dir1 /tmp/dir1_backup
mv /tmp/dir2 /tmp/dir2_backup
或者,我们可以使用大括号扩展来一次复制多个目录:
cp -r {dir1,dir2} /tmp
mv /tmp/dir1 /tmp/dir1_backup
mv /tmp/dir2 /tmp/dir2_backup
假设我们有一个名为 dir1
的目录,我们想将其复制到名为 backup
的已存在目录下,并保留原始目录结构:
cp -r dir1 backup/
这将在 backup
目录下创建一个名为 dir1
的新目录(如果尚不存在),并将 dir1
中的所有文件和子目录复制到 backup/dir1
。
cp -r
将覆盖它们。在执行此操作之前,请确保这是您期望的结果。cp -r
复制大量文件和目录可能需要一些时间。在此期间,请耐心等待。-p
选项:cp -rp dir1 dir2
这将复制 dir1
及其内容到 dir2
,同时保留文件的属性。