1 / 51

Teil II : Benutzerebene eines Rechners

Teil II : Benutzerebene eines Rechners. Das Betriebssystem UNIX Internet Texteditor.  Pierre Bayerl, Klaus Murmann & Heiko Neumann, Fakultät für Informatik, Universität Ulm, 2002/03. UNIX. Datei. Das Betriebssystem UNIX. Kurzeinführung: Was ist UNIX Rechnersitzungen – An- und Abmeldung

liesel
Download Presentation

Teil II : Benutzerebene eines Rechners

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Teil II : Benutzerebene eines Rechners Das Betriebssystem UNIX Internet Texteditor  Pierre Bayerl, Klaus Murmann & Heiko Neumann, Fakultät für Informatik, Universität Ulm, 2002/03

  2. UNIX Datei • Das Betriebssystem UNIX • Kurzeinführung: Was ist UNIX • Rechnersitzungen – An- und Abmeldung • Dateien und Dateisystem • Kommando-Interpreterebene (Shell) und Prozesse

  3. UNIX Aufgaben eines Betriebssystems • Generell: Verwaltung und Zuteilung der Ressourcen eines Rechners • Kontrolle und Verwaltung der Betriebsmittel • Ausführen von Benutzerprogrammen (Rechenzeit und Speicher) • Speicherung von Daten (Plattenplatz) • Drucken von Dokumenten (Drucker) • Bereitstellung einer logischen Sicht auf die Betriebsmittel • Zugriff auf Dokumente, Drucker, periphere Geräte (Dateisystem) • Prozesssteuerung (Prozess-Subsystem, Rechenzeit)

  4. UNIX Datei Kennzeichen von UNIX • Mehrbenutzer-Betriebssystem (multi-user) • Time-sharing Betriebssystem (Verwaltung mehrerer asynchroner Prozesse) • Geräteunabhängiges, hierarchisches Dateikonzept • Gute Portabilität (hohe Verfügbarkeit von Software) • Dialogorientierung (Kommandointerpreter) • Fließband-Technik (pipelining)

  5. UNIX Aktuelle UNIX-Derivate Erste UNIX Version (AT&T 1969) Linux BSD/FreeBSD Sun Solaris Darwin/Mac OS X Im Pool: Sun Solaris Zuhause: z.B. Linux

  6. UNIX Kommandointerpreter (shell) Dienst- und Anwenderprogramme Betriebssystem-Kern (kernel) Hardware Strukturierung von UNIX: Schalen-/Schichtenkonzept • Hardware • Betriebssystem-Kern (kernel) (Prozessverwaltung und –kommunikation, Speicherverwaltung, Ein-/Ausgabe-Verwaltung, Gerätetreiber, ...) • Dienst- und Anwenderprogramme (Bibliothek mit Standardfunktionen (in C), Compiler, Editoren, ...) • Kommandointerpreter (shell) shell

  7. UNIX Was ist eine „Shell“(Kommandointerpreter) ? Befehl Ausgabe • Variable visuelle Darstellung von Shells • Basisfunktionalität ist in jedem Fall identisch: Eingabe: Kommando(s) Ausgabe: Ergebnis • Textuelle Eingabe von Befehlen • Textuelle Ausgabe von Befehlsergebnissen • Dialog/Kommunikation mit dem System • Eingabe von Kommandos am Prompt Prompt Rechnername + evtl. weitere Informationen

  8. Anmeldung an ein UNIX-System (1) • Benutzer-Account • Zugang über Benutzername (login) + Passwort • Ermöglicht Zugriff auf Ressourcen (Plattenplatz, Drucker, ...) • Graphisches Login an einem X-Terminal (im WiMa-Pool) • Eröffnet eine UNIX-Sitzung an einem graphischen UNIX-Computerarbeitsplatz • Graphische Oberfläche ermöglicht das Öffnen verschiedener Fenster RECHNERNAME Beispiel Login: pierre Password: *******

  9. Anmeldung an ein UNIX-System (2) • „Remote Login“ von einem anderen Rechner • Möglich von UNIX-Rechnern und Windows-Rechnern • Die Verwendung von graphischen Programmen hängt davon ab ob der Verwendete Arbeitplatz dies ermöglicht • Am besten und am sichersten ist die Verwendung der Secure Shell • Von einem beliebigen UNIX-Rechner (z.B. im E-Techniker Pool) ssh -l loginname turing.mathematik.uni-ulm.de (Statt des Rechners turing kann auch thales oder theseus verwendet werden)

  10. 1 2 3 4 5 6 Anmeldung an ein UNIX-System (3) • Um sich von einer Windows-Maschine aus einzuwählen ist ein entsprechendes Programm nötig (z.B. PuTTY) http://ssh.mathematik.uni-ulm.de/install/putty.html http://www.chiark.greenend.org.uk/~sgtatham/putty/

  11. Arbeiten mit einem UNIX-System (Shell) • Kommandozeile (Shell) um mit dem Betriebssystem zu kommunizieren • Kommando ausführen: <Befehl><Parameter> • Vorsicht: Groß/Klein-Schreibung beachten! • Bei einem X-Terminal muß zuvor eine Shell geöffnet werden: • Mit der rechten Maustaste auf den Hintergrund klicken • Es erscheint ein Menü. Wählen Sie: Hosts - Xterm - thales • Beim Remote Login (mit ssh) bekommt man automatisch eine Shell

  12. Abmelden von einem UNIX-System • Abmelden zum Schutz der eigenen Daten (Texte, Mails, Ressourcen!) • Abmelden von der Kommandozeile • Befehl „exit“ oder „logout“ • Abmelden von X-Terminal • Knopf/Menüpunkt „exit“ oder „logout“ drücken NIEMALS DIE X-TERMINALS AUSSCHALTEN!!

  13. Zusammenfassung: Anmelden & Abmelden • Anmelden (“login”) • Am X-Terminal • Per “ssh” von einem anderen UNIX System • Per “ssh” von einem Windows-Rechner • Abmelden • “exit” an der Kommandozeile (Shell) eingeben • “exit”-Knopf drücken (X-Terminal) • Rechner im WiMa-Pool (X-Terminals) nie ausschalten !!

  14. Demonstration DEMO

  15. Ordner Datei Dateien und Dateisystem • Dateikonzept • Datei: sequentielle Folge von Datenworten (Bytes) • Dateiarten: • Normale Dateien (files; Texte, Programme, Daten,...) • Dateiverzeichnisse (directories; auch Kataloge) • Gerätedateien (special files, für physik. Geräte) Nahezu alle Ressourcen werden bei UNIX-Systemen auf Dateien abgebildet

  16. Datei / dev usr pierre heiko klaus home datei1.txt datei2.txt Datei-Hierarchie • UNIX-Dateisystem = Hierarchie von Dateien • Jede Datei besitzt eine eindeutige Adresse • Verzeichnis(-Dateien) können wiederum Dateien enthalten • Standard-Verzeichnisse gliedern das System auf: • /dev: Physikalische Geräte (Drucker, Festplatte, ...) • /usr: Anwendungen (Programme, Bibliotheken, ...) • /home: Benutzerverzeichnisse • Heimatverzeichnis: /home/name enthält alle persönlichen Dateien z.B. /home/pierre/datei1.txt

  17. Datei / dev usr pierre heiko klaus home datei1.txt datei2.txt datei3.txt Datei Adressierung • Vollständiger Name (ausgehend von „ / “): • /home/pierre/datei1.txt • Relativer Name (ausgehen vom aktuellen Verzeichnis) • datei1.txt • ./datei1.txt • ../klaus/datei3.txt • Besondere Verzeichnisnamen: • . = Aktuelles Verzeichnis • .. = Verzeichnis eine Ebene höher • / = Wurzel des Dateisystems („root“) Aktuelles Verzeichnis

  18. Datei home / home pierre example1 pierre / example2 ( = akt. Verzeichnis) datei2.txt datei2.txt datei1.txt datei1.txt Verzeichnis Kommandos (1) pwd Name/Pfad des aktuellen Verzeichnisses anzeigen (print working directory) cd Ändern des Arbeitsverzeichnisses (change directory) cdWechsel ins Heimatverzeichnis cd <name> zum angegebenen Unterverzeichnis mkdir <name> Anlegen eines neuen Unterverzeichnisses rmdir <name> Löschen eines Unterverzeichnisses (das angesprochene Verzeichnis muss leer sein)

  19. Datei / pierre home datei1.txt datei2.txt file2.txt Verzeichnis Kommandos (2) ls Anzeige eines Verzeichnisinhaltes ls -l Ausführliche Anzeige des Inhalts (Dateigröße...) • Platzhalter für Dateinamen: „ * “ (beliebig viele Zeichen) „ ? “ (ein Zeichen) • ls d* Alle Dateien deren Namen mit „d“ beginnt • ls *2* Alle Dateien in deren Namen eine „2“ vorkommt • Alternativ können Dateien auch einzeln aufgeführt werden: • ls d* f* Listet alle Dateien die mit „d“ oder mit „f“ beginnen

  20. Datei / pierre home datei1.txt datei2.txt file2.txt Dateiausgabe Kommandos (1) cat Ausgabe oder Konkatenation von Dateien auf Monitor more Seitenweise (formatierte) Ausgabe von Dateien auf Monitor head, tail Ausgabe der ersten/letzen Zeilen von Dateien auf Monitor grep Suchen einer gegebenen Zeichenfolge in einer Datei Format: grep “<such-string>“ datei1 datei2... Inhalt von “datei1.txt” Inhalt von “datei2.txt” Inhalt von “file2.txt” Suchergebnisse: Welche Dateien enthalten den Text “datei”?

  21. Datei / pierre home datei1.txt datei2.txt file2.txt Dateiausgabe Kommandos (2) a2ps Ausgabe von Textdateien (ASCII-Dateien) auf dem Drucker lp Ausgabe von Postscript-Dateien auf Drucker (MIT lp NUR POSTSCRIPTDATEIEN DRUCKEN) Druckerausgabe auf bestimmten Druckern: lp-d<Druckername> <Datei>.ps a2ps -P<Druckername> <Datei>.txt Drucker: garamond & gutenberg Bsp.: a2ps -Pgutenberg datei1.txt

  22. Datei home / example1 pierre example1 home / example2 example2 pierre datei1.txt datei1.txt datei1.txt datei2.txt datei2.txt Kopieren / Verschieben von Dateien cp Kopieren von Dateien (cp quelldatei zieldatei oder cp quelldatei zielordner) cp datei1.txt example2/kopie1.txt cp datei1.txt example2 mv Verschieben von Dateien mv example2/kopie1.txt datei3.txt rm Löschen von Dateien (Vorsicht: Was weg ist ist weg!) rm datei3.txt

  23. Datei Dateien - Besitzer und Rechte (1) • Dateien gehören dem Benutzer der sie angelegt hat (Benutzer teilen sich wiederum in verschiedene Gruppen auf) • Der Besitzer darf sog. Rechte an seinen Dateien vergeben: • Lesen (r): Wer darf diese Datei betrachten • Schreiben (w): Wer darf diese Datei verändern • Ausführen (x): Handelt es sich um eine Ausführbare Datei • Rechte können vergeben werden an: • Sich selbst • Anderen Benutzern aus der selben Gruppe • Allen anderen Benutzern Befehl zum Anzeigen Des aktuellen Verzeichnisses Rechte Benutzer/Gruppe Dateigröße Dateiname

  24. Datei Dateien - Besitzer und Rechte (2) chmod Verändern der Zugriffsrechte auf Dateien Syntax: chmod <Parameter> <Datei(en)> Parameter: (siehe „man chmod“) • +w oder +r (ermöglicht schreibenden bzw. lesenden Zugriff) • -w oder -r (verhindert schreibenden bzw. lesenden Zugriff) Kein Zugriff ohne Lese-Recht!

  25. Kommandozeile (Shell) und UNIX-Kommandos • Übersicht über einige UNIX-Befehle • Was ist die Standarteingabe bzw. Standartausgabe • Kombinieren von UNIX-Kommandos • Umlenken der Eingabe/Ausgabe • Pipes

  26. Nützliche UNIX-Kommandos (1)

  27. Nützliche UNIX-Kommandos (2) Ausgabe der ersten n Zeilen Textsuche in Dateien 1 4567 890 2 TEST ABC 3 Xxxx xxx 4 4567 890 5 4567 890 6 ABCD EFG 7 4567 890 8 Allg Inf 9 4567 890 10 4567 ABC 11 4567 890 12 4567 890 theseus$ head -n 3 abc.txt 1 4567 890 2 TEST ABC 3 Xxxx xxx theseus$ grep ABC abc.txt 2 TEST ABC 6 ABCD EFG 10 4567 ABC Ausgabe der letzten n Zeilen Zeilenweise sortieren theseus$ tail -n 3 abc.txt 10 4567 ABC 11 4567 890 12 4567 890 theseus$ sort abc.txt 1 4567 890 10 4567 ABC 11 4567 890 12 4567 890 2 TEST ABC 3 Xxxx xxx 4 4567 890 5 4567 890 6 ABCD EFG 7 4567 890 8 Allg Inf 9 4567 890 Datei: abc.txt Bestehen aus 12 Zeilen à 12 Zeichen (11 Zeichen + Zeilenumbruch) bzw. 36 Wörter Zeilen/Wort/Zeichen-Anzahl theseus$ wc abc.txt 12 36 144 abc.txt

  28. stdout stdin Shell- Kommando Standard- ausgabe Standard- eingabe stderr Diagnoseausgabe (Fehler) stdin : Eingabe von Tastatur stdout, stderr : Ausgabe auf Bildschirm Standarteingabe und Standartausgabe • Die Shell stellt Ein- und Ausgabekanäle für Prozesse zur Verfügung • Kommandos können von der Standarteingabe lesen und schreiben ihre Ergebnisse in die Standartausgabe • Fehlermeldungen werden zu Diagnoseausgabe weitergeleitet

  29. UNIX-Kommandos und die Standarteingabe Bei den meißten UNIX-Befehlen kann man den Dateinamen weglassen. • Statt aus einer Datei zu lesen wird von der Standarteingabegelesen. (normalerweise Standarteingabe = Tastatureingabe) • Falls nötig kann das „Dateiende“ mit CTRL-D signalisiert werden. Beispiele: [localhost:~] pi% sort Pierre Bayerl Klaus Murmann Heiko Neumann ^D Heiko Neumann Klaus Murmann Pierre Bayerl [localhost:~] pi% [localhost:~] pi% tail -n 1 Pierre Bayerl ^D Bayerl [localhost:~] pi%

  30. Umleiten der Ein/Ausgabe in/aus eine(r) Datei > Umlenken der Standardausgabe in eine angegebene Datei. existiert die Datei nicht, wird diese angelegt. existiert die Datei, so wird deren Inhalt überschrieben! Bsp.: ls >inhalt.txt >> hängt neuen Inhalt am Dateiende an! Bsp.: ls order1 >> inhalt.txt 2> Umlenken der Diagnoseausgabe Bsp: wc –x datei1.txt 2> err.txt (-x als Option ungültig!) < Umlenken der Eingabe aus einer Datei [localhost:~] pi% sort >out.txt Pierre Bayerl Klaus Murmann Heiko Neumann ^D [localhost:~] pi% tail -n 1 <out.txt Pierre Bayerl [localhost:~] pi%

  31. sort tail stdin stdout stdin stdout Verknüpfen mehrer Kommandos über Pipes • Direkte Verknüpfung der Ausgabe eines Prozesses mit der Eingabe eines anderen Prozesses • Syntax: Befehl1 | Befehl2 | Befehl3 ... • Bsp.: ls /usr/bin | grep „ail“ (ohne Dateiangabe ließt grep von stdin) [localhost:~] pi% sort | tail -n 1 Pierre Bayerl Klaus Murmann Heiko Neumann ^D Pierre Bayerl [localhost:~] pi% “|” = Pipe

  32. Internet • Prinzip und Organisation • Dienste und Adressen • WWW (‚World wide web‘) • E-Mail

  33. B = A Prinzip und Organisation: Nachrichten-Übermittlung • Netze von Rechnern • Vermittlungsrechner (Router) • Zielrechner • Vermittlung und Betrieb (Paketvermittlung) • Nachricht von A nach B • Zerlegung in Pakete mit Zieladdresse B • Versendung der Pakete über möglicherweise verschiedene Verbindungen

  34. …0010110101…. . …0010110101…. • Internet= Gesamtheit aller Netzwerke und Computer die über TCP/IP- Verbindungen erreichbar sind. Prinzip und Organisation: Protokolle • Protokolle: Konventionen und Regeln für den Austausch von Informationen zwischen Computern im Internet • Ziel: vollständige, fehlerfreie und möglichst effektive Datenübertragung • TCP/IP heute Standard • TCP : Transmission Control Protocol • IP: Internet Protocol

  35. Beispiel: Der WWW-Server der Vorlesung bieten einen speziellen Dienst zur Verwaltung der Übungspunkte an. Anfrage Antwort Anfrage Clients Antwort Server z.B. allgemeine.informatik.uni-ulm.de Prinzip und Organisation: Client-Server-Prinzip • Client-Server Prinzip • Server (Diener, Anbieter) Programm auf einem Rechner A, das einen bestimmten Dienst anbietet und der von einem anderen Nutzer abgerufen werden kann. • Client (Klient, Kunde) (Anwender-)Programm auf einem Rechner B, das den Dienst anfordert.

  36. Dienste • TELNET oder SSH Zugriff auf andere Rechner (Dialogzugriff). • FTP Übertragen (Kopieren) von Dateien zwischen verschieden Rechnern. • E-MAIL Austausch von Nachrichten. • NEWS Diskussion- und Informationsmedium zu vielen verschiedenen Themen. • HTTP Multimediales hyperlink-basiertes Informationssystem und Schnittstelle den anderen Internet-Diensten. • DNS Domain Name Service, spezieller Dienst um Internetadressen korrekt zu handhaben

  37. allgemeine.informatik.uni-ulm.de ? “134.60.74.81” ! Anfrage an 134.60.74.81 Antwort Internet Adressen • Jeder Rechner im Internet besitzt eine aus vier Bytes (Zahlen) bestehenden eindeutigen Adresse (IP-Adresse), z.B. 134.60.74.81 • Symbolische Adressen werden von einem speziellen Dienst (DNS, Domain Name Service) in IP-Adressen umwandelt, z.B. allgemeine.informatik.uni-ulm.de  134.60.74.81. Rechner A möchte mit Rechner B in Kontakt treten A DNS-Server B Client Ziel-Rechner (Server) z.B. allgemeine.informatik.uni-ulm.de

  38. Internetadressen: IP-Adressen Länge: 32 Bit = 4 Byte à 8 Bit Format von IP-Adressen: a.b.c.d a,b,c,d [1,254] 0 und 255 haben Sonderrolle Beispiele gültiger Internet-Adressen: 141.41.49.2 194.163.245.145 Mit 127.0.0.1 oder localhost kann stets der Rechner auf dem gerade gerabeitet wird angesprochen werden.

  39. host.[subdomain.[subdomain.[...]]]domain.topleveldomain Institute, Abteilungen, etc Hauptdomain Rechnername Einrichtungen Internetadressen: Symbolische Adressen (1) • Jede an das Internet angeschlossene Einrichtung betreibt einen eigenen Namens-Server (DNS, Domain Name Server) • In jedem Land gibt es einen Haupt-Domain-Name-Server (verteilte Rechnerdatenbank mit Namen/Adresseinträgern) • Aufbau der Domain-Namen Beispiel: axon.informatik.uni-ulm.de

  40. Internetadressen: Symbolische Adressen (2) Adressierungsschema URL (Uniform Resource Locator) • Beispiel: • http://www.informatik.uni-ulm.de • http://allgemeine.informatik.uni-ulm.de Vor dem Doppelpunkt steht das zu verwendende Protokoll (z.B. ftp, http,..).

  41. Email • Einsatz: Verschicken von Nachrichten an verschiedene Benutzer des (UNIX)-Systems. • verschickte Nachrichten landen in einem Briefkasten. (MAIL-BOX) • Der Inhalt ist vom jeweiligen Adressaten abrufbar. • Das Vorhandensein von (neuen) Nachrichten wird nach dem Anmelden (login) angezeigt: You have mail oder You have new mail. • Zum lesen der Mails wird ein spezielles Programm benötigt (z.B. pine, netscape, ...)

  42. Pine (1) • ASCII-orientiertes Programm zum lesen und schreiben von Mails • Wichtigste Menüpunkte: - Compose Message (neue Mail schreiben) - Folder List (zeigt Mailverzeichnisse) => INBOX (hier sind die neuen Mails drin) => sent-mail (die Mails die man selber verschickt hat) • im unteren Teil des Fensters sieht man welche Tasten für welchen Befehl gedrückt werden müssen ( ^ bedeutet die ctrl-Taste) • wichtige Befehle: m zum Hauptmenue q Beenden (mit y(es) bestätigen) Control + X versenden der Mail (in Compose Message)

  43. Pine (2) Hauptmenü Mögliche Befehle

  44. “Compose Message” (Mail schreiben & senden) “Folder List/INBOX” (Mails lesen) Pine (3)

  45. Pine (4) DEMO

  46. Editoren • Übersicht • vi • pico • nedit • emacs

  47. Übersicht • Editoren dienen zum Erzeugen und Modifizieren von Dateien • Textdateien / Dokumente (z.B. ein Reisebericht) • Programm-Dateien(z.B. Modula-2 Quellcode) • ... • Verbreitete UNIX-Editoren • vi (sehr spartanisch, aber immer verfügbar und sehr mächtig) • pico (wird von pineverwendet um mails zu editieren) • nedit (graphischer Editor à la „Windows“. Start: nedit &) • emacs (sehr mächtiger Editor, graphische Version: xemacs)

  48. Editor: “vi” • Auf allen UNIX-Systemen verfügbar, jedoch sehr spartanisch • Sehr mächtig • Auch verfügbar für Windows-Systeme • Wichtige Funktionen • Editor aufrufen: vi Datei • Text speichern: <ESC> : w • Text speichern & Editor verlassen : <ESC> : wq • Editor verlassen ohne zu speichern: <ESC> : q! • Alternative: vim (vi-improved) • Lernen denvi odervimzu bedienen Shell-Kommando: vimtutor

  49. Editor “pico” • Bedienung ähnlich „pine“ • Wichtige Funktionen • Editor aufrufen: pico Datei • Text speichern: ctrl-o • Text speichern & Editor verlassen : ctrl-x + „y“ („y“ = „yes“ für Speichern) • Editor verlassen ohne zu speichern: ctrl-x + „n“ („n“ = „no“ für Speichern) • Ähnlich wie bei pine werden in der untersten Zeile stets mögliche Tastenkombinationen angezeigt.

  50. Editor: “nedit” • Graphischer Editor, benötigt einen graphischen Arbeitsplatz (per ssh von einem Windowsrechner steht dieser Editor unter Umständen nicht zur Verfügung) • Bedienung ähnlich wie Windows-Applikationen Sehr leicht zu bedienen • Alle Funktionen sind per Menü-Zeile mit der Maus erreichbar • Wichtige Funktionen: • Editor aufrufen: nedit Datei & („&“ startet das Programm und kehrt zur Kommandozeile zurück) • Text speichern: ctrl-s • Editor verlassen: ctrl-q

More Related