语法

cp [options] source dest

cp [options] source... directory

功能: 复制文件或目录
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

参数:
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。
-v 或 --verbose 显示执行过程


示例:

复制目录data,到/www/wwwroot 目录下属性完全一致

cp -a data /www/wwwroot

复制文件,只有源文件较目的文件的修改时间新时,才复制文件

cp -u -v file1 file2  

将文件file1复制成文件file2

cp file1 file2  

采用交互方式将文件file1复制成文件file2

cp -i file1 file2  

将文件file1复制成file2,因为目的文件已经存在,所以指定使用强制复制的模式

cp -f file1 file2  

将目录dir1复制成目录dir2

cp -R file1 file2  

同时将文件file1、file2、file3与目录dir1复制到dir2

cp -R file1 file2 file3 dir1 dir2  

复制时保留文件属性

cp -p a.txt tmp/  

复制时保留文件的目录结构

cp -P /var/tmp/a.txt ./temp/  

复制时产生备份文件

cp -b a.txt tmp/  

复制时产生备份文件,尾标 ~1~格式

cp -b -V t a.txt /tmp   

指定备份文件尾标

cp -b -S _bak a.txt /tmp