一、复制文件或目录   --cp

1.1、概述

CP(1)                          General Commands Manual                         CP(1)NAMEcp - 复制文件和目录总览cp [选项] 文件路径cp [选项] 文件...目录POSIX 选项: [-fipRr]GNU      参数(最短形式):      [-abdfilprsuvxPR]      [-S      SUFFIX]     [-V{numbered,existing,simple}] [--sparse=WHEN] [--help] [--version] [--]描述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试图先删除该现存文件,如果删除成功则把它当做一个新文件处理.POSIX 选项POSIX 识别四个半选项:-f     如果需要,删除已存在的目的文件.(如前所述.)-i     提示是否覆盖现有普通目标文件。(在标准出错上显示问题,从标准输入读取答案.只有明确确认了才复制文件.)-p     保留原文件的所有者、组、权限(包括    setuid    和    setgid    位),上次修改时间和上次访问时间。如果制作所有者或组信息的副本时出错,    则setuid               和               setgid                位被清空。(要不然源文件和副本的上次访问时间显然是不同的,因为复制操作就是对源文件的访问.)-R     递归复制目录,如果对象不是普通文件或目录那么做相应正确处理,(因此,一个         FIFO或者特殊文件在复制后仍然是一        个FIFO型或者相应特殊文件。)-r     递归复制目录,如果对象不是普通文件或目录那么做一些未声明处理.(因此,我们允许并鼓励用      -r      选项做      -R      的同义词.不过那些愚蠢的特征,象那些在     GNU     版本的     cp      出现的(见下文)也可以用.)
GNU 细节通常,读写文件的方式都是一样的.例外情况见下面的 --sparse 选项.缺省情况下,`cp'并不复制目录(参见下文 -r 选项说明).cp  通常不会复制文件到自身,但有以下例外: 如果参数 --force --backup 与 源文件一起给出,并且与         目的文件          并且指向一个普通文件,          cp将生成一个备份文件,不是普通的就是编了号的,就象通常的方法那样声明.在你仅仅想对已有的文件进行备份, 而又不想修改它的时候很有用.GNU 选项-a, --archive复制时,尽可能保持文件的结构和属性.(但不保持目录 结构)等同于 -dpR。-d, --no-dereference复制符号链接作为符号链接而不是复制它指向的文件,并且保护在副本中原文件之间的硬链接.-f, --force删除存在的目标文件。 (较:原译文缺下面的部分)-i, --interactive无论是否覆盖现存文件都作提示。-l, --link制作硬链接代替非目录拷贝。-p, --preserve保持原始文件的所有者,组,许可,和时间表属性。-P, --parents一个斜杠和指定的源文件名构成目的文件。           最后送给           cp的参数必须是一个已存在的目录的名字。例如, 下面这个命令:cp --parents a/b/c existing_dir复制文件    `a/b/c'     到     texisting_dir(现有的目录)/a/b/c',建立任何缺少的中间目录。-r     递归地复制目录,复制任何非目录和非符号链接(那是,FIFOs和特别文件)好象他们是常规的文件一样看待.这意味着尝试读出每个源文件的数据,和把它写到目的地上.因而,用这个选项,cp'可能彻底地终止,当不确定地读一个FIFO或者/dev/tty时,(这是一个缺陷.它意味着如果你不知道在这棵树(目录)中有什么要复制的时候,
你不得不避开-r并使用-R打开一个未知的设备文件,比如说一台扫描仪,会有未知的效果发生在硬件上)-R, --recursive递归地复制目录,保留非目录(参见上面的 -r ).--sparse=WHEN一个稀疏file'包容`holes'-占用0字节,它不占用任何物理块;系统把他们作为0调用read'来读.由于许多二进制文件包容许多连续的0字节,这样能保存相当的磁盘空间并且加快速度.省缺情况下,                                          cp通过自然的启发方式发现在源文件里holes并且使相关 的输出文件稀疏.WHEN 值能够是下面中的一个:auto   默认的行为:如果输入文件是稀疏的,输出文件也是稀疏的.always 总是使输出文件稀疏.当输入文件所在的文件系统不支持稀疏文件的时候,这是有用的,但是输出文件所在的文件系统需要(支持稀疏文件).never  从不使输出文件稀疏.如果你找到一个需要此选项的应用程序,让我们知道.-s, --symbolic-link生成符号链接代替非目录拷贝.所有的源文件名必须是绝对的(由`/'开始),除非目的文件是在当前目录.这选项仅仅在系统不支持符号链接时引起一个错误消息.-u, --update如果存在的目的地有相同的,或者更新的修改时间,不 复制非目录(文件).-v, --verbose在复制前印出文件名.-x, --one-file-system跳过来自不同文件系统的子目录.GNU 备份选项GNU      版本程序象      cp,      mv,      ln,      install      和     patch会在覆盖,改变,或者破坏(文件)前生成一个备份文件.那个文件由-b选项给出.他们的由-V选项命名.一般  情况下备份文件名是源文件名加上后缀,这个后缀由-S 指定.-b, --backup生成关于覆盖和删除的备份.-S SUFFIX, --suffix=SUFFIX加入       SUFFIX(后缀)        到每个备份文件.         如果不指定,使用SIMPLE_BACKUP_SUFFIX      环境变量的值.如果连     SIMPLE_BACKUP_SUFFIX都没有设置,省缺是`~'.-V METHOD, --version-control=METHOD指定如何命名备份文件.  METHOD 能够是 `numbered' (or  `t'),  `existing'(or `nil'), or `never' (or `simple').  如果不指定,使用 VERSION_CONTROL环境变量的值.如果    VERSION_CONTROL     也没有设置,省缺备份文件类型是`existing'.这选项相应Emacs     变量     `version-control'.      有效的    METHODs是(接受唯一的缩写):t, numbered总是产生编号的备份。
il, existingMake numbered backups of files that already have  them,  simplebackups of the others.never, simple总作简单的备份.GNU 标准选项-Z     将目标文件 SELinux 安全上下文设置为默认类型--context[=CTX]类似    -Z,或者如果给定了上下文(CTX)那么将   SELinux   或者   SMACK安全上下文设置为给定值--help 印出用法并退出.--version印出版本信息并退出.结束选项列表.环境(参数)变量LANG,LC_ALL,LC_COLLATE,LC_CTYPE和LC_MESSAGES有通常意义.对于GNU版本,变量SIMPLE_BACKUP_SUFFIX和VERSION_CONTROL控制备份文件命名.与上面的描述一样.适用到POSIX 1003.2注意这份            cp             的描述和FILEUTils-4.0中找到的是一样的;另外的版本也许有些微的差别.修正和新增邮到aeb@cwi.nl.             报告缺陷到fileutils-bugs@gnu.ai.mit.edu.[中文版维护人]Surran <email>[中文版最新更新]2000/10/19《中国linux论坛man手册页翻译计划》:http://cmpp.linuxforum.netGNU fileutils 3.16                   August 1998                               CP(1)Manual page cp(1) line 196/220 (END) (press h for help or q to quit)

1.2、语法

 cp [-adfilprsu] 来源档(source) 目标档(destination)cp [options] source1 source2 source3 .... directory
  • cp [选项] 源文件 目标文件
  • cp [选项] 文件路径
  • cp [选项] 文件...目录

1.3、应用

  • -a:(archive)该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录。相当于 -pdr 的意思;复制或拷贝文件或目录(常用)。
  • -a 复制时,尽可能保持文件的结构和属性.(但不保持目录 结构)等同于 -dpR。
[root@localhost /]# cd TEST
[root@localhost TEST]# ls
test
[root@localhost TEST]# mkdir /TEST/file
[root@localhost TEST]# ls
file  test
[root@localhost TEST]# cp -a file test   -将file文件夹拷贝到test文件夹中
[root@localhost TEST]# ls
file  test
[root@localhost TEST]# cd test
[root@localhost test]# ls
file
[root@localhost test]#

-d:   保持软链接
-R:   递归
--preserve=all  :保持文件原有属性

  • -d:(backup)若来源档为连结档的属性(link file),则复制连结档属性而非文件本身。
  • -d, --no-dereference  复制符号链接作为符号链接而不是复制它指向的文件,并且保护在副本中原文件之间的硬链接.
  • -f:(force)为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次。
  • -i:(interactive)若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)。
  • -l:(link)进行硬式连结(hard link)的连结档创建,而非复制文件本身。
  • -p:(preserve)连同文件的属性一起复制过去,而非使用默认属性(备份常用)。
  • -r:递归复制目录,如果对象不是普通文件或目录那么做一些未声明处理.(因此,我们允许并鼓励用      -r      选项做      -R      的同义词.不过那些愚蠢的特征,象那些在 GNU 版本的 cp 出现的(见下文)也可以用.)
