#trash #directory #removing #rm #location #ing

app rmsafe

safely removing files and directories; moving them to trash

27 stable releases (3 major)

4.0.0 Nov 21, 2025
3.1.4 Nov 3, 2025
3.1.3 Oct 20, 2025
2.5.0 May 26, 2024
1.6.5 Nov 27, 2022

#266 in Filesystem

MIT license

7KB
74 lines

rmsafe (remove_safely)

Introduction

After (almost) accidentally removing a file with about week's worth of changes for my C lang assignment, I took it as an excuse to lear a bit more of Rust and re-write the rm command.

Basics

Instead of just rm(ing) files and folders, they instead are moved to the local trash or custom path location.

Installation

cargo install rmsafe

Usage

// view help 
rms

// removing a single file
rmsafe test.txt

// removing a single folder; it will recursively move the folder to trash
rmsafe test_dir

// removing files with wildcard matching; removing all files ending with .o
// the shell is supposed to handle the glob expansion not the program
rmsafe -r *.o


Change your .bashrc to include the following

alias rm='printf "Avoid using rm!"'

This disallows the use of rm, you can still use sudo rm and not setting rmsafe to rm ensures that you don't accidentally rm while on someone else's computer

Contribution

Open up an issue on GitHub and I'll be in touch!

No runtime deps