建站优化

当前位置:

cp命令不要覆盖提示

浏览量:96次

cp命令不要覆盖提示

在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

[声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【779898168@qq.com】,我们在确认后,会立即删除,保证您的版权。