cp命令来自于英文单词copy的缩写,用于将一个或多个文件或目录复制到指定位置,亦常用于文件的备份工作。-r参数用于递归操作,复制目录时若忘记加则会直接报错,而-f参数则用于当目标文件已存在时会直接覆盖不再询问,这两个参数尤为常用。


本次测试环境:Centos7.6系统-服务器来自:蓝易云

定位建站服务器,特点是 香港五网CN2网络 ,国内速度优秀,支持VPC内网互联、快照、备份等功能。

移动+联通+电信+教育网+广电-五网CN2-延迟超低!

蓝易云持有 IDCISPCDN许可证,为正规商家。

详细测评文章:点我查看


语法格式: cp [参数] 源文件 目标文件

常用参数:

-f若目标文件已存在,则会直接覆盖原文件
-i若目标文件已存在,则会询问是否覆盖
-p保留源文件或目录的所有属性
-r递归复制文件和目录
-d当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录
-l对源文件建立硬连接,而非复制文件
-s对源文件建立符号连接,而非复制文件
-b覆盖已存在的文件目标前将目标文件备份
-v详细显示cp命令执行的操作过程
-a等价于“pdr”选项

参考实例

在当前工作目录中,将某个文件复制一份,并定义新文件名称:

[root@linuxcool ~]# cp anaconda-ks.cfg kickstart.cfg

在当前工作目录中,将某个目录复制一份,并定义新目录名称:

[root@linuxcool ~]# cp -r Documents Doc

复制某个文件时,保留其原始权限及用户归属信息:

[root@linuxcool ~]# cp -a kickstart.cfg ks.cfg

将某个文件复制到/etc目录中,并覆盖已有文件,不进行询问:

[root@linuxcool ~]# cp -f ks.cfg /etc

将多个文件一同复制到/etc目录中,如已有目标文件名称则默认询问是否覆盖:

[root@linuxcool ~]# cp anaconda-ks.cfg ks.cfg /etc
cp: overwrite '/etc/ks.cfg'? y
最后修改:2023 年 02 月 07 日
如果觉得我的文章对你有用,请随意赞赏