写点什么

每天学一个 Linux 命令(6):cp

用户头像
民工哥
关注
发布于: 2021 年 04 月 14 日
每天学一个 Linux 命令(6):cp

命令简介


cp 命令用来复制文件或目录。


cp 命令用来将一个或多个文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp 命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。


所以,cp 命令还具备重命名的功能。

语法格式

cp [选项] [源文件或目录] [目标文件或目录]cp [option] source destinationcp [option] source directory
复制代码


注:cp 命令默认情况下是不能直接复制目录,需要与-R 选项配合使用。

选项说明

-a:#此参数的效果和同时指定"-dpR"参数相同;-d:#当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;-f:#强行复制文件或目录,不论目标文件或目录是否已存在;-i:#覆盖既有文件之前先询问用户;-l:#对源文件建立硬连接,而非复制文件;-p:#保留源文件或目录的属性;-R/r:#递归处理,将指定目录下的所有文件与子目录一并处理;-s:#对源文件建立符号连接,而非复制文件;-u:#使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;-S:#在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;-b:#覆盖已存在的文件目标前将目标文件备份;-v:#详细显示命令执行的操作。
复制代码

应用实例

复制文件举例


cp /usr/app/a.txt /usr/mingongge/b.txt #b.txt不存在,创建b.txt文件
cp /usr/app/a.txt /usr/mingongge/b.sh #b.sh不存在,创建b.sh文件,类似改名功能
cp /usr/app/a.txt /usr/mingongge/abc #abc不存在,创建abc文件
复制代码


将目录/usr/app 中的以 s 开头的所有.x 结尾的文件复制到目录/usr/mingongge 中。


$ cp -i /usr/app s*.x /usr/mingongge
复制代码


cp 命令复制文件时,如果在目标目录下有同名文件时,我们需要通过输入 Y 来进行确认操作。


$cp mmm/* /MMM#复制目录mmm下所有到/MMM目录下,这时如果/MMM目录下有和mmm同名的文件,需要按Y来确认,且会略过mmm目录下的子目录。 $cp -r mmm/* /MMM#也需要输入Y来确认操作,但是没有忽略子目录。 $cp -r -a mmm/* /MMM#也需要输入Y来确认操作,并且把mmm目录以及子目录和文件属性也传递到了/MMM。 $\cp -r -a mmm/* /MMM#不会提示需要输入Y来确认操作、传递了目录属性、没有略过目录。
复制代码


cp 命令复制说明


如果源是一个文件,目标也是一个文件,则会覆盖这个目标文件如果源是一个文件,目标文件不存在,则创建新文件如果源是一个文件,目标是一个目录,则直接复制此文件到目标目录下
如果源是多个文件,目标是一个文件,复制失败如果源是多个文件,目标是目录,则直接复制所有文件到目标目录下如果源是多个文件,目标目录不存在,复制失败
如果源是一个目录,目标是一个文件且存在,复制失败如果源是一个目录,目标是目录不存在,则会创建新目录如果源是一个目录,目标是目录且存在,则会复制源目录至目标目录中,成为子目录,且保持原名
复制代码


发布于: 2021 年 04 月 14 日阅读数: 17
用户头像

民工哥

关注

公众号:民工哥技术之路 微信mingongge2019 2018.04.16 加入

10多年 IT 职场老司机,坚持自学一路从技术小白成长为互联网企业信息技术部门的负责人。 《Linux系统运维指南 从入门到企业实战》作者。专注Linux系统、架构、集群、分布式、中间件等后端开源技术分享。

评论

发布
暂无评论
每天学一个 Linux 命令(6):cp