用法:
cp [选项]... [-T] 源文件 目标文件
或:cp [选项]... 源文件... 目录
或:cp [选项]... -t 目录 源文件...
功能:
将源文件复制至目标文件,或将多个源文件复制至目标目录。
参数:
-a或--archive:等于-dR --preserve=all。
-b:类似--backup 但不接受参数。
--copy-contents:在递归处理是复制特殊文件内容。
-d:等于--no-dereference --preserve=links。
-f或--force:如果目标文件无法打开则将其移除并重试(当 -n 选项存在时则不需再选此项)。
-i或--interactive:覆盖前询问(使前面的 -n 选项失效)。
-H:跟随源文件中的命令行符号链接。
-l或--link:链接文件而不复制。
-L或--dereference:总是跟随符号链接。
-n或--no-clobber:不要覆盖已存在的文件(使前面的 -i 选项失效)。
-P或--no-dereference:不跟随源文件中的符号链接。
-p:等于--preserve=模式,所有权,时间戳。
-R,-r或--recursive:复制目录及目录内的所有项目。
-s 或 --symbolic-link:对源文件建立符号链接,而非复制文件。
-S或 --suffix=<备份字尾字符串>:覆盖备份的后置。默认的备份字尾符串是符号"~"。
-u 或 --update:使用这项参数之后,只会在源文件的修改时间比目的文件更新时,或是名称相互对应的目的文件并不存在,才复制文件。
-v 或 --verbose:显示执行过程。
-x 或 --one-file-system:复制的文件或目录存放的文件系统,必须与cp指令执行时所处的文件系统相同,否则不复制,亦不处理位于其他分区的文件。
--help:显示在线帮助。
--sparse=<使用时机>:设置保存希疏文件的时机。
--version:显示版本。
实例:
实例一:复制文件到一个不存在该文件的目录
实例二:使两个文件时间相同
test1中的文件是用cp命令复制的,test2中的命令是用cp -a复制的。
实例三:覆盖已存在文件(在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖。但是如果是在shell脚本中执行cp时,没有-i参数时不会询问是否覆盖)
文件时间发生改变,文件已被覆盖。
实例四:复制目录到已存在文件夹
可以发现整个文件夹被复制到已存在的文件夹中了。
实例五:复制目录到不存在的文件夹
文件夹下的内容被复制到文件夹中了。