📅  最后修改于: 2023-12-03 15:02:44.303000             🧑  作者: Mango
当我们需要将一个目录中的所有文件和子目录复制到另外一个目录时,可以使用Linux的Shell/Bash命令行工具实现。
在Shell/Bash中,使用cp命令可以完成将一个目录中的所有内容复制到另外一个目录中。
语法:
cp -r source_directory destination_directory
其中,-r选项表示递归复制所有子目录,如果不加-r选项只能复制目录下的文件,而无法复制其中的子目录。
示例:
cp -r /foo /bar
cp -r /foo /bar && chmod -R 755 /bar/*
rsync是一个功能强大的文件同步工具,可以实现本地和远程之间的文件同步和备份。使用rsync命令也可以完成目录的复制。
语法:
rsync -av source_directory destination_directory
其中,-a选项表示递归复制所有子目录,并且保持文件的权限、时间、软链接等元数据一致;-v选项表示输出详细的日志信息。
示例:
将/foo目录下的所有内容复制到/bar目录中,保持文件的权限、时间、软链接等元数据一致,并同时输出详细的日志信息:
rsync -av /foo /bar
使用cp或rsync命令可以快速而简单地复制目录中的所有文件和子目录。在复制前请确保目录存在并且具有足够的读写权限,同时注意不要将已有内容覆盖,以免造成不必要的麻烦。