38
Helga Gabler, Stefanie Schwall Übungen Informatik 1 1 Übungen Informatik I Unix

Übungen Informatik I - hs-karlsruhe.de · 2007. 6. 14. · und Digital Unix (Unix- Clone) • Auflistung der wichtigsten kommerziellen Unix- Varianten : (PT= Prozessortyp) – IBM

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 1

    Übungen Informatik I

    Unix

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 2

    UnixInhalt Einführung in das Betriebssystem „UNIX“

    1. Einführung2. Dateien und Verzeichnisse (File- System)3. Zugriffsrechte4. Texteditor „VI“

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 3

    UnixEinführung

    • Unix ist ein Betriebssystem für leistungsfähige, i. d. R. vernetzte Computer und Großcomputer

    • Die Unix- Entwicklung begann etwa Ende der 60er Jahre• Erste Version hieß Unics in Anspielung auf Multics

    (Großrechnerbetriebssystem, z.B. für Honeywell)• 1973: D. M. Ritchie und H. Thompson in den Bell Laboratories

    (Forschungszentrum des AT & T)• Vorteile von Unix sind:

    StabilitätLeistungsfähigkeitSkalierbarkeitMultiuserfähigkeitMultitaskingfähigkeitLeichte Portierbarkeit

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 4

    UnixEinführung Kommerzielle Unix- Varianten

    • Gehen i. A. auf das Original Unix System V von AT & T zurück• Ausnahmen: Berkley- Unix (BSD= Berkley Software Design Inc.)

    und Digital Unix (Unix- Clone)• Auflistung der wichtigsten kommerziellen Unix- Varianten :

    (PT= Prozessortyp)– IBM AIX 4. 3 (PT: RS/6000, Power PC)

    zLinux (für IBM zSeries)– HP HP- UX 11 (PT: PA- RISC)– SUN Microsystems Solaris 8 (PT: Sun Sparc/ Intel x86)– BSD BSDi Unix (PT: Intel x86)– Compaq (ehemals DEC) Tru64 Unix 5. 0 (PT: DEC Alpha)– Silicon Graphics Irix 6. 5 (PT: MIPS R4x00/ R1x000)– Santa Cruz Operation SCO Unixware 7. 1 (PT: Intel x86)

    • Apple setzt BSD Variante für Betriebssysteme ab Max OS X ein• Linux unabhängig von originalen Quelltexten entwickelt

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 5

    UnixEinführung Wie arbeite ich mit Unix?

    1. Unix hochfahren

    2. Einloggen (da Unix ein Mehrbenutzersystem ist, erhält jeder Usereinen Benutzernamen und ein Passwort)

    3. Arbeiten1. Term öffnen (vgl. MS- DOS Eingabeaufforderung)

    - System- Anforderungszeichen = Prompt ($ oder % je nach Shell)

    2. Kommandos eingeben

    4. Ausloggen (mit + oder “exit“)

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 6

    UnixEinführung Kommandos und Parameter

    • In einen Term werden Kommandos eingegeben• VORSICHT: Unix ist CASE- sensitiv• Ein Kommando sieht folgendermaßen aus:

    – Kommando[;Kommando] [Parameter] [Parameter]– Kommandos werden mit ; getrennt– Parameter werden mit einem Leerzeichen getrennt

    • Parameter bestehen meist aus 3 Teilen:1. Dateiname (Kommando wirkt auf angegebene Datei)2. Optionen (lösen bestimmte Varianten des Kommandos aus,

    Angabe mit „-“ oder „+“)3. Ausdrücke (Zeichenkette, die als Eingabe für das Kommando

    dienen)• Einfache Kommandos:

    date (gibt das aktuelle Datum + Uhrzeit aus)who am i (wer arbeitet am Terminal)

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 7

    UnixEinführung Kommandos

    • Mit alias kann man Kurzformen für Kommandoaufrufe festlegen

    – Beispiele: • alias l=‘ls –la‘

    das bedeutet: gibt man l ein, wird das Kommando ls mit dem Parameter la ausgeführt

    • alias md=‘mkdir‘das bedeutet: gibt man md ein, wird das Kommando mkdirausgeführt

    • Es folgen einige Befehle für Systeminformationen:man: gibt Hilfe zu Unix- Kommandosid: zeigt die Benutzer- und Gruppenkennung anlogname: zeigt den Login- Namen anpasswd: hier kann man sein Login- Kennwort ändernwho am I: identifiziert den aufrufenden Benutzer

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 8

    UnixEinführung Neues graf. Terminalfenster öffnen

    ssh-Client:ein grafikfähiges Programm, deshalb einfach nur wie folgt ein neues Fenster (Term) öffnen:

    Putty: ein ASCII- (text-) basierendes Programm.

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 9

    UnixEinführung Neues graf. Terminalfenster öffnen

    Putty: Um das ASCII- (text-) basierende Putty in einem grafischen

    Fenster zu öffnen sind folgende Schritte nötig:

    1. Verbindung zum X-11-Server herstellen (X11-Server starten)

    2. Ausgabe des Fensters auf eigenen Rechner setzen: export DISPLAY=Rechnername:0.0

    3. Aufruf „xterm“ oder „aixterm“

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 10

    UnixInhalt

    1. Einführung2. Dateien und Verzeichnisse (File- System)3. Zugriffsrechte4. Texteditor „VI“

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 11

    UnixDateien

    • Sehen wie Zeichenfolgen aus, sind aber komplexer• Enthalten beliebige Daten• Haben einen CASE- sensitiven Namen• Namen können sehr lang sein und dürfen aus jedem Zeichen

    bestehen (nicht /)• Dateinamen sollten eine Endung haben, die etwas über den Inhalt

    der Datei aussagt (s. folgende Folie)• Informationen über den Eigentümer der Datei werden

    abgespeichert• Zugriffsrechte bestimmen, wer auf die Datei zugreifen darf• Besonderheit unter Unix: Geräte sind Dateien (Spezialdateien)

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 12

    UnixVerzeichnisse

    • Directories (Verzeichnisse) halten Ordnung und kennzeichnen logische Zusammenhänge

    • Zusammenfassung mehrerer Dateien• Es gibt Unterverzeichnisse (Subdirectories)• Das unterste Verzeichnis wird root- directory genannt („/“)• Alle Directories und Dateien bilden einen Directory- Baum• Jedem Benutzer wird ein Home- Directory (Arbeitsverzeichnis,

    Heimatverzeichnis) zugewiesen• Quota: Das Speicherplatzlimit im Home- Directory eines Users

    beträgt z. Zt. 75 MB

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 13

    UnixVerzeichnisse Struktur

    • Hierarchische Struktur: Directory = VerzeichnisFile = Datei

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 14

    UnixVerzeichnisse Navigation

    • Folgende Kommandos dienen der Navigation im File- System:

    pwd zeigt den absoluten Pfad zum aktuellen Verzeichnisls gibt den Inhalt des Verzeichnisses aus (vgl. dir unter DOS)ls –la liefert Zusatzinformationen über die Einträgels –lae liefert Zusatzinformationen + Zugriffsrechte der Einträgels | more unterbricht den Scrollmodus der Ausgabenls w* listet alle Files auf, die mit w beginnenls –F zusätzliches Flags (z. B. „/“ beim Verzeichnis)man ls Befehl für die man- pages (Hilfe zu Befehlen),

    hier: zeigt, was der Befehl ls macht, und welche Parameter es dazu gibt

    more zeigt den Inhalt von Text- Dateien an (vgl. type unter DOS)

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 15

    UnixVerzeichnisse Navigation

    • Mit dem Befehl cd kann man in Verzeichnisse wechseln• Angabe mit / am Anfang ist es eine absolute Pfadangabe• Angabe ohne / am Anfang ist es eine realtive Pfadangabe• Ein Pfad wird immer absteigend ausgehend vom root- directory

    angegeben

    • Beispiele:cd oder cd~ führt zurück ins Heimatverzeichniscd .. steigt eine Ebene hochcd . bleibt im aktuellen Verzeichniscd / steigt an das oberste Verzeichnis (root)cd ../../.. steigt 3 Ebenen nach obencd Verzeichnis steigt abwärts direkt in das angegebene Verzeichniscd /home steigt in das Wurzelverzeichnis home

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 16

    UnixVerzeichnisse File-System verändern

    • Es gibt verschiedene Befehle, mit denen man Verzeichnisse anlegen, löschen oder aktualisieren

    • Beispiele:mkdir legt ein Verzeichnis anrmdir löscht ein leeres (!) Verzeichnistouch aktualisiert das Datum einer Datei oder legt eine neue

    Datei an, falls diese noch nicht existiert

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 17

    UnixVerzeichnisse/File-System Dateien kopieren

    • Mit dem Befehl cp kann man Dateien kopieren

    • Beispiele:cp file1 file2 kopiert die Datei file1 nach Datei file2 im

    gleichen Verzeichnis cp test.html www/index.html

    kopiert die Datei test.html nach Datei index.html in das darunterliegende Verzeichnis www

    cp test.html .. kopiert die Datei test.html in das darüberliegende Verzeichnis

    cp test.html ../index.htmlkopiert die Datei test.html in das darüberliegende Verzeichnis unter dem neuen Namen index.html

    cp –r dir1 dir2 kopiert das Verzeichnis dir1 mit seinem gesamten Inhalt nach dem Verzeichnis dir2

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 18

    UnixVerzeichnisse/FileSystem Dateien löschen

    • Mit dem Befehl rm kann man Dateien löschen

    • Beispiele:rm file1 file2 file3

    löscht die Dateien file1 file2 und file3 im aktuellenVerzeichnis

    rm * löscht alle Dateien im aktuellen Verzeichnis, außer die, die mit . beginnen

    rm *.html löscht alle Dateien, die die Endung .html habenrm –r www löscht das Verzeichnis samt allen darin enthaltenen

    Dateien und Verzeichnissen

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 19

    UnixVerzeichnisse/File-System Dateien verschieben

    • Mit dem Befehl mv kann man Dateien verschieben, bzw. umbenennen

    •Beispiele:

    mv file1 file2Dateinname file1 wird in Dateiname file2 umbenannt, genauso werden auch Verzeichnisse umbenannt

    mv test.html wwwverschiebt die Datei test.html in das darunterliegendeVerzeichnis www; existiert das Verzeichnis nicht, wird die Datei umbenannt

    mv test.html www/index.htmlverschiebt die Datei test.html in das darunterliegendeVerzeichnis www unter dem neuen Name index.html

    mv test.html ../index.htmlverschiebt die Datei test.html in das darüberliegende Verzeichnis unter dem neuen Name index.html

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 20

    UnixInhalt

    1. Einführung2. Dateien und Verzeichnisse (File- System)3. Zugriffsrechte4. Texteditor „VI“

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 21

    UnixZugriffsrechte

    • Für jede Datei kann man festlegen, wer sie lesen, schreiben und ausführen darf

    - der Eigentümer- die Gruppe, in der er mitarbeitet- jeder Benutzer

    • Außerdem gibt es in jedem Unix- System einen Systemadministrator (= Super User), der eine Zugriffsberechtigung auf jede Datei hat

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 22

    UnixZugriffsrechte

    • Es gibt also folgende Benutzer:ICH: user (u)GRUPPE: group (g)ALLE: others (o)

    • Und folgende Rechte:LESEN: read (r)SCHREIBEN: write (w)AUSFÜHREN: execute (x)

    • Jede Datei/ Verzeichnis gehört einem Benutzer (= Eigentümer)• Bei Verzeichnissen bedeutet x, dass in dieses gewechselt werden

    darf

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 23

    UnixZugriffsrechte Beispiele

    • Verzeichnis test des Users duda0013, Mitglied in Gruppe sgm11d rwx rw- r-- duda0013 sgm11 testd Directory ( test ist ein Verzeichnis)

    rwx Rechte des Users: lesen, schreiben, ausführenrw- Rechte der Gruppe (sgm11): lesen, schreiben

    r-- Rechte der Anderen: lesen

    • Datei test.txt des Users duda0013, Mitglied in Gruppe sgm11- r-x r-- --- duda0013 sgm11 test.txt- kein Directory ( test.txt ist eine Datei)

    r-x Rechte von u (duda0013): lesen, ausführenr-- Rechte von g (sgm11): lesen

    --- Rechte von o: keine

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 24

    UnixZugriffsrechte verändern mit chmod

    • Mit dem Befehl chmod kann man Zugriffsrechte verändern:

    • ACHTUNG: wegen den ACLs nicht auf home (.) anwenden

    • Es gibt zwei Möglichkeiten, Zugriffrechte mit chmod zu verändern:- Oktal- Symbolisch

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 25

    UnixZugriffsrechte verändern mit chmod - oktal

    • Angabe: chmod modus dateiname• Verändern ACLs• Bei der oktalen Angabe wird die Wertigkeit des Zugriffsmodus als

    Oktalzahl angegeben• Beispiel: chmod 761 test.txt

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 26

    UnixZugriffsrechte verändern mit chmod - symbolisch

    • Angabe: chmod benutzer änderungsart modus dateiname

    • Verändern ACLs nicht• benutzer: u (ICH), g (GRUPPE), o (OTHERS), a (ALL)

    • änderungsart: + (Berechtigung hinzufügen), - (Berechtigung entziehen), = (Berechtigung auf folgenden Wert setzten)

    • modus: r (lesen), w (schreiben), x (ausführen), u (gleiche Rechte wie ICH), g (gleiche Rechte wie Gruppe)

    • Beispiel: chmod g+w test.txt (Gruppe darf auch schreiben)chmod g=u test.txt (Gruppe hat die gleichen

    Rechte wie ICH)

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 27

    UnixZugriffsrechte ACLs

    • ACL = Access Control List (Zusatzrecht für http- Server)

    • VORSICHT: oktale Veränderung der Zugriffsrechte ändert die ACLs im home (.)- Verzeichnis

    der http- Server kann nicht mehr auf das Verzeichnis zugreifendie Homepage kann nicht mehr angezeigt werden

    • Folgende Kommandos sind wichtig:- aclget: welche ACLs sind gesetzt- acledit: ACLs editieren (export EDITOR=/usr/bin/vi)

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 28

    UnixZugriffsrechte Beispiel

    • Verändern Sie das Zugriffsrecht der Datei test.txt so, dass- jeder die Datei lesen und ausführen kann- die Gruppenmitglieder die Daten lesen und schreiben können- der Benutzer alles machen kann

    • Symbolische Lösung: - chmod u=rwx, g=rw, o=rx test.txt

    - rwx rw- r-x duda0013 sgm11 test.txt

    • Oktale Lösung:- chmod 765 test.txt

    - rwx rw- r-x duda0013 sgm11 test.txt

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 29

    UnixUmgebungsvariablen

    • Umgebungsvariablen- haben einen Namen und einen Wert- können von Programmen ausgelesen und verwendet werden

    (z.B. zu verwendender Editor mit Variablen EDITOR)• Wert einer Umgebungsvariable mit vorangestellten $

    - Echo $EDITORusr/bin/vi

    • Gib alle Umgebungsvariablen aus - env

    $ envMANPATH=/usr/sepp/man:/usr/local/manLANG=en_USLOGIN=pach0003

    ....

    • Setze neue oder ändere bestehende Umgebungsvariable- export EDITOR=“xemacs –nw“

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 30

    UnixInhalt

    1. Einführung2. Dateien und Verzeichnisse (File- System)3. Zugriffsrechte4. Texteditor „VI“

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 31

    UnixTexteditor „VI“ Vergleich vi - emacs

    • vi: + Standardausstattung von UNIX auf jedem UNIX- Rechner + benötiget keine grafische Oberfläche + schneller und kompakter Editor- Handhabung gewöhnungsbedürftig, da drei verschiedene

    Betriebsmodi- Bedienung nicht intuitiv, weil keine grafische Benutzerführung

    • emacs: + grafische Benutzerführung (Fenster, Menüs, ...)+ Tutorial, Online- Dokumentation+ besitzt verschiedene Modi (C- Mode, ...)+ die Funktionalität ist erweiter- und konfigurierbar- verbraucht viel Speicher- Tastenkombinationen sind teilweise schwer zu erlernen

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 32

    UnixTexteditor „VI“ Grundeigenschaften

    • Kommandoorientierter Editor mit sehr vielen Kommandos• 2 Betriebsmodi:

    - Kommandomodus (ex- Modus): Tastaturfeld = Kommandofeld- Eingabemodus (insert- Modus): wird mit beendet

    • Beim Start ist man im Kommandomodus

    • Arbeitsweise:1. Editor starten2. Per Kommando sagen, was man tun will3. Arbeit ausführen4. Per Kommando sagen, was man tun will5. ...

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 33

    UnixTexteditor „VI“ Aufruf und Beenden

    • Aufruf von vi:vi datei ruft vi mit datei aufvi datei1 datei2 ruft vi nacheinander mit datei1 und datei2 aufview datei ruft vi mit datei im schreibgeschützten Modus aufvi + datei öffnet datei an der letzten Zeilevi +n datei öffnet datei direkt an Zeilennummer n

    • Beenden von viim erweiterten (ex-) Kommandomodus (mit und “:“)

    q! beendet vi ohne zu sichernq beendet vi nur wenn vorher gesichert wurdewq! beendet vi und sichertw! sichert den Dateinamenw! datei sichert unter dem angegebenen Dateinamen

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 34

    UnixTexteditor „VI“ Befehle im Kommando- Modus (1)

    • Befehle im Kommando- Modus mit Wechsel in den Insert-Modus:i Einfügen vor dem CursorI Einfügen am Zeilenanfanga Einfügen nach dem CursorA Einfügen am Zeilenendeo Einfügen von Text nach der aktuellen ZeileO Einfügen von Text vor der aktuellen ZeileR Überschreiben des Textesc Ersetzten des ObjektsC bis zum Zeilenende änderncw Wort änderncc aktuelle Zeile änderns Zeichen durch den eingegebenen Text ersetztenS Ersetzten der ganzen Zeile

    Wechsel vom Insert-Modus in den Kommando-Modus mit

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 35

    UnixTexteditor „VI“ Befehle im Kommando- Modus (2)

    • Befehle im Kommando- Modus:

    U letzte Aktion zurücksetztenZZ Speichern und verlassenx Zeichen unter dem Cursor löschenX Zeichen vor dem Cursor löschendw Wort löschendd aktuelle Zeile löschenD bis zum Zeilenende löschenp, P gelöschten Text nach, bzw. vor dem Cursor einfügenyw Wort ausschneiden (kopieren)yy aktuelle Zeile ausschneiden (kopieren)

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 36

    UnixTexteditor „VI“ Befehle im insert- Modus

    • Bewegungsbefehle im insert- Modus:

    h, j, k, l nach links, unten, oben, rechtsw, W, b, B Wortweise vorwärts bzw. rückwärtse, E an das Wortende), ( an den Anfang des nächsten, bzw. vorigen Satzes}, { an den Anfang des nächsten, bzw. vorigen Absatzes auf das erste Zeichen der nächsten Zeile,

    das kein Leerzeichen ist0, $ an den Anfang, bzw. das Ende der aktuellen Zeile^ auf das erste Zeichen der aktuellen Zeile, das

    keine Leerzeichen ist

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 37

    UnixTexteditor „VI“ Befehle im ex- Modus

    • Editierbefehle im ex- Modus:d Zeilen löschenm Zeilen verschiebenco oder t Zeilen kopieren.,$d ab der aktuellen Zeile bis zum Dateiende löschen30,60m0 Zeilen 30 bis 60 an den Dateianfang verschieben

    • Befehle zum Beenden im ex-Modusx oder wq Datei sichern und Editor verlassenw Datei sichernw! Datei sichern, Schreibschutz übergehenq editor verlassenq! Editor verlassen, ohne Änderungen zu speichern

  • Helga Gabler, Stefanie Schwall Übungen Informatik 1 38

    UnixInteressante Links zum Thema

    • Übersicht über die im FH- Netz installierte UNIX- Software:http://www.rz.hs-karlsruhe.de/intern/sepp

    • Einführung in UNIX:http:// www.uni-tuebingen.de/zdv/schriften/unix-html/unix.html

    • Hier gibt’s auch Infos zu VI:http://www.uni-tuebingen.de/zdv/schriften/unix-html/dateien.html