Skip to content

rm

Usage
rm [-e [options] | -S | args...]

Enhanced rm that routes deletions through trash when safe. With no arguments, lists current trash contents. -e/–empty empties the trash (with optional trash-empty sub-arguments). -S/–secure permanently deletes via rm -rf and triggers fstrim. Plain paths and -r/-R are sent to trash put; any other flags fall back to system rm.

Opinionated component (C1): when disabled via __fish_config_op_aliases (or the __fish_config_opinionated master), behaves exactly like bare command rm — no wrapper, no trash, no trapping.

Arguments:
(none) List current trash contents
-e, --empty [opts] Empty the trash; opts forwarded to trash empty
-S, --secure Permanently delete targets and run fstrim (irreversible)
-r, -R, --recursive Forwarded to trash put alongside path arguments
args... Files or paths to trash or remove

Returns:

0 Operation succeeded
1 trash put failed or file not found
Notes:
Falls back to /usr/bin/rm when trash is unavailable.
Examples
rm file.txt
rm -e
rm -S sensitive_key.pem