1.简介

cp 命令主要用于复制文件或目录,可以将一个或多个源文件或者目录复制到指定的目的文件或目录,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。

2.命令格式

cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...

3.选项说明

-a,--archive:此参数的效果和同时指定"-dR --preserve=all"参数相同;
--backup[=CONTROL]:备份即将被覆盖的目的文件;
-b:等同与--backup,但不接受参数;
--copy-contents:递归拷贝时,拷贝特殊文件的内容;
-d:当复制符号连接时,保留符号连接;
-f,--force:强行复制文件或目录,不论目标文件或目录是否已存在;
-i,--interactive:覆盖既有文件之前先询问用户;
-H:遵循源文件中的命令行符号链接;
-l,--link:对源文件建立硬连接,而非复制文件;
-L, --dereference:总是遵循源文件中的命令行符号链接;
-n, --no-clobber:不覆盖既有文件;
-P,--no-dereference:不遵循源文件的符号连接;
-p:等同于--preserve=mode,ownership,timestamps;
--preserve[=ATTR_LIST]:保留指定的文件属性,而非默认的mode,ownership,timestamps)。其它的属性也可以指定,如:context, links, xattr, all;
-c:等同于--preserve=context;
--no-preserve=ATTR_LIST:不保留指定的文件属性;
--parents:在目录下使用完整的源文件名;
-R,-r,--recursive:递归处理,将指定目录下的所有文件与子目录一并处理;
--reflink[=WHEN]:控制克隆/CoW 副本。请查看下面的内容;
--remove-destination:移动每一个已经存在的目标文件;
--sparse=WHEN:控制创建稀疏文件;
--strip-trailing-slashes:删除参数SOURCE中所有目录末端的斜杠;
-s,--symbolic-link:对源文件建立符号连接,而非复制文件;
-S, --suffix=SUFFIX:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-t, --target-directory=DIRECTORY:拷贝所有SOURCE指定的文件到目标目录DIRECTORY;
-T, --no-target-directory:没有目标目录,将目标文件DEST视为正常文件;
-u,--update:使用这项参数后只会在源文件的更改时间较目标文件新时或是名称相互对应的目标文件并不存在时,才复制文件;
-v, --verbose:冗余模式执行cp命令,解释cp的执行过程;
-x, --one-file-system:保留在当前的文件系统上;
-Z, --context=CONTEXT:将指定的文本内容变为安全的内容,该选项仅限于SELinux内核使用;
--help:显示帮助信息;
--version:显示版本信息;

选项补充说明。
(1)默认情况下,源文件的稀疏性仅仅通过简单的方法判断,对应的目标文件目标文件也被为稀疏。这是因为默认情况下使用了--sparse=auto参数。如果明确使用
--sparse=always 参数则不论源文件是否包含足够长的0 序列也将目标文件创文
建为稀疏件。使用--sparse=never参数禁止创建稀疏文件。

(2)当指定了--reflink[=always]参数时,执行轻量化的复制,即只在数据块被修改的情况下才复制。如果复制失败或者同时指定了--reflink=auto,则返回标准复制模式。

(3)备份文件的后缀为"~",除非以--suffix选项或是SIMPLE_BACKUP_SUFFIX环境变量指定。版本控制的方式可通过--backup选项或VERSION_CONTROL环境变量来选择。以下是可用的变量值:
none, off:不进行备份(即使使用了–backup 选项);
numbered, t:备份文件加上数字进行排序;
existing, nil:若有数字的备份文件已经存在则使用数字,否则使用普通方式备份;
simple, never:永远使用普通方式备份。

(4)有一个特别情况,如果同时指定--force--backup选项,而源文件和目标文件是同一个已存在的一般文件的话,cp会将源文件备份。

4.常用示例

(1)复制 dir 目录到 dir2。

cp -r dir dir2

(2)复制文件 a、b、c、d 到 dir2。

cp a b c d dir2

(3)交互式地将目录 /usr/men 中的以 m 打头的所有 .c 文件复制到目录 /usr/zh 中。

cp -i /usr/men m*.c /usr/zh

我们在 Linux 下使用 cp 命令复制文件时候,有时候会需要覆盖一些同名文件,覆盖文件的时候都会有提示:需要不停的按 Y 来确定执行覆盖。


参考文献

[1] cp manual
[2] 百度知道.cp简介

