1、命令格式:

cp [选项]... [-T] 源 目的

2、命令功能:

  将源文件复制至目标文件,或将多个源文件复制至目标目录。

3、命令参数:

-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。

4、简单实例:

(1)、复制单个文件到目标目录,文件在目标文件中不存在

命令:

cp a.txt test1/
输出:

felix@felix-computer:~/test$ tree
.
├── a.txt
└── test1 1 directory, 1 file
felix@felix-computer:~/test$ cp a.txt test1/
felix@felix-computer:~/test$ tree
.
├── a.txt
└── test1
└── a.txt 1 directory, 2 files

(2)、目标文件存在时,会询问是否覆盖

命令:

  cp -i a.txt test1/
输出:

felix@felix-computer:~/test$ tree
.
├── a.txt
└── test1
└── a.txt 1 directory, 2 files
felix@felix-computer:~/test$ cp -i a.txt test1/
cp:是否覆盖'test1/a.txt'? y
felix@felix-computer:~/test$ tree
.
├── a.txt
└── test1
└── a.txt 1 directory, 2 files

(3)、复制整个目录

命令:

  cp -r test1 test2

输出:

当文件夹存在时,赋值到目标文件夹中
felix@felix-computer:~/test$ tree
.
├── test1
│   └── a.txt
└── test2 2 directories, 1 file
felix@felix-computer:~/test$ cp -r test1 test2
felix@felix-computer:~/test$ tree
.
├── test1
│   └── a.txt
└── test2
└── test1
└── a.txt 3 directories, 2 files
当文件夹不存在时,新建
felix@felix-computer:~/test$ tree
.
├── test1
│   └── a.txt
└── test2
└── test1
└── a.txt 3 directories, 2 files
felix@felix-computer:~/test$ cp -r test1 test3
felix@felix-computer:~/test$ tree
.
├── test1
│   └── a.txt
├── test2
│   └── test1
│   └── a.txt
└── test3
└── a.txt 4 directories, 3 files

(4)、给文件创建一个快捷方式

命令:

  cp -s test1/test2/test3/a.txt a_link.txt

输出:

felix@felix-computer:~/test$ tree
.
└── test1
└── test2
└── test3
└── a.txt 3 directories, 1 file
felix@felix-computer:~/test$ cp -s test1/test2/test3/a.txt a_link.txt
felix@felix-computer:~/test$ tree
.
├── a_link.txt -> test1/test2/test3/a.txt
└── test1
└── test2
└── test3
└── a.txt 3 directories, 2 files

