Get some rapid-eye-movement sleep knowing your files are safe.
Rem is a CLI trash which makes it ridiculously easy to recover files. We've all had that moment when we've deleted something we realised we shouldn't have. It sucks. Let's fix that!
Let's say we have the following file structure
.
├── someDir
│ └── someFile
└── someFile
Next, we want to delete someDir
. Simple!
rem someDir
Now it looks like this:
.
└── someFile
Oh no! We actually needed that directory!
rem --undo someDir
Back to:
.
├── someDir
│ └── someFile
└── someFile
It's really that easy.
You can also delete files of the same name with no problem:
rem someDir/someFile someFile
Build from source or use:
brew install quackduck/tap/rem
Simply remove the executable or use:
brew uninstall rem
Usage: rem [-t/--set-dir <dir>] [--disable-copy] [--permanent | -u/--undo] <file> ...
rem [-d/--directory | --empty | -h/--help | --version | -l/--list]
rem --rm-mode [options] [files]
Options:
-u/--undo restore a file
-l/--list list files in trash
--empty empty the trash permanently
--permanent delete a file permanently
-d/--directory show path to the data dir
-t/--set-dir <dir> set the data dir and continue
-q/--quiet enable quiet mode
--disable-copy if files are on a different fs, don't move by copying
-h/--help print this help message
--version print Rem version
--rm-mode enable GNU rm compatibility mode
run "rem --rm-mode --help" for more info
-- all arguments after this are considered files
Rem stores its data at $XDG_DATA_HOME/rem
or .local/share/rem
by default. Alternatively, set the data directory using $REM_TRASH
or with the -d
option.
Thanks to u/skeeto for helping me with race conditions and design here