linux常用命令-cp

it2024-06-20  42

描述

cp 复制文件(或者目录等). 可以使用这个命令复制一个文件到一个指定的目的地, 或者复制任意多个文件到一个目的目录目录.

如果最后一个命令参数为一个已经存在的目录名,cp会将每一个源文件复制到那个目录下(维持原文件名).如果所给的参数只有两个文件名.它把前一个文件复制到后一个文件上.如果最后一个参数不是文件名,目录名,和给出多于两个非选项参数,是 错误的.(因而:如果/b已经存在,那么’cp -r /a /b’会复制/a到/b而成为/b/a. 而复制/a/x到/b而成为/b/a/x.但如果/b事先不存在,它会把/a复制为/b而复制/a/x到/b而成为/b/a/x.但如果/b事先不存在,它会把/a复制为/b 而把/a/x复制为/b/x.)

所创建的文件和/或目录的模式和原始的文件的模式是一样的, 然后用用户umask值修改(除非使用了-p选项),(但在递归方式复制目录时,新建目录会临时地获得他们的最终模式Ored,连同 S_IRWXU(0700),以便进程能够读、写、查找这些新建的目录.

复制文件到其自身时它什么事情都不做(除了可能会生成一条错误信息以外). 当复制到一个现存的不同文件时,系统调用函数open(path,O_WRONLY|O_TRUNC)'打开目的文件.当复制到一个新文件时,系统调用函数`open(path,O_WRONLY|O_CREAT,mode)'创建该文件.如果这操作失败,该文件存在,和给出了-f选项, cp试图先删除该现存文件,如果删除成功则把它当做一个新文件处理.

以上描述内容摘录自man文档

cp命令的语法格式

复制命令:cp cp [OPTION]... [-T] SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY SOURCE...

cp命令使用场景

cp SRC DEST SRC是文件: 如果目标不存在:新建DEST,并将SRC中内容填充至DEST中; 如果目录存在: 如果DEST是文件:将SRC中的内容覆盖至DEST中; 此时建议为cp命令使用-i选项; 如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中; cp SRC... DEST SRC...:多个文件 DEST必须存在,且为目录,其它情形均会出错; cp SRC DEST SRC是目录: 此时使用选项:-r 如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中; 如果DEST存在: 如果DEST是文件:报错 如果DEST是目录:

常用选项

options:

-i:交互式 -r, -R: 递归复制目录及内部的所有内容; -a: 归档,相当于-dR --preserv=all -d:--no-dereference --preserv=links --preserv[=ATTR_LIST] mode: 权限 ownership: 属主属组 timestamp: links xattr context all -p: --preserv=mode,ownership,timestamp -v: --verbose -f: --force
最新回复(0)