/rm-trash

🗑 Safe(r) deletion of files from the macOS command line

Primary LanguagePythonMIT LicenseMIT

rm-trash

GitHub release (latest SemVer)

rm-trash is a macOS command-line utility that moves files and directories to the Trash. Unlike similar tools, rm-trash intends to be a complete alternative to rm and rmdir, to the extent that you could use aliases to have rm-trash replace them both.

rm-trash works by communicating with Finder through AppleScript, so it's no different from moving files to the Trash from within Finder itself.

Installation

Install rm-trash with Homebrew via the Houkago Tea Tap.

brew tap celsiusnarhwal/htt
brew install rm-trash

Usage

Invoke rm-trash with the trash command, which will become available after installation.

trash --help

will tell you everything you need to know.

Replacing rm and rmdir

If you wish, you can replace rm and rmdir with aliases to trash.

alias rm="trash trash"
alias rmdir="trash dir"

trash supports all options of both commands. Run trash --help for details.

Limitations

rm-trash refuses to as root when System Integrity Protection (SIP) is disabled. You can still run rm-trash as a non-root user when SIP is disabled, or as any user when SIP is enabled. This limitation is intended to prevent you from accidentally trashing files and directories that are typically protected by SIP.

If you must remove files as root while SIP is disabled, you can always fall back to rm.

License

rm-trash is licensed under the MIT License.