c't 22/2016
S. 182
Praxis
Linux-Befehle auf Probe

Was wäre, wenn?

Trockenlauf für Kommandozeilenbefehle unter Linux

Ein falscher Parameter, vertauschte Quell- und Zielangaben oder schlicht der falsche Befehl, schon hat man versehentlich den Anfang der Festplatte statt des USB-Sticks überschrieben oder die Dissertation Datei für Datei ins Nirwana entsorgt. Mit Maybe sehen Sie, welche Auswirkungen ein neu erlernter oder selten genutzter Befehl hätte, ohne Ihre Daten zu gefährden.

Wie war das nochmal mit dem Backup-Befehl? Irgend etwas mit rsync, es wird sich schon in der Bash-History finden. Wenige Sekunden später ist die Arbeit der letzten Tage im Nirvana verschwunden, weil man versehentlich den Befehl für das Restore erwischt und Rsync fein säuberlich sämtliche Dokumente seit dem letzten Backup gelöscht hat. Auch Admins sind vor solch banalen Fehlern nicht gefeit: Wer hat noch nie bei mkfs oder dd das falsche Device angegeben und damit eine Festplatte anstelle des gerade angeschlossenen USB-Sticks überschrieben? Die Erkenntnis kommt meist erst einige Sekunden später – zu spät.

Gefährlich sind vor allem Befehle aus der History, die nicht mehr auf die aktuellen Gegebenheiten passen, alte Shell-Skripte von anderen Rechnern, Anleitungen und Beispiele aus dem Internet und selten benutzte Kommandos mit vielen Parametern. Mit dem Python-Skript maybe können Sie solche Situationen entschärfen, indem Sie im Zweifel erst einen Trockenlauf starten und sich ansehen, was der Befehl tatsächlich bewirken würde.