我们经常使用rm去删除一些文件,如果不小手一抖,那么就悲剧了,你们都懂的。。。
在经历过一次这样的惨剧后,决定永远杜绝这种情况,重写写了shell函数,执行安全的rm。这个函数会把要删除的文件按日期备份到指定的目录,同时根据删除时间的不同会有多个版本,同时提供了另外一个函数用于恢复之前删除的文件。
# safe rm
# Don't remove the file, just move them to a temporary directory.
# Files are grouped by remove time.
# e.g.
# # pwd => /home/work/
# > rm -r -f aa
# 'aa' will move to ~/.TrashHistory/20141018/aa@120111@_home_work_aa
_RM_BACKUP_PATH=/Users/louzhenlin/.TrashHistory
function safe_rm() {
# skip cmd option, e.g. '-rf' in 'rm -rf a b' or '-r/-f' in 'rm -r -f a b'
local first_char=${1:0:1}
until [ ! "$first_char" = "-" ]
do
shift
first_char=${1:0:1}
done
# check param
if [ $# -lt 1 ]; then
echo &#