一、命令格式
cp -frap 原目录/* 目标目录/
-f 强制覆盖,不询问yes/no(-i的默认的,即默认为交互模式,询问是否覆盖)
-r 递归复制,包含目录
-a 做一个备份,这里可以不用这个参数,我们可以先备份整个test目录
-p 保持新文件的属性不变
实现合并和覆盖是用cp,而不是mv。
二、cp命令语法
cp [options]
或
cp [options] source1 source2 source3 …. directory
上面第一条命令为单个文件或目录拷贝,下一个为多个文件拷贝到最后的目录。
options选项包括:
– a 保留链接和文件属性,递归拷贝目录,相当于下面的d、p、r三个选项组合。
– d 拷贝时保留链接。
– f 删除已经存在目标文件而不提示。
– i 覆盖目标文件前将给出确认提示,属交互式拷贝。
– p 复制源文件内容后,还将把其修改时间和访问权限也复制到新文件中。
– r 若源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。当然,目标文件必须为一个目录名。
– l 不作拷贝,只是链接文件。
-s 复制成符号连结文件 (symbolic link),亦即『快捷方式』档案;
-u 若 destination 比 source 旧才更新 destination。
三、cp命令使用范例
- 文件到文件复制
将文档a复制成b(相当于备份并改名)。
cp -i a b
或,
cp a b
- 文件到目录复制
将文档 file1复制到dir1目录下,复制后名称仍未file1
cp -i file1 dir1
或,
cp file1 dir1
- 目录到目录复制
将目录dir1复制到dir2目录下,复制结果目录被改名为dir2
cp -r dir1 dir2
将目录dir1下所有文件包括文件夹,都复制到dir2目录下
cp -r dir1/* dir2
- 常见错误:
提示cp: omitting directory错误
复制目录时,使用-r选项即可递归拷贝,如下:
cp -r dir1 dir2
- 复制多个文件夹到同一目录
cp -r /data/web/wordpress/wp-content/plugins/{redis-cache,wp-fastest-cache,wp-fastest-cache-premium} /data/web/bolg/wp-content/plugins/