赞
踩
默认情况下,cp覆盖时,无论加什么参数 -f 之类的 还是提示是否覆盖。
原因是:服务器会默认增加别名 alias cp=’cp -i’,当你执行cp时,其实执行的是cp –i。
- [root@ltt01 ~]# alias
- alias cp='cp -i'
- alias egrep='egrep --color=auto'
- alias fgrep='fgrep --color=auto'
- alias grep='grep --color=auto'
- 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 which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
cp 时取消提示信息,直接覆盖,不需要用户再敲击 y 进行交互,这在脚本执行时很重要。
下面是两种做法解决这个问题。
[root@ltt01 ~]# vi ~/.bashrc
在alias cp=’cp -i’前加上”#”注释掉这行,:wq! 保存退出,然后重新登陆就可以了。
- [root@ltt01 ~]# \cp 1.txt /back/1.txt
- [root@ltt01 ~]#
[root@TEST record]# \cp -rf ceshi2/* ceshi4
[root@TEST record]# cd ceshi4
[root@TEST ceshi4]# ll
总计 4
-rw-r--r-- 1 root root 0 04-16 15:02 1.txt
-rw-r--r-- 1 root root 0 04-16 15:02 2.txt
-rw-r--r-- 1 root root 0 04-16 15:02 3.txt
drwxr-xr-x 2 root root 4096 04-16 15:02 ceshi1
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。