cp命令 – 复制文件或目录

cp命令是Linux中用于复制文件或目录的工具,支持多种选项如-f强制覆盖,-i确认覆盖,-p保留属性,-r递归复制等。文章通过实例展示了如何复制单个文件,保持属性不变,以及复制目录,并对比了源文件和目标文件的属性信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cp命令是英文单词copy的缩写,用于将一个或多个文件/目录复制到指定位置,也常用于文件的备份工作。

注意:该命令不能用于跨主机文件复制,仅用于同一主机内的文件复制。

该命令的语法格式如下

cp [选项] 源文件 目标文件

常用选项如下所示:

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

选项-r和-a尤为常用,需要多理解和掌握。

实例演示

1、将当前工作目录中的某个文件复制一份,并重命名该新文件

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

#对比源目两个文件的属性信息
[root@myEuler ~]# ls -l anaconda-ks.cfg ks.cfg 
-rw-------. 1 root root 1055 Feb 24 21:29 anaconda-ks.cfg
-rw-------  1 root root 1055 Mar  7 08:11 ks.cfg

2、将某个目录复制一份,并重命名该新目录

[root@myEuler ~]# cp -r /tmp /tempfile

#对比源目两个目录的属性信息
[root@myEuler ~]# ls -ld /tmp /tempfile
drwxr-xr-t 9 root root 4096 Mar  7 08:13 /tempfile
drwxrwxrwt 9 root root  180 Mar  7 07:58 /tmp

3、复制某个文件时,保留其原始属性信息

[root@myEuler ~]# cp -a anaconda-ks.cfg newfile

#对比源目两个文件的属性信息,注意和第一个示例对比
[root@myEuler ~]# ls -l anaconda-ks.cfg newfile 
-rw-------. 1 root root 1055 Feb 19 23:31 anaconda-ks.cfg
-rw-------. 1 root root 1055 Feb 19 23:31 newfile

4、复制目录中的所有文件至另一个目录(注意区别示例2)

# 新建一个目录backup
[root@myEuler ~]# mkdir backup

# 将/etc目录下的所有文件备份到backup目录
[root@myEuler ~]# cp -ra /etc/* backup/

# 对比两个目录
[root@myEuler ~]# ls -ld /etc/ backup/
drwxr-xr-x. 115 root root 12288  6月 21 21:24 backup/
drwxr-xr-x. 117 root root 12288  6月 20 14:41 /etc/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值