Linux cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。

1命令格式:

cp [选项] [源]  [目标]

2命令选项:

-a此参数的效果和同时指定"-dpR"参数相同;
-d
:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f
:强行复制文件或目录,不论目标文件或目录是否已存在;
-i
:覆盖既有文件之前先询问用户;
-l
:对源文件建立硬连接,而非复制文件;
-p
:保留源文件或目录的属性;
-R/r
:递归处理,将指定目录下的所有文件与子目录一并处理;
-s
:对源文件建立符号连接,而非复制文件;
-u
:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S
:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b
:覆盖已存在的文件目标前将目标文件备份;
-v
:详细显示命令执行的操作。

3.命令功能:

复制文件或者目录

4. 使用范例:

实例一:复制文件时覆盖目标已经存在的文件,同时指定备份文件尾标

[root@moban data]# ll

-rw-r--r-- 1 root root 0 Mar 14 19:05a.txt

[root@moban data]# ll /tmp/

-rw-r--r-- 1 root root 0 Mar 14 19:06a.txt

[root@mobandata]# cp -b -S_XXX -v a.txt /tmp/         这里备份文件后缀_XXX

`a.txt' -> `/tmp/a.txt' (backup:`/tmp/a.txt_XXX')

[root@moban data]# ll /tmp/

-rw-r--r-- 1 root root 0 Mar 14 19:06 a.txt

-rw-r--r-- 1 root root 0 Mar 14 19:05 a.txt_XXX

实例二:生成尾部为~1~

[root@moban data]# cp -b -v t a.txt /tmp/

[root@moban data]# ll /tmp/

-rw-r--r-- 1 root root 0 Mar 14 19:06 a.txt

-rw-r--r-- 1 root root 0 Mar 14 19:06 a.txt~

实例三:同时将文件file{1..3}与目录dir1复制到dir2

[root@moban data]# cp -R file1 file2 file3 dir1 dir2

[root@moban data]# ll dir2/

drwxr-xr-x 2 root root 4096 Mar 14 19:09dir1

-rw-r--r-- 1 root root    0 Mar 14 19:09 file1

-rw-r--r-- 1 root root    0 Mar 14 19:09 file2

-rw-r--r-- 1 root root    0 Mar 14 19:09 file3

实例四:复制文件时候同时改名

[root@moban data]# ll

-rw-r--r-- 1 root root 0 Mar 14 19:10file1

[root@moban data]# ll /tmp/

 [root@moban data]# cpfile1 /tmp/file2

[root@moban data]# ll /tmp/

-rw-r--r-- 1 root root 0 Mar 14 19:10file2

TIP:可以使用\或者/bin/cp全路径避免Y的确认!!!!