Linux提供了不同的工具来完全复制目录。最流行和最著名的工具是 cp
. 在本教程中,我们将了解如何完全复制Linux目录或特定内容。
仅复制目录
在第一个示例中,我们将复制唯一的目录。我们可以只提供源目录和目标目录名给 cp
命令。在本例中,我们将尝试复制单个目录。如我们所见,我们得到一个如下的错误。
$ cp backup newbackup

递归复制整个目录
现在是真实的情况。我们将复制名为 backup
用一个新名字 newbackup
. 我们将使用 -r
使复制操作递归的选项。递归意味着子目录和文件也将被复制。
$ cp -r backup newbackup

复制特殊文件
在递归复制操作期间,默认情况下不会复制特殊文件内容。我们可以用 -b
选项如下。
$ cp -r -b backup newbackup
在保留源目录属性的同时复制
文件和目录在Linux操作系统中提供了一些属性。这些属性是文件模式、所有权、时间戳、上下文、链接、xattr等。在目录复制期间,我们也可以使用 -a
选项如下。
$ cp -r -a -v backup new_backup

将整个目录复制到当前用户主目录
linuxbashshell提供了一些关于路径的快捷方式。如果我们想将一个目录完全复制到当前用户的主目录中,我们可以 ~
颚化以指定用户主目录路径。在本例中,我们将复制名为 backup
到当前用户主目录。
$ cp -r backup ~/
详细复制提供详细信息
在复制操作期间,将没有关于当前操作的标志。我们可以使这个复制操作冗长,复制的文件将被打印到shell中。我们将使用 -v
命令如下。
$ cp -r -v newbackup oldbackup

用rsync命令复制整个目录
rsync
是非常流行和有用的工具,用于复制、同步和备份文件和目录。我们可以用 rsync
以便将完整目录及其子目录复制到本地或远程系统。我们将使用 -r
选项以递归方式复制所有目录和文件,并使用 -v
详细输出选项。
$ rsync -r -v backup backup_old

相关文章: rsync命令教程及示例