cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一。一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数。但是如果是在shell脚本中执行cp时,没有-i参数时不会询问是否覆盖。这说明命令行和shell脚本的执行方式有些不同。

  1.命令格式:

  用法:

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

    或:cp  [选项]  源  目录

    或:cp  [选项]  -t  目录  源

  2.命令功能:

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

  3.命令参数:

    -a  --archive  等于-dR   --perserve=all    --backup[=CONTROL  为每个已存在的目标文件创建备份

    -b  --copy-contents    在递归处理是复制特殊文件内容

    -d        等于--no-dereference  --preserve=links

    -f  --force  如果目标文件无法打开则将其移除并重试(当 -n  选项存在时则不需要再选此项)

    -i  --interactive  覆盖前询问(使前面的 -n  选项失效)

    -H    跟随源文件中的命令行符号链接

    -l  --link  链接文件而不复制

    -L  --dereference   总是跟随符号链接

    -n  --no-clobber  不要覆盖已存在的文件(使前面的 -i  选项失效)

    -p  --no-dereference    不跟随源文件中的符号链接

    -P      等于--preserve=模式,所有权,时间戳

         --preserve[=属性列表    保持指定的属性(默认:模式,所有权,时间戳),如果可能保持附加属性:环境、链接、xattr  等

    -R  -r  --recursive  复制目录及目录内的所有项目

  4.命令实例:

    实例一:复制单个文件到目标目录,文件在目标文件中不存在

    命令:

      cp  today.log  back  把今天的日志today.log 复制到 back文件夹,在没有带-a 参数时,两个文件的时间是不一样的。在带了-a 参数时,两个文件的时间是一致的。

            如果back文件夹中已经有一份today.log文件了,因为我每天都有做备份。那这时,它会提示你要不要覆盖掉已存在的文件。

            如果你用 -f 参数,却仍提示是否覆盖,那就去查查你的cp 是不是 cp -i 的别名。

    实例三:复制整个目录

    命令:

      cp -a back back1  把back 全部复制到back1

       这里要区分一下当   back1   存在和不存在的情况,目标目录存在时,整个源目录都被复制到目标目录里面。

    实例四:复制的  today.log  建立一个链接档案  log_link.log

    命令:

       cp -s  today.log  log_link.log

    log_link.log  是由  -s  的参数造成的,建立的是一个  快捷方式,  所以你会看到在文件的最右边,会显示这个文件是 链接 到哪里去的。

    

每天一个Linux命令(08)--cp命令的更多相关文章

  1. 【Linux 命令】cp 命令详解

    Linux 命令之 cp 命令详解 一.cp 命令简介 cp 命令主要用于复制文件或目录.即用来将一个或多个源文件或者目录复制到指定的目的文件或目录. cp 命令可以将单个源文件复制成一个指定文件名的 ...

  2. 【Linux常见命令】cp命令

    cp - copy files and directories 拷贝文件或目标文件夹,默认不能直接拷贝目录,通过-r参数设置递归复制目录 copy 语法: cp [OPTION]... [-T] SO ...

  3. Linux命令学习-cp命令

    Linux中,cp命令的全称是copy,主要作用是复制文件或文件夹,类似于Windows下的复制功能. 假设当前处于wintest用户的主目录,路径为 /home/wintest ,存在文件夹test ...

  4. 详解linux中install命令和cp命令的区别

    基本上,在Makefile里会用到install,其他地方会用cp命令. 它们完成同样的任务——拷贝文件,它们之间的区别主要如下: .最重要的一点,如果目标文件存在,cp会先清空文件后往里写入新文件, ...

  5. Linux下远程cp命令scp

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

  6. linux常用命令:cp 命令

    cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数.但是如果是 ...

  7. linux里install命令和cp命令的区别

    转:http://blog.yikuyiku.com/?p=2659 基本上,在Makefile里会用到install,其他地方会用cp命令. 它们完成同样的任务——拷贝文件,它们之间的区别主要如下: ...

  8. linux常用命令(7)cp命令

    cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数.但是如果是 ...

  9. Linux命令:cp命令

    cp命令作用:拷贝文件和目录 一.格式 cp [OPTION]... [-T] SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION].. ...

  10. 全网最详细的Linux命令系列-cp命令

    cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数.但是如果是 ...

随机推荐

  1. linux下安装mysql(编译mysql源码)

    编译所需软件地址 http://mysql.mirror.kangaroot.net/Downloads/  -- 下载需要的mysql版本例如mysql-5.5.39.tar.gz    目前还不太 ...

  2. Android应用程序组成部分

    引言 为了后面的例子做准备,本篇及接下来几篇将介绍Android应用程序的原理及术语,这些也是作为一个Android的开发人员必须要了解,且深刻理解的东西.本篇的主题如下: 1.应用程序基础 2.应用 ...

  3. PHP新手之学习数组声明

    数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式.这些按序排列的同类数据元素的集合称为数组.下面介绍PHP中的数组声明. 一.数组的概述 1.数组的本质:管理 ...

  4. Unity 5 Stats窗口

    Unity5的 Statistics上的统计信息和Unity4 有一些区别, Statistics窗口,全称叫做 Rendering Statistics Window,即渲染统计窗口(或渲染数据统计 ...

  5. 【angularjs】【学习心得】路由基础篇

    原文:http://www.imooc.com/wenda/detail/236998 AngularJS自带有路由模块ngRoute,但是有经验的老师都推荐我们使用功能更完善更强大的ui-route ...

  6. 关于ExtJS必输框,多选项

    必填项: //页面内传值用ID,和后台联系用name <div class="col-xs-4">                     <div class= ...

  7. SQL语句中日期的计算方法大全

    sql语句中的日期处理一.日期處理函數1.日期增減函數 dateadd(datepart,number,dtae) datepart:是規定應向日期的哪一部分返回新值的參數.下列是sql server ...

  8. 在MyEclipse 2014中给Spket增加ExtJS提示

    参考:http://wenku.baidu.com/link?url=BT2U6Z-HktQJQYpz3Jp88pJSp4lU-lXkvCqpdeaa9a-BVdOgMGK1vj486-32YC4Gq ...

  9. Canvas globalCompositeOperation API

    参考: http://www.cnblogs.com/jenry/archive/2012/02/11/2347012.html <!DOCTYPE html> <html lang ...

  10. ECMAScript 6 笔记(四)

    Symbol 1. 概述 ES6引入了一种新的原始数据类型Symbol,表示独一无二的值.它是JavaScript语言的第七种数据类型,前六种是:Undefined.Null.布尔值(Boolean) ...