rm-safe
v0.0.4
Published
Use the `rm` shell command, safely.
Downloads
6
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-safe
If you don't have one already, add a new local
~/temp
directory to ensure the system always knows where to eventually delete your backup files.safe-rm
will 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=~/temp
Add an alias for the
rm
command in your shell configuration file:alias rm="rm-safe"
(Note: this will only work ifrm-safe
has been installed globally).
Use
- If you added the alias, you can now use
rm-safe
just like you're used to withrm
. - If you'd rather not add an alias, you can just run $
rm-safe
command from your terminal. rm-safe
also supports the use of standard wildcards (eg.rm my-directory/*
,rm *.txt
,*example*
, etc).