Chinaunix首页 | 论坛 | 博客
  • 博客访问: 939072
  • 博文数量: 173
  • 博客积分: 3436
  • 博客等级: 中校
  • 技术积分: 1886
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-07 09:29
文章分类

全部博文(173)

文章存档

2016年(6)

2015年(10)

2014年(14)

2013年(8)

2012年(36)

2011年(63)

2010年(19)

2009年(17)

分类: 嵌入式

2012-04-15 14:34:27

  在Linux下,如果希望将文件file拷贝到目录dir下,可以执行:

  cp file dir

  但如果dir下已经存在一个名为file的文件的时候,系统总是会提示是否覆盖file。

  这是一个很好的功能,它能够防止我们由于疏忽对系统造成的损害,但如果不希望看到这些交互的提示信息呢?比如我们需要写一个脚本,将某些文件安装到指定的目录下,这时我们肯定不希望看到提示。

  可以试一下 -f 选项,-f 一般表示强制执行(force)。

  cp -f file dir

  但好像结果并不像我们希望的那样,系统依然会有覆盖提示。为什么呢?

  原因很简单,系统将 cp 命令alias为 cp -i。当我们执行cp命令的时候,系统往往执行的是cp -i,-i 选项表示有交互的提示信息,所以执行 cp -f 的时候,系统实际执行的是   cp -i -f, 所以仍然会有覆盖提示。

  想要执行原始的cp也很简单,可以在调用cp的时候加入绝对路径,当然还可以直接执行下面的语句:

  \cp -f file dir

阅读(1022) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~