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

rmm 一个替换rm 的工具相关推荐

  1. 【Linux操作系统】--攥写一个简易的shell工具

    目录 做一个简易的shell 第一步:打印提示符,在同一行打印出提示符 第二步:获取标准输入,获取命令字符串 第三步:将字符串分割,解析字符串 第四步:替换进程,执行第三方命令 3.5.执行第三方命令 ...

  2. 封装一个常用的js工具类

    /*** @author:水痕* @timer:2016-07-28* @email:332904234@qq.com* @version:1.0* @title:封装一个自己常用的工具类js* @n ...

  3. 求一个文章原创检测工具源码 C#的 谢谢 私我

    求一个文章原创检测工具源码 C#的 谢谢 私我@TOC 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用Markdown编辑器, ...

  4. python怎么写自己的名字_用python写一个序列图改名工具

    在工作中经常遇到辛苦渲染得到的序列图名字不对,怎么办! 求人不如求自己,用python写一个批量改名的工具,从此改名不求人.比如我想把名字为cat.01.jpg改为dog.001.jpg 写了半天,我 ...

  5. native2ascii Java的一个文件转码工具(properties文件汉字转换)

    native2ascii native2ascii.exe 是 Java 的一个文件转码工具,是将特殊各异的内容 转为 用指定的编码标准文体形式统一的表现出来,它通常位于 JDK_home\bin 目 ...

  6. linux清空垃圾箱的命令,Linux命令替换rm命令防止误删除

    1. 在/home/username/ 目录下新建一个目录,命名为:.trash 2.. 在/home/username/tools/目录下,新建一个shell文件,命名为: remove.sh PA ...

  7. opengl中的Floatbuffer和IntBuffer与java中数据的存储方式不同的解决方法,编辑一个自己的BufferUtil工具类

    opengl中的Floatbuffer和IntBuffer与java中数据的存储方式不同的解决方法,编辑一个自己的BufferUtil工具类 参考文章: (1)opengl中的Floatbuffer和 ...

  8. python实现火车票查询工具_Python 实现一个火车票查询的工具

    原标题:Python 实现一个火车票查询的工具 作者 sexycoder 本文转载自简书,转载需授权 使用 python 实现一个查询火车票的小工具 主要功能: 输入出发车站,到达车站,时间,然后返回 ...

  9. python测试开发自学教程-Web开发哪家强?看我用 Python 写一个颜值测试小工具

    我们知道现在有一些利用照片来测试颜值的网站或软件,其实使用 Python 就可以实现这一功能,本文我们使用 Python 来写一个颜值测试小工具. 简介 要实现颜值测试功能,大致有两种方式:一种是自己 ...

最新文章

  1. 主成分分析(PCA)Python代码实现
  2. 湖南城市学院c语言试卷题目,英语四级、计算机二级--C语言应该怎样复习?考试有哪些题型?...
  3. excel 某个单元格不是等于空值_这些稀奇古怪的符号,却是Excel高手们常玩的!...
  4. 下载CentOS镜像
  5. django进阶06数据库事务
  6. CPU负载均衡之loadavg计算
  7. Win10 配置 Python 环境变量
  8. mysql查询一张表中一共有多少条数据
  9. Django REST framework API 指南(19):内容协商
  10. springboot的底层注解【详细】
  11. 计算机在线考试系统监考,在线考试系统怎样实现监考功能
  12. MongoDB University课程M103 Basic Cluster Administration 学习笔记
  13. DirectX支配游戏 历代GPU架构全解析
  14. QT QProcess 使用及实时输出回显
  15. GTA5快速进入线上模式
  16. 波及Win 11,让安全员自动放弃的零日漏洞,微软这次麻烦了
  17. 定期存款怎么存定期存款怎么存?银行定期存款怎么存最划算?
  18. 20届icoding 实验1
  19. Power BI 矩阵总计放表第一列
  20. vue动态加载图片问题

热门文章

  1. android nvram读写,MTK Android平台Nvram与Gensor数据获取
  2. 基于WiFi6路由器搭建AGV运输车控制网络
  3. python类计算器开发_开发一个简单的python计算器
  4. Protocol Buffer 时间类型定义
  5. 顺序查找 题目编号:517
  6. echart旭日图_echarts(10):旭日图
  7. 引擎设计跟踪(九.8) Gizmo helper实现与多国语言
  8. papers-06-07
  9. 海量数据等概率选取问题
  10. Java回炉学习(三)