rm mit Backup und Restore
Geschrieben am 21-06-2025 - ⧖ 1.0 minUnter 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.