首頁 > 軟體

Linux cp/rm/mv 強制覆蓋

2020-06-16 17:09:14

一、Linux下的cp/rm/mv強制覆蓋

(一)、反斜槓()臨時取消別名

    [root@linuxidc ~]# cp filename new/filename   
    [root@linuxidc ~]#

(二)、unalias 取消別名

注意:這只是臨時取消cp的別名,不是永久的
    [root@localhost ~]# unalias cp   
    [root@localhost ~]# cp filename new/filename   
    [root@localhost ~]#

(三)、修改預設組態檔

  • 輸入alias命令,看到系統內部使用的是cp、mv、rm -i 所以怎麼輸入都是提示覆蓋。

   [root@linuxidc ~]#
   [root@linuxidc ~]# 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@linuxidc 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@linuxidc ~]# 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);
          }
      }

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-08/146343.htm


IT145.com E-mail:sddin#qq.com