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