CentOS/RHEL:如何使用Cp/rm/mv命令的强制覆盖操作

CentOS osetc 925℃ 0评论

在centos linux系统上如果你想使用cp/rm/mv的强制覆盖操作,默认情况下,系统会对着几个命令做不能强制覆盖的别名操作。所以如何来取消命令的别名,执行强制覆盖操作呢。

习惯了freebsd里的cp/rm/mv等命令遇到同名文件时直接覆盖操作,而在linux中(不一定是全部,可能是我使用的几种),使用cp/rm/mv命令覆盖文件操作时总是提示输入yes或no,很是麻烦,一两个的也就算了,没什么,但有时会遇到大量文件的复制时,就麻烦了,要一个一个输入yes才能进行,即使加上了-f参数也无法达到强制覆盖。于是查阅资料后,找到一些小技巧,下面仅以cp命令为例,详细说明

一、使用unalias cp命令 解除对cp的别名(仅本次终端连接会话临时取消),我们先输入alias命令,查看系统内部已经设置的别名

1
2
3
4
5
6
7
8
 [root@localhost ~]# alias  
    alias cp='cp -i'  
    alias l.='ls -d .* --color=tty'  
    alias ll='ls -l --color=tty'  
    alias ls='ls --color=tty'  
    alias mv='mv -i'  
    alias rm='rm -i'  
    alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

输入unalias cp命令,取消cp命令的别名

1
2
3
   [root@localhost ~]# unalias cp  
    [root@localhost ~]# cp filename new/filename  
    [root@localhost ~]#

使用unalias cp命令后,即可使用cp filename new/filename就不会提示输入yes或no了,是不是很方便

二、直接输入\cp命令,作用也是取消cp的别名

1
2
    [root@localhost ~]# \cp filename new/filename  
    [root@localhost ~]#

是不是比上一个方法更省事

三、使用管道的方式,自动输入yes

1
2
    [root@localhost ~]# yes | cp filename new/filename  
    cp: overwrite `new/filename'? [root@localhost ~]#

自己替我们输入了yes

原文:92csz.com

转载请注明:osetc.com » CentOS/RHEL:如何使用Cp/rm/mv命令的强制覆盖操作

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址