Kapitel 1: Einfuehrung in die Programmierumgebung

1.1. UNIX Datei-Struktur
LPMUDs nutzen grundlegende UNIX-Kommandos und dessen Dateisystem.
Jedoch wird (auch wenn fast alle MUDs auf UNIX-Rechnern (welche Art von Unix
spielt aufgrund der Kompatibilitaet kaum eine Rolle, es kann Linux sein, es
kann MacOS sein, es kann HP-UNIX sein, um nur mal drei bekannte Arten zu
nennen) laufen) nicht die originale Dateistruktur genutzt sondern es wurde,
da MUDs auch andere Ansprueche an eine Dateistruktur haben, das Dateisystem,
die Verwaltung und auch die Befehle, alles neu geschrieben.
Der Fachmann redet dabei von einer Neuimplementation.
Falls die UNIX-Kommandos bereits bekannt sein sollten, beachte bitte, dass
die meisten (fuer den Zweck eines MUD unnuetzen) Optionen nicht verfuegbar
sind. Die Kommandos sind jeweils Neuimplementationen und werden von
Na? Was hast Du vorhin gelernt? Richtig. Vom Driver interpretiert.
UNIX hat eine hierarchische Dateistruktur.
Das bedeutet, dass es (wie bei einem Baum) von einem
einzigen Stamm ueber starke Aeste, Aeste, Zweige, Zweiglein bis zu den
Blaettern, die die eigentliche Information darstellen, geht.
Die Blaetter koennen am Stamm oder auch an jedem Ast oder Zweig wachsen.
Wenn von einem Blatt zu einem anderen Blatt gesprungen werden soll,
kommt es darauf an, wo sich die Blaetter jeweils befinden.
Wachsen sie am selben Ast, ist der Weg kurz, befinden sie sich auf zwei
verschiedenen Aesten, die nur den Stamm als gemeinsame Basis haben,
ist der Weg laenger.
Das Wurzelverzeichnis (root genannt, /) ist die Basis.
In diesem Verzeichnis sind Unterverzeichnisse eingefuegt, die ebenfalls
Unterverzeichnisse haben koennen.
Die Unterverzeichnisse und die in Ihnen befindlichen Dateien kann man auf zwei
verschiedene Wege ansprechen.
Der erste und effektivste Weg ist der volle, oder absolute Name.
Der absolute Pfad bezieht sich auf die Lage vom root aus gesehen.
Beispiel:
/players/gralkor/useful bezieht sich auf das Unterverzeichnis useful,
das ein Unterverzeichnis von gralkor ist, welches wiederum ein Unterverzeichnis
von players ist, das ein Unterverzeichnis von root ist.

Der zweite Weg ist der relative Name.
Der relative Name bezieht sich auf das aktuelle Verzeichnis.
Es gibt zwei spezielle Verzeichnis-Namen:
. ist das aktuelle Verzeichnis
.. ist das uebergeordnete Verzeichnis

Ein Verzeichnis beinhaltet Unterverzeichnisse und Dateien.
LPMUDs benutzen nur Textdateien innerhalb der MUDLIB.
Dateien haben, genau wie Verzeichnisse absolute und relative Namen.
Eigentlich ist es andersherum: Verzeichnisse sind spezielle Dateien.
Der grundlegendste relative Name einer Datei ist immer auf root referenziert.
Dabei ist bei der Datei /players/gralkor/workroom.c workroom.c die Datei und
/players/gralkor der Pfad.

Spezielle Dateien, die mit einem Punkt (.) beginnen, werden bei normaler
Auflistung von Dateien nicht mit angezeigt.

1.2 UNIX Kommandos
Zusammen mit der UNIX-Dateistruktur nutzen LPMUDs auch UNIX Kommandos.
Typische UNIX Kommandos sind:
pwd, cd, ls, rm, mv, cp, mkdir, rmdir, more, head, cat, ed
Falls Du noch nie mit UNIX gearbeitet haben solltest, magst Du glauben, dass
das Unsinn sei. Mag sein, jedoch wirst Du sie nutzen muessen.
Zuerst sollten wir uns klarmachen, was ein Arbeitsverzeichnis ist.
Egal, wo Du Dich in der Dateistruktur aufhaelst, bist Du IN! einem Verzeichnis.
Das bedeutet, dass jede relative Dateimanipulation von diesem Punkt aus
im Verzeichnis stattfindet.
Als Dateimanipulation wird jede Veraenderung einer Datei bezeichnet.
Das kann eine Erweiterung, Aenderung des Inhaltes sein, aber auch das
Loeschen oder Anlegen dieser Datei.
Angenommen, ich bin in meinem Home-Verzeichnis (/players/gralkor) und wuerde
eingeben: head workroom.c, wuerde das dasselbe bewirken, als wenn ich
eingeben wuerde: head /players/gralkor/workroom.c
Naemlich, die ersten Zeilen der genannten Datei auf dem Bildschirm ausgeben.

Kommen wir zu einer kurzen Uebersicht ueber die wichtigsten Kommandos.
Wenn Du genaueres wissen willst, schau einfach in die Manpages.

man: 	ein Hilfsseitenbetrachter
pwd: 	zeigt das aktuelle Arbeitsverzeichnis an
cd: 	wechselt das Arbeitsverzeichnis relativ oder absolut. Ohne Argumente
        wechselt man in das Home-Verzeichnis
ls:	zeigt den Inhalt des angegebenen Verzeichnisses, ohne Argumente
      	zeigt es den Inhalt des aktuellen Verzeichnisses an
rm:	loescht die angegebene Datei
mv:	verschiebt die angegebene Datei an den neuen Ort mit neuem Namen
cp:	kopiert die angegebene Datei an einen anderen Ort
mkdir:	erstellt ein neues Verzeichnis
rmdir:	loescht das angegebene Verzeichnis, so es leer ist
more:	zeigt die angegebene Datei an, in lesbare Haeppchen unterteilt
cat:	zeigt die gesamte Datei an
head:	zeigt die ersten Zeilen der Datei an
tail:   zeigt die letzten Zeilen der Datei an
ed:	ist ein zeilenorientierter Editor im MUD

1.3 Zusammenfassung:
UNIX hat eine hierarchische Dateistruktur mit root(/) als Grundlage des
Verzeichnisbaumes. Jeder Ast dieses Baumes kann eigene Unterverzeichnisse
beinhalten. Jedes Verzeichnis kann Dateien und Verzeichnisse beinhalten.
Dateien und Verzeichnisse koennen ueber die absoluten und relativen Namen
angesprochen werden.
Zusaetzlich hast Du eine Menge an UNIX Kommandos zur Verfuegung, die zur
Dateimanipulation dienen. Falls Du damit Probleme haben solltest,
hilft ein Blick in die Man-Pages weiter.
mud.tamedhon.de:4711 ON
mud.tamedhon.de:4712 (TLS) ON
mud.tamedhon.de:4713 (Webclient) ON