一、Linux下的cp/rm/mv强制覆盖
(一)、反斜杠(\)临时取消别名
[[email protected] ~]# \cp filename new/filename [[email protected] ~]#
(二)、unalias 取消别名
注意:这只是临时取消cp的别名,不是永久的
[[email protected] ~]# unalias cp [[email protected] ~]# cp filename new/filename [[email protected] ~]#
(三)、修改默认配置文件
- 输入alias命令,看到系统内部使用的是cp、mv、rm -i 所以怎么输入都是提示覆盖。
[[email protected] ~]# [[email protected] ~]# 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‘ ”前添加`#`号注释后即可。
[[email protected] 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
[[email protected] ~]# yes | cp filename new/filename cp: overwrite `new/filename‘? [[email protected] ~]#
二、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); } }
时间: 2024-10-10 10:54:13