cp

复制目录和文件

对于系统管理员来说,在文件系统中将文件和目录从一个位置复制到另外一个位置是家常便饭,而cp就是可以煮饭的工具之一。

cp需要源对象和目标对象,源对象在前,目标对象在后面。

1. 常用选项

基本用法

[root@local tmp]# ll

total 0

-rw-rw-r--. 1 gentoo gentoo 0 Jul 29 09:28 test.txt

[root@local tmp]# stat test.txt

File: `test.txt'

Size: 0           Blocks: 0          IO Block: 4096   regular empty file

Device: 802h/2050d  Inode: 1310723     Links: 1

Access: (0664/-rw-rw-r--)  Uid: (  500/  gentoo)   Gid: (  500/  gentoo)

Access: 2016-07-29 09:29:03.019982074 -0400

Modify: 2016-07-29 09:28:08.737003238 -0400

Change: 2016-07-29 09:28:08.737003238 -0400

[root@local tmp]# cp test.txt /

[root@local tmp]# stat test.txt

File: `test.txt'

Size: 0           Blocks: 0          IO Block: 4096   regular empty file

Device: 802h/2050d  Inode: 1310723     Links: 1

Access: (0664/-rw-rw-r--)  Uid: (  500/  gentoo)   Gid: (  500/  gentoo)

Access: 2016-07-29 09:29:03.019982074 -0400

Modify: 2016-07-29 09:28:08.737003238 -0400

Change: 2016-07-29 09:28:08.737003238 -0400

[root@local tmp]# ll test.txt

-rw-rw-r--. 1 gentoo gentoo 0 Jul 29 09:28 test.txt

这是最基本的用法,但是这样复制有些时候会修改文件或者目录的相应属性,不想修改就用接下来的选项

-a 保留原来所以参数进行复制文件或目录,因为cp不同对象执行时会修所所属主,所属组,时间、权限等等属性,可是有些时候进行对于原文件进行备份是我们不希望修改这些熟悉,所以就需要用-a 选项(常用选项)

root@local tmp]# ll

total 0

-rw-rw-r--. 1 gentoo gentoo 0 Jul 29 09:28 test.txt

[root@local tmp]# stat test.txt

File: `test.txt'

Size: 0           Blocks: 0          IO Block: 4096   regular empty file

Device: 802h/2050d  Inode: 1310723     Links: 1

Access: (0664/-rw-rw-r--)  Uid: (  500/  gentoo)   Gid: (  500/  gentoo)

Access: 2016-07-29 09:28:08.737003238 -0400

Modify: 2016-07-29 09:28:08.737003238 -0400

Change: 2016-07-29 09:28:08.737003238 -0400

[root@local tmp]# cp -a test.txt /root/

[root@local tmp]# cd /root

[root@local ~]# ll test.txt

-rw-rw-r--. 1 gentoo gentoo 0 Jul 29 09:28 test.txt

[root@local ~]# stat test.txt

File: `test.txt'

Size: 0           Blocks: 0          IO Block: 4096   regular empty file

Device: 802h/2050d  Inode: 786444      Links: 1

Access: (0664/-rw-rw-r--)  Uid: (  500/  gentoo)   Gid: (  500/  gentoo)

Access: 2016-07-29 09:28:08.737003238 -0400

Modify: 2016-07-29 09:28:08.737003238 -0400

Change: 2016-07-29 09:29:03.019982074 -0400

通过上面的实验,我们可以发现出来Change time改变,其他的属性均为改变。这就是-a选项的目的,不用-a选项都会修改,具体请自行尝试。

-i 若目标路径中存在原文件,会询问我们是否覆盖它

[root@local tmp]# cp -i /tmp/test.txt /

