为新手linuxer准备的小脚本(防止不小心误删根)
最近经常有些新同学不小心把根目录删了,所以为了防止这种情况我给你们写了一个小脚本。
由于学习的需要,有些同学确实需要使用root用户,由于root用户的权限过大,偶尔的小失误可能造成很大的损失,这里便为你们准备了一个脚本。
当然,平时如果不需要root权限的朋友,为了安全着想,请尽量使用普通用户。
[root@helloween scripts]# cat rm.sh
#====================================
# File Name: rm.sh
# Author: Helloween
# mail: 1289537727@qq.com
# Created Time: 2014年05月08日 星期四 02时28分22秒
#====================================
#!/bin/bash
#Functions: for cant remove the / directory!
#For order:rm -rf /*
function remove1
{
Nrm_dirs="(/boot)|(/etc)|(/root)|(/proc)|(/dev)|(/usr)|(/sys)|(/bin)|(/sbin)|(/var)|(/home)|(/selinux)|(/lib)";
ret=`echo "$*" | grep -E "${Nrm_dirs}"`;
test -n "${ret}" && echo "Warning:cant remove these system directorys!!!" && exit 0;
}
#For order:rm -rf /
remove2()
{
for i in $@
do
if [ "$i" = / ];then
echo "Warning:cant remove the / directory!!!";
exit 0;
fi
done
}
#For order:else case
remove3()
{
/bin/rm -i $*
}
#main function
Main()
{
remove1 $@;
remove2 $@;
remove3 $@;
}
Main $@;
这个脚本只是实现了防止删根或者一些系统必要目录,要想使用rm命令时调用的是这个脚本,可以将此脚本放入/usr/local/bin目录下,执行alias rm=‘rm.sh’可以实现rm命令的替换,以后使用rm命令时调用的就是这个脚本了。
然后执行echo "alias rm=‘rm.sh‘" >>~/.bashrc
这样下次打开终端时,rm命令替换的作用就会永久生效。
当然,以上操作都是在root用户下所做
送给需要的朋友,如有错误之处,敬请指正。
本文出自 “Helloween” 博客,请务必保留此出处http://6368580.blog.51cto.com/6358580/1408647