July 9, 2018

Trash-cli - A command-line interface to the FreeDesktop.org Trash

So, I’m sure I’m not the only user who has in the past mistakenly deleted the wrong file(s) in the shell. And it always seems to be that one super important document you just spent like five sweaty hours on as well. :/

This is where trash-cli comes into the picture. It’s a simple and straightforward command-line tool written in Python that works as a interface to the FreeDesktop.org trash. And instead of straight up deleting your files with the command rm, you can use trash to put them in your FreeDesktop.org trash and then recycle them at a later stage.

Usage

You put a file or folder in the trash with the command trash-put <file> or just trash <file. To list your trashed files you use the command trash-list:

$ trash-list
2018-07-09 14:14:04 /home/johan/Unpack-4461
2018-07-09 14:13:46 /home/johan/rsync-bosco-2018-06-17.log
2018-07-09 14:13:17 /home/johan/lol_felt_bad.jpg

To restore a file or a folder you use the command trash-restore followed by the corresponding number:

$ trash-restore
   1 2018-07-09 14:14:04 /home/johan/Unpack-4461
   2 2018-07-09 14:13:46 /home/johan/rsync-bosco-2018-06-17.log
   3 2018-07-09 14:13:17 /home/johan/lol_felt_bad.jpg
What file to restore [0..3]: 3

If you wish to recycle all your trashed files you can do so with the command trash-empty. Note that it’s also possible to only recycle files older than a specified value, for an example this example will only recycle files older than 30 days:

trash-empty 30

Installation

It’s available in both the official repositories for Arch Linux, Ubuntu and via the Python package manager pip with the name trash-cli.

Arch Linux:

# pacman -S trash-cli

Ubuntu:

# apt install trash-cli

pip:

$ pip install trash-cli --user

Comments

I'm looking into a good way of implementing comments on my blog that works without JavaScript, respects the users privacy and is reasonably user friendly. If you have any ideas or just want to give me some feedback on this blog post or if you just want to say hello, feel free to do so either via e-mail, XMPP or Mastodon.