您的位置:首页 > 运维架构 > Linux

Linux 复制命令cp详解

2016-08-19 20:24 411 查看

cp 复制文件和目录的 cp

NAME

       cp - copy files and directories

SYNOPSIS

       cp [OPTION]... [-T] SOURCE DEST

       cp [OPTION]... SOURCE... DIRECTORY

       cp [OPTION]... -t DIRECTORY SOURCE...

       cp SRC DEST :

  

SRC 是文件:

  如果目标不存在

    新建DEST,并将SRC中的内容填充至DEST中

  如果目标存在

    如果DEST是文件,将SRC中的内容覆盖至DEST中

    如果DEST是目录,在DEST下新建与原文件同名的文件,并将SRC中的内容填充至新文件中

cp SRC... DEST 

   SRC...:多个文件 DEST必须存在,且为目录,其它情形均会出错; 

cp SRC DEST 

  SRC是目录:此时使用选项:-r 

   如果DEST不存在:则创建指定目录,复制SRC目录中所 有文件至DEST中; 

   如果DEST存在: 

    如果DEST是文件:报错 

    如果DEST是目录:在DEST下新建与原目录同名的目录, 并将SRC中内容复制至新目录中

         ╲ 目标文件
  源文件 ╲
不存在  存在且为文件  存在且为目录
一个文件新建DEST,并 将SRC中内容填 充至DEST中
将SRC中的内容覆 盖至DEST中 
注意数据丢失风险! 建议用 –i 选项
 在DEST下新建与原 文件同名的文件, 并将SRC中内容填 充至新文件中 
多个文件报错 报错 在DEST下新建与原 文件同名的文件, 并将原文件内容复 制进新文件中 
目录 
须使用-r选项
创建指定DEST 同名目录,复制 SRC目录中所有 文件至DEST下
报错 在DEST下新建与原 目录同名的目录, 并将SRC中内容复 制至新目录中

cp常用的选项:

-i :交互式

-r ,-R:递归复制目录及内部所有内容

-a :归档,相当于 -dR --preserv=all

-d :same as --no-dereference --preserve=links 不复制原文件,只复制链接名 

--preserve[=ATTR_LIST]

        preserve the specified attributes (default: mode,ownership,timestamps),

        if possible additional attributes: context, links, xattr, all

       保存指定的属性(默认值:模式、所有权、时间戳)可能的附加属性:上下文,链接,xattr,所有

-p :same as --preserve=mode,ownership,timestamps 保护 模式,权限、时间戳

-v :显示操作过程信息

-f :--force 强制

比如:-pv 参数



时间戳:



比如:--preserv命令和-p命令一样



这个是保留所有信息



更多命令请使用帮助命令自行查看

练习:

1、使用别名命令,将/etc/目录下所有文件, 备份到/testdir/下独立的新目录下,并要求新目录 格式为 backupYYYY-mm-dd ,备份过程可见 

    alias cpi="cp -arv /etc/ /testdir/backup`date +%F`"

2、先创建/testdir/rootdir目录,再复制/root所有 下文件到该目录内,并要求保留原有权限

    cp -rp /root/ /testdir/rootdir/

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: