cp命令 – 复制文件或目录
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