📌  相关文章
📜  linux 复制目录 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:02:44.303000             🧑  作者: Mango

Linux 复制目录 - Shell/Bash

当我们需要将一个目录中的所有文件和子目录复制到另外一个目录时,可以使用Linux的Shell/Bash命令行工具实现。

使用命令cp

在Shell/Bash中,使用cp命令可以完成将一个目录中的所有内容复制到另外一个目录中。

语法:

cp -r source_directory destination_directory

其中,-r选项表示递归复制所有子目录,如果不加-r选项只能复制目录下的文件,而无法复制其中的子目录。

示例:

  1. 将/foo目录下的所有内容复制到/bar目录中:
cp -r /foo /bar
  1. 将/foo目录下的所有内容复制到/bar目录中,并且将所有文件和目录的权限设置为755:
cp -r /foo /bar && chmod -R 755 /bar/*
使用命令rsync

rsync是一个功能强大的文件同步工具,可以实现本地和远程之间的文件同步和备份。使用rsync命令也可以完成目录的复制。

语法:

rsync -av source_directory destination_directory

其中,-a选项表示递归复制所有子目录,并且保持文件的权限、时间、软链接等元数据一致;-v选项表示输出详细的日志信息。

示例:

将/foo目录下的所有内容复制到/bar目录中,保持文件的权限、时间、软链接等元数据一致,并同时输出详细的日志信息:

rsync -av /foo /bar
结束语

使用cp或rsync命令可以快速而简单地复制目录中的所有文件和子目录。在复制前请确保目录存在并且具有足够的读写权限,同时注意不要将已有内容覆盖,以免造成不必要的麻烦。