linux系列(八):cp命令的更多相关文章

  1. [转帖]Linux系列之SAR命令使用详解

    Linux系列之SAR命令使用详解 sar是System Activity Reporter(系统活动情况报告)的缩写.这个工具所需要的负载很小,也是目前linux中最为全面的性能分析工具之一.此款工 ...

  2. 动手实现linux中的cp命令(可自行拓展)

    我们在学习系统编程的时候,一定会有这样的经历,让你动手实现一个简单的cp命令,也就是拷贝相应的文件到对应的目录,或者说是复制吧,当然,实现非常的简单,我们来看看源码吧: #include <st ...

  3. Linux下远程cp命令scp

    2014-2.19  PS1.在用此命令cpLinux与Linux之间的数据时发现有些服务器上默认没有安装scp但用yum -y install scp提示么有这样的包 后来发现原来scp工具的安装包 ...

  4. 【Linux系列】find命令使用

    Linux下find命令在目录结构中搜素文件,病执行制定的操作. 一.命令格式 find pathname -options[-print -exec -ok] 二.命令功能 用于在文件树种查找文件, ...

  5. Linux学习笔记--cp命令(复制)

    cp:英文名copy,复制的意思. 1. 命令格式: cp [选项] 源文件或文件夹 目标文件或文件夹 cp [选项] 源文件1 源文件2 源文件3 ... 目标文件夹 2. 经常使用选项: &quo ...

  6. Linux系列之查找命令

    前言 Linux 有四个常用的查找命令:locate.whereis.which 和 find.本文介绍它们的区别和简单用法. locate命令 这个命令将检查你的整个文件系统,并找到该关键词的每一次 ...

  7. Linux系列之比较命令

    前言 Linux中有两个比较命令,它们分别是comm和diff,在比较文本文件的版本时通常很有用.本文介绍它们的区别和简单用法. comm命令 该命令对两个文本文件进行比较,并显示每个文件独有的行和它 ...

  8. Linux系列之压缩命令

    前言 Linux 有三个常用的压缩命令:gzip.bzip2和 tar .本文介绍它们的区别和简单用法. 压缩文件 数据压缩是去除数据中冗余部分的过程,需要通过压缩算法完成.这些算法可分为两类: 无损 ...

  9. 解决Linux CentOS中cp -f 复制强制覆盖的命令无效的方法

    Linux下默认cp命令是有别名的(alias cp='cp -i'),无法在复制时强制覆盖,即使你用 -f 参数也无法强制覆盖文件,下面提供几个从网上找的Linux下cp命令覆盖的方法. 1)取消c ...

  10. Linux下如何使CP命令不提示覆盖

    在Linux下使用CP命令,经常会提示是否覆盖,如果是太批量的文件覆盖,老是这么提示,会很烦的.那如何解决这个问题呢? 我们先来看一下原因吧! 一般我们使用的命令是cp -rf sourcefile ...

随机推荐

  1. dotnet Core学习之旅(序)

    .NET Core 新玩具,新工具,新生产力 我将在博客园我从0.1开始探索.NET Core 的过程. 为什么是从0.1开始而不是从0开始 我在微软刚宣布开源的时候便接触到了.NET Core 1. ...

  2. springboot_3

    1. 返回数据与返回页面 在写web项目的时候,controller里的返回值一般分为两种,一种是返回页面,也就是ModeAndView,另一种是直接返回数据,比如json格式的数据. 返回一个页面, ...

  3. 编写Postgres扩展之五:代码组织和版本控制

    原文:http://big-elephants.com/2015-11/writing-postgres-extensions-part-v/ 编译:Tacey Wong 在关于编写Postgres扩 ...

  4. MyBatis 常用词汇含义

    JDBC:java Data Base  Connection(Java与数据库连接): ORM:Object Relational Mapping(对象关系映射,简称ORM,或者O/RM,或者O/M ...

  5. vue基础部分

    一 vue概念 是一个构建用户界面的javascript框架 二 如何使用vue 1. 导入vue.js文件 2. 展示HTML 3. 建立vue对象,写JavaScript代码 vue的简单实用:申 ...

  6. jQuery的显示和隐藏

    在 jQuery 中可以使用 hide() 和 show() 方法来隐藏和显示 HTML 元素,以及使用 toggle() 方法能够切换 hide() 和 show() 方法. 隐藏例子: <! ...

  7. Node.js 实战(一)之—优化汇总

    Express 页面缓存 app.set("cache view",true); --设置页面缓存 开发模式下博主建议不要这么做,因为开发中我们会频繁的对页面的样式.js等进行修改 ...

  8. java输出月的日历控制台

    LocalDate date=LocalDate.now(); int month=date.getMonthValue(); int today=date.getDayOfMonth(); date ...

  9. laravel登录后其他页面拿不到登录信息

    登录本来是用表单的,我自作聪明的使用ajax提交 public function login(Request $request){ $data = $request->input(); $dat ...

  10. Vue指令之`v-bind`的三种用法及v-on事件指令

    v-bind:是 Vue中,提供的用于绑定属性的指令 1. 直接使用指令`v-bind` 2. 使用简化指令`:` 3. 在绑定的时候,拼接绑定内容:`:title="btnTitle + ...