7个版本

0.1.6 2022年10月20日
0.1.5 2022年10月15日

#686 in 文件系统

每月 35次下载

MIT/Apache

540KB
889

包含(《b>ELF可执行文件,1MB) bin/rmx

rmx

Crates.io Crates.io Crates.io

具有额外功能的跨平台GNU rm替代品

关于

此项目是GNU rm的紧密端口。想法是扩展rm API,并带来一些改进的性能,特别是对于大文件和深度嵌套的目录。

功能

  • 🐧 原始GNU rm API
  • 📎 系统垃圾箱集成(-t
  • ⚡ 极速
  • 💀 不可恢复删除(--shred
  • 🔎 更多过滤选项
  • 😄 你告诉我

基准测试

基准测试定义在这里

运行

为了分析rmx在您的系统上的性能

cargobench

比较

删除 rmx rm rmt rmd
文件 4.9297ms 19.991ms 10.003ms 9.2056ms
递归嵌套文件夹 4.9784ms 20.122ms 10.135ms 9.3328ms
多个深度嵌套文件夹 4.8809ms 19.504ms 10.308ms 9.2406ms
多个深度嵌套文件夹(rip模式) 4.2580ms - - -

在commit: 34e1e5a2时在Alienware M15 R6上获得的数据

rmx始终在提供与GNU rm相同API的同时提供更好的性能

示例

删除深度嵌套目录(极快)

rmx--rip node_modules

将文件发送到系统垃圾箱

rmx file1 file2-t

rmx--跟随-链接链接

擦除文件并使其不可恢复

rmx--shred file

标准GNU rm使用方法

  • rmx --one-file-system -i *.txt 处理更多的glob匹配参数,rm在约10k+匹配时崩溃
  • rmx--保留-root=/home--交互式=一次/home/*/*
  • rmx--详细-rf--no-保留-root/

安装

源代码

crates.io

cargo安装rmx

二进制文件

AUR: yay rmx-bin

预构建的二进制文件

所有发布目标请在此处查找:链接

最新的linux-musl 二进制文件

进阶技巧

在您喜欢的shell rc 文件中添加以下内容: alias rm='rmx'

免责声明

  1. 请勿将此工具用于自动化/生产用途,这不是GNU rm的1:1端口,其底层系统调用也不相同。
  2. 您可能会体验到不同的性能结果,总的来说,rmx可以提高计算负载。I/O可能仍然是您的最大瓶颈。
  3. 使文件内容无法恢复的操作在当今时代并不完全可靠。

依赖项

~4–33MB
~453K SLoC