Linux 命令每日一练:cp命令

来源:互联网 发布:国外大数据最牛公司 编辑:程序博客网 时间:2024/05/16 15:50

Linux中cp 命令 —>可以理解记忆为: copy即复制、拷贝文件或目录。
cp命令用来将一个或多个源文件或者目录复制到指定的文件中或目录下。一般情况下,如果在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数。但是如果是在shell脚本中执行cp时,没有-i参数时则不会询问是否覆盖,因为shell会设置一个别名。这说明命令行和shell脚本的执行方式有些不同。
这里写图片描述

命令格式:
cp [选项] …文件路径
cp [选项] …文件…目录
命令参数:

  • -a:此参数的效果和同时指定”-dpR”参数相同;
  • -b:覆盖已存在的文件目标前将目标文件备份;
  • –backup: 为每个已存在的目标文件创建备份(不接受参数);
  • –copy-contents : 在递归处理是复制特殊文件内容;
  • -d: 等于–no-dereference –preserve=links,当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
  • -f:强行复制文件或目录,不论目标文件或目录是否已存在;
  • -i:–interactive覆盖既有文件之前先询问用户(使前面的 -n 选项失效) ;
  • -l:对源文件建立硬链接,而不复制文件;
  • -H:跟随源文件中的命令行符号链接;
  • -L, –dereference 总是跟随符号链接;
  • -n, –no-clobber 不要覆盖已存在的文件(使前面的 -i 选项失效);
  • -p:保留源文件或目录的属性;
  • -R/r:递归处理,复制目录及目录内的所有项目;
  • -s:对源文件建立符号连接,而非复制文件;
  • -S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
  • -u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
  • -v:详细显示命令执行的操作。

    实例演练及总结:
    1.复制单个文件到目标目录,文件在目标文件中不存在。

这里写图片描述

说明:在没有带-a参数时,前后两个文件的时间是不一样的。在带了-a参数时,两个文件的时间是一致的。

这里写图片描述

2.复制单个文件到目标目录,如果目标文件已经存在,终端会询问是否覆盖。

这里写图片描述
说明:目标文件已经存在时,会询问是否覆盖,这是因为cp是cp -i的别名(-i:–interactive覆盖既有文件之前先询问用户。

3.目标文件存在时,加上参数 -f进行强制复制时,终端也会先询问是否覆盖。

这里写图片描述

4.复制单个或者多个源文件到一个不存在的目录。
这里写图片描述

5.复制一个不存在的源文件到指定存在的目录。
这里写图片描述

6.复制一个文件夹/目录到指定存在的目录。
这里写图片描述

今天到此只是一些常用的基础总结,后面继续完善。

原创粉丝点击