[root@localhost TEST]# cp -r file test
[root@localhost TEST]# ls
bashrc  file  test
[root@localhost TEST]# cd test
[root@localhost test]# ls
file
  • -s:复制成为符号连结档 (symbolic link)。
  • -u:若 destination 比 source 旧才升级 destination 。

二、cp --hlep

--version        显示版本信息并退出默认情况下,源文件的稀疏性仅仅通过简单的方法判断,对应的目标文件目标文件也
被为稀疏。这是因为默认情况下使用了--sparse=auto 参数。如果明确使用
--sparse=always 参数则不论源文件是否包含足够长的0 序列也将目标文件创文
建为稀疏件。
使用--sparse=never 参数禁止创建稀疏文件。当指定了--reflink[=always] 参数时执行轻量化的复制,即只在数据块被修改的
情况下才复制。如果复制失败或者同时指定了--reflink=auto,则返回标准复制模式。The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
The version control method may be selected via the --backup option or through
the VERSION_CONTROL environment variable.  Here are the values:none, off       不进行备份(即使使用了--backup 选项)numbered, t     备份文件加上数字进行排序existing, nil   若有数字的备份文件已经存在则使用数字,否则使用普通方式备份simple, never   永远使用普通方式备份有一个特别情况:如果同时指定--force 和--backup 选项,而源文件和目标文件
是同一个已存在的一般文件的话,cp 会将源文件备份。GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
请向<http://translationproject.org/team/zh_CN.html> 报告cp 的翻译错误
要获取完整文档,请运行:info coreutils 'cp invocation'
[root@localhost TEST]#

