Die ersten Schritte im Fachbereichsnetz - Informatik - FB3

Transcription

Die ersten Schritte im Fachbereichsnetz - Informatik - FB3
Die ersten Schritte im Fachbereichsnetz
Die vorliegende Dokumentation wurde von der AG Benutzereinführung im Rahmen des studentischen Projektes STRAIT im Fachbereich 3 der Universität Bremen erstellt.
Inhaltsverzeichnis
1 Warum diese Einführung? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2 Das Zugangskontrollsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
3 Ansprechpartner bei Problemen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
4 Benimmregeln im Netz: Die Netikette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
5 An- und Abmelden beim System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1 Richtlinien zur Auswahl eines sicheren Paßworts . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Ändern des Paßworts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
5
6
6 Der Window-Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
7 Das UNIX-Dateisystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
8 Die Eingabe von Kommandos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
9 Der Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
10 Drucken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
11 Die On-Line Hilfe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
12 Arbeiten im Verzeichnisbaum . . . . . . . . . . .
12.1 Wechsel des Verzeichnisses . . . . . . . . . . . . . .
12.2 Anzeigen des Verzeichnisinhalts . . . . . . . . . . .
12.3 Verzeichnisse anlegen und löschen . . . . . . . . . .
12.4 Dateien kopieren, umbenennen und löschen . . . .
12.5 Anzeige von Datei-Inhalten . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
9
9
10
10
10
13 Die Zugriffsrechte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
13.1 Ändern der Zugriffsrechte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
14 Die
14.1
14.2
14.3
14.4
14.5
14.6
14.7
14.8
UNIX-Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wie findet die Shell ein Kommando? . . . . . . . . . . . . . . . . . . . . . . . . . . .
Eine Abkürzung für das Home-Verzeichnis . . . . . . . . . . . . . . . . . . . . . . . .
Die automatische Vervollständigung von Namen . . . . . . . . . . . . . . . . . . . . .
Das Arbeiten mit dem Befehlsspeicher und das Editieren der Kommandozeile . . . .
Wildcards“ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
”
Ein- und Ausgabeumleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Kommandos im Hintergrund ausführen . . . . . . . . . . . . . . . . . . . . . . . . . .
Vorzeitiges Beenden von Prozessen . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
13
13
14
14
14
15
16
17
18
15 Der
15.1
15.2
15.3
15.4
15.5
15.6
15.7
15.8
Window-Manager Fvwm . . . . . . . . . . . . . . . . . .
Der virtuelle Desktop . . . . . . . . . . . . . . . . . . . . . .
Der Pager . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Das Focus-Fenster . . . . . . . . . . . . . . . . . . . . . . . .
Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.4.1 FvwmWinList . . . . . . . . . . . . . . . . . . . . . .
15.4.2 Seitenwechsel mit dem Mauszeiger . . . . . . . . . . .
15.4.3 Seitenwechsel durch den Pager . . . . . . . . . . . . .
15.4.4 Seitenwechsel über Tastenkombinationen der Tastatur
GoodStuff . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Fvwm-Menüs . . . . . . . . . . . . . . . . . . . . . . . . .
Schaltflächen in der Titelleiste . . . . . . . . . . . . . . . . . .
Fenster-Operationen . . . . . . . . . . . . . . . . . . . . . . .
16 E-Mail . . . . . . . . . . . . . . . . . . . . . . . . .
16.1 Das Versenden von elektronischer Post mit Emacs
16.2 Das Lesen von Mail innerhalb Emacs . . . . . . . .
16.2.1 Bewegen innerhalb des RMAIL-Puffers . . .
16.2.2 Kommandos zum Löschen von Nachrichten
16.2.3 Abspeichern von Mails in eine Datei . . . .
16.2.4 Auf eine Mail antworten . . . . . . . . . . .
16.2.5 Suchen im RMAIL-File . . . . . . . . . . .
16.2.6 Markieren und Sortieren der Nachrichten .
16.2.7 Mail-Aliase . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19
19
20
20
20
20
21
21
21
21
21
22
22
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
23
23
24
25
25
25
26
26
27
27
17 News . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
17.1 Wie kann ich mir uninteressante Artikel vom Halse schaffen? . . . . . . . . . . . . . . . . . . . . . 29
17.2 Wie kann ich selber einen Newsartikel senden? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
18 Der Netscape Communicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
18.1 Benutzung von Mail mit dem Netscape Communicator . . . . . . . . . . . . . . . . . . . . . . . . . 31
18.2 Benutzung von Net-News mit dem Netscape Communicator . . . . . . . . . . . . . . . . . . . . . . 33
19 Arbeiten auf vernetzten Rechnern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
19.1 Entferntes Arbeiten mit slogin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
19.2 Entferntes Ausführen von Kommandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
20 Dateitransfer mit FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
21 Benutzung von DOS-Disketten . . . . . . . . . . .
21.1 Formatieren von Disketten . . . . . . . . . . . . . .
21.2 Anzeigen von Verzeichnisinhalten . . . . . . . . . .
21.3 Anlegen von Verzeichnissen . . . . . . . . . . . . .
21.4 Kopieren von Dateien . . . . . . . . . . . . . . . .
21.5 Löschen von Dateien und Verzeichnissen . . . . . .
21.6 Auswerfen von Disketten . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
37
37
38
38
38
39
39
22 Komprimieren und Archivieren von Dateien
22.1 Benutzung von gzip . . . . . . . . . . . . . .
22.2 Dekomprimieren mit unzip und unarj . . . . .
22.3 Archivieren mit tar und gtar . . . . . . . . .
22.4 Zerlegen einer großen Datei mit split . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
39
39
40
40
41
.
.
.
.
. .
. .
. .
. .
. .
23 Einführende Literatur zu UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
Dieses Heft wurde von der AG Benutzereinführung im studentischen Projekt STRAIT der Arbeitsgruppe Rechnernetze zusammengestellt. Es wird als Ergänzung zu einigen Veranstaltungen
in der Erstsemesterorientierungswoche (ESO) des Studiengangs Informatik ausgeteilt und liegt
zudem im Rechnerpool des Fachbereichs 3 (Mathematik und Informatik) aus.
Weitere Informationen zum Fachbereichsnetz gibt es von den technischen Mitarbeiterinnen
und Mitarbeitern unter http://www.informatik.uni-bremen.de/t/info/.
Version: Februar 2004
2
1
Warum diese Einführung?
Die Rechner des Fachbereichs Mathematik/Informatik sind über ein lokales Netz1 miteinander
verbunden und bieten ein vielfältiges Angebot von Dienstleistungen. Den Studierenden stellt
sich daher die Frage, welche es gibt und welche davon für sie sinnvoll zu nutzen sind. Darüber
hinaus treten bei der Benutzung der innerhalb des Fachbereichs vorhandenen Systeme Aspekte
in den Vordergrund, die vom heimischen Computer vermutlich noch nicht bekannt sind oder
bisher wenig beachtet wurden. In dieser Einführung sollen grundlegende Fähigkeiten im Umgang
mit dem Computer und ein Gefühl für die Möglichkeiten und Grenzen der vorhandenen Technik
vermittelt werden. Die folgenden Punkte stellen dabei eine grobe Strukturierung der vermittelten
Inhalte dar, wobei einige Punkte ausführlicher als andere behandelt werden.
• Allgemein zugängliche Rechner
– Datenschutz
– Zugangskontrollsystem (Induktionskarten)
• Mehrbenutzerumgebung
– Jeder Benutzer muß sich gegenüber dem System durch die Eingabe eines Paßworts
zuerkennen geben
• Der Computer als nützliches Werkzeug:
– Wo stehen die Rechner?
– Zu welchen Zwecken dürfen sie benutzt werden?
– UNIX als wichtigstes Betriebssystem innerhalb des Fachbereichsnetzes
2
Das Zugangskontrollsystem
Die Rechner des Fachbereichs sind nur in begrenzter Anzahl verfügbar und stellen mit allen angeschlossenen Geräten einen beträchtlichen Wert dar. Hieraus folgt, daß der Zugang zu diesen
Ressourcen gewissen Restriktionen unterliegt.
Der zugangskontrollierte Bereich in der Ebene 0 des MZH besitzt zwei Eingänge, die durch ein
Induktionskarten-Kontrollsystem überwacht werden. Jede Induktionskarte hat eine eindeutige
Nummer. Auf den Karten sind keine personenbezogenen Daten gespeichert.
In der Regel werden nur Karten für den Haupteingang ausgegeben. Der Zugang durch den zweiten Eingang wird insbesondere schwerbehinderten Personen ermöglicht, ansonsten dient diese
Tür lediglich als Notausgang. Die Kartenlesegeräte an den beiden Eingängen werden voneinander unabhängig betrieben.
Zum Betreten und Verlassen des zugangskontrollierten Bereiches ist die Induktionskarte in das
Kartenlesegerät einzustecken. Von der Überwachungsanlage werden automatisch Kartennummer
und Uhrzeit gespeichert. Weitere Daten werden nicht aufgezeichnet. Der Umfang der Speicherung
beträgt 7200 Ereignisse. Da innerhalb des Bereiches weder Cafeterien noch Toiletten vorhanden
sind und in den Praktikumsräumen sowie im Flur ein generelles Rauchverbot herrscht, reicht diese Anzahl, um bei durchschnittlicher Frequentierung der Praktikumsräume die Zeiten der letzten
3 bis 5 Tage zu speichern, zu denen mit den jeweiligen Karten die Räume betreten und verlassen
wurden.
Zweck der Aufzeichnung der Zugangsdaten ist es, im Ereignisfall (Diebstahl oder Sachbeschädigung in beträchtlichem Umfang) feststellen zu können, wer sich im fraglichen Zeitraum in den
Praktikumsräumen befunden hat.
1 Ein Rechnernetz ist eine Zusammenschaltung von mehreren, möglicherweise verschiedenartigen und meist
räumlich getrennten Rechenanlagen (Knotenrechner). Man unterscheidet Rechnernetze, deren Knoten über große
Entfernungen unter Verwendung meist öffentlicher Netze verbunden sind, und solche, deren Knotenrechner über
kurze Entfernungen bis 2,5 km unter Verwendung privater Verbindungsleitungen verbunden sind (lokale Netze).
3
Die Induktionskarte wird (auf Antrag) zusammen mit der Zugangsberechtigung vergeben, und
zwar montags zwischen 9:00 und 10:00 Uhr (im MZH 1120), mittwochs zwischen 14:00 und 15:00
Uhr (im MZH 6080) und freitags zwischen 10:00 und 11:00 Uhr (im MZH 5320) für Studierende
der Studiengänge Informatik und Medieninformatik.
Infos und Termine zur Kartenvergabe für Studierende der Studiengänge Mathematik und Technomathematik gibt es im MZH 2390 sowie auf dem Aushang am Eingang zu den Praktikumsräumen
in der 0. Ebene (die Termine standen bei Redaktionsschluß noch nicht fest).
3
Ansprechpartner bei Problemen
Bei der Benutzung der Rechner in den Praktikumsräumen stehen gerade Neueinsteiger oftmals
vor großen Problemen. Lassen sich diese nicht (!) durch Nachlesen in diesem Dokument bzw.
den eingebauten UNIX-Hilfesystemen oder Nachfragen bei anderen Studenten bzw. den Tutoren
lösen, so kann man auch die technischen Mitarbeiter um Rat fragen:
Techniker
Günter Feldmann
Cemil Yücel
Roland Wrede
4
Raum
MZH 0185
MZH 0150
MZH 0170
Benimmregeln im Netz: Die Netikette
Die Nutzung der Rechner im Praktikumspool des FB3 ist nur für Zwecke der Forschung und
Lehre im Zusammenhang mit dem Studium erlaubt. Auf den Rechnern dürfen aus Gründen des
Datenschutzes keine personenbezogenen Daten verarbeitet werden. Die eigene Zugangsberechtigung (Paßwort und Induktionskarte) darf nicht an andere Personen zur Nutzung weitergegeben
werden. Diese Nutzungsbedingungen hat Jeder hat beim Erhalten des Accounts unterschrieben.
Wegen der begrenzten Anzahl der Rechner im Fachbereich ist es notwendig, sich bei ihrer Benutzung vernünftig zu verhalten. Insbesondere sollte man die anderen Benutzer nicht bei ihrer Arbeit
behindern, indem man z.B. Rechner unnötig sperrt. In der Netikette des FB3 sind Regeln für
ein faires Verhalten aufgeführt. Dieses Dokument hängt auszugsweise in den Praktikumsräumen
der Ebene 0 aus. Nähere Angaben über Rechte und Pflichten des Technik-Bereichs und seiner Kunden bei der Benutzung der IT-Infrastruktur findet man in der IT-Vereinbarung unter:
http://www.informatik.uni-bremen.de/t/policy.
5
An- und Abmelden beim System
Jeder Benutzer muß sich an einer UNIX-Maschine2 mit seiner Benutzerkennung (username) und
seinem Paßwort beim System anmelden. Vor dem Einloggen erscheint auf dem Bildschirm deshalb eine Eingabeaufforderung, in der diese Daten abgefragt werden.
Es existieren verschiedene Benutzeroberflächen. Zum einen gibt es eine graphische Oberfläche,
hier erscheint ein Login-Fenster, in dem die Daten eingegeben werden können. Zum anderen gibt
es eine zeilenorientierte Oberfläche zum Eingeben der Daten. Nach Eingabe des Benutzernamens
und RETURN3 wird das Paßwort eingetippt, welches ebenfalls durch RETURN abgeschlossen wird. Das Paßwort wird nicht auf dem Bildschirm ausgegeben, um es vor den Augen anderer
Benutzer zu verbergen. Diese Eingaben werden vom System auf ihre Richtigkeit überprüft. Falls
sie nicht korrekt eingegeben wurden, erfolgt eine neue Aufforderung zum Authentifizieren. War
die Anmeldung erfolgreich, befindet man sich nun entweder auf der fensterorientierten oder der
2 UNIX
ist eine Familie von ähnlichen Betriebssystemen. Mitglieder der Familie sind z.b. Solars, Irix, Linux,
sowie alle Arten von BSD.
3 Jede Eingabe wird durch Drücken der RETURN-Taste abgeschlossen. Auf manchen Tastaturen ist diese
Taste auch mit ENTER beschriftet.
4
zeilenorientierten Benutzeroberfläche4. Das System ist nun zur Entgegennahme von Kommandos
bereit.
Ist die Arbeit an einem Computer beendet, wird dieser nicht ausgeschaltet (!), sondern der
Benutzer meldet sich beim System wieder ab. Dafür gibt man bei einer zeilenorientierten Benutzeroberfläche das Kommando logout oder exit ein. Befindet man sich in einem Fenstersystem,
so klickt man mit der rechten Maustaste auf eine freie Stelle des Bildschirmhintergrundes. Es
erscheint ein Menü, in dem der Punkt Logout gewählt wird. Die abschließende Frage, ob die
Sitzung wirklich beendet werden soll, muß bestätigt werden.
Das FB3-Netz ist ein heterogenes Netz, d.h. die Hardware ist von verschiedenen Herstellern und
auf den Rechnern sind unterschiedliche Betriebssysteme installiert. So gibt es z.B. im Praktikumspool verschiedene UNIX-Varianten (IRIX, SunOS, Solaris, Linux); je nach Betriebssystem
variiert das Erscheinungsbild der graphischen Oberfläche und auch das Fenster, in dem man zum
Einloggen aufgefordert wird.
5.1
Richtlinien zur Auswahl eines sicheren Paßworts
Ein Paßwort darf nur seinem Inhaber bekannt sein. Schlecht gewählte Paßwörter sind große
Sicherheitslücken im System, da sie es Hackern erleichtern, sich durch Erraten des Paßwortes
unerlaubten Zugang zum System zu verschaffen. Dabei können z.B. sowohl die Daten des betroffenen Benutzers als auch die anderer Benutzer gelöscht werden.
Ein Paßwort sollte 8 Zeichen lang sein und minimal zwei Buchstaben und einen Nicht-Buchstaben
beinhalten. Wird ein Paßwort gewählt, welches in irgendeinem Wörterbuch aufgeführt ist, läßt
sich dieses durch ein Paßwort-Suchprogramm leicht knacken, indem man das im System gespeicherte verschlüsselte Paßwort einfach mit den verschlüsselten Begriffen des Wörterbuchs vergleicht. Auch Angaben zur Person des Benutzers wie Geburtsdatum, Telefon-Nummer, Name,
etc. sind bei der Wahl des Paßwortes ungeeignet, da diese leicht erraten werden können. Der Technische Bereich führt regelmäßig entsprechende Überprüfungen durch. Betroffene Nutzer werden
vorübergehend gesperrt.
Ein geeignetes Paßwort, das relativ leicht zu merken ist, läßt sich aus den Anfangsbuchstaben
der Wörter eines Satzes zusammen mit Ziffern und/oder Sonderzeichen bilden.
Ein Beispiel für ein Paßwort:
So nimm denn meine Hände und (führe mich bis an mein Lebensende und ewiglich!)
Die ersten Buchstaben jedes Wortes dieser Zeile und die Zahl 9 und das Satzzeichen ; ergeben
das folgende Paßwort:
SndmHu9;
Ebenfalls gut geeignet sind phantasievoll verfremdete Wörter, die man sich trotzdem noch gut
merken kann, wie
cWa][e für Qualle,
H&eHˆtte für Hundehütte, etc.
(Achtung: die Verfremdung darf nicht zu einfach sein.)
oder frei erfundene Phantasiewörter mit Sonderzeichen wie z.B.
ebin?tas
oder
an7kodur .
4 Die Benutzung der graphischen Oberfläche wird in Kapitel 6 erläutert. Auf der zeilenorientierten Oberfläche
nimmt eine Shell (siehe Kapitel 14) die Kommandos entgegen.
5
5.2
Ändern des Paßworts
Das Paßwort sollte von Zeit zu Zeit mit dem Kommando yppasswd geändert werden. Am
Eingabeprompt der Shell (Kommando-Interpreter)5 wird das Kommando eingegeben, und es
erscheint die Aufforderung, das alte Paßwort einzugeben. Anschließend muß das neue Paßwort
zweimal eingegeben werden (um ein Vertippen zu vermeiden), wobei es ebenfalls nicht auf dem
Bildschirm ausgegeben wird. Waren alle Eingaben in Ordnung, so wird das Paßwort geändert. Im
Fehlerfall bricht das Programm mit einer Fehlermeldung ab, und der Vorgang kann wiederholt
werden.
6
Der Window-Manager
Wenn man sich über eine graphische Oberfläche einloggt, ist nach dem erfolgreichen EinlogVorgang bereits ein Window-Manager aktiv. Der Window-Manager ist eine spezielle Anwendung,
die für das ’Look and Feel’ der Arbeitsumgebung auf dem Bildschirm verantwortlich ist. Mit seiner Hilfe können Anwendungen gestartet und Fenster erzeugt und verändert werden.
Die meisten Window-Manager bieten Menüs und Buttons an, über die man per Mausklick andere Anwendungen aufrufen kann. Ein Button ist ein graphisches Objekt, das eine Taste darstellt.
Diese Taste kann allerdings nicht mechanisch bewegt werden; stattdessen benutzt man den Mauszeiger, um den Button damit anzuklicken. Anklicken eines graphischen Objekts bedeutet, eine
Maustaste zu drücken und wieder loszulassen, während sich der Mauszeiger auf dem entsprechenden Objekt befindet. Das vollständige Menü einer Anwendung setzt sich in der Regel aus
einer Menüleiste zusammen, die aus mehreren Menü-Buttons gebildet wird. Mit jedem MenüButton kann ein Menü assoziiert werden, das geöffnet wird, wenn der Benutzer den Menü-Button
anklickt.
Unter UNIX stehen mehrere Window-Manager zur Auswahl; im Abschnitt Weitere Schritte im
”
Umgang mit UNIX“ werden die Eigenschaften und Funktionen des Window-Managers Fvwm
ausführlich erläutert.
Jede graphische Anwendung erscheint in einem eigenen Fenster auf dem Bildschirm. Ein Fenster
ist dabei ein rechteckiger Bereich des Bildschirms, in dem ein Programm seine Ausgaben darstellt. Jedes Fenster besteht aus einer Ausgabefläche, die durch einen Rahmen eingegrenzt wird
und in der Regel eine Titelzeile besitzt. Wählt man mit der linken Maustaste die Titelzeile an
und hält sie gedrückt, so kann das Fenster auf dem Bildschirm frei verschoben werden. Fährt man
mit der Maus über den Rahmen eines Fensters, so verändert sich das Symbol des Mauszeigers
an der Stelle, an der man das Fenster in seiner Größe verändern kann. Um dies durchzuführen,
hält man bei verändertem Symbol die linke Maustaste gedrückt und zieht das Fenster dann in
die gewünschte Größe.
Diese Dekoration der Fenster mit Rahmen, Titelleiste und mit Schaltflächen (kleine rechteckige
Symbole) innerhalb der Titelleiste, mit denen sich Fenster-Operationen durchführen lassen, wie
z.B. das Verkleinern des Fensters zum Icon, das Verschieben oder das Schließen des Fensters, ist
Aufgabe des Window-Managers. Ein Icon ist ein kleines graphisches Symbol für eine Anwendung,
eine Art Piktogramm.
Eine der wichtigsten Anwendungen auf der graphischen Oberfläche ist xterm; in diesem Fenster
läuft eine Shell (Kommando-Interpreter), die vom Benutzer Kommandos entgegennimmt und
auswertet.
7
Das UNIX-Dateisystem
Auf dem Rechner gespeicherte Informationen (Texte, Programme, Grafiken, etc.) werden in Dateien (engl. Files) abgelegt, die zur Strukturierung des Informationsbestandes in Verzeichnissen
(engl. Directories) organisiert sind. Das UNIX-Dateisystem ist hierarchisch in Form eines Baums
5 Die Shell ist ein Programm, das eine Schnittstelle zwischen Benutzer und Computer bildet. Es nimmt Anweisungen des Benutzers entgegen, führt sie aus und zeigt ihm die Ergebnisse an. Die UNIX-Shell wird in einem
späteren Kapitel beschrieben.
6
gegliedert. Das root-Verzeichnis bildet die Wurzel des Baumes und wird durch einen Schrägstrich
(/) dargestellt. Alle Unterverzeichnisse und Dateien haben einen eindeutigen Namen, der sich von der Wurzel ausgehend - aus den Namenskomponenten entlang des Pfades zusammensetzt.
Die Pfadkomponenten werden durch Schrägstriche voneinander getrennt. Die Groß- und Kleinschreibung von Namen bzw. Kommandos wird unterschieden, d.h., die Namen ’Projekt’ und
’projekt’ bezeichnen zwei unterschiedliche Dateien oder Verzeichnisse.
Unter UNIX gibt es verschiedene Arten von Dateien. Die drei wichtigsten sind:
• Reguläre Dateien oder auch Text-Dateien genannt; diese Dateien bestehen aus lesbaren
Zeichen.
• Ausführbare Dateien oder auch Programme genannt, die als Kommandos aufgerufen werden
können. Diese können als binäre Dateien vorliegen, die nicht menschenlesbar sind, oder
z.B. als Shell-Skripte oder auch Perl-Skripte, die eine besondere Form von Text-Dateien
darstellen.
• Verzeichnisse kann man sich als Ordner vorstellen, die andere Dateien enthalten oder auch
andere Verzeichnisse, die dann Unterverzeichnisse genannt werden.
Ein Ausschnitt aus einem UNIX-Verzeichnisbaum:
/
/etc
/usr
/home
/home/max
/home/max/work
/bin
/tmp
/home/moritz
/home/max/private
/home/moritz/work
Für alle Benutzer des FB3-Netzes wird vom Systemadministrator ein eigenes Arbeits-Verzeichnis
eingerichtet, das sog. Home-Verzeichnis. Alle Home-Verzeichnisse sind unter dem Namen /home/username zu finden. Nach dem Einloggen befindet sich jeder Benutzer automatisch in
seinem Home-Verzeichnis.
8
Die Eingabe von Kommandos
Ein einfaches Kommando besteht aus einem oder mehreren Wörtern, die durch mindestens ein
Leerzeichen voneinander getrennt sind. Das erste Wort ist dabei der Kommandoname, folgende
Wörter werden als Argumente oder Parameter bezeichnet, die diesem Kommando zur Bearbeitung übergeben werden. In vielen Fällen sind die Argumente Datei- oder Verzeichnisnamen.
Eine besondere Art eines Arguments ist die Option. Optionen werden in der Regel mit einem
Minuszeichen (-) eingeleitet und dienen der Steuerung des Kommandos; die Arbeitsweise eines
Kommandos kann mit Optionen auf vielfache Art beeinflußt werden.
Kommandos besitzen die folgende Syntax, die eckigen Klammern bezeichnen ein fakultatives
Auftreten ihrer Inhalte, d.h. in dem Fall müssen die entsprechenden Optionen bzw. Argumente
nicht mit angegeben werden:
7
Kommando [-Option(en)] [Argumente]
Viele UNIX-Kommandos, die als Argument Dateinamen erwarten, sind ebenfalls auf Verzeichnisse anwendbar. In der Regel lassen sich außerdem mehrere Datei- oder Verzeichnisnamen einem
Kommando zur Bearbeitung übergeben.
Wenn im folgenden die spitzen Klammern verwendet werden, bedeutet dies, daß ein Argument
nicht optional ist, sondern durch den entsprechenden Datei- oder Verzeichnisnamen ersetzt werden muß. Können mehrere Datei- oder Verzeichnisnamen angegeben werden, wird dies durch drei
Punkte angezeigt.
Kommando <datei1> [<datei2> ...]
9
Der Editor
Um einen Text zu erstellen, muß man einen Editor starten. Die zwei wichtigsten Editoren unter
UNIX sind Emacs und vi. Emacs ist aber mehr als nur ein einfacher Texteditor. Emacs ist
eine integrierte Anwendung, die viele Möglichkeiten anderer UNIX-Programme zusammenfaßt.
Mit Hilfe von Emacs kann man Programme übersetzen und debuggen, E-Mail lesen, versenden
und verwalten, News lesen, FTP benutzen, etc. Außerdem läßt sich Emacs durch eine eigene
Programmiersprache (Emacs-Lisp) leicht erweitern und individuell anpassen.
Unter Emacs gibt es viele verschiedene Editier-Modi. Für einfache Textdateien gibt es die Voreinstellung Fundamental. Für viele Programmiersprachen existieren eigene Modi, die das Editieren
von Programmcode wesentlich erleichtern, so z.B. der C-mode. Anhand des Dateinamensuffixes
wird von Emacs der zugehörende Arbeits-Modus bestimmt, so wird z.B. für eine Datei datei.c
der C-mode ausgesucht.
Da Emacs ein sehr umfangreiches Programm ist, dauert das Laden etwas länger. Für das schnelle
Verändern einer Datei von der Kommandozeile aus kann man auch einen anderen Editor, wie
z.B. vi, wählen.
Eine Beschreibung der wichtigsten Emacs-Kommandos befindet sich im Anhang.
10
Drucken
Jeder Informatikstudent erhält pro Semester ein Guthaben von 300 Blatt Papier zum Drucken.
Dies ist eine Obergrenze, die nicht überschritten werden kann. Um etwas auszudrucken, benutzt
man das folgende Kommando:
Kommando
lprx [-Pdruckername] [-pages] <dateiname>
Erklärung
Gibt auf dem Drucker druckername eine Datei aus. Dabei wird die mit pages angegebene
Zahl von Seiten auf jeweils eine Blattseite gedruckt.
Wird z.B. der Wert 2 für pages benutzt, so werden 2 verkleinerte Seiten pro DIN-A4 Seite
ausgedruckt. Pages kann dabei die Werte 2, 3, 4, 8 oder 10 haben.
Beispiel: Ausdrucken der Datei Sample.ps auf dem Drucker lw0, wobei auf jeder Blattseite 2
Seiten ausgegeben werden sollen:
lprx -Plw0 -2 Sample.ps
Der Drucker lw0 wird standardmäßig benutzt, wenn kein anderer Drucker angegeben wird, da
dieser am schnellsten druckt. Zur Auswahl stehen die Drucker lw0, lw2 und der Farblaserdrucker
lw3, die gegenüber vom Raum MZH 0185 stehen. Ein von lw0 abweichender Drucker sollte dann
benutzt werden, wenn der lw0 stark ausgelastet ist. Die Druckerauslastung kann man sich mit
dem Kommando lpq bzw. lpq -Plw2 etc. anzeigen lassen.
8
Die verbleibende Zahl der Seiten, die man noch ausdrucken kann, läßt man sich mit dem Kommando pacc anzeigen. Für den Farbdrucker wird die Anzahl der gedruckten Seiten doppelt
abgerechnet.
11
Die On-Line Hilfe
Mit dem Kommando man <Kommando> kann man zu jedem UNIX-Kommando die On-LineManual-Seiten abrufen. Viele UNIX-Kommandos lassen sich auch mit der Option -help aufrufen,
woraufhin eine kurze Liste aller erlaubten Optionen angezeigt wird.
Nicht vergessen: die Mitarbeiterinnen und Mitarbeiter des T-Bereichs haben eine Dokumentation
zum Fachbereichsnetz mit geschrieben. Sie liegt im Fachbereichs-Web unter
http://www.informatik.uni-bremen.de/t/info/.
Weitere Schritte im Umgang mit UNIX
12
Arbeiten im Verzeichnisbaum
Dateien oder Verzeichnisse werden im UNIX-Dateisystem durch die Angabe ihres Pfadnamens
ausgehend vom Root-Verzeichnis eindeutig bestimmt. Ein solcher Pfadname beginnt mit einem
Schrägstrich und wird absoluter Pfadname genannt (z.B. /home/max/uni/todo). UNIX erlaubt
darüber hinaus die Angabe von sogenannten relativen Pfadnamen (z.B. uni/todo). Der relative
Pfadname beschreibt ebenfalls einen Weg durch die Verzeichnisstruktur, beginnt aber im Unterschied zum absoluten Pfadnamen nicht bei Root, sondern im sogenannten Working Directory,
das ist jenes Verzeichnis, in dem man sich aktuell befindet. Im folgenden werden in Kurzform die
grundlegenden Kommandos für das Arbeiten mit dem UNIX-Dateisystem erklärt. Dabei wurde
von uns eine bewußte Auswahl von Kommandos und Optionen getroffen, in der Regel gibt es
noch weitere, die hier nicht angesprochen werden.
12.1
Wechsel des Verzeichnisses
Mit dem cd-Kommando (change directory) kann man das Verzeichnis wechseln. Der Verzeichnisname kann dabei mit absolutem Pfadnamen, also ausgehend von root, angegeben werden.
Man kann ihn aber auch relativ zum aktuellen Verzeichnis angegeben. So kann der Benutzer
max, wenn er in seinem Home-Verzeichnis ist, durch Eingabe von cd uni in das Verzeichnis /home/max/uni wechseln.
Kommando
cd <verzeichnisname>
cd ..
cd -
cd
12.2
Erklärung
Wechsel in das angegebene Verzeichnis.
Wechsel in das übergeordnete Verzeichnis. Wieder muß das Leerzeichen vor den zwei Punkten ein- gegeben werden. (Das aktuelle Verzeichnis wird unter UNIX mit einem einzelnen Punkt gekenn- zeichnet, cd . hat also keinen Effekt)
wechselt in das zuvor eingestellte Verzeichnis, d.h. in dasjenige, in
dem man sich vor dem letzen Wechsel befunden hat; diese Funktion
gibt es nur unter der Shell bash6
wird cd ohne Argumente aufgerufen, wechselt man zurück in sein
Home-Verzeichnis
Anzeigen des Verzeichnisinhalts
Das ls-Kommando (list) listet die Unterverzeichnisse und Dateien auf, die in einem Verzeichnis
gespeichert sind.
9
Kommando
ls
ls <verz1> [<verz2> ...]
ls -l
ls -a
12.3
Erklärung
listet den Inhalt des aktuellen Verzeichnisses auf
gibt den Inhalt der angegebenen Verzeichnisse an
ergibt eine Liste mit verschiedenen Dateiattributen (long-listing)
listet auch Dateien auf, deren Name mit einem Punkt beginnt, dies
sind in der Regel Konfigurationsdateien
Verzeichnisse anlegen und löschen
Mit dem Kommando mkdir (make directory) können neue Verzeichnisse erzeugt werden. Das
Kommando rmdir (remove directory) löscht ein bereits leeres Verzeichnis.
Kommando
mkdir <verz1> [<verz2> ...]
rmdir <verz1> [<verz2> ...]
12.4
Erklärung
legt die angegebenen Verzeichnisse an
löscht die angegebenen leeren Verzeichnisse
Dateien kopieren, umbenennen und löschen
Das Kopieren von Dateien erfolgt mit dem cp-Kommando (copy):
Kommando
cp <datei1> <datei2>
cp <datei1> [<datei2> ...] <verz>
cp -r <verz1> <verz2>
Erklärung
kopiert datei1 in eine neue Datei datei2; falls datei2 bereits existiert, wird diese dabei ohne Warnung
überschrieben!
kopiert datei1 und ggf. weitere genannte Dateien in das
angegebene Verzeichnis
kopiert alle Dateien und Unterverzeichnisse des angegebenen verz1 mit derselben Verzeichnis-Struktur in das Verzeichnis verz2
Das Umbenennen und Verschieben von Dateien geschieht mit dem mv-Kommando (move):
Kommando
mv <datei1> <datei2>
mv <datei1>
verz>
[<datei2>
<
mv <verz1> <verz2>
...]
Erklärung
verändert den Namen der Datei datei1 in datei2; auch
hier wird eine bereits vorhandene datei2 gelöscht!
verschiebt die genannten Dateien in das angegebene Verzeichnis; existierende Dateien mit denselben Namen werden
dabei überschrieben!
verschiebt das gesamte verz1 inklusive aller Unterverzeichnisse in das verz2, dabei wird verz1 Unterverzeichnis von
verz2. Falls verz2 noch nicht vorhanden war, wird verz1
in verz2 umbenannt.
Mit dem rm-Kommando (remove) können Dateien gelöscht werden. Aber Vorsicht, die Dateien
werden ohne Rückfrage und unwiderruflich gelöscht!
Kommando
rm <datei1> [<datei2> ...]
rm -i <datei1> [<datei2> ...]
rm -r <verz1> [<verz2> ...]
12.5
Erklärung
löscht die angegebenen Dateien ohne Rückfrage
interaktives Löschen der Dateien nach Bestätigung
Löschen aller Dateien und Unterverzeichnisse der angegebenen Verzeichnisse ohne Rückfrage!
Anzeige von Datei-Inhalten
Um sich den Inhalt einer Datei anzusehen, kann man diese in einen Editor laden. Alternativ läßt
sich der Inhalt einer oder auch mehrerer Dateien mit dem Kommando cat (catalog) anzeigen.
10
Die Datei-Inhalte werden dabei ohne Unterbrechung ausgegeben:
Kommando
cat <datei1> [<datei2> ...]
Erklärung
gibt die angegebenen Dateien auf dem Bildschirm aus
Für die seitenweise Ausgabe einer größeren Datei gibt es die folgende Kommandos:
Kommando
more <datei1> [<datei2> ...]
Erklärung
gibt datei seitenweise aus
Die jeweils folgende Seite wird durch Drücken der SPACE-Taste angezeigt, die nächste Zeile
durch RETURN. Durch die Eingabe von q (quit) wird die Ausgabe beendet.
Kommando
less <datei1> [<datei2> ...]
Erklärung
gibt datei seitenweise aus
less wird über dieselben Tasten gesteuert wie more. Darüber hinaus kann man mit der Taste b
(back) seitenweise zurückblättern. Man kann ebenso die Pfeiltasten zur Steuerung benutzen.
13
Die Zugriffsrechte
Dateien und Verzeichnisse7 werden unter UNIX durch bestimmte Zugriffsrechte vor unerlaubtem
Zugriff geschützt. Bezogen auf jede Datei/Verzeichnis werden drei Klassen von Benutzern unterschieden:
Benutzerklasse
user
group
Erklärung
Jede Datei hat einen Besitzer
Für jeden Benutzer ist es möglich, mit anderen eine Gruppe
zu bilden und sich mit den Mitgliedern gewisse Rechte an
einer Datei zu teilen. Der Besitzer ist Mitglied mindestens
einer Gruppe. Alle Studenten des FB3 gehören der Gruppe
stud an. (Genauere Angaben zum Einrichten einer Gruppe
erhält man durch Eingabe des Kommandos man grp.)
Alle anderen Benutzer der Datei
others
Weiterhin werden drei Zugriffsrechte unterschieden:
Zugriffsrecht
read (r)
write (w)
execute (x)
Erklärung
Man kann auf eine Datei lesend zugreifen
Man kann auf eine Datei schreibend zugreifen
Man kann eine Datei ausführen, falls es sich um ein ausführbares Programm handelt
Die Zugriffsrechte bestimmen, wer wie auf eine Datei zugreifen darf. Diese Rechte werden dabei
für jede Benutzerklasse getrennt in der Reihenfolge user, group, others angegeben:
user
rwx
group
rwx
others
rwx
Mit dem Kommando ls -l kann man sich die Zugriffsrechte anzeigen lassen.
Eine Beispielausgabe von ls -l:
drwxr-xr-x
drwx------
1 max
1 max
stud
stud
512
512
Sep 24 17:28
Dec 25 00:11
work/
private/
7 In den angegebenen Beispielen können anstelle von Dateien auch Verzeichnisse angegeben werden, um die
Zugriffsrechte zu ändern.
11
-r-wr--r--
1 max
stud
1257
Sep 12 12:11
Uebung1
Die erste Spalte zeigt die Zugriffsattribute an. Dabei bezeichnet die erste Stelle den Datei-Typ.
Eine gewöhnliche Datei wird mit einem Minus gekennzeichnet, ein Verzeichnis mit einem d (Directory). Die folgenden neun Zeichen zeigen die Zugriffsrechte für diese Datei an. Ist ein Recht
nicht gesetzt, so wird statt des jeweiligen Buchstabens nur ein Minus ausgegeben. Die nächsten
Spalten geben weitere Informationen über die Datei aus, wie z.B. den Besitzer, die Größe der
Datei in Bytes, das Datum der letzten Änderung sowie den Dateinamen. -rw-r–r– bedeutet also,
daß es sich um eine gewöhnliche Datei handelt, die vom Besitzer, den Mitgliedern der Gruppe
und allen anderen Benutzern gelesen werden kann, aber nur vom Besitzer verändert werden kann.
Bei einem Verzeichnis bedeuten die drei Zugriffsrechte:
Zugriffsrecht
read
write
execute
Erklärung
Auflisten von Verzeichniseinträgen
Erzeugen und Löschen von Einträgen
Betreten des Verzeichnisses mit dem cd-Kommando, auf
Einträge zugreifen
Das s-Bit:
Neben den erwähnten drei Zugriffsrechten existiert ein viertes, das sogenannte s-Bit. Dieses Bit
wird nur angezeigt, wenn es gesetzt ist.
Zugriffsrecht
Erklärung
s-Bit bei Verzeichnissen
Ist das s-Bit bei den Gruppenrechten eines Verzeichnisses
gesetzt, so wird für alle darin erstellten Dateien und Unterverzeichnisse die Gruppe auf diejenige gesetzt, die auch bei
dem übergeordneten Verzeichnis eingetragen ist.
s-Bit bei Dateien
Bei einer ausführbaren Datei wird diese mit den Zugriffsrechten des Besitzers bzw. der besitzenden Gruppe ausgeführt (s-Bit = Set User ID oder Set Group ID), auch
wenn der Ausführende nicht der Besitzer bzw. nicht in der
besitzenden Gruppe ist. Dieses Bit wird nur in ganz bestimmten Anwendungsfällen verwendet.
Beispiele für gesetzte s-Bits:
drwxr-sr-x
-rwxr-s---r-sr-xr-x
13.1
1 max
1 max
1 max
stud
stud
stud
512
512
1257
Sep 24 17:28
Dec 25 00:11
Sep 12 12:11
work/
setgroupbit
setuidbit
Ändern der Zugriffsrechte
Die Meldung permission denied bedeutet, daß dem Benutzer die entsprechenden Zugriffsrechte
nicht gewährt werden. Ist er selber der Besitzer der Datei/des Verzeichnisses, hat er diese unter
Umständen nicht korrekt gesetzt. Mit dem Kommando chmod (change mode) können die Zugriffsrechte für Dateien und Verzeichnisse geändert werden, allerdings nur vom Besitzer oder dem
Systemverwalter.8 Mit einem Minuszeichen (-) wird der angegebenen Benutzerklasse ein Recht
entzogen, ein Pluszeichen (+) dagegen gewährt ein Recht:
8 Sofern man die gleichen Zugriffsrechte vergeben will, können dem Kommando chmod zugleich mehrere Dateioder Verzeichnisnamen übergeben werden
12
Kommando
chmod u+x <datei>
chmod o-r <datei>
chmod g+rw <datei>
Erklärung
macht die angegebene Datei für den Besitzer (user)
ausführbar
entzieht den restlichen Benutzern (others) die Leseerlaubnis
erteilt den Mitgliedern der Gruppe die Lese- und
Schreiberlaubnis
Wenn die Rechte für alle drei Benutzerklassen gleichermaßen gesetzt werden sollen, reicht die
Angabe der zu ändernden Rechte:
Kommando
chmod +x <datei>
Erklärung
macht die Datei für alle Benutzer ausführbar
Die Zugriffsrechte können auch mit einem Kommando entzogen und hinzugefügt werden:
Kommando
Erklärung
chmod g+x-rw <datei>
macht die Datei für die Gruppe ausführbar, entzieht aber
den Lese- und Schreibzugriff.
Ein Gleichheitszeichen setzt die Zugriffsrechte komplett neu:
Kommando
chmod g=r <datei>
14
Erklärung
die Gruppe erhält durch dieses Kommando nur die Leseerlaubnis, die Rechte zum Schreiben und Ausführen werden
entzogen
Die UNIX-Shell
Der Kommandointerpreter, der die eingegebenen Kommandos analysiert und ggf. Fehlermeldungen ausgibt oder die Kommandos ausführt, wird als Shell bezeichnet. Die Shell ist ein Programm,
das die Verbindung zwischen dem Betriebssystem und dem Benutzer herstellt. Es gibt verschiedene Shells unter UNIX, z.B. die Bourne-Shell (sh), die Korn-Shell (ksh), die C-Shell (csh) oder
die Bourne-Again-Shell (bash), die sich jeweils mit einem spezifischen Promptzeichen z.B. dem
Dollarzeichen ($) bei Eingabebereitschaft melden. Für die Studenten des FB3-Netzes ist die bash
voreingestellt; diese Shell ist äußerst umfangreich und bietet viele nützliche Funktionen, wie z.B.
das Editieren der Kommandozeile. Prinzipiell kann mit dem Kommando chsh eine andere Shell
ausgewählt werden. Das Kommando echo $SHELL zeigt den Pfadnamen der Shell an, mit der
man aktuell arbeitet.
14.1
Wie findet die Shell ein Kommando?
Unter UNIX ist ein Kommando einfach eine Datei (ein Programm oder eine ausführbare Datei), die im Dateisystem in der Regel in einem Verzeichnis mit dem Namen bin abgespeichert
ist. Jedes Kommando kann mit seinem absoluten Pfadnamen aufgerufen werden. Statt ls kann
beispielsweise auch /bin/ls eingegeben werden. Da dies allerdings ziemlich umständlich ist und
voraussetzt, daß der Benutzer für jedes Kommando seinen Pfadnamen im Dateisystem kennt,
gibt es eine Liste von Verzeichnissen, in denen die Shell nach Kommandos sucht. Diese Liste wird
PATH genannt. Mit dem Kommando echo $PATH kann man sich diese Liste anzeigen lassen.
$ echo $PATH
/usr/local/share/teTeX/bin:/home/max/bin/sun4solaris2:/home/
max/bin:/usr/local/usr/tools/bin:/usr/local/bin:/home/X11R6/
bin:/usr/local/X11/bin:/usr/dt/bin:/usr/openwin/bin:/usr/bin:
/usr/ccs/bin:/usr/ucb:/usr/local/lang:/usr/sbin:/sbin:/usr/
etc:/etc:/usr/local/etc:.
$
Die Reihenfolge der aufgelisteten Pfadnamen, die durch Doppelpunkte von einander getrennt
13
sind, ist dabei von entscheidender Bedeutung. Die Shell durchsucht den PATH von links nach
rechts und führt das eingegebene Kommando aus, sobald sie es in einem der angegebenen Verzeichnissse gefunden hat. Gibt es zwei verschiedene Versionen eines Kommandos mit demselben
Namen, wird das Kommando ausgeführt, dessen Pfadname im PATH zuerst genannt ist.
Der letzte Pfadname im PATH ist ein Punkt. Damit wird die Shell veranlaßt, im aktuellen
Verzeichnis ebenfalls nach einem eingegebenen Kommando zu suchen, allerdings erst an letzter
Stelle. Wird nun ein Kommando aufgerufen, das in einem Verzeichnis gespeichert ist, das nicht
im PATH enthalten ist, wird dieses Kommando von der Shell nicht gefunden und die entsprechende Meldung command not found ausgegeben.9 Das entsprechende Verzeichnis muß also in
den Pfad eingefügt werden.
Bei der bash fügt das folgende Kommando an das Ende des bisherigen Pfades das Verzeichnis
/usr/sbin hinzu, welches dann als letztes durchsucht wird: export PATH=$PATH:/usr/sbin.10
14.2
Eine Abkürzung für das Home-Verzeichnis
Die bash erlaubt die Abkürzung von Home-Verzeichnissen mit Hilfe der Tilde (˜). Wird einem Benutzernamen das Tilde-Zeichen vorangestellt, wie z.B. ˜max, entspricht diese Notation
dem absoluten Pfadnamen /home/max, so daß z.B. der Benutzer moritz, wenn er sich in seinem eigenen Home-Verzeichnis oder irgendwoanders im Dateisystem befindet, die Datei /home/max/uni abkürzend mit ˜max/uni ansprechen kann.
Entsprechend kann der Benutzer max die o.g. Datei mit dem Namen ˜/uni ansprechen.
Die Angabe von ˜uni (ohne Schrägstrich) wird die Shell als Home-Verzeichnis des Benutzers uni
interpretieren.
Kommando
cd ∼/uni
cd ∼uni
14.3
Erklärung
wechselt in das eigene Unterverzeichnis uni
wechselt in das Home-Verzeichnis des Benutzers mit dem
Login-Namen uni
Die automatische Vervollständigung von Namen
Bei der Eingabe von Datei-, Verzeichnis- und Kommandonamen kann man sich lästige Tipparbeit
ersparen. Einige Shells (bash, ksh) können diese Namen automatisch vervollständigen. Nachdem
man die ersten Buchstaben eingegeben hat, wird durch Drücken der TAB-Taste der Name von
der Shell zum kompletten Datei- bzw. Verzeichnis- oder Kommandonamen ergänzt, falls er durch
die eingetippten Buchstaben eindeutig bestimmt ist. Ist ein Name durch die Eingabe nicht eindeutig bestimmt, da verschiedene Namen mit denselben Buchstaben beginnen, wird bis zu der
Stelle ergänzt, an der sich die Namen unterscheiden. Bei der bash werden in diesem Fall durch
ein zweimaliges Drücken der TAB-Taste alle möglichen Erweiterungen angezeigt.
14.4
Das Arbeiten mit dem Befehlsspeicher und das Editieren der
Kommandozeile
Eine andere nützliche Einrichtung der bash ist ein Speicher, der die zuletzt eingegebenen Kommandozeilen enthält. Mit der nach oben gerichteten Pfeiltaste kann man sich die zuvor ausgeführten Kommandos zurück auf den Bildschirm holen. Der Pfeil nach unten blättert dann
wieder vorwärts. Mit den horizontalen Pfeiltasten kann man sich auf der Kommandozeile nach
links bzw. rechts bewegen, um sie zu editieren. Beim Editieren der Kommandozeile lassen sich
viele Emacs-Kommandos benutzen, so z.B. die Tastenkombination C-a oder C-e, um den Cursor an den Anfang bzw. an das Ende der Kommandozeile zu setzen, oder auch C-t, um nach
einem Tippfehler die Position zweier Buchstaben zu vertauschen. Die grundlegenden Kommandos
des Editors Emacs werden im Anhang besprochen.
9 Wenn ein Kommande mit absolutem Pfadnamen aufgerufen wird, wird es natürlich auch gefunden, unter der
Voraussetzung, daß es an dem angegebenen Ort auch abgespeichert ist
10 Je nach Shell variiert die Syntax für dieses Kommando. Der Shell-Suchpfad sollte in der Regel für die UNIXStandardkommandos korrekt eingestellt sein.
14
14.5
Wildcards“
”
Eine weitere Methode der Zeitersparnis besteht darin, die Eingabe von Dateinamen durch das
Benutzen von speziellen Sonderzeichen abzukürzen. Über diese sogenannten Wildcards11 kann
man die Shell nach bestimmten Dateien suchen lassen bzw. mehrere Dateien gleichzeitig ansprechen. Dabei werden die Dateinamen mit einem angegebenen Suchmuster, welches die Wildcards
enthält, verglichen. Die Shell analysiert das Suchmuster und ersetzt dieses durch alle passenden Dateinamen. Dieser Vorgang wird als Dateinamens-Expansion bezeichnet. Erst das Ergebnis
dieser Expansion wird dem jeweiligen Kommando anstelle des Suchmusters als Argument(e) zur
Bearbeitung übergeben. Wenn das Suchmuster allerdings auf keinen passenden Dateinamen zutrifft, wird es unverändert dem Kommando als Argument übergeben, was in den meisten Fällen
eine Fehlermeldung wie No such file or directory zur Folge hat.
Wildcard
?
Beispiel:
Bedeutung
Ein Fragezeichen steht für genau ein Zeichen in einem Dateinamen an genau derselben Position wie im Suchmuster
x?z
paßt zu x.z, xyz, xYz, xaz, x1z, ...
Wildcard
*
Beispiel:
Bedeutung
Ein Stern steht für eine beliebige Anzahl von Zeichen, d.h.
auch für null Zeichen
x*
*.ps
Wildcard
[...]
Beispiel:
paßt zu allen Dateinamen, deren 1. Zeichen ein x ist,
also auch zu x.
paßt zu allen Dateinamen, die auf .ps enden.
Bedeutung
Die Angabe eines Bereichs steht für genau ein Zeichen
im Dateinamen, welches mit einem Zeichen innerhalb der
Klammern identisch ist. Statt einzelner Zeichen kann auch
durch einen Bindestrich (-) ein Intervall angegeben werden,
aus dem ein Zeichen zutreffen kann. Eine zusätzliche Funktion der bash: Ein Ausrufezeichen (!) als erstes Zeichen
innerhalb der Klammern bewirkt eine Negation, d.h. das
Zeichen im Dateinamen an der entsprechenden Stelle darf
nicht mit jenen in der Klammer übereinstimmen.
[xy]*
[a-z]*
[A-Z]*
*[!0-9]
paßt zu allen Dateinamen,
oder ein y ist.
paßt zu allen Dateinamen,
beginnen.
paßt zu allen Dateinamen,
beginnen.
paßt zu allen Dateinamen,
deren 1. Zeichen ein x
die mit einem Kleinbuchstaben
die mit einem Großbuchstaben
die nicht mit einer Ziffer enden.
Wildcards sind unter UNIX sehr vielseitig, die UNIX-Shells erlauben eine beliebige Kombination aus normalen Zeichen und Zeichen mit Sonderbedeutung. So kann z.B. mit dem Kommando:
ls *z??.?
11 Wildcards sollten nicht mit regulären Ausdrücken verwechselt werden! Auch wenn zum Teil dieselben Symbole
verwendet werden, haben diese dort eine andere Bedeutung. Das Erklären von regulären Ausdrücken kann nicht
im Rahmen des vorliegenden Papiers vorgenommen werden.
15
eine Übersicht über alle Dateien im aktuellen Verzeichnis erzeugt werden, deren fünftletzter
Buchstabe im Dateinamen ein z und deren vorletztes Zeichen ein Punkt ist.
ls *[u-z]?.?
In diesem Fall kann der viertletzte Buchstabe entweder ein u, v, w, x, y oder z sein, das vorletzte
Zeichen muß ein Punkt sein.
ls *[0-9]*.[co]
Das obige Kommando listet alle Dateien auf, die mit .c oder .o enden und deren Name eine Ziffer
enthält.
ls *.*
Unter UNIX ist ein Punkt in einem Dateinamen ein normales Zeichen und hat keine Sonderbedeutung (mit Ausnahme des Punktes am Anfang eines Dateinamens, der diese Datei in der
Regel unsichtbar“ bleiben läßt). So listet das Kommando ls *.* nur die Dateien auf, die in
”
ihrem Namen einen Punkt enthalten, und nicht - wie unter MS-DOS üblich - alle Dateinamen.
14.6
Ein- und Ausgabeumleitung
Eine weitere nützliche Eigenschaft der UNIX-Shells ist die Möglichkeit der Ein- und Ausgabeumleitung (Redirection). Mit dem folgenden Kommando wird die Ausgabe des Kommandos ls in
eine Datei geschrieben anstatt auf den Bildschirm.
ls >datei
Achtung: Die Datei hinter dem Ausgabeumlenkungszeichen, d.h. dem Größer-als-Zeichen (>)
wird immer neu erzeugt. Existiert bereits eine Datei mit diesem Namen, so ist ihr Inhalt verloren. Will man die Ausgabe an das Ende einer (bestehenden) Datei anfügen, gibt man statt des
einzelnen ein doppeltes Größer-als-Zeichen (>>) ein. Existiert diese Datei noch nicht, wird sie
neu angelegt.
ls
>>
datei
Das nächste Beispiel sollte zur Vorsicht mahnen und nicht nachgeahmt werden:
Kommando
sort datei1 >datei1
Erklärung
datei1 wird neu angelegt, so daß es jetzt nichts mehr zu
sortieren gibt!
Besser:
Kommando
sort datei1 >datei2
mv datei2 datei1
Erklärung
datei2 wird neu angelegt und erhält den sortierten Inhalt
von datei1.
datei1 wird jetzt mit dem Inhalt von datei2
überschrieben.
16
Das Kleiner-als-Zeichen bewirkt, daß die Eingabe aus einer Datei gelesen wird:
kommando <datei
Beispiel:
Verschicken einer in der Datei inhalt.txt abgespeicherten E-Mail an den Benutzer moritz. Das
Programm mail nimmt normalerweise nur Eingaben von der Tastatur entgegen. Dies umgehen
wir, indem wir den Inhalt der o.g. Datei inhalt.txt an mail weiterleiten.
mail moritz <inhalt.txt
Eine besondere Form der Umlenkung von Ein- und Ausgaben ist die Pipe (ein senkrechter Strich:
| ). Diese bietet die Möglichkeit, mehrere Kommandos hintereinanderzuschalten, wobei die Ausgabe des einen Kommandos als Eingabe des nächsten benutzt wird:
kommando1 | kommando2 | kommando3
Beispiel:
Die Ausgabe des Kommandos ls -l wird als Eingabe an das Sortierkommando sort weitergeleitet
und anschließend dem Kommando lprx zum Drucken übergeben. Das Ergebnis ist eine sortierte
und ausgedruckte Liste der aktuellen Verzeichniseinträge.
ls -l | sort | lprx
14.7
Kommandos im Hintergrund ausführen
Übergibt man der Shell ein Kommando zur Ausführung, wartet die Shell, bis das Kommando
abgearbeitet ist, bevor sie ihre Eingabebereitschaft wieder mit dem Promptzeichen signalisiert.
Aufgrund der Multitasking-Fähigkeit von UNIX gibt es aber auch die Möglichkeit, Kommandos
im Hintergrund“ ausführen zu lassen, indem man an das Ende der Kommandozeile ein Amper”
sand (&) anfügt:
kommando &
Dies hat zur Folge, daß die Shell unmittelbar nach Eingabe dieses Kommandos zur Entgegennahme eines nächsten Kommandos bereit ist. Auf diese Weise kann man arbeitsintensive Prozesse
im Hintergrund ablaufen lassen, während man im Vordergrund z.B. eine Datei editiert.
Interaktive Programme, die Eingaben vom Benutzer erfordern, sollten nur im Vordergrund gestartet werden. Falls ein Hintergrundprozeß eine Eingabe des Benutzers erfordert, wird er zunächst
schlicht warten und nichts weiter tun oder er resultiert in einer Fehlermeldung. Denn ein im Hintergrund laufendes Kommando hat keine Kontrolle über das Terminal12 , d.h. es kann keine
Tastatureingaben entgegennehmen.
Unter UNIX wird jede Abarbeitung eines Programmes als Prozeß bezeichnet. Durch die Eingabe
eines Kommandos in die Shell wird ein Programm geladen und zur Ausführung gebracht. Damit
ist ein Prozeß entstanden, der solange dauert, bis das Programm beendet ist. Jedem Prozeß wird,
wenn er erzeugt wird, eine eindeutige Kennzahl, die sogenannte Process-ID (PID), zugeordnet.
Im Unterschied zum Prozeß wird die Ausführung einer Kommandozeile als Job bezeichnet. Bei
komplexen Kommandos, die z.B. über eine Pipe verbunden sind, besteht folglich ein Job aus
12 Entsprechendes
gilt für das xterm-Fenster, wenn man unter der graphischen Oberfläche arbeitet.
17
mehreren verschiedenen Prozessen. Beim Starten eines Hintergrundprozesses wird auf dem Bildschirm eine Zeile ausgegeben, welche zwei Nummern enthält, die eine Bezugnahme auf den im
Hintergrund laufenden Prozeß ermöglichen, z.B.:
$ sort datei1
[1] 1234
$
>
datei2 &
In diesem Beispiel ist die 1234 die PID für den Prozeß sort. Die [1] ist die Jobnummer, diese wird
von der Shell zugewiesen, die das Kommando entgegengenomen hat. Jobnummern beziehen sich
auf Hintergrundprozesse, die aktuell unter einer Shell laufen, während PIDs sich auf alle Prozesse
beziehen, die aktuell im gesamten System für alle Benutzer ausgeführt werden. Die Jobnummern
werden dabei von 1 beginnend durchnumeriert, das zweite Hintergrundkommando bekommt die
Nummer 2 zugewiesen und so fort.
Man kann mehrere Prozesse zur selben Zeit im Hintergrund abarbeiten lassen. Je mehr Kommandos im Hintergrund laufen, desto langsamer wird allerdings das System, weil ja die Ressourcen
gleichzeitig auf mehrere Prozesse verteilt werden müssen. Zum Anzeigen der (eigenen) aktuell
laufenden Prozesse gibt es das Kommando ps (process status), welches u.a. die PID und den
Kommandonamen ausgibt. So kann eine Zuordnung von Prozeß und Kennzahl ermittelt werden,
falls man z.B. einen Prozeß abbrechen will.
$ ps
PID TTY
1207 04
1234 04
1287 04
TIME
0:02
0:05
0:01
CMD
-sh
sort datei1
ps
Ein Hintergrundprozeß kann auch wieder in den Vordergrund geholt werden. Hat man mehrere
Kommandos im Hintergrund laufen, wird das betreffende Kommando durch die Jobnummer oder
die Prozeß-ID bestimmt, die dem Kommando fg (foreground) als Parameter übergeben werden.
Der Jobnummer muß dabei ein Prozentzeichen (%) vorangestellt werden; dadurch werden Jobnummern von Prozeß-ID’s unterschieden:
$ fg %1
$ fg 1234
Das Kommando fg ohne Argumente holt den zuletzt erzeugten Hintergrundprozeß wieder in den
Vordergrund.
Entsprechend kann man ein Vordergrundkommando in den Hintergrund verlagern. Dafür muß
das betreffende Kommando zunächst mit der Tastenkombination CONTROL-z13 suspendiert
werden, damit die Shell die Kontrolle über das Terminal zurückgewinnt. Anschließend kann
man die Ausführung dieses suspendierten Prozesses durch das Kommando bg (background) im
Hintergrund fortsetzen lassen.14
14.8
Vorzeitiges Beenden von Prozessen
Vordergrundprozesse sind mit dem Terminal verbunden und werden durch ein bestimmtes Signal,
dem sogenannten Terminal-Interrupt, der durch die Eingabe der Tastenkombination CONTROLc ausgelöst wird, vorzeitig beendet.15
Da Hintergrundprozesse nicht mit dem Terminal verbunden sind, können sie auch nicht mit dem
Terminal-Interrupt erreicht werden. Zum vorzeitigen Beenden eines im Hintergrund laufenden
13 CONTROL-z
bedeutet gleichzeituges Drücken der CONTROL- und der z-Taste.
man das Kommando auf einem entfernten Rechner über ein Netz gestartet hat, sollte das Kommando
bg nicht benutzt werden.
15 Reagiert ein im Vordergrund laufender Prozeß auf die Eingabe von CONTROL-c nicht, gibt es noch die
Tastenkombination CONTROL-\, die ebenfalls das vorzeitige Beenden eines Prozesses bewirkt.
14 Falls
18
Prozesses gibt es das kill-Kommando. Diesem Kommando wird als Parameter die PID des betreffenden Prozesses angegeben; alternativ kann der Kommandoname (wenn er eindeutig ist, d.h.
daß man dieses Kommando nicht mehrfach aufgerufen hat) oder die Jobnummer (mit vorangestelltem Prozentzeichen) genannt werden:
Kommando
kill 1234
[1]+ Terminated sort
kill %1
[1]+ Terminated sort
kill sort
[1]+ Terminated sort
Erklärung
Das vorzeitige
durch Angabe
Das vorzeitige
durch Angabe
Das vorzeitige
durch Angabe
Beenden des sort-Prozesses
der PID
Beenden des sort-Prozesses
der Jobnummer
Beenden des sort-Prozesses
des Kommandonamens
Das kill-Kommando kann für jeden Prozeß, der erzeugt wurde, benutzt werden, nicht nur für
Hintergrundprozesse. Wenn man beispielsweise auf der graphischen Oberfläche mehrere xtermFenster geöffnet hat, läuft in jedem Fenster eine eigene Shell. Falls in einem dieser Fenster von
einer Shell ein Prozeß ausgeführt wird, der abgebrochen werden soll, kann dies von einem anderen xterm-Fenster aus mit dem kill-Kommando durchgeführt werden. Allerdings kann der
Prozeß nicht über die Jobnummer angesprochen werden, da er ja unter einer anderen Shell läuft,
stattdessen muß seine PID angegeben werden.
Sollte das normale kill-Kommando nicht zum gewünschten Erfolg führen, gibt es eine Option,
die garantiert zum Beenden des Prozesses führt. Diese Option sollte allerdings nur im Notfall
angewandt werden, da der Prozess in diesem Fall nicht ordentlich“ terminiert wird:
”
kill -9 1234
[1]+ Killed sort
15
Der Window-Manager Fvwm
Im folgenden wird das Benutzen eines Window-Managers am Beispiel des Fvwm erläutert.16 Die
systemweite Konfiguration des Fvwm wird in der Datei /usr/local/X11/etc/system.fvwmrc
festgelegt. Um sich eine eigene Konfiguration zu erstellen, muß diese Datei unter dem Namen
.fvwmrc in das Home-Verzeichnis kopiert und entsprechend geändert werden.
Die folgende Beschreibung des Fvwm erscheint auf den ersten Blick sehr umfangreich und verwirrend. Die meisten der erwähnten Funktionen wird man beim “Herumspielen“ am Rechner
früher oder später von selbst herausfinden.
15.1
Der virtuelle Desktop
Der Fvwm erlaubt das Einrichten einer beliebigen Anzahl von Desktops, die z.B. für verschiedene
Projekte oder verschiedene Anwendungen genutzt werden können. Ein Desktop ist dabei eine
Arbeitsfläche, die in Seiten unterteilt ist, auf denen Fenster und Icons abgelegt werden können.
Auf dem Bildschirm kann zu einer bestimmten Zeit nur jeweils eine Seite ausgegeben werden.
Jeder dieser Desktops ermöglicht also die Anordnung von Fenstern auf einer Fläche, die größer
ist als der sichtbare Bildschirm. Die Anzahl der Seiten in einem Desktop kann ebenfalls festgelegt
werden. Die eingestellte Fvwm-Konfiguration besitzt vier Desktops mit jeweils vier Seiten.
16 Der Window-Manager Fvwm wurde von uns ausgewählt, da er auf allen Plattformen lauffähig ist und somit
eine einheitliche Arbeitsumgebung im Fachbereichsnetz ermöglichen kann. Darüber hinaus läßt er sich in fast
jeder Hinsicht an die individuellen Bedürfnisse des Benutzers anpassen. Er wird leider zur Zeit nicht auf allen
Plattformen angeboten. Die Rechner im Praktikuspool, deren Name mit einem ’s’ oder mit einem ’p’ beginnt,
also z.B. s17, bieten innerhalt des Fensters, in dem man zum Einloggen aufgefordert wird, einen Menüpunkt ’Optionen’, über den andere Window-Manager als der standardmäßig vorgegebene CDE ausgewählt werden können
- unteranderem der Fvwm. Die Rechner, auf denen das Betriebssystem IRIX läuft (erkennbar am beginnenden
’i’ im Namen) sind leider noch nicht entsprechend konfiguriert.
19
15.2
Der Pager
Der Pager des Fvwm bietet einen Überblick über die gesamte Arbeitsfläche, alle eingerichteten
Desktops werden im Miniatur-Format dargestellt. Unter einer Überschrift werden die virtuellen
Seiten dargestellt. Jede laufende Anwendung erscheint im Pager-Fenster, größere Fenster besitzen
ein Label. Der Titel des Desktops, mit dem gerade gearbeitet wird, wird im Pager durch eine
andere Farbe hervorgehoben, in dieser Farbe wird auch die aktuelle Seite dargestellt. Das aktive
Fenster wird in derselben Farbe dargestellt, die für dessen Rahmen verwendet wird.
Im Pager kann per Mausklick ausgewählt werden, welcher Ausschnitt der Arbeitsfläche angezeigt
werden soll, es lassen sich außerdem die Fenster zwischen Seiten und Desktops verschieben. Der
Pager ist ein sogenanntes sticky window, d.h. er erscheint auf jeder virtuellen Seite. Es können
beliebige Fenster als sticky windows deklariert werden. Ein solches kann durch die Rahmenfarbe
von anderen Fenstern unterschieden werden, manche Fenster unterdrücken jedoch den Rahmen.
Ein sticky window erscheint nicht im Pager.
15.3
Das Focus-Fenster
Das Fenster einer Anwendung, welches alle Eingaben des Benutzers über die Tastatur überstellt
bekommt, und damit die Eingabefokussierung besitzt, wird als Focus-Fenster bezeichnet. Das
jeweils aktive Fenster wird durch eine andere Farbe des Rahmens hervorgehoben. Die Konfigurationsdatei .fvwmrc des Fvwm ist so voreingestellt, daß das aktive Fenster immer jenes ist, in
dem sich der Cursor befindet. Man kann aber auch Click-To-Focus wählen, d.h. das Fenster
wird erst durch Anklicken aktiviert und nicht allein schon durch Bewegen des Cursors auf die
Fensterfläche. Dafür muß man in der Konfigurationsdatei .fvwmrc in der Zeile:
#ClickToFocus
das Doppelkreuz (Kommentarzeichen) am Anfang entfernen.
15.4
Navigation
Wie oben bereits angedeutet gibt es zum Bewegen auf der virtuellen Arbeitsfläche verschiedene
Möglichkeiten:
• mit dem FvwmWinList-Modul
• Bewegen des Zeigers mit der Maus innerhalb eines Desktops
• Seitenwechsel mit dem Pager
• mit der Tastatur zwischen den Seiten wechseln
• den Zeiger über Tasten verschieben
Die verschiedenen Möglichkeiten des Wechsels zwischen den einzelnen Seiten eines Desktops
werden im folgenden erläutert.
15.4.1
FvwmWinList
FvwmWinList ist eine Liste der aktuell laufenden Anwendungen. Die Fvwm-Module selbst werden meist nicht mit angezeigt. Die Titel der Fenster, die zum Icon verkleinert sind, werden in
Klammern eingeschlossen.
Indem man eine Anwendung innerhalb der FvwmWinList anklickt, wechselt man zu der Seite,
auf der sich diese Anwendung befindet, das Fenster erhält automatisch den Focus.
Auch ein zum Icon verkleinertes Fenster wird durch Anklicken in der FvwmWinList wieder zum
aktiven Fenster. Es erscheint allerdings auf der Seite, auf der man sich gerade befindet, d.h. ggf.
nicht auf dem ursprünglichen Platz.
20
15.4.2
Seitenwechsel mit dem Mauszeiger
Innerhalb eines Desktops kann man die Seite wechseln, indem der Mauszeiger an den entsprechenden Bildschirmrand bewegt wird. Soll z.B. von der Seite oben links zur Seite unten rechts
gewechselt werden, wird der Zeiger einfach diagonal in die Ecke gezogen und auf dem Bildschirm
erscheint die neue Seite.
Um ungewollte Seitenwechsel zu vermeiden, kann diese Möglichkeit des Seitenwechsels abgeschaltet werden. In der .fvwmrc muß dann die Zeile:
EdgeScroll 100 100
umgeändert werden in:
EdgeScroll 0 0
15.4.3
Seitenwechsel durch den Pager
Die aktuelle Seite wird im Pager durch eine andere Farbe hervorgehoben.
• Durch Anklicken mit der linken Maustaste innerhalb des Pager kann zu der ausgewählten
Seite gewechselt werden.
• Drückt man die rechte Maustaste und bewegt den Cursor, kann man sich so über den
gesamten Desktop bewegen. Beim Loslassen der Taste bleibt dann der jeweilige Ausschnitt
auf dem Bildschirm erhalten.
• Auch durch Anklicken mit der rechten Maustaste innerhalb des Pager wird der jeweilige
Ausschnitt angezeigt, wobei der Cursor im Pager die linke obere Ecke des Bildschirms
bezeichnet.
• Mit der mittleren Maustaste läßt sich ein Fenster innerhalb des Pager zwischen den Seiten
verschieben. Das Fenster erhält außerdem den Focus, es wird dann im Pager durch die
Farbe des Fensterrahmen des aktiven Fensters dargestellt. Ein automatischer Wechsel zu
der Seite, auf die das Fenster verschoben wurde, findet allerdings nicht statt, dafür muß
mit der linken Taste die Seite im Pager angeklickt werden.
15.4.4
Seitenwechsel über Tastenkombinationen der Tastatur
• Drückt man die CONTROL-Taste zusammen mit einer Pfeiltaste kann man die Seite in
Richtung der gewählten Pfeiltaste wechseln.
• Mit der META-Taste und einer Pfeiltaste bewegt man sich um 1/10 einer Seite in die
jeweilige Richtung.
15.5
GoodStuff
GoodStuff ist ebenfalls ein sticky window wie der Pager und enthält Buttons zum Starten neuer
Anwendungen. In der vorliegenden Konfiguration ist der Pager innerhalb von GoodStuff integriert.
15.6
Die Fvwm-Menüs
Die vorliegende Fvwm-Konfiguration stellt zwei Menüs zur Verfügung:
Ein ’main-menu’, das aus mehreren Untermenüs besteht und die Möglichkeit bietet, neue Fenster zu öffnen, Editoren zu starten, Programme zum Lesen und Verschicken von E-Mail aufzurufen
21
und noch viele weitere Anwendungen auszuführen. Die Fvwm-Module (wie Pager, GoodStuff)
können hier aufgerufen werden und auch das Verlassen oder Neustarten des Window-Managers
selbst ist hier vorgesehen.
Zum Öffnen des Menüs drückt man auf die rechte Maustaste irgendwo außerhalb eines Fensters auf dem Bildschirmhintergrund, dem sog. Root-Window. Zum Aktivieren einer Anwendung/Funktion zieht man den Cursor über den betreffenden Eintrag und läßt die Maustaste
dann los. Will man keine Anwendung starten, zieht man den Cursor vom Menü weg und läßt die
Taste los, daraufhin verschwindet das Menü wieder.
In einem weiteren ’window-ops-menu’ werden Funktionen geboten, um die Fenster zu manipulieren, wie z.B. Verschieben, Verändern der Größe, in den Vorder- oder Hintergrund schieben,
das Fenster zum Icon verkleinern oder wieder zur ursprünglichen Größe herstellen und Schließen
des Fensters. Dieses Menü wird durch Anklicken des mittleren Mausbuttons im Root-Window
aktiviert.
15.7
Schaltflächen in der Titelleiste
Jedes Fenster - bis auf spezielle Anwendungen wie z.B. die Fvwm-Module oder Uhren - besitzt
eine Dekoration, bestehend aus einem Rahmen und einer Titelleiste. Links und rechts in der
Titelleiste befinden sich verschiedene Schaltflächen, voreingestellt sind ein Button links und zwei
rechts. Zum Anklicken der Schaltflächen in der Titelleiste kann eine beliebige Maustaste benutzt
werden.
• Beim Anklicken der linken Schaltfläche erscheint ein weiteres Menü mit Window-Operationen, die sich auf das aktuelle Fenster beziehen. Die entsprechende Funktion wird einfach
angeklickt und anschließend ausgeführt.
• Beim Klicken auf den Button rechts innen wird das Fenster zum Icon verkleinert. Ein
Doppelklick auf das Icon stellt das Fenster wieder her. Mit Doppelklick wird das zweimal
schnell hintereinander ausgeführte Anklicken eines graphischen Objekts bezeichnet.
• Der Button rechts außen bietet Funktionen zum Verändern der Fenster-Größe:
– Wird der Button angeklickt, wird das Fenster in vertikaler Richtung vergrößert.
– Bewegt man den Cursor über diesem Button während man eine Maustaste gedrückt
hält, wird das Fenster in vertikaler Richtung zur maximalen Größe bis zum unteren
Bildschirmrand erweitert.
– Drückt man 2 mal kurz hintereinander auf eine Maustaste, füllt das Fenster daraufhin
den gesamten Bildschirm aus.
Diese drei Funktionen sind sog. Toggles, d.h. wiederholt man die Operation, wird das Fenster in
der vorherigen Größe wiederhergestellt.
15.8
Fenster-Operationen
• Raise-Lower
Das Anklicken des Fensters mit der mittleren Maustaste an irgendeiner Stelle seiner Dekoration, also Titelleiste (mit Ausnahme der Schaltflächen), Rahmen, Ecken, oder im Icon,
bewirkt ein ’Raise-Lower’, d.h. das Fenster wird entweder, wenn es durch ein anderes überlagert wird, in den Vordergrund geholt, oder es wird - im anderen Fall - in den Hintergrund
verschoben.
• Resize-or-Raise
Klickt man ein Fenster mit der linken Maustaste in einer Ecke an und bewegt dabei den
Cursor, wird es in den Vordergrund geholt und man kann die Fenstergröße verändern. Ein
Doppelklick bewirkt ein ’Raise-Lower’.
22
• Move-or-Raise
Klicken und Bewegen mit der linken Taste in der Titelleiste oder an den Seiten bewirkt
ein mögliches Verschieben des aktuellen Fensters. Auch hier hat ein Doppelklick ein ’RaiseLower’ zur Folge.
• Move-or-Iconify
Mit einem Klicken und Bewegen mit der linken Maustatste über einem Icon läßt sich dieses
verschieben. Ein Doppelklick auf das Icon stellt das Fenster zur ursprünglichen Größe
wieder her.
• Icon-Menu
Mit der rechten Taste über einem Icon öffnet man ein Icon-Menü, in dem man die Wahl
hat zwischen Wiederherstellen und Schließen, oder zum ’Festkleben’ des Fensters auf jeder
Seite, indem man es als ’sticky’ deklariert.
• Window-Ops-Menu
Die rechte Maustaste in der Titelleiste eines Fensters öffnet ebenfalls ein Menü mit FensterOperationen.
– Beim Bewegen erscheint das Menü und verschwindet wieder, sobald man die Taste
losläßt.
– Mit einem Klick erscheint das Menü und bleibt auch nach dem Loslassen der Taste
erhalten. Ein Klick außerhalb dieses Menüs mit irgendeiner Maustaste bringt es wieder
zum Verschwinden.
– Ein Doppelklick mit der rechten Taste bewirkt ein Schließen des betreffenden Fensters.
• Frame-Menu
In den Fenster-Ecken oder am Fensterrahmen kann man mit der rechten Maustaste ein
kleines Menü öffnen, in dem man die Möglichkeit hat, das Fenster zum Icon zu verkleinern
oder zu schließen
16
E-Mail
Die Vernetzung der Rechner im Fachbereichsnetz ermöglicht das Senden und Empfangen von
elektronischer Post (E-Mail). Es gibt eine Reihe von Programmen (z.B. elm, pine und mailtool), die ausschließlich den Umgang mit E-Mail ermöglichen; es empfiehlt sich aber, Emacs zu
benutzen, da hier wesentlich mehr Funktionen zur Verfügung gestellt werden, als in den meisten
der anderen Mail-Programme.
16.1
Das Versenden von elektronischer Post mit Emacs
Durch die Eingabe des Kommandos emacs & wird der Editor gestartet. Eine Beschreibung
der Grundlagen des Editierens mit dem Editor Emacs befindet sich im Anhang, dort wird auch
die Eingabe der Emacs-Kommandos erläutert. Um eine elektronische Nachricht innerhalb von
Emacs zu versenden, drückt man die Tastensequenz CONTROL-x m (gleichzeitiges Drücken
der CONTROL- und der x-Taste, anschließend einmaliges Drücken der Taste m; im folgenden
in Kurzform geschrieben: C-x m). Emacs öffnet den Mail-Puffer, es erscheint ein neues Fenster,
in dem die E-Mail erstellt werden kann. Emacs kann mit dem Kommando emacs -f mail auch
sofort im Mail-Modus17 gestartet werden.
17 In allen Emacs-Modi kann man sich mit dem Kommando C-h m eine Übersicht über die gültigen Tastenkombinationen anzeigen lassen.
23
To:
Subject:
--text follows this line-Es wird eine Art Briefkopf vorgegeben, der nur noch auszufüllen ist. Hinter To: wird der
Empfänger mit seiner E-Mail-Adresse angegeben,18 in der Zeile Subject: wird ein Titel für
die Nachricht angegeben. Die eigentliche Nachricht wird unterhalb der Zeile –text follows this
line – geschrieben; diese Zeile darf nicht entfernt oder verändert werden. Will man den Inhalt
einer Text-Datei als Mail verschicken, kann diese mit dem Kommando C-x i <dateiname> hier
eingefügt werden.
Zum Versenden der fertigen Nachricht drückt man die Tastenkombination C-c C-s; man verbleibt im Mail-Puffer und kann eine weitere Nachricht erstellen. Alternativ kann das Verschicken
auch über den Menüeintrag Mail und den Unterpunkt Sendmail geschehen. Die Tastenkombination C-c C-c wird eingesetzt, um eine Nachricht zu senden und den Mail-Puffer zu verlassen;
man wechselt zurück in den Puffer, in dem man sich zuvor befunden hat.
Falls eine Kopie der Nachricht an eine (oder mehrere) weitere Person(en) verschickt werden soll,
gibt man die Tastenkombination C-c C-f C-c ein, und es erscheint ein neues Feld CC: unterhalb
von To:, in dem die entsprechende(n) Adresse(n) einzutragen ist (sind).
Um einen Überblick darüber zu behalten, welche Mails man verschickt hat, kann man Emacs
veranlassen, Kopien aller gesendeten Nachrichten in einer Datei zu sammeln. Der Pfadname dieser Datei wird in das Feld FCC: eingetragen, das von Emacs durch die Tastenkombination C-c
C-f C-f erzeugt wird.19
Mit dem Kommando M-x mail-dont-send oder der Tastensequenz C-x k (kill-buffer) kann
das Schreiben einer Mail abgebrochen werden, wenn man es sich anders überlegt hat.
Kommando
C-x m
C-x i <dateiname>
C-c C-c
C-x k
16.2
Erklärung
Wechsel in den Mail-Modus zum Schreiben einer Mail
Einfügen einer Textdatei
Mail versenden und den Mail-Puffer beenden
Beenden des Puffers ohne die Mail zu verschicken
Das Lesen von Mail innerhalb Emacs
Mit dem Kommando M-x rmail bzw. ReadMail aus dem Tools-Menü wechselt Emacs in den
RMAIL-Puffer zum Lesen der Mail. Zum Starten von Emacs im RMAIL-Modus, gibt man das
Kommando emacs -f rmail ein. Nach dem Aufrufen von RMAIL wird in einem Puffer die erste
Nachricht aus der Eingangsmailbox angezeigt.
Nach Eingabe von h erscheint eine Liste der eingegangenen Nachrichten, wobei der Absender
und das Subject (Titel) jeder einzelnen Nachricht angezeigt werden. Eine E-Mail kann durch
Anwählen mit der mittleren Maustaste oder über die Pfeiltasten angezeigt werden.
Um zu kontrollieren, ob neue Mail eingetroffen ist, kann man im RMAIL-Modus die Taste g
drücken oder den Menü-Punkt GetNewMail aus dem Mail-Menü auswählen.
Kommando
M-x rmail
q
h
g
Erklärung
Wechsel in den RMAIL-Puffer
Beenden des RMAIL-Puffers
Anzeige der Liste der eingegangenen Mails
Kontrolle, ob neue Mail eingetroffen ist
18 Man kann auch mehrere Empfänger durch Kommata getrennt angeben: wenn eine Zeile nicht ausreicht, muß
in den nachfolgenden Zeilen jeweils am Anfang ein Leerzeichen gesetzt werden.
19 Das Feld CC: bzw. FCC: kann auch per Hand durch Eintippen in der entsprechenden Zeile erstellt werden.
24
16.2.1
Bewegen innerhalb des RMAIL-Puffers
Kommando
SPACE
DEL
. (Punkt)
n
p
M-n
M-p
<
>
nj
16.2.2
Erklärung
Bewegen zur nächsten Seite der angezeigten Mail
Bewegen zur vorherigen Seite der angezeigten Mail
Zum Anfang der angezeigten Mail bewegen
Die nächste (nicht zum Löschen markierte) Nachricht
anzeigen
Die vorherige (nicht zum Löschen markierte) Nachricht
anzeigen
Die nächste Nachricht anzeigen (auch wenn sie zum Löschen
markiert ist)
Die vorherige Nachricht anzeigen (auch wenn sie zum
Löschen markiert ist)
Die erste Nachricht anzeigen
Die letzte Nachricht anzeigen
Die Nachricht Nummer n anzeigen, wobei n vor dem j eingegeben werden muß
Kommandos zum Löschen von Nachrichten
Die Nachrichten werden zunächst nur zum Löschen gekennzeichnet und erst in einem weiteren
Schritt tatsächlich gelöscht.
Kommando
d
C-d
u
x
s
Erklärung
Die aktuelle Mail zum Löschen markieren und eine Mail
weiter bewegen (delete)
Die aktuelle Mail zum Löschen markieren und eine Mail
zurück bewegen
Die Markierung zum Löschen rückgängig machen
(undelete)
Löschen aller zum Löschen markierten Nachrichten
Speichern des Mailbox-Inhalts und Löschen der markierten
Nachrichten (save)
Beim Verlassen des RMAIL-Modus durch das q-Kommando werden die zum Löschen markierten
Nachrichten ebenfalls gelöscht.
16.2.3
Abspeichern von Mails in eine Datei
Unter Emacs werden die Nachrichten der Eingangsmailbox zum Verwalten in ein spezielles Format konvertiert und in die Datei ˜/RMAIL kopiert. Will man eine Mail in eine Datei
sichern, kann man sich entscheiden, diese im RMAIL- oder im normalen Text-Format abzuspeichern. Wenn man diese Datei auch zukünftig im RMAIL-Modus von Emacs lesen will, wählt
man am besten das RMAIL-Format; beim Laden dieser Datei erkennt Emacs das Format und
wechselt automatisch in den RMAIL-Puffer. Andere Programme können dieses spezielle Format
allerdings nicht lesen, aus diesem Grund sollte das Text-Format gewählt werden, falls die Mail
zwischen verschiedenen Mailern oder Rechnern verschoben wird.
Kommando
o
C-o
Menüpunkt
Classify - Output (RMAIL)
Classify - Output (inbox)
Erklärung
Sichern im RMAIL-Format
Sichern im normalen Text-Format
Wird ein bereits existierender Dateiname angegeben, wird die aktuelle Mail an das Ende der
25
Datei angehängt. Per Default20 wird beim RMAIL-Format in die Datei ˜/XMAIL gespeichert,
beim Text-Format in die Datei ˜/xmail. Mit dem Kommando M-x unrmail kann eine Datei im
RMAIL-Format ins normale Text-Format konvertiert werden. Gibt man beim Kommando C-x
C-f eine RMAIL-Datei an, wechselt Emacs automatisch in den RMAIL-Modus. Wenn Emacs
bereits im RMAIL-Modus ist, drückt man die Taste i und gibt beim Prompt im Minibuffer den
Dateinamen an. Eine hier angegebene Text-Datei wird dann automatisch ins RMAIL-Format
umgewandelt.
Sollen die in Dateien gesicherten Nachrichten beim Verlassen von RMAIL automatisch gelöscht
werden, muß die Variable rmail-delete-after-output auf t gesetzt werden.21
16.2.4
Auf eine Mail antworten
Beim Beantworten einer Nachricht per r-Kommando erscheint ein neues Fenster zum Erstellen
der E-Mail, in dem der Adressat bereits eingetragen ist, welcher bei Bedarf auch geändert werden
kann. Falls in der Zeile CC: bereits Empfänger eingetragen sind, wird die Antwort auch an diese
geschickt. Wenn man dies nicht beabsichtigt, sollte man diese Adressen entfernen.
Kommando
r
Menüpunkt
Mail - Reply
C-c C-y
Mail - Cite Original
C-c C-q
Mail - Fill Citation
C-u C-c C-y
m
(nicht vorhanden)
Mail - Mail
Erklärung
Auf die momentan angewählte
E-Mail antworten
Eingerücktes Einfügen der
Nachricht, auf die geantwortet werden
soll
Eingerücktes, aber
platzsparendes Einfügen des Originals
Einfügen des Originals ohne Einrücken
Eine neue E-Mail erstellen
Zur besseren Kennzeichnung eines eingefügten Originals als Zitat wird jeder Zeile der eingerückten Nachricht, auf die geantwortet wird, ein Größer-als-Zeichen (>) vorangestellt.
16.2.5
Suchen im RMAIL-File
Für das Durchsuchen der eingegangenen Mails nach bestimmten Textmustern stehen verschiedene Kommandos zur Verfügung.
Die Suche mit dem Kommando C-s bezieht sich nur jeweils auf die aktuelle Mail. Um die gesamte Mail-Datei zu durchsuchen, gibt es das Kommando M-s oder Search aus dem Move-Menü.
Im Minibuffer wird die gesuchte Zeichenkette22 eingegeben; falls das Muster in einer Nachricht
enthalten ist, wird diese angezeigt. Mit einem erneuten Drücken von M-s läßt sich die Suche
fortsetzen.
Will man die gesamte Mail durchsuchen, springt man zuvor durch Drücken der Taste j (jump to
the first message) an den Anfang der Datei oder man benutzt das Kommando C-u M-s bzw.
SearchBack (Move-Menü) für rückwärtiges Suchen.
Achtung: M-s beginnt die Suche immer am Ende der aktuellen Nachricht, C-u M-s am Anfang. Das heißt, um die aktuelle Mail zu durchsuchen, muß das Kommando C-s benutzt werden.
20 Per Default bedeutet, daß ein bestimmter Wert schon als Standard voreingestellt ist, der aber in der Regel
veränderbar ist.
21 Das Setzen von Variablen wird im Anhang Der Editor Emacs unter dem Abschnitt Emacs an die eigenen
Bedürfnisse anpassen erklärt.
22 Emacs fordert hier die Angabe eines regulären Ausdrucks, man kann aber auch eine normale Zeichenkette
angeben. Sonderzeichen wie ˆ,$,.,*,[,] haben allerdings eine spezielle Bedeutung und müssen mit einem vorangestellten Backslash (\) entwertet werden. Soll z.B. die Zeichenkette 1.000.000$ gesucht werden, muß diese in der
folgenden Form eingegeben werden: 1\.000\.000\$.
Mit regulären Ausdrücken lassen sich nach bestimmten syntaktischen Regeln ziemlich komplexe Zeichenmuster
allgemein beschreiben. Das Erklären von regulären Ausdrücken kann im Rahmen des vorliegenden Papiers nicht
vorgenommen werden.
26
Weitere Suchkommandos:
Kommando
M C-t
Menüpunkt
Summary -
Erklärung
Emacs durchsucht das Feld ´Subject`
nach
dem angegebenen Begriff und zeigt eine
Übersicht der passenden Nachrichten.
Emacs sortiert die Mails nach einem User,
der Absender wie auch Empfänger der
Mails
sein kann.
Emacs durchsucht alle Mail-Header nach
einem bestimmten Suchbegriff. Mit diesem
Kommando kann man z.B. eine Übersicht
der Mails von bestimmten Autoren oder
mit einem bestimmten Datum erstellen.
By Topic
M C-r
Summary By Recipient
M C-s
Summary By Regexp
16.2.6
Markieren und Sortieren der Nachrichten
Um eine bessere Übersicht über die eingegangenen Nachrichten zu erhalten, kann man diese
durch das Setzen von Labels in verschiedene Kategorien einteilen.
Kommando
a <label>
k <label>
Menüpunkt
Classify Add labels
Classify Kill labels
Erklärung
Eine Mail markieren; der Name des Labels
wird im Minibuffer eingegeben.
Eine Markierung löschen
Die Labels werden in der Nachrichten-Übersicht eingeschlossen in geschweifte Klammern angezeigt. Um sich eine Übersicht der Nachrichten mit einer bestimmten Marke anzeigen zu lassen,
drückt man die Taste l (l wie label) und gibt im Minibuffer die entsprechende Markierung - auch
mehrere - ein. Bei einer einzelnen Mail können auch verschiedene Marken gesetzt werden.
Sortierkommandos:
Kommando
M-x rmail-sort-by-date
M-x rmail-sort-by-subject
M-x rmail-sort-by-author
M-x rmail-sort-by-reciepient
M-x rmail-sort-by-lines
16.2.7
Erklärung
Emacs sortiert die RMAIL-Datei
Datum
Emacs sortiert die RMAIL-Datei
Subject
Emacs sortiert die RMAIL-Datei
Autoren
Emacs sortiert die RMAIL-Datei
Empfänger
Emacs sortiert die RMAIL-Datei
der Länge der Mails
nach
nach
nach
nach
anhand
Mail-Aliase
Um sich das Tippen längerer Adressen zu ersparen, kann man unter Emacs Mail-Aliase, d.h.
Abkürzungen für Adressen definieren. Um einen Alias dauerhaft zu definieren, muß die Datei
.emacs im Home-Verzeichnis editiert werden.23 Ein Alias kann auch für mehrere Adressen defi23 Die Konfigurationsdatei des Emacs muß unter dem Namen .emacs im Home-Verzeichnis des Benutzers angelegt werden, falls sie dort noch nicht existiert. Eine kleine Einführung in die Konfigurationsmöglichkeiten des
27
niert werden, die dann durch Leerzeichen getrennt angegeben werden.
Beispiel:
(define-mail-alias "moritz" "[email protected]")
(define-mail-alias "gruppe" "max moritz adam eva")}
Aliase werden an verschiedenen Stellen gespeichert: in systemweiten Dateien und in Konfigurationsdateien für andere Mailraeder wie z.B. ˜/.mailrc. Diese Datei wird von Emacs ebenfalls
nach Definitionen für Aliase durchsucht, die Definitionen in ˜/.emacs besitzen allerdings Vorrang, falls verschiedene Definitionen für einen Alias-Namen existieren. Aliase können mehrfach
ausgewertet werden, d.h. man kann als Definition für einen Alias wiederum einen Alias-Namen
verwenden.
17
News
Es existiert ein weltweites Informationssystem, das Netnews oder einfach News genannt wird.
Dieses System beinhaltet mehrere Tausend nach Themen geordnete Newsgroups, die sich z.B.
mit Politik, Musik, Sport, Wissenschaft und nicht zuletzt mit Computern beschäftigen. Welche
dieser Newsgroups gelesen werden können, hängt von der jeweiligen Konfiguration des lokalen
Systems ab.
Um Zugang zu den angebotenen Informationen zu erhalten, ist es notwendig, einen sogenannten Newsreader“ zu benutzen. Da der Newsreader Gnus innerhalb von Emacs mehr nützliche
”
Funktionen als andere Newsreader anbietet, behandeln wir ihn an dieser Stelle. Im folgenden
wird die Version Gnus 5.1 beschrieben.24
In Emacs kann durch das Kommando M-x (gleichzeitiges Drücken der META- und der x Taste)
und die anschließende Eingabe von gnus der Newsreader gestartet werden. Alternativ kann in
der Menüzeile der Punkt Tools und dann der Unterpunkt Read Netnews zum Starten des
Newsreaders benutzt werden.25
Emacs wechselt nach dem Start des Newsreaders in den *Group*-Puffer; zunächst erscheint der
Einführungsbildschirm für Gnus, anschließend werden diverse Newsgroups aufgelistet. Normalerweise werden alle Newsgroups angezeigt, die man abonniert hat; beim ersten Benutzen wird
von Gnus stattdessen eine kleine Auswahl angezeigt.
Am Anfang jeder Zeile wird die Anzahl der ungelesenen Artikel jeder Newsgroup angezeigt.
Zum Lesen der Artikel bewegt man den Cursor in die Zeile, in der die gewünschte Newsgroup
aufgeführt ist, und drückt die SPACE-Taste (gnus-group-read-group). Alternativ kann man
durch Drücken der Taste j (gnus-group-jump-to-group) und die Angabe des Gruppennamens
im Minibuffer jede beliebige Newsgroup auswählen.
Erscheint in der Newsgroup-Liste am Anfang einer Zeile ein K, bedeutet dies, daß diese Newsgroup noch nicht abonniert (subscribed) ist. Durch Drücken der Taste u (gnus-group-unsubscribecurrent-group) kann man diese Newsgroup abonnieren - das vorangestellte K verschwindet
dann - oder eine bereits abonnierte Gruppe wieder abbestellen.
Nach dem Drücken der SPACE-Taste zum Lesen der Artikel26 erscheint ein *Summary*-Puffer,
sowie unterhalb von diesem ein *Article*-Puffer. Der Summary-Puffer ist eine Übersicht über
die verschiedenen Artikel. In eckigen Klammern wird die Anzahl der Zeilen sowie der Autor des
Artikels oder dessen E-Mail-Adresse aufgeführt, rechts daneben das Subject. Ein Re: vor dem
Subject verweist darauf, daß es sich bei diesem Artikel um eine Antwort (followup) auf einen
anderen Artikel handelt. Eine eingerückte Zeile weist darauf hin, daß es sich um eine Antwort
Emacs befindet sich im Anhang im Kapitel Emacs an die eigenen Bedürfnisse anpassen.
24 Nach dem Starten von Gnus kann durch die Eingabe von V die Versionesnummer abgerufen werden.
25 Gnus verwendet als Startdatei die Datei ˜/.nwesrc; falls diese Konfigurationsdatei noch nicht existiert, wird
sie von gnus erzeugt.
26 Gibt es sehr viele Artikel innerhalb einer Newsgroup, wird von Emacs eine Angabe gefordert, wieviele Artikel
gelesen werden sollen.
28
auf den oberhalb dieser Zeile aufgelisteten Artikel handelt. Ein R am Anfang einer Zeile kennzeichnet einen Artikel als gelesen; diese Artikel werden beim Verlassen von Gnus aus der Liste
entfernt.
Im Article-Puffer wird jeweils der Artikel angezeigt, auf welchem der Cursor im Summary-Puffer
zeigt. In der Statuszeile wird der Name der Newsgroup und die Nummer des aktuellen Artikels
angegeben. Durch die Eingabe des Kommandos C-c TAB erscheint die Info-Hilfe für Gnus.
Zum Verlassen von Gnus drückt man die Taste q; falls man sich im Summary-Puffer befindet, wechselt Emacs zurück in den Group-Puffer und man muß nochmals q drücken, um Gnus
vollständig zu beenden.
Die Kommandos zum Lesen der Artikel werden im Summary-Puffer eingegeben:
Kommando
SPACE
DEL
n
p
N
P
l (wie last)
Kommandoname
gnus-summary-next-page
gnus-summray-prev-page
gnus-summary-next-unreadarticle
gnus-summary-prev-unreadarticle
gnus-summary-next-article
gnus-summary-prev-article
gnus-summary-goto-last-article
Erklärung
Eine Seite im Artikel vorwärts blättern
Eine Seite im Artikel zurück blättern
Lesen des nächsten ungelesenen Artikels
Lesen des vorherigen ungelesenen Artikels
Lesen des nächsten Artikels
Lesen des vorherigen Artikels
Lesen des letzten gelesenen Artikels
Falls man beim Lesen feststellt, daß es die gesamten Artikel einer Newsgroup nicht wert sind,
gelesen zu werden, können diese mit dem Kommando c (gnus-summary-catchup-and-exit)
aus der Liste entfernt werden. Emacs wechselt danach wieder in den Group-Puffer.
Will man dagegen bestimmte Artikel innerhalb von Gnus behalten, muß man diese explizit mit
dem Kommando u (gnus-summary-tick-article-forward) als ungelesen markieren; in diesem
Fall wird das R am Anfang der Zeile durch ein Ausrufezeichen ersetzt. Umgekehrt kann mit der
Taste d (gnus-summary-mark-as-read-forward) ein Artikel als gelesen markiert werden.
Zum Speichern von Artikeln in eine Datei stehen die Emacs-Kommandos o (RMAIL-Format)
bzw. C-o (Text-Format) zur Verfügung.27
Mit dem Kommando q (gnus-summary-exit) oder C-x b *Group* kann man jederzeit zurück
in den Group-Puffer wechseln. Will man in den Group-Puffer wechseln, ohne daß die gelesenen
Artikel gelöscht werden, gibt man die Taste Q (gnus-summary-exit-no-update) ein.
Insgesamt existieren Tausende von Newsgroups; im Group-Puffer kann man sich mit dem Kommando A k (gnus-group-list-killed) eine Liste aller verfügbaren Newsgroups anzeigen lassen.
Das Abonnieren einer Gruppe geschieht einfach durch Drücken der Taste u. Nach dem Drücken
der Taste l (gnus-group-list-groups) erscheint nun die Liste aller abonnierten Newsgroups.
17.1
Wie kann ich mir uninteressante Artikel vom Halse schaffen?
Um alle Artikel zu einem bestimmten Subject zu löschen, drückt man im Summary-Puffer während einer dieser Artikel angezeigt wird - die Tasten C-k (gnus-summary-kill-samesubject) oder nur die Taste k (gnus-summary-kill-same-subject-and-select); im letzten
Fall wird zum nächsten Subject gewechselt, nachdem die betreffenden Artikel zum Löschen markiert wurden.
Falls irrtümlich die falschen Artikel zum Löschen bestimmt wurden, können die Markierungen
durch die Eingabe des Kommandos C-u C-k bzw. C-u k rückgängig gemacht werden.
Mit sog. Kill-Dateien gibt es auch die Möglichkeit, Gnus anzuweisen, Artikel von bestimmten
Autoren oder zu bestimmten Themen dauerhaft zu ignorieren; diese werden dann mit einem X
27 Siehe
die ausführliche Beschreibung hierzu im Kapitel E-Mail des vorliegenden Papiers.
29
markiert. Man kann zwei verschiedene Arten von Kill-Dateien erzeugen. Eine lokale Kill-Datei
bezieht sich nur auf eine bestimmte Newsgroup, eine globale Kill-Datei dagegen auf alle verfügbaren Newsgroups.
Das Kommando M-k (gnus-summary-edit-lokal-kill) öffnet einen neuen Puffer, dem der Name der betreffenden Newsgroup inklusive des Suffix .KILL zugewiesen ist. Die globale Kill-Datei
wird mit dem Kommando M-K (gnus-summary-edit-global-kill) erzeugt und heißt schlicht
KILL.
Kommando
C-c C-k C-a
Kommandoname
gnus-kill-file-kill-by-author
C-c C-k C-s
gnus-kill-file-kill-by-subject
C-c C-c
gnus-kill-file-exit
Erklärung
Gnus ignoriert alle Artikel des
betreffenden Autors
Gnus ignoriert alle Artikel dieses
bestimmten Subjects
Die Änderungen speichern und Kill-Puffer
verlassen
Die betreffenden Artikel werden fortan mit einem X markiert und von Emacs beim Lesen übersprungen. Mit dem Kommando M-u (gnus-summary-clear-mark-forward) lassen sich Markierungen wieder entfernen.
17.2
Wie kann ich selber einen Newsartikel senden?
Bevor man selber mit bestimmten Fragen an eine Newsgroup herantritt, sollte man zunächst
erkunden, ob diese Frage in der FAQ-Datei (frequently asked questions) dieser Newsgroup nicht
schon aufgeworfen und geklärt wurde. Die FAQs liegen unter /home/ftp/doc/news.answers/.
Um selber einen Artikel an eine Newsgroup zu senden (posten), gibt man im Group-Puffer oder
im Summary-Puffer die Taste a ein. Nachdem dieses Vorhaben nochmals mit y bestätigt wurde,
fordert Emacs die Eingabe des Subjects an. Anschließend erscheint ein Briefkopf, wie beim Verschicken von E-Mail. Als Empfänger wird automatisch der Newsgroup-Name der aktuell gewählten Newsgroup eingetragen. Nach dem Fertigstellen des Artikels wird dieser mit dem Kommando
C-c C-c (news-inews) verschickt.
Falls man auf einen Artikel antworten will, sollte es vorgezogen werden, dem Autor eine E-Mail
zu schicken, anstatt die Antwort zu posten, solange diese nicht für alle Newsgroup-Leser von
Interesse ist.
Kommando
r
Kommandoname
gnus-summary-reply
R
gnus-summary-reply-with-original
F
gnus-summary-followup
F
gnus-summary-followup-withoriginal
Erklärung
Dem Autor eines Artikels eine Antwort
senden; Emacs öffnet einen Mail-Puffer.
Wie oben; zusätzlich wird eine Kopie des
Artikels beigefügt.
Eine Antwort der gesamten Newsgroup
senden; Emacs öffnet einen Puffer, in dem
die Felder bereits ausgefüllt sind.
Wie oben; zusätzlich wird eine Kopie des
Artikels beigefügt.
Wenn man unmittelbar nach dem Senden des Artikels mit C-c C-c seine Meinung ändert und
das Vorhaben abbrechen will, muß man im Summary-Puffer möglichst schnell die Taste C (gnussummary-cancel-article) drücken; auch wenn man sofort cancelt, werden einige Leute diesen
Artikel lesen können, man sollte sich das Verschicken also vorher gut überlegen. Falls man eine
.signature-Datei im Home-Verzeichnis angelegt hat, wird diese von Gnus per Voreinstellung
beim Posten von News an den zu sendenden Artikel angehängt.28
28 Diese Voreinstellung läßt sich durch den Eintrag (setq gnus-signature-file nil) in die Konfigurationsdatei ˜/.emacs ändern. Diverse Konfigurationsbeispiele werden im Anhang im Kapitel Emacs an die eigenen
Bedürfnisse anpassen behandelt.
30
18
Der Netscape Communicator
Ein kurzer Satz vorweg: In den folgenden Kapiteln wird der Umgang mit dem Netscape Communicator beschrieben. Da dieses Programm aber nicht mehr weiterentwickelt wird und deshalb
inzwischen veraltet ist, sollte stattdessen sein Nachfolger Mozilla benutzt werden. Da der Mozilla
aber ähnlich zu bedienen ist wie der Netscape Communicator, wurde die nachfolgende Beschreibung beibehalten.
Der Netscape Communicator ist ein sogenannter WWW-Browser, der es ermöglicht, im Internet
abgelegte Informationen, insbesondere HTML-Seiten29 , anzuzeigen. Gestartet wird der Communicator durch Eingabe des Kommandos netscape auf der Kommandozeile. Es erscheint ein
Fenster mit etwa folgendem Inhalt (hier verkürzt dargestellt):
In der obersten Zeile stehen eine Reihe von Menüs zur Verfügung (File bis Help), über die
verschiedene Funktionen gestartet werden können, darunter befinden sich einige Icons, die die
am meisten benutzten Funktionalitäten zur Verfügung stellen. Der zentrale Teil des Fensters
wird von der Darstellung einer WWW-Seite eingenommen, die je nach Situation verschieden
sein kann. In der untersten Zeile befinden sich Informationen zum Status der Datenübermittlung,
sowie weitere Icons zur Steuerung des Communicators.
18.1
Benutzung von Mail mit dem Netscape Communicator
Der Communicator kann auch zum Lesen und Bearbeiten von Mails und News benutzt werden.
Das entsprechende Tool kann innerhalb des Communicators durch den Menüpunkt Communicator und den Unterpunkt Messenger Mailbox gestartet werden. Es erscheint folgendes
Fenster:
29 HTML (Hypertext merkup language) ist eine Sprache, mit der Dokumente um bestimmte Informationen
angereichert werden können. So kann z.B. eine bestimmte Textpassage als Überschrift gekennzeichnet werden
oder es können Verweise auf andere Dokumente eingefügt werden.
31
Dieses Fenster zeigt eine Liste der eingetroffenen Mails an (mittleres Drittel), in der jeweils eine
zur Ansicht ausgewählt werden kann. Im unteren Teil wird dann der Inhalt der gewählten Mail
angezeigt. Wichtig zur Bearbeitung von Mails sind insbesondere die folgenden Icons (angegeben
durch den darunterstehenden Text):
• Get Msg: Aktualisiert die Liste der eingetroffenen Mails um die in der Zwischenzeit eingetroffenen. Im aufklappenden Fenster muß nochmals das eigene Paßwort eingegeben werden.
• New Msg: Wird zum Erstellen und Versenden einer neuen Mail benutzt, die in folgendem
Fenster eingegeben wird:
In diesem Beispiel wird eine Mail an den Benutzer [email protected]
verschickt, die als Titel Nur ein Test! erhält. Im unteren Fensterbereich kann an der Stelle,
wo Hallo! steht, eine beliebige Nachricht geschrieben werden. Ist die Mail fertig erstellt, so
wird sie durch Anklicken des Buttons Send Now verschickt.
• Reply: Erlaubt das direkte Antworten auf die aktuell ausgewählte Mail. Hierbei wird wie
unter New Msg verfahren, nur daß als Empfänger schon der Absender der aktuellen Mail
eingesetzt wird und der Text dieser alten Mail als Text der neuen erscheint.
• Forward: Schickt die aktuell gewählte Mail an weitere Empfänger
• Delete: Löscht die aktuelle Mail
32
Im Startfenster der Messenger Mailbox befindet sich eine Leiste, in der anfangs inbox steht.
Diese Leiste kann durch Anwählen des in ihr befindlichen kleinen Dreiecks geöffnet werden.
Es erscheint eine Liste der zur Verfügung stehenden Ordner. In einem Ordner werden jeweils
zusammengehörige Informationen zusammengefaßt. Die wichtigsten Ordner beim Arbeiten mit
Mail sind hierbei:
• Inbox: Sammlung aller eingetroffenen Mails
• Sent: Liste aller verschickten Mails
• Trash: Liste der gelöschten Mails
18.2
Benutzung von Net-News mit dem Netscape Communicator
Um Net-News verwenden zu können ist es nötig, wie unter dem vorherigen Punkt beschrieben,
zunächst die Messenger Mailbox zu starten. Ist dies eschehen, so wird der aktuelle Ordner,
aus dem Informationen angezeigt werden, von inbox auf news gestellt.
Um Informationen aus den Net-News zu bekommen, muß als erster Schritt eine (oder mehrere)
News-Group(s) abonniert werden. Eine News-Group ist eine Sammlung von Beiträgen zu einem
bestimmten Thema. So enthält die News-Group fb3.termine z.B. alle wichtigen Termine, die
den Fachbereich 3 betreffen. Darüber hinaus stehen zu fast allen Themengebieten News-Groups
zur Verfügung.
Um eine News-Group zu abonnieren, wählt man das Icon Join Groups. Es erscheint ein Fenster,
in dem nach einer kurzen Wartezeit alle verfügbaren News-Groups aufgelistet werden.
Die News-Groups sind zunächst noch in Obergruppen sortiert, die man durch Doppelklicken
aufklappen kann. Die zu abonnierenden News-Groups werden dann angewählt und über das Icon
Join oder einen Doppelklick abonniert. Um das Abonnement einer News-Group aufzulösen wird
sie mit einem weiteren Mausklick wieder deaktiviert. Abschließend werden durch den OK-Button
die vorgenommenen Veränderungen bestätigt.
Um eine bereits abonnierte News-Group zu lesen, wird der zu bearbeitende Ordner der Messenger Mailbox auf news.informatik.uni-bremen.de gestellt. Es erscheint ein Fenster mit
allen abonnierten News-Groups, in dem eine zum Lesen markiert werden kann.
33
Das Arbeiten mit Net-News ist dem Arbeiten mit Mail sehr ähnlich, daher nur eine kurze Beschreibung der wichtigsten Funktionalitäten:
• Get Msg: Aktualisiert die Artikel in der News-Group
• New Post: Erstellt einen Artikel zur Veröffentlichung in einer News-Group
• Reply: Antwortet auf einen bereits veröffentlichten Artikel
• Forward: Schickt den aktuellen Artikel per Mail an weitere Interessenten
Wichtig: Bevor man an eine News-Group einen Artikel schickt, sollte man sie eine Zeit lang
verfolgt haben. Fragen werden nicht gern zum x-ten mal beantwortet, vor allem, da viele NewsGroups regelmäßig eine Liste der am meisten gestellten Fragen und passender Antworten in
Form einer sogenannten FAQ (FAQ = Frequently Asked Questions = Häufig gestellte Fragen)
veröffentlichen. Darüber hinaus sollte man sich sicher sein, daß die gewählte News-Group überhaupt zuständig für die zu stellende Frage ist.
Hinweis: Wer nur mal so“ den Umgang mit News-Groups testen will, der benutze hierzu bitte
”
die News-Group fb3.test.
19
Arbeiten auf vernetzten Rechnern
Manchmal sind die Rechner, an denen man arbeitet, mit der Ausführung von großen und aufwendigen Programmen überfordert. Dies kann z.B. an mangelndem Hauptspeicher oder einer hohen
Auslastung des Prozessors liegen. In diesem Fall empfiehlt es sich, das jeweilige Programm auf
einem anderen Rechner zu starten. Dabei sollte allerdings nicht irgendein beliebiger Rechner benutzt werden, sondern einer der dafür ausgelegten Rechner. Geeignet ist vor allem der Rechner
mit dem Namen bob, oder auch die Rechner s60 bis s63 und x01 bis x30.
19.1
Entferntes Arbeiten mit slogin
Mit dem Shell-Kommando slogin rechnername wird eine Shell auf dem Rechner rechnername
gestartet. In der lokalen Konfiguration ist es meist nicht notwendig, sich erneut durch die Eingabe des Login-Namens und des Paßworts zu identifizieren.
Beispiel:
34
$ slogin bob
Last login Wed Oct 16 12:57:07 from rochen
$
Jetzt kann wie gewohnt auf dem Rechner bob gearbeitet werden. Um das entfernte Arbeiten zu
beenden, gibt man das Kommando exit oder logout ein.
In der momentanen Konfiguration der Shell versucht ein auf einem entfernten Rechner gestartetes Programm, seine graphische Ausgabe auch auf diesem entfernten Rechner darzustellen. Um
die Ausgabe auf den Rechner umzuleiten, an dem man gerade arbeitet, muß bei Verwendung der
bash, auf dem entfernten Rechner das Kommando
export DISPLAY=lokalerRechner:0
eingegeben werden. lokalerRechner ist dabei durch den Namen des Rechners zu ersetzen, an
dem man arbeitet. Dieser Name wird meist auf einem Schild am Gerät selbst ausgewiesen oder
kann mittels des Kommandos hostname abgefragt werden.
19.2
Entferntes Ausführen von Kommandos
Soll nur ein einzelnes Kommando auf einem anderen Rechner ausgeführt werden, so kann dies
mittels des Kommandos ssh rechnername <Kommando > geschehen.
Beispiel für das Anzeigen des Verzeichnisses /tmp auf dem Rechner s61:
$ ssh s61 ls /tmp
20
Dateitransfer mit FTP
Die privaten Daten eines Nutzers sind innerhalb des Fachbereichsnetzes von jedem Rechner aus
direkt verfügbar. Es kann jedoch vorkommen, daß eine nur lokal auf einem bestimmten Rechner vorhandene Datei auf einen anderen Rechner übertragen werden soll, um diese auch dort
benutzen zu können. In solchen Fällen stellt FTP30 eine Möglichkeit dar, diesen Dateitransfer
durchzuführen. Seinen vollen Nutzen spielt FTP aber erst aus, wenn von einem entfernten Rechner Daten übertragen werden sollen.
Kommando
ftp <rechnername>
Erklärung
Baut eine FTP-Verbindung zum angegebenen
Rechner auf
Wurde mit dem o.g. Kommando eine FTP-Verbindung zu einem Rechner aufgebaut und wurde
ein korrekter Benutzername und das zugehörige Paßwort eingegeben, können jetzt Daten übertragen werden. Bei der Übertragung werden zwei verschiedene Übertragungsmodi unterschieden,
ASCII und BIN. Zu Beginn der Übertragung befindet sich das ftp-Programm im ASCII-Modus,
der nur für den Transfer von Textdateien geeignet ist. Sollen Binärdateien (z.B. ausführbare
Programme) übertragen werden, so muß in den BIN-Modus gewechselt werden. Innerhalb des
ftp-Programms ist es möglich, sowohl Daten zu empfangen, als auch welche zu senden. Die wichtigsten Kommandos hierzu im Überblick:
30 FTP
(File Transfer Protocol) ist eine Absprache, wie zwischen Rechnern Daten übertragen werden.
35
ftp-Kommando
ls [-C]
bin
ascii
get <dateiname>
put <dateiname>
mget <dateinamen>
mput <dateinamen>
cd <verzeichnis>
lcd <verzeichnis>
prompt
hash
!Kommando
quit
Erklärung
Listet die Dateien im aktuellen Verzeichnis auf dem entfernten Rechner auf. Die Option -C bewirkt die Auflistung
von mehreren Dateinamen pro Zeile.
Schaltet in den binären Übertragungsmodus
Schaltet in den ASCII-Übertragungsmodus
Überträgt die angegebene Datei in das aktuelle Verzeichnis
auf dem lokalen Rechner
Überträgt die angegebene Datei in das aktuelle Verzeichnis
des entfernten Rechners
Überträgt die angegebenen Dateien auf den lokalen Rechner
Überträgt die angegebenen Dateien auf den entfernten
Rechner
Wechselt in das angegebene Verzeichnis auf dem entfernten
Rechner.
Wechselt in das entsprechende Verzeichnis auf dem lokalen
Rechner.
Schaltet zwischen dem interaktiven und nicht-interaktiven
Modus um. Im interaktiven Modus wird der Anwender bei
der Übertragung von Daten mittels mput und mget bei
jeder Datei gefragt, ob diese übertragen werden soll, falls
die Dateinamen durch Wildcards angegeben wurden. Im
nicht-interaktiven Modus entfällt diese Rückfrage und alle
Daten werden übertragen.
Umschalten von deaktiviertem auf aktiviertes hash-markprinting. Standardmäßig wird bei der Datenübertragung
keine Fortschrittsanzeige geleistet. Dies kann durch Aktivieren des hash-mark-printing geändert werden, so daß eine
Bildschirmausgabe den Fortschritt der Datenübertragung
signalisiert.
Führt ein Shell-Kommando auf dem lokalen Rechner aus
und zeigt das Ergebnis an.
Beenden der ftp-Sitzung
Beispielsitzung (Übertragung einer Datei aus dem lokalen Verzeichnis /tmp des Rechners ruin
in das aktuelle Verzeichnis):
$ ftp ruin
Connected to ruin.informatik.uni-bremen.de.
220 ruin FTP server (Version wu-2.4.2-academ[BETA-11](1) Fri Nov 29
13:16:31 MET 1996) ready.
Name (ruin:max): max
331 Password required for max.
Password:
230 User max logged in.
ftp> cd /tmp
250 CWD command successful.
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
cran.ps
zeug.doc
zeug.prn
out.aa
36
out.ab
uebungsblatt.txt.gz
226 Transfer complete.
170 bytes received in 0.013 seconds (13 Kbytes/s)
ftp> bin
200 Type set to I.
ftp> get zeug.doc
200 PORT command successful.
150 Opening BINARY mode data connection for zeug.doc (73728 bytes).
226 Transfer complete.
local: zeug.doc remote: zeug.doc
73728 bytes received in 0.25 seconds (2.9e+02 Kbytes/s)
ftp> hash
Hash mark printing on (8192 bytes/hash mark).
ftp> get zeug.prn
200 PORT command successful.
150 Opening BINARY mode data connection for zeug.prn (247924 bytes).
##################
226 Transfer complete.
local: zeug.prn remote: zeug.prn
139264 bytes received in 0.57 seconds (2.4e+02 Kbytes/s)
ftp> quit
221 Goodbye.
Neben dem Dateitransfer zwischen Rechnern des Fachbereichnetzes gibt es auch die Möglichkeit,
mit außenstehenden Rechnern zu kommunizieren. Zum Beispiel gibt es eine Reihe von sogenannten FTP-Servern, die Daten zur Nutzung bereitstellen. Die Namen dieser Server sind oftmals
nach dem Schema ftp.organisation.land aufgebaut31 . Ein Beispiel wäre der FTP-Server der
Universität Mainz, der unter dem Namen ftp.uni-mainz.de angesprochen werden kann. Beim
Datentransfer von/auf solche entfernten Systeme wird meistens ein spezieller Zugang benutzt,
der allen Außenstehenden zur Verfügung steht. Hierbei wird als Benutzername ftp“ und als
”
Paßwort die eigene E-Mail-Adresse benutzt.
Ähnlich dem Arbeiten auf den fachbereichsinternen Rechnern gibt es auch auf den entfernten
Systemen Dateizugriffsrechte, die evtl. das Arbeiten einschränken können.
21
Benutzung von DOS-Disketten
Für den Umgang mit DOS-Disketten stehen eine Reihe von Kommandos zur Verfügung, die unter
dem Begriff mtools zusammengefaßt werden.
21.1
Formatieren von Disketten
Kommando
mformat [-l diskname] [drive:]
Erklärung
Formatiert (löscht) die im Laufwerk drive eingelegte Diskette und gibt dieser den Namen diskname
Beispiel: Formatieren der Diskette im Laufwerk A auf den Namen mydisk
$ mformat -l mydisk a:
31 Neben landesspezifischen Endungen gibt es auch welche, die ausdrücken, daß der entfernte Rechner zu einer
Organisation(.org = organisation), einer Bildungseinrichtung (.edu = educational) oder einer Firma (.com =
commercial) gehört.
37
21.2
Anzeigen von Verzeichnisinhalten
Kommando
mdir [MS-DOS Verzeichnis]
Erklärung
Zeigt den Inhalt des angegebenen Verzeichnisses an
Beispiel: Anzeigen des Inhalts des Verzeichnisses mathe1 auf der Diskette im Laufwerk A.
$ mdir a:mathe1
Volume in drive A is mydisk
Directory for A:/MATHE1
.
..
UEBUNG
TXT
3 File(s)
$
21.3
8-01-96
5:31p
8-01-96
5:31p
1437
8-01-96
5:32p
1454080 bytes free
Anlegen von Verzeichnissen
Kommando
mmd [drive:]<verz>
Erklärung
Legt auf dem Laufwerk drive ein Verzeichnis mit dem Namen verz an
Beispiel: Anlegen des Verzeichnisses mathe2 auf dem Laufwerk A
$ mmd a:mathe2
$ mdir a:
Volume in Drive A is mydisk
Directory for A:/
MATHE1
MATHE2
3 File(s)
$
21.4
8-01-96
6:03p
8-01-96
6:43p
1455517 bytes free
Kopieren von Dateien
Kommando
mcopy <quelle
>
[drive:]<ziel>
mcopy [drive:]<quelle> <ziel>
Erklärung
Kopiert die Datei quelle unter dem Namen ziel auf das
Laufwerk drive
Kopiert die Datei quelle vom Laufwerk drive unter dem
Namen ziel in das aktuelle Verzeichnis
Beispiel: Kopieren der Datei MeineDaten.txt auf Diskette. Dabei soll diese Datei unter zwei
verschiedenen Namen abgelegt werden.
$ mcopy MeineDaten.txt a:
Copying MEINEDAT.TXT
$ mcopy MeineDaten.txt a:Meine.txt
Copying MEINE.TXT
$ mdir
Volume in drive A is mydisk
Directory for A:/
MATHE1
8-01-96
6:03p
38
MATHE2
MEINEDAT TXT
MEINE
TXT
3 File(s)
$
21.5
8-01-96
6:33p
123
8-01-96
6:03p
123
8-01-96
6:04p
1455616 bytes free
Löschen von Dateien und Verzeichnissen
Kommando
mdel [drive:]<datei>
mrd [drive:]<verz>
Erklärung
Löscht auf dem Laufwerk drive die Datei datei
Löscht auf dem Laufwerk drive das Verzeichnis verz
Beispiel: Löschen der Datei MEINEDAT.TXT und des Verzeichnisses muell.
$ mdel a:MEINEDAT.TXT
$ mdir
Volume in drive A is mydisk
Directory for A:/
MATHE1
MEINE
TXT
2 File(s)
$ mrd a:muell
$
21.6
8-01-96
6:03p
123
8-01-96
6:04p
1456128 bytes free
Auswerfen von Disketten
Die innerhalb des Fachbereichs verwendeten Diskettenlaufwerke besitzen in vielen Fällen keinen
Knopf, um die eingeführte Diskette wieder auszuwerfen, statt dessen muß dies per Kommando
ausgeführt werden. Dabei ist zu beachten, daß dieses Kommando nicht unbeabsichtigt auf einem
fremden Rechner ausgeführt wird (per telnet/slogin).
Kommando
eject [drive:]
22
Erklärung
Auswerfen der Diskette im Laufwerk drive
Komprimieren und Archivieren von Dateien
Gerade beim Archivieren und Sichern von Daten (z.B. auf Disketten) ist es oftmals nützlich,
diese zu komprimieren. Komprimieren bedeutet, daß die Größe der Daten verringert wird, wodurch diese in der Regel zwar nicht mehr direkt benutzt werden können, aber in einem Format
vorliegen, welches sich durch den Vorgang des Dekomprimierens wieder in den ursprünglichen
Zustand zurückführen läßt. Da die vorgestellten Tools zur Datenkompression nur auf einzelnen
Dateien arbeiten, wird auch das Programm tar eingeführt, das mehrere Dateien in einem sogenannten Archiv zusammenfaßt. Dieses Archiv kann dann als Ganzes komprimiert und später
dekomprimiert werden, wodurch Tipparbeit erspart wird. Darüber hinaus können zusammengehörige Dateien unter einem Archivnamen sinnvoll zusammengefaßt werden.
Die wichtigsten Kommandos zum Komprimieren/Dekomprimieren und Archivieren werden im
folgenden erläutert.
22.1
Benutzung von gzip
gzip ist ein Tool zur (De-)Komprimierung von Daten. Im Vergleich zu compress (einem älteren
Komprimierungsprogramm, siehe man compress / man uncompress) ist es effektiver, und da es
ein frei verfügbares Programm ist, auch auf vielen Systemen zu finden.
39
Kommando
gzip <dateiname>
Erklärung
Komprimiert die durch dateiname angegebene Datei und
legt sie unter dem Namen dateiname.gz ab
Dekomprimiert die Datei dateiname.gz und legt die unkomprimierte Form unter dem Namen dateiname ab
gzip -d <dateiname.gz>
Beispiel: Komprimieren der Datei uebungsblatt.txt
$ ls -l uebung.txt
-rw-r--r-- 1 max
$ gzip uebung.txt
$ ls -l uebung.*
-rw-r--r-- 1 max
$
stud
103788
Apr 8 08:34
uebung.txt
stud
42742
Apr 8 08:36
uebung.txt.gz
Das obige Beispiel zeigt, daß das Komprimieren von Dateien sehr effektiv sein kann. Wie man
erkennt, belegt die komprimierte Datei nur ca. 40% des Platzes der unkomprimierten Datei.
Eine ausführlichere Hilfe zu gzip ist auf der entsprechenden Man-Page und durch das Kommando
gzip -h erhältlich.
22.2
Dekomprimieren mit unzip und unarj
Die auf vielen PC’s vorhandenen Komprimierer arj und zip werden unter UNIX in der Regel
nicht vollwertig unterstützt. Auf den Rechnern des Fachbereichnsnetzes stehen aber in vielen
Fällen Tools zur Verfügung mit denen mitels der o.g. Programme komprimierte Daten dekomprimiert werden können. Die mit arj komprimierten Daten besitzen im allgemeinen die Endung
.arj und die mit zip behandelten die Endung .zip.
Kommando
Erklärung
unzip <dateiname.zip>
Dekomprimiert die unter dem Namen dateiname.zip zusammengefaßten Daten und legt sie im aktuellen Verzeichnis ab.
unarj <dateiname.arj>
Dekomprimiert die unter dateiname.arj zusammengefaßten Daten und legt sie im aktuellen Verzeichnis ab.
Ausführlichere Hilfe zu diesen Programmen gibt es auf den zugehörigen Man-Pages und durch
Eingabe des jeweiligen Kommandos ohne Dateinamen.
22.3
Archivieren mit tar und gtar
tar und gtar sind Programme zur Erstellung von sogenannten Tape-Archiven“. Ein Archiv ist
”
hierbei eine Sammlung von mehreren Dateien, die in einer (größeren) Datei zusammengefaßt werden. Als Argument erhält tar / gtar eine Liste der zu integrierenden Dateien, wobei auch die von
der Shell bekannten Wildcards benutzt werden können. Im folgenden verwenden wir immer das
Kommando gtar, die Syntax für tar ist aber bis auf die unten angegebenen Ausnahmen identisch.
40
Kommando
gtar -cf <archivname> [dateiliste]
gtar -xf <archivname> [dateiliste]
gtar -czf <archivname> [dateiliste]
gtar -xzf <archivname> [dateiliste]
gtar -tf <archivname>
Erklärung
Erstellt (c = create) ein Archiv mit dem Namen archivname und fügt diesem die Dateien aus der dateiliste
hinzu.
Extrahiert (x = eXtract) die in der dateiliste angegebenen Dateien aus dem Archiv archivname. Wurde keine
dateiliste angegeben, so werden alle Dateien extrahiert.
Wie oben, die Daten werden aber automatisch mittels
gzip komprimiert. Dies ist nur unter gtar möglich.
Wie oben, jedoch werden die Daten ggf. durch gzip dekomprimiert. Dies ist nur unter gtar möglich.
Zeigt den Inhalt des Archivs archivname an (t = Table
of contents)
Beispiel: Archivieren aller auf .txt oder .ps endenden Dateien im Verzeichnis ∼/uebungen,
wobei gleichzeitig komprimiert werden soll.
$ cd ~
$ gtar -czf uebungsblaetter uebungen/*.txt uebungen/*.ps
$ gtar -tzf uebungsblaetter
uebung_nr1.txt
uebung_nr2.txt
aufgabe4.ps
$
22.4
Zerlegen einer großen Datei mit split
Sinn einer Zusammenfassung von Dateien in einem Archiv ist es oft, diese z.B. auf Disketten
zu sichern. Da ein Archiv aber schnell die Kapazität einer Diskette übersteigen kann, ist es
manchmal notwendig, dieses in kleinere Teile zu zerlegen, die dann bei Bedarf später wieder
zusammengesetzt werden können.
Kommando
split -b nk <ganzes> <teil>
split -b nm <ganzes> <teil>
Erklärung
Zerlegt die Datei ganzes in Teilstücke von der Größe n
Kilobytes, die unter den Namen teil mit dem Anhang
aa,ab,..zz gespeichert werden.
Wie oben, jedoch werden die Teilstücke nun n Megabytes
groß.
Beispiel: Zerlegung der Datei uebungsblaetter in Teilstücke, die auf eine übliche 3,5 Zoll HDDiskette passen.
$ split -b 1440k uebungsblaetter kleineteile.
$
Um die erstellten Teilstücke wieder zu einem Ganzen zusammenzusetzen, benutzt man folgende
Kommandozeile, die eine Datei mit dem Namen ausgabedatei erzeugt, in der die Daten dann
zu finden sind:
$ cat kleineteile.* > ausgabedatei
$
41
23
Einführende Literatur zu UNIX
Zu allen in der Einführung angesprochenen Themen existieren Bücher, die zum Teil in den
Bibliotheken der Universität entliehen werden können:
• Staats- und Universitätsbibliothek
• Fachbereichsbibliothek (MZH 6. Ebene)
• Diverse kleinere Bibliotheken in den einzelnen Arbeitsgruppen des Fachbereichs
Folgende Dokumentationen werden in der Literatur u.a. empfohlen. Die genannten Bücher sind
in vielen Fällen auch als deutsche Übersetzung zu beziehen.
Michaela K. Harlander, Einführung in UNIX, GeNUA Gesellschaft für Netzwerk- und UNIXAdministration mbH, München
Kurzbeschreibung: Diese Einführung für den UNIX-Einsteiger kann man sich mit dem Kommando ghostview /home/strait/grp/doku/benutzer einfuehrung/literatur/unix.einfuehrung.ps auf dem
Bildschirm anzeigen lassen.
Werner Brecht, Einführung in UNIX - Ein Lehr- und Arbeitsbuch für Studium und Praxis,
Friedr. Vieweg & Sohn VerlagsgesellschaftmbH, Braunschweig/Wiesbaden, ISBN 3-528-05329-1
Kurzbeschreibung: Diese Einführung führt den Leser in handlicher und kompakter Form an
UNIX heran.
Computer Systems Research Group, 4.4 BSD User’s Reference Manual, UC Berkeley, The
USENIX Association and O’Reilley & Associates, Inc., ISBN 1-56592-075-9
Kurzbeschreibung: Kommandobeschreibungen für mehr als 275 Programme aus dem Benutzerbereich der 4.4BSD UNIX Release. Es werden außerdem wichtige FreeWare-Programme wie Perl,
GNU Emacs u.a. beschrieben.
Daniel Gilly and O’Reilly & Associates, Inc., UNIX in a Nutshell - A Desktop quick Reference for System V & Solaris 2.0, O’Reilly & Associates, Inc., Sebastopol, ISBN 1-56592-001-5
Kurzbeschreibung: Kurzreferenz zu System V UNIX und Solaris 2.0. Eine Auflistung sämtlicher
Kommandos mit ihren Optionen sowie eine ausführliche Beschreibung mit praxisnahen Beispielen.
Harley Hahn, A Student’s Guide to UNIX, McGraw-Hill, New York, ISBN 0-07-025511-3
Kurzbeschreibung: Eine populäre und zugängliche Einführung in die Benutzung von UNIX.
Henry McGilton and Rachel Morgan, Introducing the UNIX-System, McGraw-Hill, New
York, ISBN 0-07-045001-3
Kurzbeschreibung: Ein Klassiker, für viele Leute das erste Buch zu UNIX.
Grace Todino, John Strang and Jerry Peek, Learning the UNIX Operating System,
O’Reilly and Associates, Inc., ISBN 1-56592-060-0
Kurzbeschreibung: Ein gutes Einführungsbuch zum Lernen des UNIX-Betriebssystems. Das Buch
stellt unerfahrenen Benutzern einfache Netzkommandos, E-Mail und das X-Window-System vor.
D. Cameron, B. Rosenblatt, Learning the GNU Emacs, O’Reilley & Associates, Inc., ISBN
0-937175-84-6
Kurzbeschreibung: Dieses Buch stellt die Grundlagen des Editierens mit dem Editor GNU Emacs
vor und bietet ebenso einen Überblick über mehrere wichtige Editier-Modi sowie eine kurze
Einführung in die Emacs LISP-Programmierung.
42