rm-safe
v0.0.4
Published
Use the `rm` shell command, safely.
Maintainers
Readme
rm-safe ✔️
Why 'adjust' rm?
👉 The rm command is a footgun.
If you're like me, you've shot yourself in the foot too many times using the standard rm shell command. This CLI module is a simple attempt at adding a layer of safety around rm, while still fulfilling its intended purpose.
rm has no built in safety. The files you target get unlinked, the metadata is removed, and it's just gone. In other words: if you delete something, its permanently deleted. If you're confident you'll use it correctly all the time, then more power to you, I only hope this module might ease your conscience more if you're not.
What's different?
safe-rm has two opinions:
1️⃣ A backup of the files you delete should be temporarily stored in a common /temp directory, so that you can recover something if you did not intend to delete it.
2️⃣ A last-ditch confirmation dialogue should happen whenever you use the -r, -rf, or -Rf flags. This way
Installation
Run $
npm install -g rm-safeIf you don't have one already, add a new local
~/tempdirectory to ensure the system always knows where to eventually delete your backup files.safe-rmwill add one for you when you first run it if it doesn't exist, but you'll still need to add this line to your local shell configuration file (eg.~/.bash_profile,~/.bashrc, etc):export TMPDIR=~/tempAdd an alias for the
rmcommand in your shell configuration file:alias rm="rm-safe"(Note: this will only work ifrm-safehas been installed globally).
Use
- If you added the alias, you can now use
rm-safejust like you're used to withrm. - If you'd rather not add an alias, you can just run $
rm-safecommand from your terminal. rm-safealso supports the use of standard wildcards (eg.rm my-directory/*,rm *.txt,*example*, etc).
