Linux中复制文件夹及全部内容需用递归命令:一、cp -r递归复制;二、cp -a归档式保留全部属性;三、cp -R为-r大写等效;四、cp –parents保留相对路径;五、rsync -av实现增强复制。
如果您需要在Linux系统中将一个文件夹及其所有内容完整地复制到另一个位置,则必须使用支持递归操作的cp命令。以下是实现该目标的具体方法:
一、使用cp -r选项递归复制整个目录
cp -r是最基础且最常用的目录复制方式,其中-r(或--recursive)表示递归处理子目录和文件,确保源目录下所有层级的内容均被复制。
1、打开终端,切换到包含待复制目录的路径,或直接使用绝对路径。
2、输入命令:cp -r /源目录路径 /目标目录路径。
3、按回车执行。若目标路径不存在,系统会自动创建同名目录;若存在且为空,则直接写入;若非空,源目录将作为子目录嵌套于目标路径内。
二、使用cp -a选项保留全部属性进行归档式复制
cp -a等价于cp -r --preserve=all,不仅递归复制,还完整保留文件权限、所有者、时间戳、符号链接等元数据,适用于需精确复现源结构的场景。
1、确认当前用户对源目录具有读取权限,对目标路径具有写入权限。
2、执行命令:cp -a /源目录路径 /目标目录路径。
3、命令执行完成后,可通过ls -la对比源与目标目录的详细属性是否一致。
三、使用cp -R选项替代-r进行大写风格调用
-R是-r的等效大写形式,在多数GNU coreutils版本中功能完全相同,部分旧系统或特定shell环境下可能仅识别-R。
1、检查系统所用cp实现:运行cp --version确认是否为GNU版本。