复制文件和目录是在命令行上执行时最常见的任务之一。在Linux中,有几个命令用于复制文件cprsync 更受欢迎。

使用 cp复制文件,rsync命令用于复制目录,是该命令一种常见的做法。

为了能够复制文件和目录,您必须至少具有对源文件的读取权限和对目标目录的写入权限。

使用cp命令复制文件

在Linux和Unix操作系统上,cp命令用于复制文件和目录。

最简单的用例是复制当前工作目录中的文件。例如,要复制名为file.txt的文件到当前目录中命名为file_backup.txt 的文件,您将运行以下命令:

cp file.txt file_backup.txt

如果目标文件存在,它将被覆盖。要提示确认,请使用该-i选项。

cp -i file.txt file_backup.txt

默认情况下,使用该cp命令复制文件时,新文件将由执行该命令的用户拥有。使用-p选项可保留文件模式,所有权时间戳

cp -p file.txt file_backup.txt

另一个选择是-v。使用此选项时,命令将打印正在执行的操作:

cp -v file.txt file_backup.txt
'file.txt' -> 'file_backup.txt'

将文件复制到另一个目录

要将文件复制到另一个目录,您需要指定目标目录的绝对路径或相对路径。在以下示例中,我们将文件复制file.txt/backup目录:

cp file.txt /backup

仅将目录名称指定为目标时,复制的文件将与原始文件具有相同的名称。

如果要使用其他名称复制文件,则需要指定所需的文件名:

cp file.txt /backup/new_file.txt

上面的命令会将文件复制到指定的目录中new_file.txt

复制多个文件

要一次复制多个文件和目录,请指定源文件和目录的名称,然后将目标目录作为最后一个参数:

cp file.txt dir file1.txt file2.txt dir1

复制多个文件时,目标必须是目录。

cp命令还允许您使用模式匹配。例如,要将.png当前目录中的所有文件复制到/backup您将使用的目录:

cp *.png /backup

使用cp命令复制目录

要复制目录(包括其所有文件和子目录),请使用-R-r选项。在以下示例中,我们将目录复制PicturesPictures_backup

cp -R Pictures Pictures_backup

上面的命令将创建一个目标目录,并递归地将所有文件和子目录从源目录复制到目标目录。

如果目标目录已存在,则源目录本身及其所有内容将复制到目标目录。要仅复制文件和子目录,而不复制目标目录,请使用-T选项:

cp -RT Pictures Pictures_backup

复制目录时也可以使用复制文件时使用的选项。主要区别在于复制目录时需要使用-R。

使用rsync命令复制文件和目录

rsync是一种快速且通用的命令行,可在两个位置之间同步文件和目录。它可用于将文件复制到本地和远程位置。

rsync包括许多控制其行为的每个方面的选项。最有用的选项是-a递归复制目录,传输特殊设备和阻止设备,保留符号链接,修改时间,组,所有权和权限。

要将单个文件从一个文件复制到另一个位置,您将运行以下命令:

rsync -a file.txt file_backup.txt

如果目标文件存在rsync将覆盖它。

可以使用相同的命令复制目录:

rsync -a /var/www/public_html/ /var/www/public_html_backup/

rsync/不同尾部斜杠结尾的源目录。如果在源目录中添加尾部斜杠,它将仅将目录的内容复制到目标目录。省略尾部斜杠时,rsync将复制目标目录中的源目录。最安全的选择是始终在目标和源上包含尾部斜杠/

要了解有关rsync检查以下文章的更多信息:

结论

在本指南中,我们向您展示了如何使用cprsync 命令在Linux和基于Unix的系统中复制文件和目录。如果您有任何疑问,请在下面留言

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持