念念不忘
必有回响

Linux中cp命令无需确认的方法

通常我们在Linux中执行mvcp命令操作文件时,如果遇到target文件已存在,那么就会给出提示,是否确认覆盖,从操作安全来说,这个很有必要,因为曾经我就遇到过同事不小心将2.dbf文件覆盖到1.dbf,导致oracle数据丢失的操作。但是如果存在大量的文件,以及递归很深的文件类操作,每个文件都需要确认就有点麻烦了,在Linux中并没有桌面环境那种记住上次选择的操作,所以我们就需要使用如下方式来解决了。

首先,查看mvcp的使用,发现使用了-i参数才会有这种确认操作,看来Linux已经添加了默认的alias:

[root@localhost ~]# alias
alias cp='cp -i'
alias egrep='egrep --color'
alias fgrep='fgrep --color'
alias grep='grep --color'
alias l='ls -AFhlt'
alias l.='ls -d .* --color=auto'
alias lh='l | head'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

方法一

在cp命令前加入\即可实现。

\cp -rf source target

方法二

将系统默认的alias注释了。

[root@localhost ~]# vi ~/.bashrc        
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
-alias cp='cp -i'
+# alias cp='cp -i'
alias mv='mv -i'

这种方式虽然也能解决问题,但是如果使用完成后忘记了将其恢复,那么往后有可能会出现cp错文件直接覆盖的问题,所以不太建议第二种。

赞(0) 打赏
未经允许不得转载:码农志 » Linux中cp命令无需确认的方法

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