Linux 命令(25)—— cp 命令相关推荐

  1. linux命令cp -a,linux命令_ls命令与cp命令详解(一)

    linux命令_ls命令与cp命令详解(1) 最近想详细熟悉下linux命令,学习笔记记录下: 今天主要学习的是目录操作,下面给大家介绍一下今天学到的几个命令: 1.ls命令 功能:显示文件或者目录信 ...

  2. 【山外笔记-Linux 命令】cp 命令详解

    Linux 命令之 cp 命令详解 一.cp 命令简介 cp 命令主要用于复制文件或目录.即用来将一个或多个源文件或者目录复制到指定的目的文件或目录. cp 命令可以将单个源文件复制成一个指定文件名的 ...

  3. linux cp -r 参数,Linux系统中cp命令的参数及用法详解

    Linux系统中cp命令主要是用来复制文件或者目录.下面由学习啦小编为大家整理了Linux系统中cp命令的参数及用法详解的相关知识,希望对大家有帮助! Linux系统中cp命令的参数及用法详解:参数说 ...

  4. Linux C实现cp命令

    Linux C实现cp命令 1.分析 2.代码 3.可以改进的地方 1.分析 cp命令本质上是把一个文件的内容复制到另一个文件里面,非快捷方式(软链接),那么很容易想到的就是文件IO,我们需要一直从源 ...

  5. linux cp命令忽略覆盖,linux cp:Linux怎么取消cp命令覆盖文件提示

    今天来聊聊一篇关于linux cp:Linux怎么取消cp命令覆盖文件提示的文章,现在就为大家来简单介绍下linux cp:Linux怎么取消cp命令覆盖文件提示,希望对各位小伙伴们有所帮助. 可以试 ...

  6. Linux 常用命令学习——cp命令、cat命令和more 命令、less命令

    cp 命令 cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录.它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下.cp命令还支持同时复制多个文件,当一次复制多个文 ...

  7. linux命令cp命令行参数,linux命令之cp命令参数及用法详解

    cp (复制档案或目录) [root@linux ~]# cp [-adfilprsu] 来源档(source) 目的檔(destination) [root@linux ~]# cp [option ...

  8. linux cp命令 强制覆盖,Linux中使用cp命令进行强制覆盖的方法

    cp在拷贝时,如果遇到相同的文件名的文件,就会不断询问是否覆盖,让你输入yes or no .为什么呢?这是为了linux为了安全考虑,在cp命令上用了别名.也就是你输入只是输入cp命令时,其实系统是 ...

  9. linux cp 全覆盖,Linux中使用cp命令进行强制覆盖的方法

    cp在拷贝时,如果遇到相同的文件名的文件,就会不断询问是否覆盖,让你输入yes or no .为什么呢?这是为了linux为了安全考虑,在cp命令上用了别名.也就是你输入只是输入cp命令时,其实系统是 ...

  10. 实现Linux下的cp命令

    cp命令的作用:读取源文件写到目标文件 具体实现思路: 1.打开源文件,先判断argc==3,argv[0]为可执行程序的名字,argv[1]为源文件,argv[2]为目标文件 2.当源文件存在的时候 ...

最新文章

  1. 清华寒门女孩毕业感言爆火:世界本不公平,你有多努力,就有多特殊!
  2. Spring ShedLock指南
  3. mysql zookeeper 切换_zookeeper在mysql主库选举切换中的应用
  4. 数据中心夏季如何防雷
  5. 2016二级c语言笔试内容,2016年计算机二级c语言笔试试题「最新」
  6. 能拯救你的人也只能是自己
  7. 对软件测试团队“核心价值”的思考
  8. Python argparse模块详解
  9. 远程控制——服务器公网IP连接
  10. 项目实例:模十状态机与7段译码器显示系统,Quartus环境(文末附程序,百度文库里的)
  11. 入门系列之基于MATLAB的滚动轴承内外圈复合线性剥落故障动力学建模
  12. 优课在线 实境英语作业3Unit 11-15
  13. 板鸭豆子红辣椒袋鼠的世界杯
  14. Unrar解压缩.rar文件
  15. android如何打开apk文件怎么打开方式,.apk文件用苹果系统怎么打开_apk文件苹果怎么打开...
  16. 大包回转台液压滑环的应用
  17. transparent(指定透明度)
  18. 伯努利数、欧拉数与泰勒展开式
  19. 6款不错的jquery画图插件
  20. 2020数字IC/FPGA资料总结

热门文章

  1. ASP.NET页面生命周期概述
  2. 《战争论》第四篇《战斗》的主要内容
  3. [译] 如何用 Python 写一个 Discord 机器人
  4. 微软为何能一直向安卓厂商收费?
  5. iOS 开发 申请定位
  6. WordPress数据库研究
  7. 【Vegas原创】导入结构一致表的SQL语句
  8. LeetCode 94. Binary Tree Inorder Traversal
  9. Informix 11.5 SQL 语句性能监控方法及实现
  10. tomcat 如何配置环境变量