Linux 命令之 cp 命令详解


一、cp 命令简介

cp 命令主要用于复制文件或目录。即用来将一个或多个源文件或者目录复制到指定的目的文件或目录。

cp 命令可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。

cp 命令支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。


二、cp 命令语法

cp [-options] source_file dest_file
  • source_file:源文件,制定源文件列表。cp 命令默认情况下不能复制目录,除非使用 -r/-R选项。

  • dest_file:目标文件,指定目标文件。当“源文件”为多个文件时,要求“目标文件”为指定的目录。


三、参数说明:

  • -a :等于 “dpR” 参数组合,通常在复制目录时保留链接、文件属性,并复制目录下的所有内容。
  • -b:覆盖已存在的文件目标前将目标文件备份;
  • -d :复制时保留符号链接。
  • -f :强行复制文件或目录,覆盖已经存在的目标文件而不给出提示。
  • -i :与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖。
  • -l :不复制文件,只是生成源文件的硬链接文件。
  • -p :复制文件时保留源文件或目录的属性。
  • -r :递归复制目录,即复制该目录及其所有的子目录和文件。
  • -R :同 -r 选项参数。
  • -s:对源文件建立符号连接,而非复制文件;
  • -S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
  • -u:同步复制源文件文件,只在源文件更新时或目标文件不存在时复制。
  • -v:详细显示命令执行的操作。

四、实例

1、复制文件
格式:
$ cp source_file dest_file
$ cp source_folder/*.* dest_folder
示例:
$ cp 123.tar /root/abc
$ cp *.tar /root/abc
  • cp 命令复制文件到目标文件,同名则会覆盖目标文件的内容,该目标文件的内容将被破坏。
  • cp 命令复制文件到目标文件,不同名则使用目标文件名,但目标文件内容变为源文件内容。
  • 文件路径可以是绝对路径名,也可以是相对路径名。通常会用到当前目录.或上一级目录..的形式。
2、复制目录
格式:
$ cp -r source_folder dest_folder
$ cp -R source_folder dest_folder
示例:
$ cp -r lsst/ /root/abc
$ cp -R lsst/ /root/abc
  • 所有目标文件指定的目录必须是己经存在的,cp命令不能创建目录。

五、相关命令

1、Linux 命令之 rcp 命令详解

2、Linux 命令之 scp 命令详解

3、Linux 命令之 mv 命令详解

4、Linux 命令之 rcp 命令详解

【Linux 命令】cp 命令详解的更多相关文章

  1. Linux常用命令及部分详解

    1.总结部分 常用指令 ls      显示文件或目录 -l            列出文件详细信息l(list) -a            列出当前目录下所有文件及目录,包括隐藏的a(all) m ...

  2. Linux命令工具 top详解

    Linux命令工具 top详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不 ...

  3. 每周一个linux命令之---uptime详解

    每周一个linux命令之---uptime详解 linux命令 uptime详解 引言:从今天开始,每周更新一个对程序员有用的linux命令,我真的没敢写每天一个,我怕我坚持不下去,每周一个还是可以的 ...

  4. 【linux】linux命令grep + awk 详解

    linux命令grep  +  awk 详解 grep:https://www.cnblogs.com/flyor/p/6411140.html awk:https://www.cnblogs.com ...

  5. linux route命令的使用详解 添加永久静态路由 tracert traceroute

    linux route命令的使用详解 添加永久静态路由  tracert  traceroute route -n    Linuxroute  print  Windows traceroute  ...

  6. linux下IPTABLES配置详解 (防火墙命令)

    linux下IPTABLES配置详解 -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 24000 -j ACCEPT ...

  7. 【转载】Linux字符集和系统语言设置-LANG,locale,LC_ALL,POSIX等命令及参数详解

    Linux字符集和系统语言设置-LANG,locale,LC_ALL,POSIX等命令及参数详解 1清风揽月10人评论5006人阅读2017-06-21 15:48:43   博文说明[前言]: 本文 ...

  8. free命令常用参数详解

    free命令常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在运维期间我们会经常去查看服务器硬件信息,比如说内存,大家可能知道看内存用“[root@yinzhengji ...

  9. IP命令的用法详解

    IP命令的用法详解 原创 2017-06-29 10:02:34 0932 摘自:http://www.php.cn/linux-371363.html ip命令是Linux下较新的功能强大的 ...

  10. ping命令执行过程详解

    [TOC] ping命令执行过程详解 机器A ping 机器B 同一网段 ping通知系统建立一个固定格式的ICMP请求数据包 ICMP协议打包这个数据包和机器B的IP地址转交给IP协议层(一组后台运 ...

随机推荐

  1. IIS部署.net core网站

    1 安装   Windows8.1-KB2999226-x64 2 安装 DotNetCore.1.0.4_1.1.1-WindowsHosting http://download.microsoft ...

  2. 【Android - 自定义View】之MeasureSpec简介

    MeasureSpec是View测量过程中的一个重要的类,它被用来将View的尺寸规格(SpecSize)和尺寸模式(SpecMode)封装在一起,并提供打包和解包的方法. MeasureSpec虽然 ...

  3. Centos 6.x Openssh 升级 7.7p1 版本

    OpenSSH 升级 目前在一家金融公司上班,正好赶上金融公司各种暴雷,本人心里慌慌的. 然后就是金融公司要进行的最低的三级等保评测,各种修改系统安全,密码强度.WAF.防火墙等各种. 评测公司对我司 ...

  4. 分发系统介绍、expect脚本远程登录、expect脚本远程执行命令、expect脚本传递参数

    7月19日任务 20.27 分发系统介绍20.28 expect脚本远程登录20.29 expect脚本远程执行命令20.30 expect脚本传递参数 20.27 分发系统介绍 公司业务逐渐扩大时, ...

  5. 使用 Flask 和 Vue.js 来构建全栈单页应用

    在这个教程中,我将向你展示如何将 Vue 的单页面应用和 Flask 后端连接起来. 简单的来说,如果想在 Flask 中使用 Vue 框架是没有什么问题的. 但在实际中存在一个明显的问题就是 Fla ...

  6. 八大机器学习框架对比及Tensorflow的优势

    八大机器学习框架的对比: (1)  TensorFlow:深度学习最流行的库之一,是谷歌在深刻总结了其 前身 DistBelief 的经验教训上形成的:它不仅便携.高效.可扩 展,还能再不同计算机上运 ...

  7. Solr搜索引擎【索引管理】

    一.索引存储 当文档提交到索引之后,directory目录组件会将它们写入到持久化存储器.Solr的目录组件具有以下重要特点: 1.隐藏持久存储的读写细节,例如,将文档写入到磁盘或通过JDBC在数据库 ...

  8. Netty学习——Apache Thrift 简介和下载安装

    Netty学习——Apache Thrift 简介和下载安装 Apache Thrift 简介 本来由Facebook开发,捐献给了Apache,成了Apache的一个重要项目 可伸缩的,跨语言的服务 ...

  9. Ubuntu18.04下搭建LNMP教程-超详细图文(Nginx+MySQL+PHP含各种解决报错问题)

     笔者最近在VM15.0上安装了Ubuntu18.,先来安装一个LNMP(Nginx+MySQL+PHP)网站服务器架构,为后续的实验做准备~    LNMP是指一组通常一起使用来运行动态网站或者服务 ...

  10. eclipse m2eclipse 从Maven的本地库中读取依赖库

    在Mac pro的终端中执行命令 mvn package 后,已经把该工程所需要的依赖库(dependancies)下载到本地库,但在把该工程 import 到 eclipse中时,发现m2eclip ...