10

Linux 复制文件和目录/文件夹

 2 years ago
source link: https://www.myfreax.com/how-to-copy-files-and-directories-in-linux/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
cp

Linux 复制文件和目录/文件夹

教程说明如何复制文件与文件夹或者目录

Updated At 15 Nov 2022 5 min read
By myfreax
Linux 复制文件和目录/文件夹

Linux 复制文件和目录/文件夹

复制文件和目录是在使用命令行时最常见的任务之一。在Linux,有两个命令用于复制文件cprsync,但cp命令比rsync更受欢迎。

使用cp命令复制文件,rsync命令用于复制目录,是这两个命令一种常见的做法。为了能够复制文件和目录,您必须具有对源文件的读取权限和对目标目录的写入权限。

在本教程中,我们向您展示如何使用cp命令和rsync命令在Linux和基于Unix的系统复制文件和目录。

cp 命令复制文件

在Linux和Unix操作系统,cp命令可用于复制文件和目录。最简单的用例是复制当前工作目录中的文件。

默认情况下如果目标文件存在,它将被覆盖。如需要提示确认信息。可以使用cp命令的-i选项,cp命令将会询问你是否覆盖目标文件。

使用cp命令复制文件时,新文件将由运行cp命令的用户所有。使用-p选项可保留文件权限模式,包括所有权时间戳等。

如果你需要查看复制的文件进度,可以使用cp命令的-v选项。使用此时选项,命令将打印正在执行的操作,这可以算是一个进度。

你也可以在cp命令是使用多个选项,cp命令将会整合多个选项功能。例如命令cp -ipv file.txt ~/将会复制当前目录file.txt文件到家目录。

cp file.txt file_backup.txt
cp -i file.txt file_backup.txt
cp -p file.txt file_backup.txt
cp -v file.txt file_backup.txt

cp 命令复制文件到指定目录/文件夹

要将文件复制到另一个目录,您需要指定目标目录的绝对路径或相对路径。仅将目录作为目标时,复制的文件将与原始文件具有相同的名称。

如果在复制文件时要改变原始文件的名称,则需要指定目标文件名称。例如命令cp file.txt /backup/new_file.txt将会复制文件file.txt/backup目录。

cp file.txt /backup
cp file.txt /backup/new_file.txt

cp 命令复制多个文件

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

复制多个文件时,目标必须是目录。cp命令还允许您使用模式匹配,类似于正则表达式的方式复制文件。

例如命令cp *.png /backup将会把当前目录的png文件复制到/backup目录。

cp file.txt dir file1.txt file2.txt dir1
cp *.png /backup

cp 命令复制目录/文件夹

如需要复制目录,包括其所有文件和子目录,请使用cp命令的-r选项,r是recursive首字母。

如果目标目录不存在,cp将创建一个新的目标目录,并递归地将所有文件和子目录从源目录复制到目标目录。

如果目标目录已存在,则源目录本身及其子目录的所有内容将复制到目标目录。如果你只需要复制文件和子目录,而不复目录本省,请组合使用cp命令的-T选项。

当然在复制目录时,你也可以使用复制文件时使用的选项。例如-iprv选项等。cp命令的-r选项是递归复制文件与目录时必须使用的选项。

在以下示例中,将目录Pictures复制到Pictures_backup

cp -R Pictures Pictures_backup
cp -RT Pictures Pictures_backup

rsync 命令复制文件和目录/文件夹

rsync是一种快速且通用的命令,可在两个目录之间同步文件和目录。也可以在本地与远程计算机之间进行复制。

rsync包含许多控制其行为的选项。其中最常用的选项是-a,递归复制目录,传输特殊设备文件和块设备文件,保留符号链接,修改时间,组,权限。

在使用rsync命令复制文件与目录时,如果目标文件已存在,它将被覆盖。在复制目录时,如果在源目录添加尾部斜杠,它仅将源目录的内容复制到目标目录。

省略尾部斜杠时,rsync命令将复制源目录到目标目录。最好的选择是始终在目标和源目录包含尾部斜杠/

命令rsync -a file.txt file_backup.txt将file.txt文件复制到file_backup.txt。

rsync -a file.txt file_backup.txt
rsync -a /var/www/public_html/ /var/www/public_html_backup/ #在复制目录建议始终使用尾部/

结论

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK