Made gomi, ein Papierkorb-Tool für rm in Go-Sprache

Hintergrund: Die Geschichte der Implementierung eines Mülleimers in der Befehlszeile in Golang

logo

b4b4r07/gomi - GitHub

gomi is a simple trash script that works on CLI, written in golang

DEMO

Was ist gomi?

Papierkorb-Tool für CLI in Go-Sprache. Wenn Sie eine Datei löschen Sie können sie in einem eigenen Papierkorb (oder System-Papierkorb) zusammenfassen, bevor Sie sie wirklich löschen.

--Arbeit mit einer Binärdatei

Jeder, ich denke, Sie werden rm verwenden, um Dateien zu löschen, aber das versehentliche Löschen wichtiger Dateien ist etwas, was selbst Anfänger gelegentlich tun. Es gibt auch Zeiten, in denen Sie glauben, dass Sie es nicht brauchen, es löschen und einige Tage später das Bedürfnis verspüren.

In diesem gomi wird es einmal in einem dedizierten Papierkorb zusammengefasst, bevor es gelöscht wird. Außerdem wird der Verlauf zu diesem Zeitpunkt gespeichert, sodass Sie später problemlos darauf zugreifen können. Es kann auch einfach mit einer interaktiven Benutzeroberfläche wiederhergestellt werden.

Charakteristisch

Ein bekanntes ähnliches Papierkorbwerkzeug ist

Ersteres erfordert jedoch Python und letzteres erfordert Node.js. gomi ist eine einzelne Binärdatei und kann in jeder Umgebung ausgeführt werden.

Außerdem ermöglicht trash-cli interaktive Wiederherstellungen, aber es ist keine sehr gute Benutzeroberfläche, da es sich um einen numerischen Typ handelt. trash hat den Vorteil, dass es mit dem Papierkorb des Systems arbeiten kann, aber es kann einfach über die Befehlszeile wiederhergestellt werden (obwohl es an den Papierkorb in der Befehlszeile gesendet werden kann). Ich konnte nicht. Dieses gomi überwindet die Mängel beider und bietet als weitere Funktion die Möglichkeit, QuickLook-Dateien im Papierkorb zu speichern. Der Name der gelöschten Datei wird möglicherweise überschrieben, und manchmal möchten Sie den Inhalt schnell überprüfen. In einem solchen Fall ist es praktisch, eine Funktion zu haben, um einen Blick darauf zu werfen.

Verwenden Sie "gomi -s Dateiname", wenn Sie ihn anstelle des Papierkorbs gomi an den System-Papierkorb senden möchten. Natürlich können Sie es mit gomi -r oder mit der" return "-Funktion des Papierkorbs wiederherstellen.

quicklook.png

Wie benutzt man

  1. Löschen: Paket:

    $ gomi file
    
  2. Durchsuchen Sie den Papierkorb: mag:

    $ gomi -r
    

Die Benutzeroberfläche des Wiederherstellungsmodus wurde unter Bezugnahme auf peco implementiert. Wenn Sie die Datei in ~ / .gomi erneut löschen, wird sie tatsächlich gelöscht.

Wenn Sie ein Argument an -r übergeben, wird es in diesem Pfad wiederhergestellt (wenn Sie kein Argument übergeben, wird es am ursprünglichen Speicherort wiederhergestellt). Sie können das aktuelle Verzeichnis wiederherstellen, indem Sie gomi -r . Ausführen.

Es liest auch die Konfigurationsdatei im YAML-Format. Mit ignore_files können Sie Dateien, die Sie nicht im Verlauf behalten möchten, mithilfe von Platzhaltern usw. angeben (verbleibt im Papierkorb).

yaml:~/.gomi/config.yaml


ignore_files:
  - .DS_Store
  - "*~"

Werfen Sie einen Blick auf die Datei

Es ist eine QuickLook-ähnliche Funktion in OS X. Sie können mit C-q </ kbd> umschalten. Es hilft Ihnen zu sehen, welche Datei Sie wiederherstellen möchten.

Im Fall eines Verzeichnisses werden die Dateien und Unterverzeichnisse seines Inhalts rekursiv aufgelistet.

quicklook.png

Selbst in QuickLook ist die Schlüsselbindung im Wiederherstellungsmodus aktiv, sodass Sie zwischen den folgenden Dateien wechseln können, während Sie QuickLook mit * C-n * usw. ausführen, oder die Wiederherstellung mit der Eingabetaste ausführen können.

Plattformübergreifend

Sie können auch Windows verwenden.

gomi_windows.png

Installation

Wenn Sie ein Mac-Benutzer sind, der Homebrew verwendet, ist Folgendes in Ordnung (Linux wird nicht unterstützt).

$ brew tap b4b4r07/gomi
$ brew install gomi

Andernfalls können Sie es unten oder über GitHub Releases installieren.

$ go get -u github.com/b4b4r07/gomi

Wenn es sich nur um eine Binärdatei handelt, wird sie auf GitHub Releases hochgeladen.

Aufbau

Obwohl nicht erforderlich, empfehlen wir, den Befehl rm durch gomi zu ersetzen. Die Anzahl der Typen wird um 2 Zeichen reduziert (gomi rm), und Sie können die Handgewohnheit auch so löschen, wie sie ist.

~/.bashrc


alias rm="gomi"

Nachschlagewerke:

Ich habe es mit viel Nachdenken und Schwung geschaffen. Von nun an plane ich, es (vorerst für mich selbst) zu pflegen und den Quellcode und die Funktionen zu verbessern.

Recommended Posts

Made gomi, ein Papierkorb-Tool für rm in Go-Sprache
Ich habe ein Passwort-Tool in Python erstellt.
Ich habe eine Art einfaches Bildverarbeitungswerkzeug in der Sprache Go erstellt.
Erstellt ein Bibliotheksverwaltungstool nur für Header für C / C ++
Erstellen Sie einen Webserver in der Sprache Go (net / http) (1)
Ich habe ein CLI-Tool in der Sprache Go geschrieben, um Qiitas Tag-Feed in CLI anzuzeigen
Hinweise zum Einbetten der Skriptsprache in Bash-Skripte
Hinweis 2 zum Einbetten der Skriptsprache in ein Bash-Skript
Hallo Welt in GO-Sprache
Erstellt eine Bibliothek für Python, die die morphologische Teilung problemlos handhaben kann
Ich habe einen Tri-Tree geschrieben, der für die Implementierung von Hochgeschwindigkeitswörterbüchern in D-Sprache und Python verwendet werden kann
Versuchen Sie, Yuma in der Sprache Go zu implementieren
Erste Schritte mit SQLite in einer Programmiersprache
Erstelltes AtCoder-Testtool für Python
Schreiben Sie einen Test in GO-Sprache + Gin
Machen Sie etwas objektorientiertes in der GO-Sprache
Ich habe eine generische Python-Projektvorlage erstellt
Was Java-Benutzer davon gehalten haben, die Go-Sprache für einen Tag zu verwenden