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. IOS 子视图获取父视图的控制器

    UIResponder* nextResponder = [self.view.superview.superview nextResponder]; if ([nextResponder isKin ...

  2. NodeMCU之旅(四):实现Web配置页面

    引言 利用Web页面做配置可以轻松适应用户的多种设备,如Android, IOS等.本文将介绍如何在NodeMCU中实现配置页面. 接线图请参考NodeMCU之旅(三):响应配置按钮. 配置页面后端 ...

  3. 如何使用PDO查询Mysql来避免SQL注入风险?ThinkPHP 3.1中的SQL注入漏洞分析!

    当我们使用传统的 mysql_connect .mysql_query方法来连接查询数据库时,如果过滤不严,就有SQL注入风险,导致网站被攻击,失去控制.虽然可以用mysql_real_escape_ ...

  4. Blend4 的安装和配置

    Microsoft Expression Blend作为一款功能齐全的专业设计工具,可用来针对基于 Microsoft Windows 和基于 Microsoft Silverlight 1.0 的应 ...

  5. Windows Server 2008 R2防火墙出站规则

    出战规则指Windows Server 2008 R2系统访问外部的某台计算机通信数据流. 配置防火墙阻止Windows Server 2008 R2系统通过IE软件访问外部的网站服务器,阻止Wind ...

  6. Spring JdbcTemplate用法整理

    Spring JdbcTemplate用法整理: xml: <?xml version="1.0" encoding="UTF-8"?> <b ...

  7. bootstrap 表单控件 控件状态 控件大小 help-block

    bootstrap 表单控件 控件状态 控件大小 help-block <!DOCTYPE html> <html lang="en"> <head& ...

  8. Bootstrap入门(二十一)组件15:警告框

    Bootstrap入门(二十一)组件15:警告框 通过这些简单.灵活的进度条,为当前工作流程或动作提供实时反馈. 进度条组件使用了 CSS3 的 transition 和 animation 属性来完 ...

  9. ASP.NET Core MVC/WebAPi如何构建路由?

    前言 本节我们来讲讲ASP.NET Core中的路由,在讲路由之前我们首先回顾下之前所讲在ASP.NET Core中的模型绑定这其中有一个问题是我在项目当中遇见的,我们下面首先来看看这个问题. 回顾A ...

  10. 20个常用的Java程序块

    1.字符串有整型的相互转换 String a = String.valueOf(2);//integer to numeric string Int i = Integer.parseInt(a);/ ...