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. J - Mr.Panda and TubeMaster

    题解 我们可以把每个格子拆成两个点,一个表示横向的,一个表示纵向的,相邻的格子横向和纵向连边. 如果直接按照题意做的话,我们应当在横向和纵向的点之间连边,有限制的边设下界为1,然后跑可行流. 或者考虑 ...

  2. linux/Unix下的vim/vi指令的使用方法

    概述 以下这篇文章介绍的是关于vim的使用方法,由于我本身对linux没有太多的研究,写下的这篇文章纯属是在实际中经常使用vim指令,想通过这篇文章记录下来,方便以后使用时查找方便.个人认为,对于普通 ...

  3. [CSP-S模拟测试]:毛一琛(meet in the middle)

    题目描述 历史学考后,$MYC$和$ztr$对答案,发现选择题他们没有一道选的是一样的.最后他们都考了个$C$.现在问题来了,假设他们五五开,分数恰好一样(问答题分数也恰好一样,只考虑选择题).已知考 ...

  4. centos7部署前后端分离项目的过程

    概述 本文主要讲解在安装了centos7的Linux主机中部署前后端分离项目的过程. 前端项目名为:vue_project:后端项目名为:django_project. 将这两个项目放在/opt/wh ...

  5. Linux内核调试方法总结之序言

    本系列主要介绍Linux内核死机.异常重启类稳定性问题的调试方法. 在Linux系统中,一切皆为文件,而系统运行的载体,是一类特殊的文件,即进程.因此,我尝试从进程的角度分析Linux内核的死机.异常 ...

  6. 用Vue来实现音乐播放器(十五):处理得到的歌手数据

    之前得到的歌手数据是用forEach遍历添加的  没有顺序性  我们希望得到的数据是title:"热门"的数据在最上面  title为字母的数据按字母从低到高顺序排列 var ho ...

  7. 007-Spring Boot-@Enable*注解的工作原理-EnableConfigurationProperties、ImportSelector、ImportBeanDefinitionRegistrar

    一.@Enable* 启用某个特性的注解 1.EnableConfigurationProperties 回顾属性装配 application.properties中添加 tomcat.host=19 ...

  8. 测开之路八十六:python操作sqlite

    创建sqlite数据库,并创建表和数据 python自带sqlite3库可以创建数据库文件 导入库:import sqlite3 创建游标,指定数据库名字:con = sqlite3.connect( ...

  9. prometheus linux系统告警规则 实例

    #prometheus linux系统告警规则 实例 #根据实际情况修改参数 #rules.linux.yml groups: - name: linux rules: - alert: Node-D ...

  10. 剑指offer(2):字符串

    C语言中的字符串 C语言中字符串的存储方式和数组类似,都是连续定长的内存块.字符串数组以\0结尾,所以会比正常数组多一位,char str3[5] = "1234"; //此处赋值 ...