cp命令来自于英文单词copy的缩写,用于将一个或多个文件或目录复制到指定位置,亦常用于文件的备份工作。-r参数用于递归操作,复制目录时若忘记加则会直接报错,而-f参数则用于当目标文件已存在时会直接覆盖不再询问,这两个参数尤为常用。
1、功能说明
用于将一个或多个文件或目录复制到指定位置
2、语法格式
cp [选项][源文件][目录文件]
3、选项解释
-f 若目标文件已存在,则会直接覆盖原文件
-i 若目标文件已存在,则会询问是否覆盖
-p 保留源文件或目录的所有属性
-r 递归复制文件和目录
-d 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录
-l 对源文件建立硬连接,而非复制文件
-s 对源文件建立符号连接,而非复制文件
-b 覆盖已存在的文件目标前将目标文件备份
-v 详细显示cp命令执行的操作过程
-a 等价于“pdr”选项
4、参考实例
- 复制文件
cp test.txt test2.txt
复制test.txt为test2.txt
- 复制文件,若文件已存在,直接覆盖,不提示
cp -f test.txt test2.txt
其中test2.txt存在
- 复制文件,若文件已存在,提示是否覆盖
cp -i test.txt test2.txt
其中test2.txt存在
cp: overwrite ‘test2.txt’?
- 复制某个文件时,保留其原始权限及用户归属信息
cp -a test.txt test3.txt
cp -pdr test.txt test3.txt
- 将多个文件一同复制到/etc目录中,如已有目标文件则默认询问是否覆盖
cp test.txt test2.txt /etc
cp: overwrite '/etc/test2.txt'?
- 将指定文件复制到当前目录下
cp ../etc/nginx .
- 将文件file复制到目录/usr/下,并改名为file1
cp file /usr/file1
- 将目录/usr/xiaonong下的所有文件及其子目录复制到目录/usr/test中
cp -r /usr/xiaonong /usr/test
- 递归强制复制目录到指定目录中覆盖已存在文件
cp -rfb ./* ../data
将当前目录下所有文件,复制到当前目录的data文件夹中
- 拷贝目录下的隐藏文件
cp -r aaa/.* ./bbb
将 aaa 目录下的,所有`.`开头的文件,复制到 bbb 目录中
- 在当前目录中,将某个目录备份,并重命名
cp -r dir1 dir2/