cp命令来自于英文单词copy的缩写,用于将一个或多个文件或目录复制到指定位置,亦常用于文件的备份工作。-r参数用于递归操作,复制目录时若忘记加则会直接报错,而-f参数则用于当目标文件已存在时会直接覆盖不再询问,这两个参数尤为常用。
语法格式:cp [参数] 源文件 目标文件
常用参数:
-f | 若目标文件已存在,则会直接覆盖原文件 |
-i | 若目标文件已存在,则会询问是否覆盖 |
-p | 保留源文件或目录的所有属性 |
-r | 递归复制文件和目录 |
-d | 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录 |
-l | 对源文件建立硬连接,而非复制文件 |
-s | 对源文件建立符号连接,而非复制文件 |
-b | 覆盖已存在的文件目标前将目标文件备份 |
-v | 详细显示cp命令执行的操作过程 |
-a | 等价于“pdr”选项 |
参考实例
在当前工作目录中,将某个文件复制一份,并定义新文件名称:该方法为直接复制一份并非移动
//因为该操作没有返回值,所以我们使用取反方法获取该方法的执行结果 ///sdcard/Android/data/com.gibb.easyclick/cccc.txt为原始文件位置. ///sdcard/1.txt 为目标文件位置。 logd(!shell.sudo("cp /sdcard/Android/data/com.gibb.easyclick/cccc.txt /sdcard/1.txt"))//返回结果为true
cp -r 在当前工作目录中,将某个目录复制一份,并定义新目录名称
cp -a 复制某个文件时,保留其原始权限及用户归属信息:
cp -f 将某个文件复制到/etc目录中,并覆盖已有文件,不进行询问: