Skip to content
/ rmtrash Public

rmtrash is a small utility that will move the file to macOS's Trash rather than obliterating the file (as rm does).

License

Notifications You must be signed in to change notification settings

TBXark/rmtrash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rmtrash

rmtrash is a small utility that will move the file to macOS's Trash rather than obliterating the file (as rm does).

Click to see the preview image

Install

brew install tbxark/repo/rmtrash
mint install tbxark/rmtrash
Manually

Download the binary and put it in /usr/local/bin.

Usage

Syntax

rmtrash [-f | --force] {[-i | --interactive[=always]] | [-I | --interactive=once] |
   [--interactive=never]} [--one-file-system | -x] [--no-preserve-root |
   --preserve-root] [-r | -R | --recursive] [-d | --dir] [-v | --verbose] 
   FILE...

rmtrash --help

rmtrash --version

Options

Options Description
-f, --force Ignore nonexistant files, and never prompt before removing.
-i Prompt before every removal.
-I Prompt once before removing more than three files, or when removing recursively. This option is less intrusive than -i, but still gives protection against most mistakes.
--interactive[**=**WHEN] Prompt according to WHEN: never, once (-I), or always (-i). If WHEN is not specified, then never prompt.
--one-file-system, -x When removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument
--no-preserve-root Do not treat "/" (the root directory) in any special way.
--preserve-root Do not remove "/" (the root directory), which is the default behavior.
-r, -R, --recursive Remove directories and their contents recursively.
-d, --dir Remove empty directories. This option permits you to remove a directory without specifying -r/-R/--recursive, provided that the directory is empty. In other words, rmtrash -d is equivalent to using rmdir.
-v, --verbose Verbose mode; explain at all times what is being done.
--help Display a help message, and exit.
--version Display version information, and exit.

Usage notes

If the -I/--interactive=once option is given, and there are more than three files or the -r/-R/--recursive options are specified, rm prompts before deleting anything. If the user does not respond yes/y/Y to the prompt, the entire command is aborted.

Removing directories

By default, rm does not remove directories. If the -r/-R/--recursive option is specified, however, rm removes any matching directories and their contents.

If the specified directory is empty, it may be removed with the -d/--dir option, instead.

Environment

  • RMTRASH_INTERACTIVE_MODE If set, it will be used as the default value for the --interactive option.

Alias Recommended

Also, you can add the following aliases to your shell profile:

alias del="rmtrash"
alias trash="rmtrash"
alias rm="echo Use 'del', or the full path i.e. '/bin/rm'"

Known issues

  • rm can't delete the current executable directory, but rmtrash can, but I don't think that's a bug, it's a feature.

License

rmtrash is released under the MIT license. See LICENSE for details.

About

rmtrash is a small utility that will move the file to macOS's Trash rather than obliterating the file (as rm does).

Topics

Resources

License

Stars

Watchers

Forks