Teamwork

The Answer Girl

01.08.2001
Dass der Computeralltag auch unter Linux des Öfteren für Überraschungen gut ist, ist eher eine Binsenweisheit: Immer wieder funktionieren Dinge nicht oder nicht so, wie eigentlich angenommen. Das Answer-Girl im LinuxUser zeigt, wie man mit solchen Problemchen elegant fertig wird.

Sei es die Studienarbeit, ein Vortrag, Buch, Artikel oder Programmierprojekt – wenn man über längere Zeit an einem (Quell-)Text arbeitet, kommt früher oder später der Tag, an dem man sich wünscht, den letzten Montag gelöschten Abschnitt doch wieder zurückholen zu können. Doch gelöscht ist gelöscht, und wer nimmt sich dann nicht vor, es nächstes Mal besser zu machen?

Versionskontrolle im Kleinen …

Wer allein arbeitet und einigermaßen Durchhaltevermögen hat, fängt möglicherweise an, sich die letzte Version (z.B. kursskript-2.tex) zu Beginn einer Arbeitsrunde in eine neue Datei mit fortlaufender Nummer (kursskript-3.tex) zu kopieren. Welche Version die von letztem Montag war, bekommt man aus der Datumsangabe heraus, die ls -l kursskript* als letztes Änderungsdatum angibt.

Warum dann nicht gleich den Datumsstempel mit im Dateinamen verpacken? Mit date liefert ein Unixsystem die aktuelle Datums- und Zeitangabe schließlich frei Haus, und mit den rückwärts zeigenden Hochkommata kann man die Shell dazu bewegen, zuerst das darin enthaltene Kommando auszuführen und das Ergebnis im Gesamtkommando zu verwenden:

