Hintergrund: Die Geschichte der Implementierung eines Mülleimers in der Befehlszeile in Golang
gomi is a simple trash script that works on CLI, written in golang
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.
Ein bekanntes ähnliches Papierkorbwerkzeug ist
Command line interface to the freedesktop.org trashcan.
Cross-platform command-line app for moving files and directories to the trash - A safer alternative to
rm
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.
Löschen: Paket:
$ gomi file
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
- "*~"
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.
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.
Sie können auch Windows verwenden.
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.
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"
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