linux复制文件和目录详解,教你在Linux中用cp命令,使用cp复制文件和目录及复制多个文件和目录...

本文教你在Linux操作系统中使用cp命令的方法,可以使用cp命令复制目录及复制多个文件和目录。在Linux和Unix系统上工作时,复制文件和目录是你每天要执行的最常见任务之一,cp是一个命令行实用程序,用于在Unix和Linux系统上复制文件和目录,在本文中,我们将解释如何使用cp命令。

de097a8ba564cf69d690430cdcc99f11.png

使用cp命令的方法

cp命令的一般语法如下:

cp [OPTIONS] SOURCE... DESTINATION

参考cp命令_Linux cp命令使用详解:将源文件或目录复制到目标文件或目录中。

SOURCE可以有一个或多个文件或目录作为参数,DESTINATION可以有一个文件或目录作为参数。

1、当SOURCE和DESTINATION参数都是文件时,cp命令将第一个文件复制到第二个文件,如果文件不存在,命令将创建它。

2、当SOURCE有多个文件或目录作为参数时,DESTINATION参数必须是目录,在这种情况下,SOURCE文件和目录将移动到DESTINATION目录。

3、当SOURCE和DESTINATION参数都是目录时,cp命令会将第一个目录复制到第二个目录中。

要复制文件和目录,你必须至少具有源文件的读取权限和目标目录的写入权限,否则,你将收到权限被拒绝错误。

使用cp命令复制文件

使用cp的最基本方案是复制当前工作目录中的文件,例如,要将名为file.txt的文件复制到file_backup.txt,请运行以下命令:

$ cp file file_backup

或者:

$ cp file{,_backup}

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

在以下示例中,我们将文件file.txt复制到/backup目录:

$ cp file.txt /backup

如果要以其他名称复制文件,则需要指定所需的文件名,下面的命令将文件复制到指定目录new_file.txt:

$ cp file.txt /backup/new_file.txt

默认情况下,如果目标文件存在,它将被覆盖,-n选项使cp不要覆盖现有文件,要提示确认,请使用-i选项:

$ cp -i file.txt file_backup.txt

如果要仅在比目标更新的情况下复制文件,请使用-u选项:

$ cp -u file.txt file_backup.txt

复制文件时,新文件将由运行该命令的用户拥有,使用-p选项保留文件模式,所有权和时间戳:

$ cp -p file.txt file_backup.txt

另一个有用的选项是-v,它告诉cp打印详细输出:

$ cp -v file.txt file_backup.txt

输出信息如下:

'file.txt' -> 'file_backup.txt'

使用cp命令复制目录

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

$ cp -R Pictures Pictures_backup

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

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

$ cp -RT Pictures Pictures_backup

另一种只复制目录内容而不是目录本身的方法是使用通配符(*),以下命令的缺点是它不会复制隐藏的文件和目录(以点开头的那些):

$ cp -RT Pictures/* Pictures_backup/

复制文件时,我们在复制文件时可以使用上一节中使用的所有选项,主要区别在于复制目录时总是需要使用-R选项。

复制多个文件和目录

要一次复制多个文件和目录,并指定其名称,并使用目标目录作为最后一个参数:

$ cp file.txt dir file1.txt  dir1

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

结论

使用cp命令复制文件和目录是一项简单的任务,有关所有可用cp选项的信息,请在终端中输入man cp命令查看。

如果要通过网络复制文件,请检查rsync和scp命令,参考在Linux/Unix上安装rsync并通过示例的方式介绍使用rsync命令一文。

TAG:

除非注明,文章均由 Linux系统学习 整理发布,欢迎转载。如有版权争议,请联系删除。

文章评论

留言与评论(共有 0 条评论)

验证码:

b2afe5d1fe9f478fafeb0d6ac357ee2a.png

  • 0
    点赞
  • 2
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值