zoukankan      html  css  js  c++  java
  • rmm 一个替换rm 的工具

    rmm 一个替换rm 的工具

    项目地址:https://gitee.com/jerry323/rmm
    欢迎pull request

    起因:

    在执行rm命令的时候,有时会因为动作太快,开不及思考,而删除一些重要的文件,此时再找回就很难了。

    rmm

    rmm是一个用于替换rm命令的命令行工具。

    将rm命令替换为mv命令,会在$HOME路径下新建一个.trash目录,将执行rmm命令后会将删除的文件mv到.trash下,做到假删除的目的,必要的时候可以恢复或者调用rm永久删除。

    .trash

    • .trash路径
      在.trash目录下,会新建一个以日期命名的文件夹,存放当日删除的文件。例如20200418,在该目录下,会有removelog和restorelog两个系统文件,用于记录和恢复被删除的文件。
      如:
    └── 20200418
        ├── 18_40_00_066892185_test
        ├── 18_40_00_076467961_test1
        ├── 18_40_00_079269798_test2
        ├── removelog
        └── restorelog

    被删除的文件是test、test1、test2,在trash路径下会以“小时_分_秒_时间戳_文件名”的格式保存。

    • removelog
      看一下removelog里面是些啥:
    /home/***/test /home/***/.trash/20200418/18_40_00_066892185_test
    /home/***/test1 /home/***/.trash/20200418/18_40_00_076467961_test1
    /home/***/test2 /home/***/.trash/20200418/18_40_00_079269798_test2

    log里记录了被删除文件的原始路径和被删除文件在trash下的路径。当文件被恢复时,则对应的条目会被删除。

    • restorelog
      restorelog则是记录的文件恢复的情况,只有当恢复了文件时,这个log才会被写入,目前仅用于记录。

    rmm命令

    • 删除
    touch 111
    mkdir 222
    rmm 111 222 #会“删除”111 和 222
    • 恢复
    rmm -b  #列出可恢复项
    #eg.
    #20200402:
    #    --  /home/xxxx/bin/111 --> 20200402/15_45_03_641013526_111
    #    --  /home/xxxx/bin/222 --> 20200402/15_45_03_651633533_222
    #    restore: 20200402/15_45_03_651633533_222                   #这个是需要输入的
    #Restore 20200402/15_45_03_651633533_222 --> /home/xxxx/bin/222
    #此时恢复了222文件
    • 更多的命令
    rmm -s #展示所有可恢复的文件
    rmm --version #显示版本号
    rmm -d #永久删除 




    分享自由,尊重著作权
  • 相关阅读:
    我的20130220日 在北京 do{ Web Develop } while(!die)
    关于NVelocity模板引擎初学总结
    C# 23种设计模式汇总
    基于模型的设备故障检测
    图像去噪之光斑去除
    虹膜识别
    封闭曲线拟合
    基于故障树的系统可靠性分析
    图像识别之棋子识别
    时间序列的模式距离
  • 原文地址:https://www.cnblogs.com/jerry323/p/12727892.html
Copyright © 2011-2022 走看看