- cp命令
cp命令将源文件或目录复制到目标文件或目录中。
( 1)一般格式
cp [选项] 源文件或目录 目标文件或目录
(2)说明
若源文件是普通文件,则cp命令把它复制到指定的目标文件中:若是目录,则需要使用“⁻r”选项,将整个目录下所有的文件和子目录都复制到目标位置。
(3)常用选项
-a,–archive: 通常在复制目录时使用,递归地将源目录下的所有子目录及其文件都复制到目标目录中,并且保留文件属性(包括存取权限、文件属主、用户组、时间标签等)不变,但不复制源文件的链接。它等效于-dR --preserve=all.
-d: 复制时保留文件存取权限,不复制源文件的符号链接。
-f, --force: 若现存的目标文件不能打开,则删除它并且重试一次。
-i,–interactive: 与-f选项不同,在覆盖目标文件前先提示,要求用户予以确认。回答y,将覆盖目标文件。这是交互式复制。
-p:除了复制源文件的内容,还将其修改时间和存取权限也复制到新文件中。
-R,-r:递归复制目录,即将源目录下的所有文件及其各级子目录都复制到目标位置。
-l:不复制,而是创建指向源文件的链接文件,链接文件名由目标文件给出。
–peserve[=属性表]: 保留指定的属性,默认是存取权限、文件属主、时间标签。也可以指定其他属性,如链接、所有属性等。
(4)注意
cp命令复制一个文件,而原文件保持不变!
如果把一个文件复制到一个目标文件中,而目标文件已经存在,那么该目标文件的内容将被破坏。cp命令中所有参数既可以是绝对路径名,也可以是相对路径名。通常会用到“.”或“…"的形式。例如,下面的命令将指定文件复制到当前目录下:
cp …/mary/Homework/assign .
所有目标文件指定的目录必须是已经存在的,cp 命令不能创建目录。若没有文件复制的权限,则系统会显示出错信息。
(5)示例
①将文件mfile复制到目录/home/mengqc下,并改名为examl:
$ cp mfile /home/ mengqc/exam1
②将目录/home/mengqc下的所有文件及其子目录复制到目录/hom/liuzh中:$ cp -r /home/mengqc /home/liuzh
③交互式将目录/home/mengqc中以m开头的所有.c文件复制到目录/home/iuzh中:$ cp -i /home/mengqc/m*.c /home/liuzh