Linux cp -rf 直接覆盖 仍然提示是否覆盖信息 解决方法

默认情况下,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! 保存退出,然后重新登陆就可以了。

方法二:cp 前 加 \   

[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 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值