替换linux下的rm命令,并对-rf进行判断

时间:2021-12-25 04:13:01

补充了对根目录,以及-r -rf -f的判断

1、使用root用户在/usr/local目录创建.rmov.sh

#!/bin/sh
PARA_CNT=$#
TRASH_DIR="/data01/.trash"
root_dir=`ls -trl / |grep ^d|awk '{print "/"$9"/"}'`

for i in $*; do
if [ `echo $root_dir |grep $i |wc -l` -gt 0 ]
then
echo "operation not permit"
exit
fi
if [ $i == "-rf" -o $i == "-r" -o $i == "-f" ]
then :
elif [ `echo $i |grep del-|wc -l` -gt 0 ]
then
rm -rf ${i#*del-}
else
STAMP=`date +%Y%m%d-%H%M%S-%s`
fileName=`basename $i`
mv $i $TRASH_DIR/$fileName.$STAMP
fi
done

2、检查磁盘哪个空间容量较大,目前我使用的是/data01目录,在该目录下创建.trash目录

3、在/etc/profile文件中添加别名 alias rm="sh /usr/local/.rmov.sh"

4、sourch /etc/profile即可。