cp 命令参数:

-a :相当于 -pdr 的意思;

-d :若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身;

-f :为强制(force) 的意思,若有重复或其它疑问时,不会询问使用者,而强制复制;

-i :若目的档(destination)已经存在时,在覆盖时会先询问是否真的动作!

-l :进行硬式连结 (hard link) 的连结档建立,而非复制档案本身;

-p :连同档案的属性一起复制过去,而非使用预设属性;

-r :递归持续复制,用于目录的复制行为;

-s :复制成为符号连结文件 (symbolic link),亦即『快捷方式』档案;

-u :若 destination 比 source 旧才更新 destination !

最后需要注意的,如果来源档有两个以上,则最后一个目的文件一定要是『目录』才行!

在Centos系统时使用cp命令覆盖文件总是提示要输入yes或no,一个两个就算了,大量的文件复制就不行了,即使加上-f参数也无法强行覆盖。

解决方法:

方法一:

输入alias命令,看到系统内部使用的是cp的别名。

#alias

alias cp='cp -i'

输入unalias cp命令,解除别名。

#unaslias cp   (这只是临时取消cp的别名,不是永久的)

#cp a test/a        

方法二:

输入\cp命令,作用也是取消cp的别名。

#\cp a test\a   也一样好使。

方法三:

输入yes|cp a test\a,使用管道自动输入yes。

#yes | cp a test\a   看到了吧,自动打出一堆yes,替你输入了。

方法四:

#/bin/cp -rf  test/*  /bak/test