一 ubuntu系统下使用rm命令删除文件,如何恢复?

如果是ext3/ext4文件系统,可以使用extundelete工具恢复。

$df-hT文件系统类型容量已用可用已用%挂载点/dev/sda1ext4455G366G66G85%/

参考文章:

1. http://longgeek.com/2012/11/25/extundelete-recovery-for-linux-ext2-ext3-ext4-rm-rf-accidental-deletion-of-data/

2. http://www.linuxyunwei.com/2012/08/ext4%E4%B8%AD%E6%81%A2%E5%A4%8D%E4%BD%BF%E7%94%A8rm%E5%91%BD%E4%BB%A4%E8%AF%AF%E5%88%A0%E9%99%A4%E7%9A%84%E6%96%87%E4%BB%B6/


二 建议安装好ubuntu后,先将rm命令做一下别名替换。

替换rm命令为mv命令,将要删除的文件移动到一个自定义的文件夹里,防止误删除。

代码如下:

1.在/home/username/目录下新建一个目录,命名为:.trash2.在/home/username/tools/目录下,新建一个shell文件,命名为:remove.sh。内容如下:PARA_CNT=$#TRASH_DIR="/home/username/.trash"foriin$*;doSTAMP=`date+%s`fileName=`basename$i`mv$i$TRASH_DIR/$fileName.$STAMPdone3.修改~/.bashrc,增加一行aliasrm="sh/home/username/tools/remove.sh"用我们自建的remove.sh替代rm命令4.设置crontab,定期清空垃圾箱,如:00***rm-rf/home/username/.trash/*每天0点清空垃圾箱5.source~/.bashrc使替换立即生效经过上面的步骤后,执行rm删除的文件,会被放入垃圾箱。如果误删除,可以从中恢复。6.由于~/.bashrc这个文件对root用户无效,所以也要修改/etc/bash.bashrc,这个文件有全局效应。在最后一行加上:aliasrm="sh/home/username/tools/remove.sh"

这样,把rm命令转换成了mv命令,能够达到想要的效果,只不过在习惯性的敲入-r 参数时会报出一个错误,因为mv命令没有-r参数嘛。