linux中的 rm -rf * 删除文件确实很快,可以如果养成经常用 rm -rf * 这个习惯可就不好了。一不小心就把你重要的资料给删了。。。。 用rm删除的文件是很难恢复的。为了不让 rm -rf * 给我们带来的损失 ,我们可以把 /bin下的 rm改一名字字。然后,在 /bin下建一个名为 rm的bash程序
cd /bin
mv rm rm1
然后
touch rm
vim rm
/*=============== rm中内容如下
#!/bin/bash
# rm
if echo "$1" |grep \- ;then
opation="$1"
shift
fi
mkdir -p /.trash_all_users
:>/.trash_all_users/.rm_filename.txt
for i in "$@"
do
time=`date +%m-%d_%H-%M-%S`
mv "$i" /.trash_all_users/"$i"_"$time"
echo "$i"_"$time",`pwd`"/$i" >>/.trash_all_users/.rm_filename.txt
done;
=================================== */
再建一个 unrm 用于恢复
/*=================== unrm 内容如下
#!/bin/bash
# /bin/unrm
file="/.trash_all_users/.rm_filename.txt"
for i in `cat $file `;do
mv `echo "/.trash_all_users/$i"|tr "," " " `
done
:>$file
========================= */
chmod 755 rm
chmod 755 unrm
chmod 777 /.trash_all_users
cd /bin
mv rm rm1
然后
touch rm
vim rm
/*=============== rm中内容如下
#!/bin/bash
# rm
if echo "$1" |grep \- ;then
opation="$1"
shift
fi
mkdir -p /.trash_all_users
:>/.trash_all_users/.rm_filename.txt
for i in "$@"
do
time=`date +%m-%d_%H-%M-%S`
mv "$i" /.trash_all_users/"$i"_"$time"
echo "$i"_"$time",`pwd`"/$i" >>/.trash_all_users/.rm_filename.txt
done;
=================================== */
再建一个 unrm 用于恢复
/*=================== unrm 内容如下
#!/bin/bash
# /bin/unrm
file="/.trash_all_users/.rm_filename.txt"
for i in `cat $file `;do
mv `echo "/.trash_all_users/$i"|tr "," " " `
done
:>$file
========================= */
chmod 755 rm
chmod 755 unrm
chmod 777 /.trash_all_users
最后,每隔一段时间清空一次。清空的时候,就用 cd /.trash_all_users ;rm1 -rf * ,这下删除了可就再也恢复不回来了哦!!!!
本文转自 jxzhfei 51CTO博客,原文链接:http://blog.51cto.com/jxzhfei/1294249