![rm 命令删除前不询问](https://linux22.com/image/579683/rm%20%E5%91%BD%E4%BB%A4%E5%88%A0%E9%99%A4%E5%89%8D%E4%B8%8D%E8%AF%A2%E9%97%AE.png)
我有使用 XEN + OpenVZ 虚拟化创建的 centos VPS。
-bash-3.2# uname -a
Linux host.domain.com 2.6.18-274.7.1.el5.028stab095.1xen #1 SMP Mon Oct 24 22:10:04 MSD 2011 i686 i686 i386 GNU/Linux
当我想删除文件时没有任何问题
-bash-3.2# vi test.txt
-bash-3.2# rm test.txt
-bash-3.2#
主服务器(不是虚拟化服务器)在删除任何文件之前会先询问我。
[root@main ~]# vi test.txt
[root@main ~]# rm test.txt
rm: remove regular file `test.txt'? y
[root@main ~]#
如何配置虚拟化环境以在删除任何文件之前提示我?
谢谢。
更新:我不想对每个 rm 命令使用 rm -i。bashrc 被选为答案。
固定的:
我正在.bashrc
从.bash_profile
主服务器复制
我)#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
ii)将默认 bash 配置文件复制到用户路径
cp /etc/skel/.bash_profile /root/
參考文獻:http://www.howtoforge.com/forums/showthread.php?t=50751
现在我的壳变成了[root@servername ~]#
答案1
默认的 CentOS .bashrc 包含以下内容:
# cat .bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
在您的示例中,您的提示符看起来像-bash-3.2#
。这表明缺少 .bashrc,或者您成为 root 时没有正确采用 root 的环境。
答案2
使用“rm -i”。
您可以使用 bash 别名。只需附加
alias rm='rm -i'
到你的 ~/.bashrc 并运行
. ~/.bashrc
答案3
如果您想在删除文件或目录之前提示。您需要使用
rm -i
如果你还想有目录提示
rm -ri
您可以按照 Dmitry 的示例将其添加到您的 .bashrc 中。