Linux下cp复制强制覆盖的方法

871次阅读

共计 526 个字符,预计需要花费 2 分钟才能阅读完成。

问题:

cp覆盖时,无论加什么参数-f之类的还是提示是否覆盖,当文件比较少的时候还可以按Y确认,当很多文件的时候就不好说了。

Linux下cp复制强制覆盖的方法

-r的意思是递归复制,也就是复制文件夹及其下所有文件。
-f的意思是遇到同名的文件时不提示,直接覆盖。

但是为什么加上-f了,还出现“overwrite”的提示呢?
这是因为系统为防止我们误操作,覆盖了不该覆盖的文件,而使用了命令的别名。使用alias命令查看一下:

[root@172-20-2-11 data]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

从上边我们可以看出,我们输入的cp命令,其实是“cp -i”命令。其他几个命令,如ll,ls mv,rm等也使用了别名。

解决办法一:

在cp前加上一个”\”符号就不使用别名运行了,如下:
Linux下cp复制强制覆盖的方法

解决办法二:

编辑文件,注释掉别名。

Linux下cp复制强制覆盖的方法

退出

Linux下cp复制强制覆盖的方法

 

正文完
 
mervinwang
版权声明:本站原创文章,由 mervinwang 2017-10-12发表,共计526字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
文章搜索