cp命令:
作用:复制文件(或者目录等)。可以使用这个命令复制一个文件到一个指定的目的地,或者复制任意多个文件到一个目的目录。
格式:
1 单源复制:cp [OPTION]… [-T] SOURCE DEST # OPTION:选项 SOURCE:源文件 DEST:目标文件或目录
2 多源复制:cp [OPTION]… SOURCE… DIRECTORY # DIRECTORY:目录
cp [OPTION]… -t DIRECTORY SOURCE…
格式说明:
在单源复制中,有两种情况需要说明一下,DEST存在和不存在:
(1)当DEST不存在时,会事先创建此文件,并复制文件的数据流至DEST中;
(2)DEST存在:如果DEST是非目录文件时,则覆盖目标文件;如果DEST是目录文件,则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流:
在多源复制中也有两种情况,DEST存在和不存在:
(1)如果DEST不存在:错误;
(2)如果DEST存在:当DEST是非目录文件时,错误;当DEST是目录文件,分别复制每个文件至目标目录中,并保持原名。
常用选项:
1 -i:交互式复制,在覆盖操作前提醒用户确认;
2 -r:递归复制目录及内部的所有内容;
3 -a:归档复制,尽可能保持文件的结构和属性;
4 -d:复制符号链接作为符号链接而不是复制它指向的文件;
5 -p,–preserve[=ATTR_LIST]:保持原有文件的属性信息,其中ATTR_LIST选项包括mode,ownership,timestamp,links,xattr,context,all等;
6 -f:强制覆盖,不作覆盖提醒;
7 -v:显示命令执行过程;
使用示例:
复制 /etc/fstab文件到 tmp 目录下为test.txt
~]# cp /etc/fstab /tmp/test.txt
复制文件并保留文件的timestamp信息
~]# cp --preserve=timestamp /etc/passwd /tmp
~]# ll /etc/passwd /tmp/passwd
-rw-r–r–. 1 root root 2192 Jun 10 22:38 /etc/passwd