一 ubuntu系统下使用rm命令删除文件,如何恢复?
如果是ext3/ext4文件系统,可以使用extundelete工具恢复。
$ df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda1 ext4 455G 366G 66G 85% /
参考文章:
二 建议安装好ubuntu后,先将rm命令做一下别名替换。
替换rm命令为mv命令,将要删除的文件移动到一个自定义的文件夹里,防止误删除。
代码如下:
1. 在/home/username/ 目录下新建一个目录,命名为:.trash
2. 在/home/username/tools/目录下,新建一个shell文件,命名为:remove.sh。内容如下:
PARA_CNT=$#
TRASH_DIR="/home/username/.trash"
for i in $*; do
STAMP=`date +%s`
fileName=`basename $i`
mv $i $TRASH_DIR/$fileName.$STAMP
done
3. 修改~/.bashrc, 增加一行
alias rm="sh /home/username/tools/remove.sh"
用我们自建的remove.sh替代rm命令
4. 设置crontab,定期清空垃圾箱,如:
0 0 * * * rm -rf /home/username/.trash/*
每天0点清空垃圾箱
5. source ~/.bashrc 使替换立即生效
经过上面的步骤后,执行rm删除的文件,会被放入垃圾箱。如果误删除,可以从中恢复。
6. 由于~/.bashrc这个文件对root用户无效,所以也要修改/etc/bash.bashrc,
这个文件有全局效应。
在最后一行加上:alias rm="sh /home/username/tools/remove.sh"
这样,把rm命令转换成了mv命令,能够达到想要的效果,只不过在习惯性的敲入-r 参数时会报出一个错误,因为mv命令没有-r参数嘛。
转载于:https://blog.51cto.com/liangbing8612/1590128