linux下操作,一个不慎就rm -rf *了,尤其是写rm -rf a.* 时,网络一卡,就变成rm -rf a. *,恢复相当麻烦。之前写过两篇相关文章,一个是关于命令安全重定向的http://blog.csdn.net/jlusuoya/article/details/73698205,一个是关于rm恢复的http://blog.csdn.net/jlusuoya/article/details/73698296,多年使用,造福不浅。
时间 太久了,可能也不太有效了,经过这么多年实践,alias最可靠,下面贴出经过改进的实际使用版本
trash()
{
fl=""
for arg in $@
do
if [ ${arg:0:1} != "-" ]; then
if [ ! -e $arg ]; then
echo "No such file or directory: rm $@"
else
fl="$fl $arg"
fi
fi
done
if [ "$fl" == "" ]; then
return
fi
dir=/home/jingdong.hjd/.trash/`date +%s`_$RANDOM
mkdir -p $dir
cmd="/bin/mv $fl $dir"
echo $cmd
$cmd
}
alias rm="trash"
alias trm="/bin/rm"