Using the "rm" Command with Trash
Those who use regular file browsers like Nautilus, Dolphin, or Thunar are used
to having an item go into the Trash folder (or "Recycle Bin") when it is
deleted. This allows them to restore that file in the case that they
accidentally deleted it. However, the story is different on the command line.
rm command will irreversibly delete a file from your system (short of
using data recovery techniques) and has no concept of a Trash folder. This guide
will show you how to make
rm remove a file to the Trash folder first so that
you can prevent yourself from accidentally irreversibly deleting something
Bash and Bash-like Shells
(This also works in
alias rm='mv -t $XDG_DATA_HOME/Trash/' alias rm!='\rm'
C Shell and TENEX C Shell
alias rm 'mv -t $XDG_DATA_HOME/Trash/' alias rm! '\rm'
The aliases above do the following:
mvwhere any files specified will be moved to the standard trash folder instead of being deleted.
rm!to the normal
rmprogram which effectively makes
rm!a "permanently delete this" command.
If you don't have
$XDG_DATA_HOME defined (which you normally would if you're
running a standard desktop like Gnome or KDE) you can replace that bit with
whichever path you prefer such as
$HOME/.Trash. The folder you choose must
already exist or else
mv will be angry.