Kopieren mit Sicherheitsnetz

Vielen von uns ist es schon passiert: man kopiert eine Datei und stellt hinterher fest, dass die Zieldatei bereits existierte und nun überschrieben worden ist.
Während die meisten grafischen Benutzeroberflächen wie Windows oder der Finder von Mac OS X zur Sicherheit nachfragen, ob die Zieldatei überschrieben werden soll, kopiert die Shell unter Linux ohne Rückfrage. Nach dem Motto: „Der Anwender wird schon wissen, was er tut!
Das muss aber nicht sein! Das Kopierkommando cp des GNU-Projekts verfügt über die Option --backup. Wenn Sie diese Option nutzen, sorgt cp automatisch dafür, dass eine eventuell bestehende Datei erhalten bleibt. Von der alten Datei wird vor dem Kopiervorgang eine Sicherungskopie mit einer angehängten Tilde (~) erstellt:

schulz@batista:~ > touch orig kopie
schulz@batista:~ > cp --backup orig kopie
schulz@batista:~ > ls -l
-rw-r--r-- 1 schulz users 0 2010-02-28 08:26 kopie
-rw-r--r-- 1 schulz users 0 2010-02-28 08:26 kopie~
-rw-r--r-- 1 schulz users 0 2010-02-28 08:26 orig

Aber cp kann noch mehr! Mit der Option --backup=numbered erstellt cp nicht nur eine Sicherungskopie, sondern beliebig viele, die einfach durchnummeriert werden:

schulz@batista:~ > cp --backup=numbered orig kopie
schulz@batista:~ > ls -l
-rw-r--r-- 1 schulz users 0 2010-02-28 08:29 kopie
-rw-r--r-- 1 schulz users 0 2010-02-28 08:26 kopie~
-rw-r--r-- 1 schulz users 0 2010-02-28 08:26 kopie.~1~
-rw-r--r-- 1 schulz users 0 2010-02-28 08:26 orig

Falls Ihnen diese Unterstützung beim Kopieren gefällt, können Sie mit

alias cp='cp --backup=numbered’

dafür sorgen, dass Sie automatisch immer mit Sicherheitskopien arbeiten.

Viel Spaß auf der Shell!