rm mit Backup und Restore

Unter https://strcat.de/hacks/ habe ich das eklige, aber funktionierende Shar-Archive Namens rm-replacements.shar rumliegen, das als Dateien nicht endgültig löscht, sondern in ein anderes Verzeichnis kopiert, von dem aus sie dann entweder gelöscht oder auch wieder hergestellt werden können. Das ganze funktioniert, aber ist relativ lahm (zwecks Shellscript und so). Dafür gibt es mittlerweile einige Alternativen; eine davon ist gomi.
Nachdem man das Programm installiert hat, kann man rm(1) durch ein Alias ersetzen; ich mache das etwas anders, da ich die Konfigurationsdatei meiner Shell auf verschiedenen Maschinen einsetze (Linux, *BSD, ..). Im Beitrag Mit der Zsh functions/aliases/commands/builtins auf Existenz prüfen hab ich schonmal geschrieben wie das funktioniert. In dem Fall ist es relativ einfach:

if (( $+commands[gomi] )); then
  alias rm="gomi"
fi

Will man jetzt eine Datei löschen, reicht ein rm dateiname und die Datei wird in das in der ~/.config/gomi/config.yaml angegebene Trashdir verschoben. Wenn man sie von dort aus wieder herstellen will, kann man das bequem mit gomi -b bzw. (sofern das Alias erstellt wurde) rm -b.

For comments, please send me an email