1. 命令功能

cp --copy files and directories。复制文件或目录。

2. 语法格式

cp  [option]  source des

cp  [option]  source   directory

cp  [option]  -t directory  source

参数

参数说明

-a

--archive 相当于drp结合使用

-d

如果文件为链接文件,复制链接文件的源文件而非链接文件

-r

递归复制目录(包含目录下的多级子目录)

-p

连同文件的属性一起复制过去,而非预设属性

-f

force强制复制,若有重复或其他问题,不询问使用者,而强制复制

-i

当目的文件已存在,在覆盖前会先询问是否真的复制

-s

复制成为符号链接文件,即“快捷方式”文件

-u

若destination比source旧才更新destination

-t

默认情况下命令格式为cp 源文件 目标文件,使用-t 可以颠倒顺序 格式为 cp –t 目标文件 源文件

说明:当来源文件有两个以上,则最后一个目的文件一定要是目录才行。

3. 使用范例

基础范例

范例1  cp –a,把源文件的全部属性复制到目标目录,不带参数和代参数-a的比较。

[root@localhost home]# pwd

/home

[root@localhost home]# ls -l /home/cxf/test_cxf

-rw-rw-r--. 1 cxf cxf 12 Mar 13 18:05 /home/cxf/test_cxf

[root@localhost home]#

[root@localhost home]# cp /home/cxf/test_cxf /home/DIR/

[root@localhost home]# ls -l /home/DIR/test_cxf

-rw-r--r--. 1 root root 12 Mar 13 18:07 /home/DIR/test_cxf  #文件属组发生了变化

[root@localhost DIR]# cp -a /home/cxf/test_cxf /home/DIR/

[root@localhost DIR]# ls -l test_cxf

-rw-rw-r--. 1 cxf cxf 12 Mar 13 18:05 test_cxf    #带 –a参数 复制文件属性

通过带参数和不带参数比较文件修改时间属性:

[root@localhost DIR]# ls -lh /home/cxf/test_cxf

-rw-rw-r--. 1 cxf cxf 12 Mar 13 18:05 /home/cxf/test_cxf   #源文件修改时间属性

[root@localhost DIR]# cp /home/cxf/test_cxf .

[root@localhost DIR]# ls -lh test_cxf

-rw-r--r--. 1 root root 12 Mar 13 22:27 test_cxf          #时间属性发生变化、

[root@localhost DIR]# cp -p /home/cxf/test_cxf test_cxf_1  #复制文件并改名

[root@localhost DIR]# ls -lh test_cxf_1

-rw-rw-r--. 1 cxf cxf 12 Mar 13 18:05 test_cxf_1  #时间属性没有改变,故-a选项会连同文件属性,时间属性一同复制。

范例2 :-i参数实例

[root@localhost DIR]# cp -i /home/cxf/test_cxf .

cp: overwrite `./test_cxf'? y

[root@localhost DIR]# cp /home/cxf/test_cxf .  #为什么不带-i,也提示?

cp: overwrite `./test_cxf'? y                  #由于centos默认为cp设置了别名在,

增加了-i的参数。

[root@localhost DIR]# alias cp

alias cp='cp -i'

在shell脚本中执行cp时,若没有-i参数,则不会询问是否覆盖,由于命令行和shell脚本执行时的环境变量不同,在脚本中一般使用命令的全路径。

范例3 使用-r参数复制目录

[root@localhost home]# cp /root DIR/

cp: omitting directory `/root'   #复制root到DIR,提示会跳过目录/root,复制不成功。

[root@localhost home]# cp /root DIR/ -r  #把root目录复制到DIR目录中

[root@localhost home]# ls -l DIR/

total 12

dr-xr-x---. 4 root root 4096 Mar 13 22:41 root  #复制root目录成功

-rw-r--r--. 1 root root   12 Mar 13 22:34 test_cxf

-rw-rw-r--. 1 cxf  cxf    12 Mar 13 18:05 test_cxf_1

2. 技巧性范例

范例4 cp覆盖文件前不提示是否覆盖的几种方法。

第一种:使用命令全路径。

[root@localhost DIR]# cp /home/cxf/test_cxf .

cp: overwrite `./test_cxf'? y

