cp: 把一个、或多个源文件、或源目录复制到指定的文件或目录中
cp [options] source dest
常用参数说明:
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-r,-R:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
使用方法:
(1)复制一个已存在的文件到一个不存在的文件中
cp test1.txt test2.txt
结果是新建test2.txt文件,并把test1.txt的内容复制到test2.txt中。
(2)复制一个已存在的文件到一个已存在的文件中
cp test1.txt test2.txt
结果是用test1.txt的内容覆盖test2.txt原有的内容。
但是,在某些用户下,中间会提示:
cp: overwrite ‘test2.txt’? y
为什么会提示呢?因为在这些用户下,linux系统默认对cp命令做了别名alias cp=‘cp =i’,若不想使用别名可使用
\cp test1.txt test2.txt
(3)复制一个文件到一个不存在的目录:
cp test1.txt /home/test/dir1
结果是dir1变成一个文件,内容为test1.txt的内容。若写成
cp test1.txt /home/test/dir1/
dir1目录不存在,报错,复制失败
(4)复制文件到一个存在的目录:
cp test1.txt /home/test/dir2/
结果是在dir2目录下创建同名同内容的test1.txt。
(5)复制多个文件到目录:
cp test1.txt test2.txt test3.txt /home/test/dir2/
结果是把test1 test2 test3文件同时复制到dir2目录下。
注意:cp多个文件时,目标必须存在且必须是目录,其它均出错!
(6)复制一个目录到不存在目录
cp -r dir1 dir2
dir2不存在,则会重新创建,并将dir1下所有的目录和文件复制过去,不会创建名为dir1的目录
注意:复制目录时,必须使用参数"-r"或者"-R"!
(7)复制一个目录到存在目录
cp -r dir1 dir2
dir2会创建一个dir1的目录
(8)复制多个目录dir1,dir2,dir3到dir4
cp -r dir1 dir2 dir3 dir4
注意:复制多目录时,目标目录必须存在,否则复制失败!