首页 > 代码库 > ubuntu系统下使用rm命令删除文件

ubuntu系统下使用rm命令删除文件

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

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

$ df -hT
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sda1    ext4      455G  366G   66G   85% /

    参考文章:

    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/ 目录下新建一个目录,命名为:.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参数嘛。




本文出自 “凉冰” 博客,请务必保留此出处http://liangbing8612.blog.51cto.com/2633208/1590128

ubuntu系统下使用rm命令删除文件