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. 一文读懂跨平台框架 Flutter 的搭建与运行

    作者:个推iOS开发工程师 伊泽瑞尔 Flutter是Google推出的跨平台的解决方案,用以帮助开发者在 Android 和 iOS 两个平台开发高质量原生应用的全新移动 UI 框架. 之前我们为大 ...

  2. Linux内核调试方法总结之ddebug

    [用途] Linux内核动态调试特性,适用于驱动和内核各子系统调试.动态调试的主要功能就是允许你动态的打开或者关闭内核代码中的各种提示信息.适用于驱动和内核线程功能调试. [使用方法] 依赖于CONF ...

  3. EF2:Entity Mysql Sample

    1)概念 Entity Framework: 全称ADO.NET Entity Framework,是微软开发的基于ADO.NET的ORM(Object/Relational Mapping)框架.百 ...

  4. Delphi XE2 之 FireMonkey 入门(22) - 数据绑定: BindingSource、BindingName、FindBinding()、Binding[]

    在窗体上添加 TrackBar1.Edit1.Label1, 然后设置属性(可在设计时): procedure TForm1.FormCreate(Sender: TObject); begin   ...

  5. 001/Node.js(Mooc)--基础知识

    一.Node.js基础知识 node.js用C++语言编写. 简单的说 Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基于Chrome JavaScript 运行时 ...

  6. 在Window平台是模拟Linux的Shell环境

    在Linux平台模拟Linux的shell环境,可以通过一个软件实现:Cygwin(点击进入官网下载好即可),如下图(选择对应的版本进行下载): 安装: 1. 双击运行下载的安装包(选择从网络安装), ...

  7. type动态创建类

    在一些特定场合,需要动态创建类,比如创建表单,就会用到type动态创建类,举个例子: class Person(object): def __init__(self,name,age): self.n ...

  8. lesson1-图的概念和图论模型

    说明: 图论专题开设的目的主要是作为本学期复习巩固和分享自己对于图论的理解,主要参考的是老师的PPT.应老师要求,不能共享文件,抱歉! 参考书目:[1] J.A. Bondy,  U.S.R. Mur ...

  9. ModelForm基本使用

    介绍 Django提供Form和ModelForm两种表单验证方式.相比较Form,ModelForm可以直接与与数据库表相关联,不需要像Form那样需要手动逐一字段添加表单验证的字段.且可以随意选择 ...

  10. C++ Lambda 表达式使用详解

    转载自:  http://www.codeceo.com/article/cpp-lambda.html C++ 11 对LB的支持,对于喜欢Functional Programming的人来说,无疑 ...