[trish@lillegroenn answergirl]$ cp kursskript.tex kursskript`date`.tex
 cp: copying multiple files, but last argument (2001.text) is not a directory
 Try `cp --help' for more information.

cp beschwert sich darüber, dass wir mehr als eine Datei kopieren wollen und das letzte Argument 2001.tex kein Verzeichnis sei (denn in eine einzelne normale Datei kann man nicht mehrere Quelldateien kopieren). 2001.tex? Das sieht doch aus wie ein Bestandteil der date-Ausgabe:

[trish@lillegroenn answergirl]$ date
 Mon Mar 12 02:24:09 CET 2001

Damit fällt es uns wie Schuppen von den Augen: Die Leerzeichen zählen für die Shell natürlich als Trennzeichen zwischen Argumenten, bei cp also Dateinamen. Mit Gänsefüßchen lässt sich die bash allerdings davon überzeugen, dass die Leerzeichen zum Argumentstring gehören:

[trish@lillegroenn answergirl]$ cp kursskript.tex "kursskript`date`.tex"
 [trish@lillegroenn answergirl]$ ls -l kursskript*
 -rw-r--r--  1 trish  users  8967 Mar 12 02:25 kursskript.tex
 -rw-r--r--  1 trish  users  8967 Mar 12 02:34 kursskriptMon Mar 12 02:34:04 CET 2001.tex

Der Nachteil dabei: kursskriptMon Mar 12 02:34:04 CET 2001.tex sieht nicht nur hässlich aus, dank der Leerzeichen im Dateinamen wird die Datei uns mehr als einmal dazu zwingen, ihren Namen in der einen oder anderen Kommandozeile in Hochkommata zu setzen. Lieber wäre uns also ein Dateiname à la kursskript_dd_mm_yy.tex – oder damit die Dateien auch immer schön in der dem Kalender folgenden Reihenfolge in der ls-Ausgabe auftauchen – kursskript_yy_mm_dd.tex.

Wie ein Blick in die date-Manpage verrät, geht auch dies: Wir müssen date lediglich hinter einem Plus die gewünschten Formatplatzhalter mit auf den Weg geben:

[trish@lillegroenn answergirl]$ mv "kursskriptMon Mar 12 02:34:04 CET 2001.tex" kursskript_`date +%y_%m_%d`.tex
 -rw-r--r--  1 trish  users  8967 Mar 12 02:25 kursskript.tex
 -rw-r--r--  1 trish  users  8967 Mar 12 02:34 kursskript_01_03_12.tex

… und für die weniger Gewissenhaften

Sie fühlen sich schon jetzt nicht mehr wohl bei soviel Dran-Denken-Müssen? Da sind Sie nicht die/der Einzige. Erst recht, wenn's darum geht, mit Co-Autor(inn)en an einem Manuskript zu arbeiten, wird es nicht nur mit der Disziplin schwierig, sondern auch mit dem Abgleichen. Wer garantiert mir schließlich, dass meine Co-Referentin die gestern eingebauten Tippfehler nicht schweigend in ihrer Version beseitigt, während ich die Sätze eben dieses Kapitels in der meinigen gänzlich umstelle?

Nicht nur, um die Arbeitsroutine zu vereinfachen, sondern auch um Mehrarbeit zu vermeiden, gibt es hier nur eins: Ein professionelles Versionsmanagement muss her. Wenn Sie mit Office-Paketen o.ä. arbeiten, die Ihre Arbeit in proprietären Binärformaten (wie StarWriter) abspeichern, werden Sie vermutlich auf die hoffentlich eingebaute Versionskontrollfunktion zurückgreifen. ASCII-Texte hingegen lassen sich spielend mit Versionsmanagern verwalten, wie sie in großen Programmierprojekten eingesetzt werden. (Der Quellcode in einer Programmiersprache ist schließlich auch nichts anderes als Text.)

Die Recherche ergibt erstaunlich wenig Auswahl. Während Firmen noch eher das kommerzielle Perforce (http://www.perforce.com/) lizensieren werden (Open-Source-Projekte können eine kostenlose Lizenz anfordern; die voll funktionsfähige Evaluationsversion lässt nur Zwei-Mann/Frau-Projekte zu) greifen nicht nur Gelegenheitsversionskontrollierer/innen zumeist auf das altgediente Concurrent Versions System cvs zurück.

Das wird auch von den meisten Distributionen mitgeliefert. Wer auf seinen CDs oder dem FTP-Server des Distributors kein passendes Paket findet, steuert am besten http://rpmfind.net/linux/rpm2html/search.php?query=cvs oder für den Sourcecode http://download.cyclic.com/pub/ an.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • The Answer Girl
    Solange man online ist, halten sich die Sprachprobleme in Grenzen: Web-Wörterbücher wie dict.leo.org helfen in meistens akzeptabler Geschwindigkeit über die Hürden des fehlenden (Englisch-) Wortschatzes hinweg. Doch wehe, man ist weder mit Standleitung noch Flatrate gesegnet: Schon ärgert man sich, das Regal mit den papiernen Wörterbüchern am anderen Ende des Raums aufgestellt zu haben.
  • The Answer Girl
    Dass der Computeralltag auch unter Linux des Öfteren für Überraschungen gut ist, ist eher eine Binsenweisheit: Immer wieder funktionieren Dinge nicht oder nicht so, wie eigentlich angenommen. Das Answer-Girl im LinuxUser zeigt, wie man mit solchen Problemchen elegant fertig wird.
  • The Answer Girl
    Wer hat sie nicht schon mehr als genug gehört, die gutgemeinte Litanei vom Anlegen eines Backups. In der Firma oder an der Uni mag man dieses leidige Thema mit einiger Berechtigung auf die dortigen Systemadministrator(inn)en abwälzen, doch was ist mit dem Datenbestand zu Hause?
  • Remote-Backups mit rsync und rdist
    Wenn klassische Datensicherungsmedien nicht in Frage kommen, jedoch genügend Plattenplatz, ein lokales Netzwerk oder eine gute (und billige) Internetanbindung zur Verfügung stehen, bietet sich ein alternatives Datensicherungsszenario an: das Spiegeln sicherungswürdiger Dateien.
  • The Answer Girl
    Dass der Computeralltag auch unter Linux des Öfteren für Überraschungen gut ist, ist eher eine Binsenweisheit: Immer wieder funktionieren Dinge nicht oder nicht so, wie eigentlich angenommen. Das Answer-Girl im LinuxUser zeigt, wie man mit solchen Problemchen elegant fertig wird.
Kommentare

Infos zur Publikation

LU 01/2015: E-Books im Griff

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

PCLinuxOS Version 2014.08 "FullMonty" Umstellung auf deutsch
Karl-Heinz Welz, 19.12.2014 09:55, 3 Antworten
Hallo, liebe Community, ich bin 63 Jahre alt und möchte jetzt nach Jahrzehnten Windows zu Linux...
ICEauthority
Thomas Mann, 17.12.2014 14:49, 2 Antworten
Fehlermeldung beim Start von Linux Mint: Could not update ICEauthority file / home/user/.ICEauth...
Linux einrichten
Sigrid Bölke, 10.12.2014 10:46, 5 Antworten
Hallo, liebe Community, bin hier ganz neu,also entschuldigt,wenn ich hier falsch bin. Mein Prob...
Externe USB-Festplatte mit Ext4 formatiert, USB-Stick wird nicht mehr eingebunden
Wimpy *, 02.12.2014 16:31, 0 Antworten
Hallo, ich habe die externe USB-FP, die nur für Daten-Backup benutzt wird, mit dem YaST-Partition...
Steuern mit Linux
Siegfried Markner, 01.12.2014 11:56, 2 Antworten
Welches Linux eignet sich am besten für Steuerungen.