Linux 之复制文件或目录(copy)相关推荐

  1. Linux 命令 —— scp linux之间复制文件和目录

    scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令. 语法: scp [-1246BCpqrv] [-c cipher] [-F ssh_con ...

  2. Linux 远程复制文件和目录

    一.命令 格式:scp 文件/目录路径名 root@ip地址:文件/目录路径名 1.从远程服务器复制文件到本地 scp root@183.175.59.73:/home/data ./data/ 2. ...

  3. linux中显示没有那个目录,linux没有那个文件或目录

    linux下创建文件与目录时默认被赋予了什么样的权限? 当我们创建一个新的文件或目录的时候,他的默认权限是什么? umask--指定当前使用者在创建文件或目录的时候默认的权限值 [root@iZ288 ...

  4. scp--- Linux远程复制文件和目录

    今天用到了一个非常好的命令:scp -用于 Linux 之间复制文件和目录. 把一个Linux系统的文件或目录复制到另一个Linux 系统中去,在认识scp 命令之前,我是先使用xftp工具将文件下载 ...

  5. linux cp复制文件夹下的软连接,Linux培训:cp命令复制文件和目录

    Linux培训:cp命令复制文件和目录 更新时间:2019年04月02日16时56分 来源:传智播客linux培训 浏览次数: cp 是用于复制的命令,其基本信息如下: 命令名称:cp: 英文原意:c ...

  6. Linux命令(20)linux服务器之间复制文件和目录

    linux的scp命令: scp就是secure copy的简写,用于在linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器.  有时我们需要获得远程服务器 ...

  7. Linux 命令之 cp -- 复制文件或目录

    文章目录 一.命令介绍 二.常用选项 三.命令示例 (一)复制某个目录到某个目录下 (二)复制文件 (三)复制文件到目标目录下,若存在文件则备份 (四)复制某个目录的全部文件到某个目录下 (五)复制一 ...

  8. 一天一个Linux基础命令之复制文件或目录命令cp

    cp复制文件或目录 1.命令格式 cp[OPTION]... SOURCE... DIRECTORY 2.命令说明 cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情况下,she ...

  9. Linux cp命令:复制文件和目录

    cp 命令,主要用来复制文件和目录,同时借助某些选项,还可以实现复制整个目录,以及比对两文件的新旧而予以升级等功能. cp 命令的基本格式如下: [root@localhost ~]# cp [选项] ...

最新文章

  1. python namedtuple用法_Python的collections模块中namedtuple结构使用示例
  2. 影像组学视频学习笔记(6)-特征筛选之LASSO回归(理论)、Li‘s have a solution and plan.
  3. iOS开发-关于自定义控件很值得一看的文章(一)
  4. Android项目目录结构分析
  5. App设计灵感之十二组精美的电商App设计案例
  6. 深入分析 Java 方法反射的实现原理
  7. 【Servlet】总结 JSP的四大域对象、Servlet的四个作用域:pageContext、request、session、application
  8. 作者:王融,中国信息通信研究院互联网法律中心副主任、高级工程师。
  9. GDB分析PHP连接Memcached 导致coredump问题
  10. Java 针对每个人安装的位置不同的情况 从快捷方式中获取到安装位置 运行谷歌浏览器
  11. 分布式系统工具箱 Spring Cloud 概览
  12. Warning:mailcious javascript detected on this domain来由
  13. python怎么看自己安装的第三方包_安装第三方包查看python版本/第三方包版本
  14. CefSharp 中过滤图片 RequestHandler
  15. android 汉字拼音转换工具
  16. 海洋地球物理探测方法综述(一)地震和重磁
  17. java隋唐系列游戏下载,隋唐爭霸V2.11游戏
  18. android fake camera,码市 - No.22987 - android fake camera - 其他
  19. rust 入门笔记: rustlings(推荐一些学习rust语法的一些非常好的小练习)
  20. IM云通信行业步入快车道,谁将成为代表中国的全球IM“独角兽”?

热门文章

  1. 【JZOJ3156】病毒传播
  2. jQuery笔记——UI
  3. php显示星期几,php怎么实现获取显示星期几
  4. 2017年秋季学期软件工程第一次作业(曹洪茹)
  5. python操作Excel【openpy】
  6. 《利用python进行数据分析》读书笔记--第九章 数据聚合与分组运算(一)
  7. DELL服务器部件型号/PN查找
  8. 从“女记者”到“地产一姐”,龙湖吴亚军的“三不”人生
  9. 新东方托福词汇(List 26 ~ List 30)
  10. 群晖php7.0,群晖新版操作系统DSM 7.0下载