Linux cp/rm/mv 强制覆盖

时间:2023-03-09 22:04:11
Linux cp/rm/mv 强制覆盖

一、Linux下的cp/rm/mv强制覆盖

(一)、反斜杠(\)临时取消别名

    [root@fz ~]# \cp filename new/filename
[root@fz ~]#

(二)、unalias 取消别名

注意:这只是临时取消cp的别名,不是永久的
    [root@localhost ~]# unalias cp  
[root@localhost ~]# cp filename new/filename  
[root@localhost ~]#

(三)、修改默认配置文件

  • 输入alias命令,看到系统内部使用的是cp、mv、rm -i 所以怎么输入都是提示覆盖。

   [root@fz ~]#
[root@fz ~]# alias
alias cdd='cd /home/data/android/'
alias cp='cp -i'
alias l='ls -la'
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 tf='tail -f '
alias vc='vim ~/.bash_profile'
alias vs='source ~/.bash_profile'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
  • 修改 ~/.bashrc ,在 “alias cp='cp -i' ”前添加`#`号注释后即可。

    [root@fz test]# vi ~/.bashrc
# .bashrc # User specific aliases and functions alias rm='rm -i'
#alias cp='cp -i'
alias mv='mv -i' # Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
  • 重启或者执行 source ~/.bashrc 让命令生效

(四)、yes指令+管道 自动输入yes

    [root@fz ~]# yes | cp filename new/filename  
cp: overwrite `new/filename'? [root@localhost ~]#

二、Java后台调用Linux命令实现

 public void copyIcon() throws IOException, InterruptedException {
Runtime r = Runtime.getRuntime();
String cmd_copy = "\\cp -rf temp/AppIcon/* icon/"; //copy并覆盖
String[] cmds = new String[]{"sh","-c",cmd_copy};
Process p = r.exec(cmds);
int result = p.waitFor();
if (result == 0){ //表示正常结束
logger.error("【copy appIcon 成功】");
}else {
logger.error("【copy appIcon 失败】"+cmd_copy);
}
}

        if ( U.read(me.Blog) ) $("#推荐").click();
if ( U.copy(me.Blog) ) $("#u Blog").console("原文链接:http://www.cnblogs.com/Grand-Jon/p/7391215.html");
else me.Fuck(U);