Crates.io | rm-improved |
lib.rs | rm-improved |
version | 0.13.1 |
source | src |
created_at | 2016-09-20 05:05:41.566106 |
updated_at | 2020-02-28 09:20:29.911019 |
description | rip: a safe and ergonomic alternative to rm |
homepage | |
repository | https://github.com/nivekuil/rip |
max_upload_size | |
id | 6553 |
size | 28,287 |
=rip= is a command-line deletion tool focused on safety, ergonomics, and performance. It favors a simple interface, and does /not/ implement the xdg-trash spec or attempt to achieve the same goals.
Deleted files get sent to the graveyard (=/tmp/graveyard-$USER= by default, see [[https://github.com/nivekuil/rip#-notes][notes]] on changing this) under their absolute path, giving you a chance to recover them. No data is overwritten. If files that share the same path are deleted, they will be renamed as numbered backups.
=rip= is made for lazy people. If any part of the interface could be more intuitive, please open an issue or pull request.
** ⚰ Installation Or get a binary [[https://github.com/nivekuil/rip/releases][release]] (Linux x86_64, ARMv7 and macOS), untar it, and move it somewhere on your $PATH: #+BEGIN_EXAMPLE $ tar xvzf rip-*.tar.gz $ mv rip /usr/local/bin #+END_EXAMPLE
or build it: #+BEGIN_EXAMPLE $ cargo install rm-improved #+END_EXAMPLE
Arch Linux users can install it from the [[https://aur.archlinux.org/packages/rm-improved/][AUR]] (thanks @Charon77!) #+BEGIN_EXAMPLE $ yay -S rm-improved #+END_EXAMPLE ** ⚰ Usage #+BEGIN_EXAMPLE USAGE: rip [FLAGS] [OPTIONS] [TARGET]...
FLAGS: -d, --decompose Permanently deletes (unlink) the entire graveyard -h, --help Prints help information -i, --inspect Prints some info about TARGET before prompting for action -s, --seance Prints files that were sent under the current directory -V, --version Prints version information
OPTIONS:
--graveyard
ARGS:
Position: Shooting Guard and Small Forward ▪ Shoots: Right 6-6, 185lb (198cm, 83kg) Send file1 to the graveyard? (y/n) y #+END_EXAMPLE Print files that were deleted from under the current directory #+BEGIN_EXAMPLE $ rip -s /tmp/graveyard-jack/home/jack/file1 /tmp/graveyard-jack/home/jack/dir1 #+END_EXAMPLE Name conflicts are resolved #+BEGIN_EXAMPLE $ touch file1 $ rip file1 $ rip -s /tmp/graveyard-jack/home/jack/dir1 /tmp/graveyard-jack/home/jack/file1 /tmp/graveyard-jack/home/jack/file1
1 #+END_EXAMPLE -u also takes the path of a file in the graveyard #+BEGIN_EXAMPLE $ rip -u /tmp/graveyard-jack/home/jack/file1 Returned /tmp/graveyard-jack/home/jack/file1 to /home/jack/file1 #+END_EXAMPLE Combine -u and -s to restore everything printed by -s #+BEGIN_EXAMPLE $ rip -su Returned /tmp/graveyard-jack/home/jack/dir1 to /home/jack/dir1 Returned /tmp/graveyard-jack/home/jack/file11 to /home/jack/file1~1 #+END_EXAMPLE ** ⚰ Notes