A simple, cross-platform, command-line move-to-trash.
The del
command is a simple alternative to using the standard rm
command.
Using rm
as a matter of course can be dangerous and prone to mistakes. Once a file is
unlinked with rm
it cannot be recovered (without having backups).
All major graphical environments offer a "move to trash" option. This does a clean move operation to a "trash" folder. Once a file as been put in the trash it can be recovered easily. Periodically, the trash can be emptied if desired.
del
is a command-line implementation of this metaphor. It maintains a basic
sqlite3
database of files and folders put in the trash. Using the --list
option
will list the contents. Using --restore
will restore a file or folder from the trash.
Using --empty
will purge anything put in the trash by del
.
If you already have Python 3.12+ on your system, you can install del
using Pip.
pip install delete-cli
Calling del
with no arguments or with the --help
flag yield typically Unix
style behavior, print a usage or help statement, respectively. For detailed usage and
examples you can read the manual page, man del
.
Deleting files and folders is as simple as:
del file1.txt file2.txt folderA
Files or folders that get deleted with the same basename will have a suffix added before
the extension (e.g., file1.1.txt
, file1.2.txt
, ...).
Restore files using their basename (in the trash), their full path (in the trash) or their original full path.
Documentation is available at delete-cli.readthedocs.io.
For basic usage information on the command-line use: del --help
. For a more comprehensive
usage guide on the command line you can view the manual page with man del
.
Contributions are welcome in the form of suggestions for additional features, pull requests with new features or bug fixes, etc. If you find bugs or have questions, open an Issue here. If and when the project grows, a code of conduct will be provided along side a more comprehensive set of guidelines for contributing; until then, just be nice.