Anhalter
|
Reise & UnterkunftTragischerweise tendiert ein System wie UNIX dazu, ständig zu wachsen. Im Laufe der Zeit nimmt die Zahl der Anwender zu, alle wollen irgendwelche Dateien und Programme speichern, die ihrerseits ständig größer werden, und das Betriebssystem selbst macht hier auch keine Ausnahme.Das Dateisystem wird oft mit einem umgekehrten Baum verglichen, d.h. die Wurzel (root) befindet sich oben, und von dort können beliebig weitere Äste (Verzeichnisse oder engl. directories) verzweigen. Die Dateien schließlich hat man/frau sich als die Blätter des Baumes vorzustellen. Das ist im Grunde gar nicht so kompliziert, wenn Du erst mal gelernt hast, vor dem Rechner einen Handstand zu machen, oder wenn Du konsequent den Monitor auf den Kopf stellst. Doch genug des Vorgeplänkels, wir sind glücklich angekommen, haben unser Zelt aufgeschlagen und sind nunmehr bereit, uns umzusehen...
... auf dem Campingplatz (C-Shell)Du hast generell zwei Möglichkeiten, Dich im Dateibaum zu bewegen. Entweder Du kletterst zu Fuß (per pedes) von Ast zu Ast, oder Du schwingst Dich mit einer Liane direkt ans Ziel (d.h. ins gewünschte Verzeichnis).
Zu Fuß geht's mit
Und wenn Du total die Orientierung verloren hast, sagt Dir UNIX mit
Verzeichnisse werden mit mkdir (make directory) angelegt, mit rmdir (remove directory) gelöscht und mit mv (move) verschoben oder umbenannt. In den Verzeichnissen werden die verschiedenen Dateien gesammelt. Mit dem Befehl
Das erste Zeichen in jeder Zeile gibt an, um was für eine Art von Datei es sich handelt. Das d steht hierbei für directory (Briefe ist also ein Verzeichnis!). Ein Minuszeichen steht für eine gewöhnliche Datei. Die restlichen Zeichen sind in drei Dreiergruppen geordnet (u = user, g = group, o = others) und zeigen an, wer was mit den Dateien machen darf ( r = read, w = write, x = execute). Dazu ein Beispiel:
Du kannst die Rechte an einer Datei mit
Zur Erklärung: Mit - werden Rechte entzogen, d.h. die Gruppe und sonstige Benutzer dürfen die Datei nicht mehr lesen und schreiben. Hinzufügen von Berechtigungen geschieht entsprechend mit + oder direkt mit =. Sollen sämtliche Benutzer auf einen Schlag angesprochen werden, kannst Du auch die universelle Gruppe a (all) benutzen.
Die 600 in der zweiten Variante bewirkt dasselbe. Hier werden die Rechte für alle Gruppen gleichzeitig definiert, nach folgendem Schlüssel:
Als Befehl würdest Du dann also:
Der Vollständigkeit halber sei noch erwähnt, daß man ganz links noch eine vierte Ziffer vor den Code setzen kann, der einen besonderen Modus für die Ausführung der Datei bestimmt (für Details bitte ins Handbuch schauen oder mal man chmod versuchen). Die Datei a.out ist ein compiliertes Programm, das Du aufrufen kannst. Merke: Was angekreuzt ist (x), kann man starten. Eine Batch-Datei (in UNIX Script genannt) läßt sich einfach mit einem Texteditor erstellen und wird dann anschließend "als executable geflaggt". Es gibt verschiedene Möglichkeiten, ein Programm auszuführen:
Der Aufruf des Namens ist der normale Weg, ein Programm zu starten (Nickerchen am Terminal oder mit Leuten labern).
Jetzt kannst Du Dich ausloggen und auf das Klo gehen oder zum Essen in die Mensa am Ende des Universums - das Programm läuft weiter, und beim nächsten Login hast Du dann den Salat. Für Programmierfreaks dürfte weiterhin von Interesse sein, wie ein Programm unter Angabe eines maximalen Zeitlimits gestartet wird (Problem der Terminierung). Sowas geht auch, zumindest mit der C-Shell. Das Zauberwort heißt limit. Damit ist es möglich, verschiedene Systemressourcen zu beschränken. In unserem Fall ist das die Ressource cputime. Wenn Du limit ohne Parameter aufrufst, dann zeigt Dir das System die momentanen Werte der einzelnen Ressourcen. Um jetzt eine Beschränkung zu machen, sagen wir mal 1:30 Minuten, gib ein:
Wenn Du jetzt ein Programm ausführen läßt, das länger als anderthalb Minuten Zeit braucht, dann wird die Ausführung beim Erreichen der Zeitgrenze gestoppt, und Du bekommst eine dem entsprechende Meldung. Um die Beschränkung wieder aufzuheben, gib ...
Für alle Dateien, die sich nicht starten lassen, gibt es eigens Programme zur Bearbeitung: Texte, Programme, Skripte usw. können mit einer Vielzahl von Editoren bearbeitet werden (siehe Schreibwaren). Wieder andere Dateien gehören zu größeren Paketen, und dann hätten wir da noch Grafiken, Tabellen, Datenbanken, Kochrezepte, etc. - kurzum, alles, was das Herz begehrt. Angucken kannst Du Dir ein File mit:
Der Vorteil von more ist, daß die Ausgabe nach jeder vollen Bildschirmseite angehalten wird. Zum Weiterblättern drücke die Leertaste. Mit q für quit ist Schluß. Noch komfortabler geht’s mit:
Jetzt kannst Du zusätzlich mit b (wie back) zurückblättern oder nach Zeichenfolgen suchen mit / Suchwort (Schrägstrich). Eventuell funktionieren bei less sogar die Cursortasten Deiner Tastatur, mit denen Du dann ebenfalls durch den Text blättern kannst. Mit dem Kommando cat lassen sich auch mehrere Dateien aneinanderhängen. Beispiel:
Umgekehrt zerlegt split eine lange Datei in mehrere kurze. Besonders sinnvoll wenn eine Datei mal nicht auf eine Diskette paßt. Zusammengesetzt wird sie wieder mit cat unter UNIX oder unter DOS:
Mit cp (copy) werden Dateien kopiert und mit mv (move) verschoben bzw. umbenannt. Beispiel:
Für DOSianer: Der Punkt gilt unter UNIX als ein Zeichen wie jedes andere auch, d.h. * meint hier dasselbe wie *.* unter DOS. Hier ist also Vorsicht geboten! Auch der Versuch, mit Hilfe von mv alle Dateien mit der Endung .x in Dateien mit der Endung .y umzubenennen (Falle: mv *.x *.y), wird scheitern (mit möglicherweise drastischen Folgen). Der Grund hierfür ist, daß die Parameter *.x und *.y nicht wie unter DOS an das Programm mv weitergegeben werden, sondern der Kommandointerpreter (C-Shell) die Auswertung der Wildcards selbst vornimmt. Enthält also das aktuelle Verzeichnis nur die Dateien revue.x, praline.x, bravo.x und freundin.y, so wird in Wirklichkeit der Befehl
Ach so, wenn ein File alt und vergammelt ist, kann es mit rm (remove) gelöscht werden. Wenn Du mit Disketten arbeiten willst, findest Du das entsprechende Laufwerk als Unterverzeichnis im Dateibaum. Es wird also nicht irgendwie das Laufwerk gewechselt, oder so (siehe DOS-Dateien verzollen). Vielleicht noch zwei Dinge zum Schluß: UNIX besitzt ein sehr leistungsfähiges Pipeline- und Filtersystem, mit dem man mehrere Befehle verbinden kann, so daß Ein- bzw. Ausgaben eines Programms automatisch weitergereicht werden, etwa so:
Für nähere Details empfiehlt sich ein Blick in die Handbücher. Dort findest Du auch die exakten Beschreibungen aller Parameter, mit denen die Umgebung beeinflußt wird. Diese stehen zumeist in versteckten Dateien (der Name fängt mit einem Punkt an, z.B.: .login, .cshrc, .profile, .newsrc, usw.), die mit
Zu allem Überfluß ist die Shell auch noch programmierbar, mit all so Sachen wie Schleifen, Verzweigungen, etc... Die Umgebung kann sich jede/r Benutzer/in den eigenen Bedürfnissen entsprechend anpassen und somit dem System die "ganz persönliche Note" verleihen. Achtung - Ein Hinweis zum C-Shell-Tuning: Die erste Zeile der Datei .chsrc sollte stets
Bei UNIX hast Du die Möglichkeit, zwischen verschiedenen Varianten von Arbeitsumgebungen (Shells) zu wählen. Die hier beschriebenen Befehle stellen in gewisser Weise das "kleinste gemeinsame Vielfache" der Befehle zur Arbeit mit dem Dateisystem dar. Vielleicht probierst Du mal die Turbo-C-Shell aus. Start mit:
Diese Umgebung bietet ein paar sehr angenehme Features, z.B. die History, mit der Du die zuletzt eingegebenen Befehle über die Cursortasten erneut abrufen und sogar editieren kannst. Die Shell kann auch automatisch Dateinamen komplettieren, d.h. Du mußt nur die ersten paar Buchstaben eines Namens eintippen und dann die TAB-Taste drücken. Der Dateiname wird dann vom System vervollständigt. Wer sich einmal an die komfortablere Umgebung gewöhnt hat, der möchte sie sicherlich nicht erst jedesmal aufrufen müssen, sondern als permanente Einstellung haben. Ohne jetzt vorzugreifen (oder doch?!), sei an dieser Stelle schon mal alles Notwendige gesagt: Du loggst Dich remote auf dem Rechner brian ein (rlogin brian) und machst dann ypchsh (change shell). Als neue Shell gib /usr/infko/bin/tcsh ein.
Hotel mit Halbpension (X-Windows)Um es gleich vorwegzunehmen: Die DOS-PCs in den Übungsräumen sind nicht alle für die Benutzung von X-Windows eingerichtet. X-Windows ist für UNIX das, was MS-Windows für DOS ist. Bei Windows 95 hingegen ist DOS das, was bei UNIX eine Shell ist. Während man Windows vorwirft, daß es nicht objektorientiert ist, muß man fast bezweifeln, ob X-Windows Version 11 Release 6 (kurz X6 oder X11R6) überhaupt orientiert ist.Nicht nur läßt die Standardisierung der Programme sehr zu wünschen übrig (jedes Programm ordnet seine Buttons anders an), auch mit Icons wird mehr als spärlich umgegangen. Einziger Lichtblick ist der Programm- und Dateimanager namens xfm, der auf allen SUN4- und Solaris-Rechnern ausgeführt werden kann (ggf. mit rlogin auf eine entsprechende Maschine hüpfen). Was nach nüchterner Betrachtung des Systems übrigbleibt, ist die Möglichkeit, mehrere Shells und Editoren gleichzeitig zu öffnen. Dieses ist jedoch ein entscheidender Grund, X-Windows einzusetzen. Wer hat noch nicht erlebt, daß einem UNIX während der Session eine unästhetische Fehlermeldung auf den Bildschirm geschrieben hat? Unter X-Windows werden diese Systemmeldungen in einem Fenster mit dem Namen console ausgegeben, während man in den übrigen Fenstern ungestört arbeiten kann. X-Windows selbst stellt nur eine Plattform für die graphische Ausgabe dar. Wie die Benutzeroberfläche aussieht und wie Fenster vergrößert bzw. verschoben werden, hängt letztendlich von dem darüberliegenden Window-Manager ab. Zwei bekannte Vertreter dieses Genres sind Open Look und Motif, die beide in der Uni eingesetzt werden können. Gestartet wird X-Windows üblicherweise mit dem Befehl
Je nachdem, an welchem Typ von SUN-Rechner Du sitzt, können 2-3 Minuten vergehen, bis das System hochgefahren ist - das ist "normal". Die weitere Bedienung des Systems ist der erscheinenden Systemoperatornachricht und einer Einführung in X, die im Solarium (ein Platz an der SUN) ausliegt (roter Schnellhefter), zu entnehmen. Der Befehl x6start ruft standardmäßig den Motif Window Manager auf. Wem der nicht gefällt, kann mit
Ein bekanntes Problem ist der Ausstieg aus X-Windows (unter X-Windows kann man sich nicht direkt ausloggen). Dieser wird bewerkstelligt mit der Eingabe von exit im console-Fenster(!). Das ist meist ein kleines Fenster am oberen Rand des Bildschirms (nicht bei CDE; dort ist es ein EXIT-Knopf auf der Hauptleiste). Viele bekannte Programme (z.B. ed, man, trn) existieren in einer speziellen Version für X-Windows. Sie sind an einem vorangestellten x im Namen zu erkennen (also xed, xman - Vorsicht: xrn). Nichtsdestotrotz können natürlich (?) alle übrigen zeichenorientierten UNIX-Programme weiterhin in einem Shell-Fenster aufgerufen werden. Wer nähere Informationen zu X-Windows, den Window-Managern und ihrer Programmierung wünscht, sei aufgrund der Komplexität des Systems (60 Megabyte Quellcode) auf die im SUN-Raum vorhandenen Manuals verwiesen.
Holiday Inn (CDE)Da sich nach einiger Zeit alle Benutzer(innen) an die alte X-6-Oberfläche gewöhnt hatten, mußte etwas Neues, Unbekanntes her: Das Common Desktop Environment (CDE). Bei dieser Oberfläche loggst Du Dich nicht wie gewohnt im Textmodus ein, sondern der Bildschirm zeigt ein Fenster, das Dich auffordert, Deine Kennung einzugeben.Falls Du lieber das gewohnte X6 starten willst, drückst Du die linken Maustaste den Button Options, hältst sie gedrückt, bewegst sie auf Command Line Login und läßt sie los. Dann bist Du im Textmodus und mußt Dich beeilen, Dich wie gewohnt einzuloggen. Wenn Du zu langsam bist, verschwindet der Text, und der Computer gerät in einen undefinierten Zustand. Ansonsten startest Du X6 wie oben beschrieben. Wenn Du dagegen das CDE haben willst, gibst Du Deine Kennung ein, tippst die Return-Taste, dann Dein Paßwort (das nicht angezeigt wird) und nochmal die Return-Taste. Nach einiger Wartezeit siehst Du eine grafische Oberfläche mit häßlichem Hintergrund. Das ist das CDE. Es sollte halbwegs selbsterklärend sein (vor allem, wenn Du einigermaßen Englisch lesen kannst); unten auf dem Bildschirm hast Du eine Leiste, über die Du einige wichtige Programme starten kannst. Besonders interessant sind der Editor (durch Anklicken des Kritzelblocks zu starten), der Mailer zum Schicken und Empfangen von E-mail (über die Schachtel mit oder ohne Briefe, die neben dem Kritzelblock liegt) und der Style Manager, mit dem Du u.a. die Bildschirmfarben, die Schriftarten, das Verhalten der Maus und der Fenster und den häßlichen Hintergrund ändern kannst (versteckt sich hinter dem Icon mit Maus, Farbpalette und "TTT"). Außerdem enthält die Leiste etwa in der Mitte einige wichtige Mini-Icons: Mit dem Vorhängeschloß macht man den Computer vorübergehend unzugänglich (praktisch, wenn man mal kurz aus dem Raum gehen will, ohne sich auszuloggen), und mit EXIT loggt man sich aus. Das CDE merkt sich den Bildschirmzustand beim Ausloggen. Beim nächsten Einloggen bekommst Du wieder exakt diesen Zustand, d.h. mit allen aktiven Programmen, Dateien in den Editoren etc. Wenn Du das nicht willst, kannst Du dieses Verhalten mit dem Unterpunkt Startup des Style Managers (s.o.) ändern.
GepäckaufbewahrungAn Personen, die viel auf Achse sind oder ihre Kreativität in Megabytes ausdrücken, ergeht die Bitte, bei der Verwahrung ihrer Daten möglichst platzsparend vorzugehen. Jeder Benutzer bekommt vom Rechenzentrum ein Limit für den Plattenplatz, den er verschwenden darf. Für gewöhnlich sind das zur Zeit 30 MByte - also wirklich nicht die Welt - doch es paßt weitaus mehr drauf, wenn große Dateien und Verzeichnisse komprimiert bzw. archiviert werden.Wieviel Platz Du belegt, bzw. noch zur Verfügung hast, erfährst Du vom System, wenn Du
Archivieren und Komprimieren eines Verzeichnisses (Statt compress kann auch hier gzip verwendet werden):
Löschen des alten Verzeichnisses inklusive aller Unterverzeichnisse:
Dearchivieren und Dekomprimieren eines Directories:
Löschen der komprimierten Datei:
Noch ein kleiner Nachtrag zu tar: Wenn Du nur mal so gucken willst, was im Archiv alles drin ist, dann gib ein:
FundsachenWenn man nach einer bestimmten Datei sucht, so kann das in einem UNIX-Netzwerk sehr aufwendig werden. Solche Netzwerke sind im allgemeinen sehr groß, und das Durchsuchen aller Verzeichnisse von Hand ist kaum eine Lösung. Besser wäre ein Befehl, der einem die Arbeit abnimmt. Dieses Problem haben die UNIX-Entwickler auch erkannt und den Befehl find implementiert. Die genaue Syntax lautet:
Wenn ihr jetzt meint, ihr würdet nun wie gewünscht eine Liste der Dateien erhalten, dann habt ihr aber nicht mit UNIX (Tunix?) gerechnet! find sucht nämlich nur danach; wenn es die gefunden Dateien auch ausgeben soll, so muß die Option -print an die Zeile angehängt werden! Ein weiteres Beispiel wäre:
Dieses Kommando listet alle Dateien im System auf (Ihr wißt ja, daß das Stunden dauern kann, oder?).
Einige weitere Optionen sind: -type Typ oder -exec befehl. Um die Bedeutung einer Option umzukehren, muß vor der Option ein ! (not) angegeben werden.
Wenn nur der vollständige Pfad eines UNIX-Kommandos ermittelt werden soll, ist es reine Zeitverschwendung, jedesmal einen ganzen Scan über das komplette System zu machen, da sich das Kommando eigentlich nur in wenigen Verzeichnissen befinden kann. Für diesen Fall gibt es das Kommando whereis. Die Syntax lautet hier:
whereis liefert den Pfad des Binärcodes, des Sourcecodes und des Manual-Page-Files, sofern diese verfügbar sind. Ein ähnliches Kommando ist:
which ermittelt aus der Datei .cshrc im eigenen Heimatverzeichnis den Pfad und durchsucht ihn nach den Dateien, die ausgeführt werden, wenn ein Dateiname aus der Liste Dateinamen aufgerufen wird. which kann nur aus einer C-Shell (bzw. Turbo-C-Shell) gestartet werden und ermittelt den Pfad aus dem File ~/.cshrc (andere Schreibweise für /home/Kennung/.cshrc). Der wesentlichste Unterschied zwischen whereis und which ist, daß whereis bestimmte voreingestellte Verzeichnisse durchsucht, wohingegen which den Befehlspfad durchsucht. Zum Suchen eines Wortes oder einer Zeichenfolge in einer Datei eignet sich der Befehl grep. grep durchsucht eine oder mehrere Dateien nach Zeilen, in denen eine vorgegebene Zeichenfolge vorkommt. Allerdings ist grep so nett und gibt diese Zeile gleich auf den Bildschirm aus. Die Syntax lautet hier:
Um in der Datei textfile alle Zeilen zu erhalten, in denen computer als Zeichenfolge vorkommt (z.B.: Taschencomputer, the computer is lazy, ...), gibt man also ein:
Mit der Option -i werden Unterschiede zwischen Groß- und Kleinschreibung ignoriert, mit -n erhält man vor jeder Zeile noch die Zeilennummer. Mit -v erhält man alle Zeilen, in denen die Zeichenfolge nicht vorkommt. grep läßt sich auch sehr gut in einer Pipe verwenden. Hat man ein Verzeichnis mit sehr vielen Einträgen und sucht man nach allen Einträgen, in deren Namen mein vorkommt, so gibt man ein:
Weitere interessante Optionen von grep sind:
Im Reich der SonneDas Land der aufgehenden Sonne ist weit, sehr weit. Es erstreckt sich nicht nur über mehrere Stockwerke, nein, auch vor weit entfernten Gebäuden macht es nicht halt. Wer verspürt da nicht Lust, einmal auf Entdeckungsreise zu gehen, um neue Erfahrungen mit genervten Studenten und Professoren zu sammeln? Aber mal ehrlich, wer kann schon alles zu Hause erledigen?Viele neue Programme verlangen einen Rechner mit SPARC-Prozessor (z. B. der Prolog-Compiler "ECLiPSe"), und manche selbstgeschriebenen Programme lassen sich auf den guten alten 3/60-Modellen einfach nicht in vernünftiger Zeit ausführen. Für diese Fälle haben die Entwickler von UNIX die Möglichkeit eingeräumt, während des laufenden Betriebs schnell einmal den Rechner zu wechseln, ohne dabei aufstehen zu müssen oder andere Leute von ihren Plätzen zu vertreiben. Mit Hilfe des Befehls
Vorsicht: Niemals X-Windows in einer Shell aufrufen, die auf einem anderen Rechner läuft!!! Alle Programme werden nun auf dem Fremdrechner ausgeführt, wobei allerdings sämtliche Ausgaben auf Euren Bildschirm umgelenkt werden. Sollte es hierbei Probleme geben (vor allem für tcsh-Benutzer), dann gib ein:
Mit Hilfe des rlogin-Befehls ist es unter X-Windows somit möglich, gleichzeitig auf verschiedenen Rechnern zu arbeiten. Um das sogenannte Remote Login zu beenden, reicht die einfache Eingabe von
Wie erkenne ich nun aber, welche Rechner im Netz zu erreichen sind, und, was noch viel wichtiger ist, welche wichtigen Leute davor sitzen? Mit Hilfe des Befehls
Übrigens: Der rusers-Befehl kann auch sehr nützlich sein, wenn man herausfinden möchte, ob eine bestimmte Person gerade in der Uni arbeitet. Diese kann dann nämlich mit talk angesprochen werden (siehe Kapitel Nachrichten). Ihr glaubt, daß sich hinter der Kennung arthur Euer Freund Arthur Dent verbirgt? Dann tippt mal
Außerdem kann man mit finger herausfinden, welche Kennung ein Benutzer hat, wenn man seinen Vor- oder Nachnamen weiß. Gibt man
Neben der Möglichkeit, in andere Rechner zu schlüpfen, bietet UNIX auch die Möglichkeit des fliegenden Kennungswechsels ohne Ausloggen. Wer über mehrere Kennungen verfügt, kann mit Hilfe von
NachtwanderungFür alle Einzelgänger, Workaholics und lichtscheuen Gestalten bietet sich an unserer Uni die einzigartige Möglichkeit einer besinnlichen Nachtwanderung durch das Infko.Wer also an seiner Studien- oder Diplomarbeit sitzt und Lust darauf verspürt, auch nach Ladenschluß noch sein Unwesen in den Gemäuern der Uni zu treiben, der kann sich nach einmaligem Ausfüllen eines Antragsformulars bei Herrn Haussmann (G 124a) oder Herrn Nissen (G 131) einen von vier Schlüsseln ausleihen. Neben einem Schlüssel für einen Solarium-Raum bekommt Ihr zusätzlich noch einen Schlüssel für eine der Türen des G- oder R-Gebäudes, damit Ihr jederzeit Zugang habt. Abzugeben sind beide bis 10 Uhr des nächsten Tages. Um jedem die Chance zu geben, einmal einen Schlüssel zu ergattern, werden diese allerdings erst wieder ab 15 Uhr (freitags bereits ab 13 Uhr) ausgegeben. Übrigens: Die Schlüssel können auch über das Wochenende ausgeliehen werden. Laßt Euch aber so oder so auf alle Fälle erklären, wie die SUNs hoch- und 'runterzufahren sind. Und nicht vergessen, beim Gehen das Licht auszuschalten!
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||