一、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