cp: overwrite `/test.txt'? y

[root@local tmp]# ll /test.txt

-rw-r--r--. 1 root root 0 Jul 29 09:41 /test.txt

-f 强制覆盖,当我们复制一个文件到目标路径时,若原文件存在于目标路径中,我们可以使用-f 强制覆盖,并且不提醒我们。、

[root@local tmp]# cp -f /tmp/test.txt /

[root@local tmp]#

–preserve[=ATTR_LIST] 用这个选项在复制过程选择时间戳,属主,权限是否保留

mode: 权限 ownership: 属主属组 timestamp: links xattr context all

-p: 等同–preserv=mode,ownership,timestamp

-u:仅仅当目标文件的内容比原文件新才进行复制

-R, -r, –recursive :复制当前目录及目录下面的文件一起

2.注意

SRC是文件:

如果目标不存在:新建DEST,并将SRC中内容填充至DEST中

如果目标存在:

1.DEST是文件:将SRC中的内容覆盖至DEST中基于安全,建议为cp命令使用-i选项

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

复制文件和目录cp

cp SRC… DEST

SRC…:多个文件

DEST必须存在,且为目录,其它情形均会出错;

cp SRC DEST

SRC是目录:此时使用选项: -r 如果DEST不存在:则创建指定目录,复制SRC目录中所

有文件至DEST中;

如果DEST存在: 1. DEST是文件:报错 2.DEST是目录:

原创文章,作者:fighter,如若转载,请注明出处:http://www.178linux.com/26932

linux 常见命令 cp,Linux 常用命令之cp,一个可以煮饭的工具;相关推荐

  1. Linux常见日志文件和常用命令

    此外,这里写的不错:http://os.51cto.com/art/200711/60313_1.htm 转自:http://www.51testing.com/html/51/46551-2116. ...

  2. Linux(Ubuntu) 使用指南和常用命令

    L i n u x ( U b u n t u ) Linux(Ubuntu) Linux(Ubuntu) 使用指南与常用命令 Copyright: Jingmin Wei, Pattern Reco ...

  3. Linux 基础操作、常用shell命令、vi常用命令、man帮助手册

    Linux 基础操作.常用shell命令.vi常用命令.man帮助手册 一.简述 记录简单的Linux 基础操作.常用shell命令.vi编辑器常用命令.man帮助手册的使用. 二.Linux 基础操 ...

  4. 【方向盘】达到Linux第三阶段的常用命令笔记记录---Part Ⅱ

    实现自己既定的目标,必须能耐得住寂寞单干 本文已被https://yourbatman.cn收录:女娲Knife-Initializr工程可公开访问啦:程序员专用网盘https://wangpan.y ...

  5. NO9 Linux快捷键整理及最常用命令

    Linux快捷键整理及最常用命令 常用快捷键: Ctrl + u            删除光标之前到行首的字符 Ctrl + k            删除光标之前到行尾的字符 Ctrl + c   ...

  6. linux命令grep和find怎么用,Linux下find和grep常用命令及区别介绍

    在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区别的. 区别: (1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空 ...

  7. debian linux下载路径,Debian 常用命令,debian常用命令

    Debian 常用命令,debian常用命令 换源用中科大的比较快deb http://mirrors.ustc.edu.cn/debian jessie main contrib non-freed ...

  8. Linux K8S(Kubernetes)常用命令

    Linux K8S(Kubernetes)常用命令集 一.K8S简介 二.常用命令 2.1 想查看kubectl命令的方法 2.2 常用的命令类 2.3 K8S常用命令 一.K8S简介 Kuberne ...

  9. 查看Linux当前操作系统版本信息常用命令

    查看Linux当前操作系统版本信息常用命令 Linux查看当前操作系统版本信息 Linux查看版本当前操作系统内核信息 linux查看版本当前操作系统发行信息 Linux查看cpu相关信息,包括型号. ...

  10. Windows 和 Linux 查看和关闭端口常用命令

    title: Windows 和 Linux 查看和关闭端口常用命令 date: 2022-03-11 09:35:48 tags: Linux Windows categories: 开发实践 co ...

最新文章

  1. Spring,你为何中止我的事务?
  2. mysql select in 怎么优化
  3. 连接MongoDB 3.x 报 Authorization failed 解决办法(创建账号的部分亲测)
  4. ProE复杂曲线方程:Python Matplotlib 版本代码(L系统,吸引子和分形)
  5. Spring Cloud Alibaba基础教程:Sentinel Dashboard中修改规则同步到Apollo
  6. char* 赋值 const char* 释放_嵌入式Linux开发《C语言专题(十:彻底搞懂“关键字”const)》...
  7. 获取本年、本月、本周时间范围_获取本周本月本季度本年开始结束时间.html
  8. hadoop配置文件_Hadoop分布式集群
  9. HTTP 代理服务器技术选型之旅
  10. How to disable cursor positioning and text selection in an EditText? (Android)
  11. Matlab------在Matlab中如何画圆
  12. 分布式任务ijobhandle
  13. 16S 扩增子分析工具:Swarm 聚类OTU流程介绍
  14. 用selenium实现百度贴吧自动发帖
  15. JAVA中的Iterator
  16. 阿里云SaaS生态战略发布:成就亿级营收独角兽
  17. 「产品战略管理 」产品策略工具 - BCG增长 - 共享矩阵
  18. 工善利器:Sublime Text3多语言支持的脚本编辑器
  19. 爬虫篇——腾讯新闻的详细采集过程(列表新闻和新闻内容)
  20. HTML学习第七章---XHTML

热门文章

  1. Linux RMAP
  2. MySQL 安装+管理
  3. bat获取命令返回值_全网都在找的redis字符串命令,总结在这了
  4. 服务器排序规修改办法,WordPress手动修改文章排列顺序摆脱按发布时间升降序排列...
  5. https open api_通过bilibili_api获取弹幕+绘制词云的方法
  6. 手机型号大全_双十一高价位华为手机推荐,2020年哪款更值得入手
  7. Spring Boot细节挖掘(Docker部署项目)
  8. linux centeros下Redis的安装
  9. mysql新增列并同时增加数据_图解MySQL | 「原理解析」 MySQL 为表添加列 是怎么立刻完成的...
  10. 华为mysql金融版_华为云数据库MySQL金融版公测,打造满足金融场景数据安全性的高端产品...