开源是一种精神,分享是一种美德!

cp

相关命令:scp
用法:cp [选项]... [-T] 源文件 目标文件
 或:cp [选项]... 源文件... 目录
 或:cp [选项]... -t 目录 源文件...
将源文件复制至目标文件,或将多个源文件复制至目标目录。


长选项必须使用的参数对于短选项时也是必需使用的。
  -a, --archive 等于-dR --preserve=all
      --attributes-only 只拷贝文件属性,不拷贝文件内容
      --backup[=CONTROL 为每个已存在的目标文件创建备份
  -b 类似--backup 但不接受参数
      --copy-contents 在递归处理是复制特殊文件内容
  -d 等于--no-dereference --preserve=links
  -f, --force 如果目标文件无法打开则将其移除并重试(当 -n 选项
存在时则不需再选此项)
  -i, --interactive 覆盖前询问(使前面的 -n 选项失效)
  -H 跟随源文件中的命令行符号链接
  -l, --link 链接文件而不复制
  -L, --dereference 总是跟随符号链接
  -n, --no-clobber 不要覆盖已存在的文件(使前面的 -i 选项失效)
  -P, --no-dereference 不跟随源文件中的符号链接
  -p 等于--preserve=模式,所有权,时间戳
      --preserve[=属性列表 保持指定的属性(默认:模式,所有权,时间戳),如果
可能保持附加属性:环境、链接、xattr 等
  -c                           same as --preserve=context
      --sno-preserve=属性列表 不保留指定的文件属性
      --parents 复制前在目标目录创建来源文件路径中的所有目录
  -R, -r, --recursive 递归复制目录及其子目录内的所有内容
      --reflink[=WHEN] 控制克隆/CoW 副本。请查看下面的内如。
      --remove-destination 尝试打开目标文件前先删除已存在的目的地
文件 (相对于 --force 选项)
      --sparse=WHEN 控制创建稀疏文件的方式
      --strip-trailing-slashes 删除参数中所有源文件/目录末端的斜杠
  -s, --symbolic-link 只创建符号链接而不复制文件
  -S, --suffix=后缀 自行指定备份文件的后缀
  -t,  --target-directory=目录 将所有参数指定的源文件/目录
                                           复制至目标目录
  -T, --no-target-directory 将目标目录视作普通文件
  -u, --update                 copy only when the SOURCE file is newer
                                 than the destination file or when the
                                 destination file is missing
  -v, --verbose                解释正在做什么
  -x, --one-file-system        stay on this file system
  -Z, --context=CONTEXT        set security context of copy to CONTEXT
      --help 显示此帮助信息并退出
      --version 显示版本信息并退出


默认情况下,源文件的稀疏性仅仅通过简单的方法判断,对应的目标文件目标文件也
被为稀疏。这是因为默认情况下使用了--sparse=auto 参数。如果明确使用
--sparse=always 参数则不论源文件是否包含足够长的0 序列也将目标文件创文
建为稀疏件。
使用--sparse=never 参数禁止创建稀疏文件。


当指定了--reflink[=always] 参数时执行轻量化的复制,即只在数据块被修改的
情况下才复制。如果复制失败或者同时指定了--reflink=auto,则返回标准复制模式。


备份文件的后缀为"~",除非以--suffix 选项或是SIMPLE_BACKUP_SUFFIX
环境变量指定。版本控制的方式可通过--backup 选项或VERSION_CONTROL 环境
变量来选择。以下是可用的变量值:


  none, off       不进行备份(即使使用了--backup 选项)
  numbered, t     备份文件加上数字进行排序
  existing, nil   若有数字的备份文件已经存在则使用数字,否则使用普通方式备份
  simple, never   永远使用普通方式备份


有一个特别情况:如果同时指定--force 和--backup 选项,而源文件和目标文件
是同一个已存在的一般文件的话,cp 会将源文件备份。
[root@localhost www]# cp -p test.rb /home/test   #将test.rb copy到test目录,并且保留原文件的属性

[root@localhost www]# cp -r Dir/ /home/test      #将Dir目录copy到test目录下

[root@localhost www]# cp -fr Dir/* /home/test    #将Dir下面的所有文件强制copy到test目录下

[root@localhost www]# cp test.rb{,.bak}          #备份test.rb,并在尾部加上.bak后缀
 

# cp -u -v file1 file2   #复制文件,只有源文件较目的文件的修改时间新时,才复制文件

# cp file1 file2    #将文件file1复制成文件file2

# cp -i file1 file2   #采用交互方式将文件file1复制成文件file2

# cp -f file1 file2    #将文件file1复制成file2,因为目的文件已经存在,所以指定使用强制复制的模式

# cp -R dir1 dir2    #将目录dir1复制成目录dir2

# cp -R file1 file2 file3 dir1 dir2    #同时将文件file1、file2、file3与目录dir1复制到dir2

# cp -p a.txt tmp/   #复制时保留文件属性

# cp -P  /var/tmp/a.txt  ./temp/    #复制时保留文件的目录结构

# cp -b a.txt tmp/    #复制时产生备份文件

# cp -b -V t   a.txt /tmp     #复制时产生备份文件,尾标 ~1~格式

# cp -b -S _bak a.txt /tmp    #指定备份文件尾标  


#复制前在目标目录创建来源文件路径中的所有目录
[mooc@local tmp]$ cp -p --parents /usr/search/tdk/Formatter.php /tmp/ 
[mooc@local tmp]$ ll /tmp/usr/search/tdk/Formatter.php 
-rw-r--r-- 1 mooc users 5433  8月  1 17:34 /tmp/usr/search/tdk/Formatter.php

  

# \cp -rf /root/downloads/* /tmp/123/ 	#使用反斜杠“\”符号,可以默认进行覆盖且不再重复提醒

评论(3)

    • hdy
      嗯   对于我这样的菜鸟   想要输入中文查询相应的linux命令  好像不是太行得通
      [回复]
    • centos_cn
      centos 6.5 cp好像不一样了
      [回复]
    • xing2233
      如果有中文搜索就好了
      [回复]

评论

名字:
验证码:
获取验证码
内容: