UNIX
[DOS][Übersicht][Download]
 
UNIX ist ein in Großrechnernetzen sehr verbreitetes und sicheres Betriebssystem für Netzwerke. Daher basieren viele Internet-Server und FTP-Server auf UNIX. Auch auf dem PC ist UNIX in Form des Betriebssystems LINUX inzwischen relativ weit verbreitet, weil es eines der wenigen Alternativen zu einem Microsoft-Betriebssystem darstellt. Übersicht:
A. Allgemeines
B. Kommandos
C. Meta-/Jokerzeichen
D. Zugriffsrechte
E. Shell-Prozeduren
F. Datenübertragung von DOS-UNIX

 
 
Wer sich diese Einführung lieber offline ansehen möchte, kann sie sich auch herunterladen. In der Zip-Datei ist je eine Datei im Word-Format und im WordPerfect-Format enthalten.
A. Allgemeines:

Kommandosprachen, Shells:
Es gibt 2 Typen von Kommandosprachen. Das eine sind die zeilenorientierte Kommandosprachen wie z.B. die Bourne-Shell, die
C-Shell (an C angelehnt) und die Korn-Shell. Daneben gibt es grafisch-orientierte Kommandosprache (Xwindow) wie z.B. HP-VUE (Visuel-User-Environment).

Passwörter:
Passwörter in UNIX müssen aus mindestens 6 und höchstens 8 Zeichen bestehen. Darin müssen mindest. 2 Buchstaben und eine Zahl enthalten sein.

Eigenschaften:
 
  • Timesharing, Multi-User-System, Multitasking
  • Hierarchisches File-System
  • Einheitliche Schnittstellen
  • Mächtige Kommandosprachen, sog. Shells
  • Über 250 Dienstprogramme
  • Implementierung fast ausschließlich in C
  • Umfangreiche Vernetzungsmöglichkeiten, TCP/IP-Protokolle
  • UNIX kann vom PC bis zum Supercomputer genutzt werden
  • UNIX ist auf dem Wege zur 8. Standardisierung durch X-OPEN (Gremium von UNIX-Anwendern)
  • Dateisystem:
    UNIX kennt drei verschiedene Dateitypen:
    • Gewöhnliche Dateien (ordinary files): Inhalt kann alles sein.
    • Gerätedateien (special files): Inhalt sind Gerätetreiber.

    • Verzeichnisdateien/Verzeichnisse: Verzeichnisstruktur.
    Verzeichnisse sind notwendig, weil Dateien nur in Abhängigkeit zu Verzeichnissen existieren können:
    Verzeichnis und Dateien, Zusammenhang
    Das Heimatverzeichnis (Home-Directory) wird mit dem Einloggen zum Arbeitsverzeichnis. Das UNIX-Dateisystem setzt sich zusammen aus dem Benutzerdateisystem und den Betriebssystemdaten. Das ROOT-Directory ist die höchste Ebene. Es wird als Slash ( / ) dargestellt.
    • dev: verwaltet alle Spezialdateien
    • lib: enthält Bibliotheksroutinen
    • bin: enthält Kommandos
    • usr: enthält weitere Verzeichnisse
    • etc: enthält Systemverwaltungsdateien
    • tmp: temporäre Dateien
    • users: Benutzerverzeichnisse
    • hpOx: Startdatei
    Das Verzeichnis Users ist in der Regel nochmals untergliedert in verschiedene Gruppen von Nutzern. Es könnte z.b. wie in der folgenden Abbildung aussehen.
    Man kann eine Datei mit dem absoluten Namen oder mit einem relativen Namen bezeichnen. Der absolute Name besteht aus dem Dateinamen und dem Pfad ab dem ROOT-Verzeichnis.
    Dateinamen in UNIX können bis zu 255 Zeichen lang sein. Dabei wird zwischen Groß- und Kleinschreibung unterschieden. Es sollten möglichst keine Zeichen der Shell verwendet werden. Werden diese dennoch benutzt, so müssen sie durch einen Backslash ( \ ) markiert werden.

    Micro-Emacs:
    Der Micro-Emacs stellt einen einfachen Texteditor dar. Man ruft in mit dem Befehlme_dateiauf und verläßt ihn mit F1 mit Speichern und mit F9 ohne Speichern

    Umleitung von Ein- und Ausgaben:
    UNIX geht grundsätzlich davon aus, daß sowohl die Ein- als auch die Ausgabe über den Bildschirm erfolgen soll. Wenn man dies nicht so will, muß man die Ein- oder Ausgaben umlenken.
    Umleitung der Ausgaben:
    Zur Umleitung von Ausgaben benutzt man das Kommando:kommando_>_dateiDadurch wird das Ergebnis des Kommandos in eine Datei geschrieben. Ist die Datei noch nicht vorhanden, wird sie erstellt, sonst wird sie überschrieben. Durch den Befehl>_Dateikann man deshalb einen neue, leere Datei erzeugen. Um eine bereits vorhandene Datei nicht zu überschreiben, sondern die Ausgabe an diese Datei anzuhängen kann man das Kommando:

    kommando_>>_vorhandene datei

    benutzen.

    Umleitung der Eingaben:
    Um Daten zur Ausführung eines Kommandos aus einer bereits vohandenen Datei zu laden benutzt man das Kommando:kommando_<_datei

    Pipelines:
    Man kann auch Verarbeitungsketten, sogenannte Pipelines bilden.

    Kommando1|Kommando2|Kommando3

    Programme im Hintergrund:
    Mit dem Befehlkommando&kann man die Bearbeitung des Befehls in den Hintergrund verschicken. Nach bestätigen des Befehls wird die Prozeßnummer ausgegeben. Dieser Befehl hat allerdings den Nachteil, daß die Bearbeitung bei Verlassen der Sitzung abgebrochen wird. Um dies zu vermeiden, kann man den Befehl 
    noup_kommando&

    eingeben. Auch hier bekommt man die Prozeßnummer zurückgeliefert.

    Kommando-Syntax:
    Die Syntax eines Kommandos sieht immer wie folgt aus:
    kommando_[parameter]
    Die Trennung von Kommando und Parameter erfolgt durch mind. ein Leerzeichen. Parameter müssen nicht unbedingt mitgegeben werden. Der Befehl wird mit RETURN abgeschickt. Der Kommandointerpreter überprüft dann, ob das Kommando vorhanden ist. Ist dies der Fall, wird das Programm gestartet. Bei der Kommandoeingabe wird zwischen Groß- und Kleinschreibung unterschieden.Mehrere Kommandos können entweder untereinander oder in einer Zeile durch Semikola getrennt werden.

    Kommando-Parameter:
    Ein Kommando kann bis zu drei Arten von Parametern haben:

    kommando_-optionen_ausdruck_

    Dabei ist auf jeden Fall die Reihenfolge einzuhalten.Optionen werden immer durch ein Minuszeichen eingeleitet. Sie bestimmen die Art der Programmausführung. Werden mehrere Optionen angegeben, werden diese ohne Leerzeichen hintereinander eingegeben.Als Ausdruck kann ein bestimmter Text mitgegeben werden. Wenn dieser Text Leerzeichen oder Sonderzeichen enthält, sollte er in Hochkommata (') gesetzt werden, damit das Leerzeichen oder die Sonderzeichen nicht mitinterpretiert wird.Außerdem können noch Dateien zum speichern oder lesen bestimmt werden.

    Korrekturmöglichkeiten:

    • Backspace-Taste
    • Ctrl + u = Zeile löschen
    • Ctrl + d = Entf.-Taste
    • Ctrl + a = Pos 1-Taste
    • Ctrl + e = Ende-Taste
    • Ctrl + p = Letztes Kommando wird zurückgeholt, beliebig oft wiederholbar
    • Ctrl + n = Holt das letzte Kommando zurück
    Zusätzliche Tastenkombinationen
    • DEL (Ctrl+c) = Abbrechen von Kommandos
    • Ctrl + s = Anhalten der Ausgabe
    • Ctrl + q = Weiter mit der Ausgabe
    • Ctrl + d = Ende einer Datei
    C. Meta-/Jokerzeichen:
    Kommando-
    struktur:
    Bsp.
    Ergebnis/
    Funktion:
    ? ls_? ? steht stellvertretend für genau 1 Zeichen, listet alle Dateien auf, deren Name aus genau einem Zeichen besteht.
      rm_a? Löscht alle Dateien die aus zwei Zeichen bestehen, wovon der erste Buchstabe ein "a" ist.
    *   Ersetzt eine beliebige Zeichenkette, einschließlich fehlender Zeichen.
    [Liste von 
    Zeichen]
    ls_[abcd].txt Listet alle Dateien auf, die a.txt, b.txt c.txt oder d.txt heißen.(Zeichen in der Liste dürfen nicht durch Leerzeichen oder Kommata getrennt werden.)
    [!Liste von
    Zeichen]
    ls_[!abcd].txt Listet alle Dateien auf, die nicht a.txt, b.txt, c.txt oder d.txt heißen.
    B. Kommandos:
    Struktur:
    Beispiel:
    Ergebnis/Funktion:
    cat_datei cat_file1_file2 Dateien werden auf dem Bildschirm aufgelistet.
      cat_f1_f2_>f3 Schreibt die Dateien hintereinander in die Datei "f3".
    cd_directory cd_user Wechselt ins Verzeichnis "User".
      cd_.. Wechselt ins nächsthöhere Verzeichnis.
    chmod_modus_datei chmod_g=rwx_datei Berechtigt die Gruppe die Datei "datei" zu lesen, zu schreiben und auszuführen.
      chmod_777_file1 Berechtigt alle mit der Datei nach Belieben zu verfahren.
    cp_quelldatei_directory cp_a_otto Kopiert die Datei "a" in das Verzeichnis "otto".
    cp_quelle_ziel cp_a_b Kopiert die Datei "a" in die Datei "b".
    date date Gibt das aktuelle Datum und Uhrzeit aus.
    exit exit Beendet die UNIX-Sitzung.
    grep_ausdruck_datei grep_Otto_dat1 Sucht die Zeichenfolge "Otto" in der Datei "dat1". Es werden alle Zeilen der Datei ausgegeben, in der das gesuchte Wort gefunden wurde.
      grep_-c_Otto_dat1 -c = count, Zahl der Treffer wird ausgegeben
    kill_prozeßnummer kill_-g_3103 Bricht den Prozeß mit der Nummer 3103 ab, ohne daß dies abgefangen werden kann.
    lp_datei lp_-d_lp132_file1 Druckt Datei file1 auf Drucker "lp132" aus.
      lp_-d_lp80_file1 Druckt Datei "file1" auf Drucker "lp80" aus.
    ls_[-opt]_directory ls_-a Alle Dateien im Arbeitsverzeichnis werden angezeigt.
      ls_-l Alle Dateien im Arbeitsverzeichnis werden ausführlich angezeigt.
    man_kommando man_grep Beschreibung zum Kommando "grep" wird ausgegeben.
    mkdir_directory mkdir_otto Erzeugt ein Verzeichnis mit dem Namen "otto".
      mkdir_texte_prog Erzeugt zwei Verzeichnis mit den Namen "texte" und "prog".
    more_dateiname more_test Der Inhalt der Datei "test" wird bildschirmseitenweise angezeigt. Durch Betätigen der RETURN-Taste wird die nächste Zeile angezeigt, bei Betätigen der Leertaste wirde die nächste Seite angezeigt. Beendet werden kann die Ausgabe mit "q".
    mv_quelle_directory mv_a_otto move: verschiebt die Datei "a" in das Verzeichnis "otto".
    mv_alt_neu mv_a_n Nennt die Datei "a" in "n" um.
    passwd passwd Ändert eigenes Password.
    ps ps_-l Informiert über alle Prozesse ausführlich.
      ps_-e Informiert über alle Prozesse.
      ps_-u_name Informiert über die Prozesse des Users "name".
    pwd pwd print working directory: zeigt absoluten Namen des aktuellen Arbeitsverzeichnisses an.
    rm rm_file1_file2_file3 Löscht die Dateien file1 - file3.
      rm_-i_file1_file2 Löscht die Dateien file1 und file2 mit Nachfragen (interaktiv).
    rm_datei rm_a Löscht die Datei "a".
    rmdir_directory rmdir_otto Löscht das Verzeichnis "otto".
    set set Anzeigen aller Shell-Variablen.
    wc_datei wc_file1 Zählt Zeilen, Wörter und Zeichen in der Datei "file1".
      wc_-c_file1 Zählt nur Zeichen.
      wc_-l_file1 Zählt nur Zeilen
      wc_-w_file1 Zählt nur Wörter.
    who who Listet alle aktuellen Benutzer auf.
    whoami whoami Listet eigene Einlogdaten auf.
    D. Zugriffsrechte:
    UNIX muß als Multiusersystem sicherstellen, daß nicht alle Nutzer auf alle Dateien zugreifen können. Dazu kann man für jede Datei und für jedes Verzeichnis Nutzungsrechte vergeben.
    Nach der Eingabe von ls_-l erhält man eine Liste von Dateien. Am Anfang jeder Zeile steht eine Buchstaben folge, die folgendermaßen aussehen kann.

    drwxrwxrwx...
    -rwxr-x---...

    Dabei gibt das "d" an, daß es sich bei der Datei um ein Verzeichnis handelt. "r" steht für Leseberechtigung, das "w" für die Schreibberechtigung und das "x" für die Berechtigung, die Datei ausführen zu dürfen.
    Weiterhin stehen die ersten drei Buchstaben für den User selber, die zweiten drei Buchstaben für die Gruppe, der der User angehört und die dritten drei Buchstaben für den Rest der Welt.
    Zum Setzen der Berechtigungen benutzt man den Befehlchmod_modus_dateiname:Man hat zwei Möglichkeiten den Modus anzugeben:
    Oktal: Dazu muß man sich an folgende Tabelle halten:

    r
    w
    x
    r
    w
    x
    r
    w
    x
    4
    2
    1
    4
    2
    1
    4
    2
    1
    Addition der gewünschten Werte Addition der gewünschten Werte Addition der gewünschten Werte
    7 7 7

    Symbolisch:

      u : user
      g : Gruppe
      o : Rest der Welt
      a : Alle
      = : Zuweisen einer Berechtigung
      + : Hinzufügen einer Berechtigung
      - : Wegnehmen einer Berechtigung
    Beispiele: Oktal
    777 Der User, die Gruppe und der Rest der Welt können lesen, schreiben und ausführen.
    740 Der User kann alles, die Gruppe nur lesen und der Rest der Welt kann gar nicht auf die Datei zugreifen.

     
    Beispiele: symbolisch
    chmod_g=rwx_dateiy Der Gruppe wird die Lese-, Schreib- und Ausführungsberechtigung erteilt.
    chmod_g-wx_dateiy Der Gruppe wird die Schreib- und Ausführungsberechtigung für die Datei "dateiy" entzogen.
    chmod_u+x Der Benutzer gibt sich die Ausführungsberechtigung.
    chmod_u=rw,g=r,o-w_z Der Benutzer gibt sich, für die Datei "z", die Schreib- und Leseberechtigung unter Ausschluß der Ausführungsberechtigung, die Gruppe bekommt nur eine Leseberechtigung und dem Rest der Welt wird die vorhandene Schreibberechtigung entzogen.
    E. Shell-Prozeduren:

    Shell-Prozeduren sind mit Batch-Dateien vergleichbar. Sie enthalten eine Reihe von Befehlen, die nacheinander abgearbeitet werden. Die Datei wird ausgeführt, indem ihr Name eingegeben wird. Dies setzt voraus, daß die Datei ausführbar gemacht wurde.
    In solche Prozeduren können auch Variablen eingebunden werden, die als Parameter beim Prozeduraufruf mit übergeben werden. Der Parameter1 ist in der Prozedur als Variable $1, der Parameter2 als Variable $2 definiert.

    Beispiel:

    Prozedur TEST: grep_$1_datei1>$2

    Aufruf: TEST_otto_datei2

    Die Prozedur wird mit ihrem Namen "TEST" aufgerufen. Durch den Parameter1 (otto) wird die Zeichenfolge mitgegeben, nach der grep suchen soll. Durch den Parameter2 (datei2) wird die Datei angegeben, in die das Ergebnis von grep geschrieben werden soll.

    F. Datenübertragung DOS-UNIX:

    Von UNIX nach DOS:
    Zunächst muß man den Pfad, in den die Dateien kopiert werden sollen auf dem DOS-Rechner einrichten und in diesen hineinwechseln.
    Dann muß man den notwendigen Netzwerktreiber laden, wenn dieser nicht automatisch mitgeladen wird. Dies kann z.B. mit dem Befehl c:\pfad\ethdrv geschehen.
    Mit tn_[Name des Servers] stellt man dann die Verbindung zum Host her. Man wird dann nach dem Login und dem Passwort gefragt. Beides ist wie gewünscht einzugeben.
     

    Mit ftp_[Name des Servers] ist der Dateitransport zu beginnen.
    Mit mget_datei(en) sind die entsprechenden Dateien auf den DOS-Rechner zu übertragen. Um die entsprechenden Dateien im Dateisystem zu finden, können DOS-Befehle benutzt werden.
    Mit exit ist die Übertragung zu beenden.

    Von DOS zu UNIX:

    Die Übertragung von Dos zu UNIX funktioniert genauso, außer daß für die Übertragung der Befehl put_datei(en) benutzt wird.

    [Home] [Über Mich!] [Sitemap] [WordPerfect] [Design]

    (c) Dagmar Spona, 26.02.2000