linux命令cp强制覆盖

linux命令cp强制覆盖

linux命令cp强制覆盖操作怎么完成呢?其实这是个伪命题,因为cp命令默认是强制覆盖的。有人说我胡说,他们的理由是,当你执行下面的命令的时候

$ mkdir tmp

$ touch tmp/my.txt

$ touch my.txt

$ cp my.txt ./tmp/

会询问你是不是需要覆盖。但是如果你执行这个命令就会找到问题所在:

$ 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'


发现了吧,其实你执行 cp实际上执行 cp -i,而 -i这个参数就是询问覆盖。因此你有2个方法解决这个问题:

方法一:直接调用cp命令本身,

/bin/cp my.txt ./tmp

方法二:利用管道,将yes传给cp

yes | cp my.txt ./tmp

 

版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.

    分享到:

Leave a Reply

Your email address will not be published. Required fields are marked *