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 #永久删除 




posted @ 2020-04-18 20:31  caibingcheng  阅读(354)  评论(0编辑  收藏  举报