[root@localhost DIR]# /bin/cp /home/cxf/test_cxf .

[root@localhost DIR]#

第二种:取消cp别名  unalias cp  重启后失效

第三种:命令开头使用反斜线(\)

[root@localhost DIR]# \cp /home/cxf/test_cxf .   #使用反斜线屏蔽系统别名。

[root@localhost DIR]#

cp 复制文件或目录的更多相关文章

  1. cp - 复制文件和目录

    总览 cp [选项] 文件路径 cp [选项] 文件...目录 POSIX 选项: [-fipRr] GNU 参数(最短形式): [-abdfilprsuvxPR] [-S SUFFIX] [-V { ...

  2. cp:复制文件和目录

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

  3. 复制文件或目录命令 - cp

    1) 命令名称:cp 2) 英文原意:copy 3) 命令所在路径:/bin/cp 4) 执行权限:所有用户 5) 功能描述:复制文件或目录 语法: cp -rp [原文件或目录][目标目录] -r ...

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

    cp命令:复制文件和目录 [功能说明] cp命令可以理解英文单词copy的缩写,其功能为复制文件和目录. [语法格式] 1 cp [option] [source] [dest] 2 cp [选项] ...

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

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

  6. linux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录

    转自:http://blog.csdn.net/snlying/article/details/6184102 Linux系统中scp命令的用法. scp就是secure copy的简写,用于在lin ...

  7. Linux 命令 - cp: 拷贝文件和目录

    命令格式 cp [OPTION]... [-T] SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY ...

  8. 在linux服务器之间复制文件和目录命令scp

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...

  9. linux cp 拷贝文件或目录

    cp 拷贝文件或目录 默认不能拷贝目录 常用来备份: [root@MongoDB ~]# cp a.txt /tmp/ [root@MongoDB ~]# cp /root/a.txt /tmp/ c ...

随机推荐

  1. Layer Cake cf

    Layer Cake time limit per test 6 seconds memory limit per test 512 megabytes input standard input ou ...

  2. 网页分页page

    public class PageBean { private int page; // 第几页 private int pageSize; // 每页记录数 private int start; / ...

  3. linux 文件相关常用命令

    文件或者目录操控命令 1,cd切换目录. 其中- 代表前一个目录 2,mkdir 新建目录. 加上-p参数可以递归创建多级目录 mkdir -p test1/test2/test3 3,rmdir删除 ...

  4. rich-text 副文本组件 text文本组件

    rich-text 副文本组件 要知道我们小程序常用的标签是view 但是我们想使用div   span  h1 i 标签等等,这种带特性的标签,怎么办的,我们就可以使用我们的 rich-text组件 ...

  5. JavaVM & JNIEnv

    JNIEnv提供了大多数的JNI函数.你的本地方法都会接收JNIEnv作为第一个参数.JNIEnv用于本地线程存储.因此,你不能在线程间共享同一个JNIEnv.如果一个代码段没有其他方式获取它自身线程 ...

  6. Linux添加目录到环境变量以及添加Sublime Text到环境变量

    本文主要介绍了Linux添加目录到环境变量以及添加Sublime Text到环境变量,通过具体的解释说明,让我们从中学到Linux添加目录到环境变量以及添加Sublime Text到环境变量的精髓所在 ...

  7. MySQL高可用方案 MHA之三 master_ip_online_change

    主从架构master: 10.150.20.90 ed3jrdba90slave: 10.150.20.97 ed3jrdba97 10.150.20.132 ed3jrdba132manager: ...

  8. springboot定时任务出错 Unexpected use of scheduler.

    java.lang.IllegalStateException: Unexpected use of scheduler. 在启动类加: @Bean public ThreadPoolTaskSche ...

  9. All strings must be XML compatible: Unicode or ASCII, no NULL bytes or control characters

    ValueError: All strings must be XML compatible: Unicode or ASCII, no NULL bytes or control character ...

  10. 【SVN】 一次SVN 修复笔记

    同事乱提交了一个版本之后,SVN上最新版本出现了问题. 原本按照网上其他人的说法,可以手动到服务器端干掉最新版的存档,并修改版本记录到前一个版本号即可,但是这应该是个坑. 掉进这个坑后,需要解决,又不 ...