使用cp命令复制文件夹需加-r选项递归复制,如cp -r myfolder /backup/;常用选项包括-v显示过程、-a保留属性、-u增量更新,可组合使用如cp -av实现详细输出并保留权限,适用于备份与迁移场景。

在Linux系统中复制文件夹,最常用的命令是 cp。它不仅可以复制文件,也能递归地复制整个目录(文件夹)。要正确复制文件夹,关键在于使用合适的选项。
使用cp命令复制文件夹的基本语法
复制目录时必须加上 -r 或 -R 选项,表示递归复制,即复制目录及其内部所有子目录和文件:
cp -r 源目录路径 目标路径
例如,要把名为 myfolder 的目录复制到 /backup/ 目录下:
cp -r myfolder /backup/
执行后,/backup/myfolder 就会包含原目录的所有内容。
常用选项说明
根据实际需求,可以组合不同的选项来增强功能:
- -r 或 -R:递归复制整个目录结构(必须用于复制文件夹)
- -v:显示详细操作过程(verbose模式),能看到哪些文件正在被复制
- -a:归档模式,保留原文件的权限、时间戳、符号链接等属性,常用于备份
- --preserve:指定保留某些属性,如权限、所有者等
- -u:仅当源文件比目标文件新时才复制,适合增量更新
例如,带详细输出地复制并保留属性:
cp -av myfolder /backup/
常见使用场景示例
以下是一些实用的操作例子:
- 复制目录并重命名:
cp -r oldname/ newname/ - 将一个目录的内容合并到另一个已存在的目录:
cp -r source/* destination/ - 复制目录时不复制软链接本身,而是复制其指向的文件:
使用 -L 选项 - 保留软链接不变(不展开):
默认行为,或使用 -d 选项
注意事项
使用 cp 命令复制目录时需要注意几点:
- 目标路径如果不存在,cp 会创建同名目录;如果已存在且为目录,则会把源目录放进其中
- 复制大目录时建议加 -v 查看进度
- 误操作可能导致数据覆盖,尤其是使用通配符 * 时要小心
- 跨用户或系统复制时注意权限问题,可能需要配合 sudo 使用
基本上就这些。掌握 cp -r 及相关选项,就能灵活应对大多数目录复制需求。










