【Linux指令集】---cp指令(超详细)

本文介绍了Linux系统中`cp`指令的使用方法,包括基本格式和各种选项,如`-r`用于递归复制目录,`-p`保留文件属性,`-i`进行交互式确认避免覆盖,`-f`强制覆盖,`-v`显示详细信息,`-n`不覆盖已存在文件,以及`-u`只复制更新的文件。文章通过示例详细解释了这些选项的用途。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

个人主页:平行线也会相交
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创
收录于专栏【Linux专栏】🎈
本专栏旨在分享学习Linux的一点学习心得,欢迎大家在评论区讨论💌
演示环境:centos7
在这里插入图片描述

cp指令用于复制文件或目录。
基本格式:
cp [选项] 源文件 目标文件

选项作用
-r递归复制整个目录,包括其子目录和文件。
-p保留源文件的属性(如权限、时间戳等)。这将尽可能保留源文件的原始属性。
-i交互式地询问是否覆盖已存在的目标文件。如果要复制多个文件,将会逐个询问。
-f强制复制,即使目标文件或目录已经存在,也会覆盖它们。
-v显示详细的复制过程,包括复制的文件名和目录名。
-u只复制源文件中修改时间较新的文件,跳过那些已经存在且比源文件旧的目标文件。
-n不覆盖已存在的目标文件,即跳过已存在的文件。
-s创建符号链接而不是复制文件。

cp example.txt backup.txt(备份文件)

例一: cp example.txt backup.txt:将复制源文件并将其粘贴到目标文件位置。如果目标文件已经存在,它将被覆盖。
在这里插入图片描述

在这里插入图片描述
现在将当前目录中的文件test1.txt复制到当前目录的文件夹temp中去:
例二:cp test1.txt temp/(如果temp/后面什么也不添加,会复制过去的文件名的名称依然是test1.txt),如下:
在这里插入图片描述
例三:cp test1.txt temp/test.txttemp/后面加上test.txt,意思是这里复制过去的文件的文件名称为test.txt),如下:
在这里插入图片描述

-r(重点)

使用-r选项,cp指令会递归地复制目录及其内容,包括子目录和文件。

在这里插入图片描述

例一cp -r temp new_temp:将目录temp复制到当前目录中的new_temp中去,请看: 在这里插入图片描述

在这里插入图片描述> 例三:cp -r a b c x现在,要将目录a、目录b、目录c全部复制粘贴到目录x中,请看:
在这里插入图片描述

-p

-p选项:复制的目标文件会继承源文件的权限和其他属性,以尽可能地保持它们的一致性。
需要注意的是:
如果目标文件已经存在,它的权限和属性将被覆盖。
如果同时想保持目录结构,可以结合使用-r选项和-p选项来进行递归复制,如下所示:cp -rp a a_1(或者分开写即cp -r -p a a_1)

在这里插入图片描述
简单来说,-p选项作用就是复制且保持文件属性不变。

-i

在cp指令中,-i选项用于在复制文件时进行交互式确认。当目标文件已经存在时,-i选项会提示用户是否覆盖目标文件。


cp -i t1.txt t2.txt请看举例:
在这里插入图片描述

-f

-f选项:使用cp命令复制文件时,如果目标文件已经存在,cp指令会询问是否覆盖目标文件。但是当你使用-f选项时,cp指令会强制覆盖目标文件而不进行询问。
在这里插入图片描述

-v

-v选项:使用-v选项后,cp指令会显示每个复制操作的详细信息,包括复制的源文件和目标文件的名称。
请看举例:
在这里插入图片描述

-n

-n:如果目标文件已经存在,cp命令将不会覆盖它,而是跳过复制操作。
举个例子,如下图,要将test.txt文件复制到目录c中去。
在这里插入图片描述
输入命令cp -n test.txt a/b/c/
在这里插入图片描述
此时目录c中就有了test.txt文件。
需要注意的是:
如果目标位置已经存在名为test.txt的文件,使用以下命令将会跳过复制操作。
如果目标位置不存在相同名称的文件,-n选项将不会产生任何影响,cp命令将正常执行复制操作。

-u

-u:只复制内容发生变化的文件,或者当目标文件不存在时,也会发生复制。

以上就是cp指令中常见的选项,当然由于一些选项并不是很常见、所以这里就不再一一列举了
在这里插入图片描述

Linuxcp指令是用来复制源文件或目录到指定目录的命令。在使用cp命令时,可以通过添加不同的选项来实现不同的功能。其中一些常用的选项包括: 1. -r或-R:递归处理,将指定目录下的子文件和子目录一并处理(用于复制目录)。 2. -f:强制复制文件或目录,不论目标文件或目录是否已存在。 3. -p:保留文件属性(所有者、所属组、文件权限、文件时间等)。 4. -a:相当于-p和-r的组合,保留文件属性并递归处理。 5. -i:覆盖既有文件时先询问用户是否覆盖。 6. -v:详细显示命令执行的操作。 例如,使用cp命令复制文件并改名可以使用以下命令: ``` cp 1.txt 2.txt ``` 使用cp命令复制文件并保留文件属性可以使用以下命令: ``` cp -p 1.txt 3.txt ``` 使用cp命令复制目录时需要注意加上选项-p,如: ``` cp -rp aa gg ``` 需要注意的是,cp命令可以在命令行中使用,也可以在shell脚本中使用。它是一个非常常用的Linux命令,用于复制文件和目录。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Linuxcp命令](https://blog.csdn.net/m0_57719465/article/details/123646485)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [Linux命令--cp](https://blog.csdn.net/qq_35263061/article/details/61199977)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 117
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兜里有颗棉花糖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值