babarot / gomi

šŸ—‘ļø Replacement for UNIX rm command!
https://babarot.me/gomi
MIT License
316 stars 13 forks source link
cli go gomi trash trashcan

gomi

License GitHub Releases
Website GitHub Releases Go version

šŸ—‘ļø Replacement for UNIX rm command!

gomi (恔ćæ/go-mi means a trash in Japanese) is a simple trash tool that works on CLI, written in Go

The concept of the trashcan does not exist in Command-line interface (CLI). If you have deleted an important file by mistake with the rm command, it would be difficult to restore. Then, it's this gomi. Unlike rm command, it is possible to easily restore deleted files because gomi have the trashcan for the CLI.

Features

Usage

$ alias rm=gomi
$ rm -rf important-dir
$ rm --restore
Search: ā–ˆ
Which to restore?
  ā–ø important-dir
    main_test.go
    main.go
    test-dir
ā†“   validate_test.rego

Name:             important-dir
Path:             /Users/b4b4r07/src/github.com/b4b4r07/important-dir
DeletedAt:        5 days ago
Content:            (directory)
  -rw-r--r--  important-file-1
  -rw-r--r--  important-file-2
  drwxr-xr-x  important-subdir-1
  drwxr-xr-x  important-subdir-2
  ...

Installation

Download the binary from GitHub Releases and drop it in your $PATH.

For macOS / Homebrew user:

brew install b4b4r07/tap/gomi

Using afx, package manager for CLI:

github:
- name: b4b4r07/gomi
  description: Trash can in CLI
  owner: b4b4r07
  repo: gomi
  release:
    name: gomi
    tag: v1.1.5 ## NEED UPDATE!
  command:
    link:
    - from: gomi
      to: gomi
    alias:
      rm: gomi ## --> alias rm=gomi

AUR users:

https://aur.archlinux.org/packages/gomi/

Versus

License

MIT