命令
cp [选项] [源文件] [目标文件]
参数说明
- -p 复制文件时保留文件原始属性,如:所有者,权限,时间属性等。
- -d 复制的文件若为快捷方式,仅仅只复制快捷方式本身
- -r 递归复制目录,即将该目录下的所有子目录、文件一起复制
- -a 效果等同于参数 -p、-d、-r功能总和
- -i 有文件相同情况下询问是否覆盖
- -t 颠倒语法中的源文件与目标文件的顺序
案例
(1)递归复制整个文件夹(先来查看下datapro文件夹内部内容)
[root@master test]# ls
datapro test test01 test02 test03 test04 test05
[root@master test]# tree datapro/ # 查看datapro文件夹下的文件
datapro/
├── test01
│ ├── test03
│ └── test04
└── test02
├── test03
└── test04
6 directories, 0 files
[root@master test]#
[root@master test]# cp -r datapro/ /
[root@master test]# tree /datapro/ # 目录结构原模原样
/datapro/
├── test01
│ ├── test03
│ └── test04
└── test02
├── test03
└── test04
6 directories, 0 files
[root@master test]#
(2)在复制的过程中我们顺便也可以更改复制后的文件名称
# 以下操作是将datapro文件夹复制到根目录下并命名为copyfile
[root@master test]# ls
datapro test test01 test02 test03 test04 test05
[root@master test]# cp -r datapro/ /copyfile
[root@master test]# tree /copyfile/
/copyfile/
├── test01
│ ├── test03
│ └── test04
└── test02
├── test03
└── test04
6 directories, 0 files
[root@master test]#
(3)-i
参数询问是否复制相同文件(若有相同文件)
[root@master test01]# ls
test1.txt test.txt
[root@master test01]# cp -i test.txt test1.txt
cp: overwrite ‘test1.txt’? y
[root@master test01]#
Centos系统中的cp命令中已集成了-i参数的询问效果,因此在CentOS系统中针对是否覆盖文件时,也可以直接使用cp命令的。