cp这个命令用的挺多的,但有些地方不注意会有意想不到的错误,现在总结下:
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
cp SRC DEST
以上是cp的命令格式,下面分情况简绍:
如果SRC是单个文件,在DEST中目标不存在,新建和SRC文件同名文件,并用SRC内容填充。如果有和SRC文件同名的文件,将会覆盖文件内容。
如果SRC是多个文件,如果DEST是目录且在DEST中目标不存在,新建SRC同名的多个文件,并填充。如果DEST是目录且存在,将把SRC多个文件cp过去(如果有同名选择是否覆盖原文件),如果不存在的话会报错:cp: target `DEST目录名' is not a directory。
以上是SRC是文件的情况。
如果SRC是目录,使用是要加上-r或者-R选项。
cp的SRC是目录:
DEST不存在,创建DEST目录,复制SRC中的内容到DEST中。
DEST存在,如果是文件会报错,如果是目录就会DEST目录下创建SRC目录并复制内容。
以下是常用的选项:
-r,-R:递归复制内容,用在复制文件夹的时候
-a:保留原来所有属性,用于备份文件
-p:保留 mode,ownership,timestamp 模式、所有权、时间戳。-P相反,一般默认是不保留。
-v:显示cp过程
-f:如果已存在的文件覆盖失败,把文件删除重试。
cp命令常用到的大概这么多,如果再遇到再来补充。