Linux下防止rm -frv 删除错误的解决办法

本文介绍了在Linux系统中如何防止`rm -frv`误删除文件,包括设置rm命令提示、改用回收站、自定义rm脚本以及定期数据备份的方法。同时提供了crontab定时备份脚本的示例,强调了良好备份习惯的重要性。
摘要由CSDN通过智能技术生成

今天本想删除~目录下datas里面的“MMM”文件夹;当进入到datas目录下时,不小心把命令写成了:rm -frv * MMM/【正确的应该是将* 写成rm -frv MMM/*  ,不知怎么搞得,就把* 写到MMM前面去了,哎真不知道当时咋了!!!】,之后用了一些数据恢复工具例如extundelete,xfs_irecover等工具均未能成功恢复!经过此处教训之后,总结以下几点:

Linux下防止rm -frv 删除错误的解决办法

一、重命令rm 命令

定义alias rm='rm -i',删除时会有提示,建议这样子修改,删除时能够确认;

二、改造rm ,删除到回收站

# 修改rm
alias rm=trash
alias r=trash
alias rl='ls ~/.trash/'
alias ur=recoverfile

recoverfile()
{
    mv -i ~/.trash/$@ ./
}

trash()
{
    mv $@ ~/.trash
}

修改完毕后,使用source .bashrc更新下,然后你就可以使用如下命令了:
rm: 删除文件到回收站
rl: 查看回收站内容
ur: 恢复文件到当前目录

三、自定义回收站功能

!/bin/bash

myrm(){

 D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok"; 
}

alias rm='myrm'

这样子当执行删除命令时,会将文件放到/tmp下的一个目录里面,而不会直接删除;

四、自定义加强版本的rm

#!/bin/bash

# VARIABLES
VERSION="0.3"
TO_DELETE=()
RECURSIVE=false
FOREVER=false
VERBOSE=false

# FUNCTIONS
function show_help()
{
    echo -e ""
    echo -e "This is custom script used to avoid deleting files forever"
    echo -e "instead files will be moved to $HOME/.Trash folder"
    echo -e "and this script only works if you invoked it directly from the terminal"
    echo -e "it doesn't work if for example git used rm or if you used rm in other scripts"
    echo -e ""
    echo -e
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值