0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

CHANBAEK 来源:myfreax 作者:myfreax 2022-12-07 17:39 次阅读

复制文件和目录是在使用命令行时最常见的任务之一。在Linux,有两个命令用于复制文件cp和rsync,但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的系统中复制文件和目录。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206734
  • 文件
    +关注

    关注

    1

    文章

    540

    浏览量

    24402
  • 命令
    +关注

    关注

    5

    文章

    638

    浏览量

    21849
收藏 人收藏

    评论

    相关推荐

    linux目录操作命令有哪些?linux基础入门

    配置文件的权限;mkdir –p将所需要的目录(包含上一级目录)递归创建起来;5. rmdir(删除一个空的目录)用法:Rmdir –p连同上一级『空的』
    发表于 01-17 14:31

    Linux常用命令目录处理

    配置文件的权限;mkdir –p将所需要的目录(包含上一级目录)递归创建起来;5. rmdir(删除一个空的目录)用法:Rmdir –p连同上一级『空的』
    发表于 07-12 18:21

    rsync命令使用

    rsync 同步文件
    发表于 06-05 10:11

    Linux文件复制、删除和移动命令

    Linux文件复制、删除和移动命令 Linux文件复制、删除和移动命令  
    发表于 01-18 12:45 1203次阅读

    Linux改变文件目录的访问权限命令

    Linux改变文件目录的访问权限命令 Linux改变文件目录的访问权限命令  Linux系
    发表于 01-18 12:46 1136次阅读

    基于Linux的mv 指令移动文件目录命令

    当你想要将文件从一个位置移动到另一个地方并且不想复制它,那么mv 命令是完成这个任务的首选。
    的头像 发表于 12-31 00:57 1.3w次阅读
    基于Linux的mv 指令移动<b class='flag-5'>文件</b>和<b class='flag-5'>目录</b><b class='flag-5'>命令</b>

    在Linux上使用简单的cp和mv命令复制和重命名文件

    有个非常有用的例子。假设你想重新命名一个目录中的文件,将所有的大写字母替换为小写字母。一般来说,你在 Unix 或 Linux 系统上找不到大量大写字母的文件,但你可以有。这里有一个简单的方法来
    的头像 发表于 06-25 14:02 8190次阅读

    Linux常用命令/查找/搜索命令/压缩/解压命令网络命令

    3.mkdir4.rmdir5.ls使用示例:6.cp复制目录时,常用如下命令:$ cp -rfd dir_a dir_br:recu
    发表于 12-16 16:53 12次下载
    Linux常用<b class='flag-5'>命令</b>/查找/搜索<b class='flag-5'>命令</b>/压缩/解压<b class='flag-5'>命令</b>网络<b class='flag-5'>命令</b>

    如何在Linux使用Rsync命令复制和同步文件目录

    Rsync用于在两个远程计算机之间同步文件文件夹。它仅通过传输源和目标之间的差异来提供快速的增量文件传输。
    的头像 发表于 12-07 09:47 1w次阅读

    Linux rename命令重命名多个文件目录

    使用`mv`命令重命名多个文件目录可能是一个乏味的过程,因为它涉及使用管道,循环等编写复杂的命令
    的头像 发表于 12-09 17:41 2665次阅读

    如何在Linux使用rsync命令排除文件目录

    Rsync是一种快速同步的命令行程序,用于在两个计算机之间同步文件文件夹。借助Rsync,您可以镜像数据,创建增量备份。
    的头像 发表于 12-23 16:49 6313次阅读

    如何在Linux使用du命令统计目录文件的大小

    du命令是`disk usage`的缩写,打印文件目录使用的磁盘空间量估算。这对于查找占用大量磁盘空间的文件目录非常有用。
    的头像 发表于 01-04 17:25 5177次阅读

    恒讯科技分析:如何使用cp命令在Linux中复制目录

    复制目录是Linux中的一项基本任务,它允许我们复制目录、创建备份或在不同位置之间传输数据。在Linux中复制
    的头像 发表于 06-26 17:14 468次阅读

    shell常用的20个命令

    以下是Shell中常用的20个命令: ls :列出当前目录中的文件和子目录。 cd :改变当前目录。 pwd :显示当前
    的头像 发表于 11-08 10:48 1660次阅读

    linux备份文件命令bak

    。 备份文件命令通常使用"cp"或"rsync"命令,但这两个命令有些繁琐,使用起来没有那么简
    的头像 发表于 11-23 10:12 795次阅读