个人主页:平行线也会相交 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创 收录于专栏【Linux专栏】🎈 本专栏旨在分享学习Linux的一点学习心得,欢迎大家在评论区讨论💌 演示环境:centos7
cp指令用于复制文件或目录。 基本格式: cp [选项] 源文件 目标文件
选项作用-r递归复制整个目录,包括其子目录和文件。-p保留源文件的属性(如权限、时间戳等)。这将尽可能保留源文件的原始属性。-i交互式地询问是否覆盖已存在的目标文件。如果要复制多个文件,将会逐个询问。-f强制复制,即使目标文件或目录已经存在,也会覆盖它们。-v显示详细的复制过程,包括复制的文件名和目录名。-u只复制源文件中修改时间较新的文件,跳过那些已经存在且比源文件旧的目标文件。-n不覆盖已存在的目标文件,即跳过已存在的文件。-s创建符号链接而不是复制文件。
目录
cp example.txt backup.txt(备份文件)-r(重点)-p-i-f-v-n-u
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.txt(temp/后面加上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指令中常见的选项,当然由于一些选项并不是很常见、所以这里就不再一一列举了。