Linux 的cp命令及示例详解

 更新时间:2016年11月21日 08:54:41   作者:茄子_2008  
本篇文章主要介绍了Linux 的cp命令详解, cp指令用于复制文件或目录,有兴趣的可以了解一下。

最近学习linux命令,现在把cp命令整理出来,以便日后查询。

功能: 复制文件或目录

说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

参数:

-a 或 --archive     此参数的效果和同时指定"-dpR"参数相同

-b 或 --backup      删除、覆盖目的文件先备份,备份的文件或目录亦建立为符号链接,并指向源文件或目录链接的源文件或目录。假如没有加上这个参数,在复制过程中若遇到符号链接,则会直接复制源文件或目录

-f 或 --force       强行复制文件或目录, 不论目的文件或目录是否已经存在

-i 或 --interactive 覆盖文件之前先询问用户

-l 或 --link        对源文件建立硬链接,而非复制文件

 -p 或 --preserve    保留源文件或目录的属性,包括所有者、所属组、权限与时间

-P 或 --parents     保留源文件或目录的路径,此路径可以是绝对路径或相对路径,且目的目录必须已经丰在

-r     递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理

-R 或 --recursive   递归处理,将指定目录下的文件及子目录一并处理

 -s 或 --symbolic-link  对源文件建立符号链接,而非复制文件

-S <备份字尾字符串> 或 --suffix=<备份字尾字符串> 用"-b"参数备份目的文件后,备份文件的字尾会被加上一个备份字符串。默认的备份字尾符串是符号"~"

 -u 或 --update      使用这项参数之后,只会在源文件的修改时间(Modification Time)较目的文件更新时,或是名称相互对应的目的文件并不存在,才复制文件

-v 或 --verbose     显示执行过程

 -V <备份方式> 或 --version-control=<备份方式>  指定当备份文件时,备份文件名的命名方式,有以下3种:

1.numbered或t, 将使用备份编号,会在字尾加上~1~字符串,其数字编号依次递增

2.simple或never 将使用简单备份,默认的备份字尾字符串是~, 也可通过-S来指定

3.existing或nil将使用当前方式,程序会先检查是否存在着备份编号,若有则采用备份编号,若无则采用简单备份

-x 或 --one-file-system  复制的文件或目录存放的文件系统,必须与cp指令执行时所处的文件系统相同,否则不复制,亦不处理位于其他分区的文件

--help              显示在线帮助

--sparse=<使用时机>  设置保存希疏文件的时机

--version           显示版本

示例:

.复制文件,只有源文件较目的文件的修改时间新时,才复制文件   

cp -u -v file1 file2

.将文件file1复制成文件file2 

cp file1 file2

.采用交互方式将文件file1复制成文件file2  

cp -i file1 file2

.将文件file1复制成file2,因为目的文件已经存在,所以指定使用强制复制的模式

cp -f file1 file2

.将目录dir1复制成目录dir2

 cp -R file1 file2

.同时将文件file1、file2、file3与目录dir1复制到dir2   

cp -R file1 file2 file3 dir1 dir2

 .复制时保留文件属性    

 cp -p a.txt tmp/

.复制时保留文件的目录结构   

cp -P /var/tmp/a.txt ./temp/

.复制时产生备份文件   

cp -b a.txt tmp/

.复制时产生备份文件,尾标 ~1~格式

cp -b -V t  a.txt /tmp  

 .指定备份文件尾标    

cp -b -S _bak a.txt /tmp

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Canonical通过Flutter启用Linux桌面应用程序(推荐)

    Canonical通过Flutter启用Linux桌面应用程序(推荐)

    这篇文章主要介绍了Canonical通过Flutter启用Linux桌面应用程序,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • CentOS7下Firewall防火墙配置用法详解(推荐)

    CentOS7下Firewall防火墙配置用法详解(推荐)

    centos 7中防火墙是一个非常的强大的功能了,这篇文章主要介绍了CentOS7下Firewall防火墙配置用法详解(推荐),小编觉得挺不错的,现在分享给大家,也给大家做个参考。
    2016-12-12
  • Linux 块设备驱动代码编写

    Linux 块设备驱动代码编写

    这篇文章主要介绍了Linux 块设备驱动代码编写,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • 解决atd服务报错Failed with result‘exit-code‘问题

    解决atd服务报错Failed with result‘exit-code‘问题

    在isoftserveros-v5.1-oe1-aarch64系统中,安装at软件包后,由于手动执行导致atd守护进程出错,通过查看后台Process行,手动kill原atd进程,使用systemctl重启atd服务后,问题得以解决,此经验可为类似情况提供参考
    2024-09-09
  • deepin linux 手动升级内核的方法

    deepin linux 手动升级内核的方法

    这篇文章主要介绍了deepin linux 手动升级内核的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • Linux静态链接库与模板类的处理方式

    Linux静态链接库与模板类的处理方式

    这篇文章主要介绍了Linux下编译使用静态链接库遇到模板类的时该如何处理。
    2017-11-11
  • Ubuntu彻底卸载MySQL、Apache2和Php的方法教程

    Ubuntu彻底卸载MySQL、Apache2和Php的方法教程

    这篇文章主要给大家介绍了关于在Ubuntu系统下彻底卸载MySQL、Apache2和Php的方法教程,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编来一起看看吧。
    2017-08-08
  • 通过rsync+inotify实现数据的实时备份配置

    通过rsync+inotify实现数据的实时备份配置

    在前面的博文中,我讲到过利用rsync实现数据的镜像和备份,但是要实现数据的实时备份,单独靠rsync还不能实现,本文就讲述下如何实现数据的实时备份
    2013-09-09
  • 如何在Linux中修改tomcat端口号

    如何在Linux中修改tomcat端口号

    这篇文章主要介绍了如何在Linux中修改tomcat端口号,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • VMware虚拟机安装 CentOS 8 (1905)系统的教程图解

    VMware虚拟机安装 CentOS 8 (1905)系统的教程图解

    这篇文章主要介绍了CentOS 8 (1905)系统安装,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09

最新评论