Websalon

::UNIX - Eine Ultra-Kurzeinfuehrung:: : von Peter Funk

:::...............................::: :		voice 042226018 (08:00-18:00)
::::::::::::::::::::::::::::::::::::: :		email pf@artcom0 (Sub-Netz)
  :...................................:

1. Allgemeines : 
 - Shell : Nach der Eingabe von Benutzername und Passwort meldet sich in
   allgemeinen der 'shell' mit einem Prompt : Oft ein '$'- oder ein 
   '%'-Zeichen. Dieser Prompt kann aber beliebig umdefiniert werden und
   z.B. so aussehen : 'pf, tty01> '. Hinter dem Prompt koennen Kommandos
   eingegeben werden, die in der Regel mit ENTER abegeschickt werden.

 - Gross-/Kleinschreibung ist unter UNIX signifkant. Das heisst 'CP' und
   'cp' sind zwei verschiedene Dinge.

 - Dateinamen duerfen insgesamt 14 Zeichen lang sein, wobei grosse, kleine
   Buchstaben, Ziffern und diverse Sonderzeichen beliebig gemischt werden
   koennen. Insbesondere gibt es keine Position die fuer einen Punkt 
   reserviert ist, wie z.B. unter MS-DOS. (Bei BSD Unix koennen sie bis zu
   256 Zeichen lang sein).
   Beispiele : 'demo.c', 'HugoMeier', 'Hugo-Meier', '.profile', 'x.Y.z'

 - Verzeichnisse sind Baumartig aufgebaut. Durch sogenannte Pfadnamen, die
   sich aus den Namen von Verzeichnissen und dem Dateinamen zusammensetzen,
   lassen sich alle Dateien im "Dateibaum" erreichen. Als Trennzeichen
   zwischen den einzelnen Namen wird ein '/' verwendet. So bedeutet
   '/usr/peter/demo.c', dass die Datei 'demo.c' im Unterverzeichnis 'peter'
   im Verzeichnis 'usr' gemeint ist. Pfadnamen, die mit einem '/' beginnen,
   werden vom Wurzelverzeichnis ausgehend aufgefasst. Andere Pfadnamen
   gehen von dem Unterverzeichnis aus, in dem man sich gerade befindet.

 - Wildcards : Der Shell erkennt einige Sonderzeichen, die sich zum Abkuerzen
   der Eingabe von Dateinamen verwenden lassen. Das wichtigste davon ist der 
   '*', der auf alle denkbaren Teilzeichenketten passt. z.B. kann man mit
   '*.c' alle Dateien ansprechen, deren Name mit '.c' aufhoert.

 - Optionen : Viele Kommandos lassen sich durch sogenannte Optionen in ihrer
   Wirkung beeinflussen. Optionen sind in der Regel einzelne Buchstaben, die
   hinter dem Namen des Kommandos beginnend mit einem '-' angegeben werden.

 - Ein-/Ausgabe Umlenkung : Durch die Zeichen '<' bzw. '>' kann die Ein- 
   bzw. Ausgabe von Kommandos in Dateien umgelenkt werden. So lenkt
   z.B. 'ls >inhalt.txt' die Ausgabe des Kommandos 'ls' in die Datei 
   'inhalt.txt' um, die sonst auf dem Bildschrirm erscheinen wuerde.

 - Peripherie-Geraete : Alle an einen UNIX-Rechner angeschlossenen Geraete
   (wie z.B. Drucker etc.) werden wie Dateien angesprochen. Dazu gibt es
   ein besonderes Verzeichnis : '/dev' in dem alle Geraete mit meist etwas
   schwer verstaendlichen Namen eingetragen sind. Beispiele : '/dev/lp' ist
   der Lineprinter und '/dev/fd096ds15' koennte z.B. eine doppelseitige
   96 tpi Floppy-Disk mit 15 Sektoren pro Spur sein.


2. Zugriffsrechte auf Dateien und Verzeichnisse :
   UNIX unterscheidet alle Benutzer, wobei jeder Benutzer automatisch einer
   oder mehreren Benutzergruppen angehoeren kann. Jeder Datei und jedem 
   Verzeichnis ist ein Benutzer und eine Gruppe als Eigentuemer zugeordnet.
   Die Zugriffsrechte, die ein Benutzer auf irgendeine Datei bzw. Verzeichnis
   hat, haengen davon ab, ob ihm die Datei selbst gehoert ('u'ser Rechte),
   er der gleichen Gruppe angehoert wie die Datei ('g'roup Rechte) oder ob
   er keine Gemeinsamkeit mit der Datei hat ('o'thers Rechte). Fuer jede
   dieser 3 Moeglichkeiten ist festgelegt, ob die Datei gelesen ('r'ead
   access), geaendert ('w'rite access) oder ausgefuehrt (e'x'ecute access)
   werden darf. Aus den vorgenannten 3 mal 3 Moeglichkeiten ergeben sich
   neun unabhaengig festlegbare Zugriffsrechte, die an jeder Datei 
   festgehalten sind. Im Inhaltsverzeichnislisting sehen die Rechte dann
   z.B. so aus : (man bekommt es mit dem Kommando 'll' oder 'ls -l')
   -rwxr-x--x   1 peter       hackers      5648 Jan 24 17:26 trick
   Diese Zeile bedeutet, dass die Datei 'trick' dem Benutzer 'peter' und der
   Gruppe 'hackers' gehoert und das sie vom Eigentuemer gelesen, geaendert
   und ausgefuehrt werden darf, waehrend sie von den Mitglieder der Gruppe
   'hackers' nicht geaendert werden darf. Alle uebrigen Benutzer (die nicht
   der Gruppe 'hackers' angehoeren) duerfen diese Datei nur ausfuehren und 
   nicht lesen oder aendern.

3. Kommandos 
 - Ausloggen : Das Ausloggen (Beenden einer Terminalsitzung) kann auf
     verschiedene Weisen geschehen. Die Eingabe von 'exit' funktioniert
     immer (auf allen mir bekannten UNIX-Versionen).

 - Dateien :
   Anlisten : Das Kommando 'ls' listet das momentane oder ein angegebenes
     Verzeichnis an. Beispiele : 'ls'  'ls -als'  'ls /usr/peter/demo'
   Kopieren : Das Kommando 'cp' kopiert eine oder mehrere Dateien.
     Beispiele : 'cp Datei1 Datei2'   'cp Datei1 Datei2 /usr/peter'
   Loeschen : Das Kommando 'rm' loescht eine oder mehrere Dateien.
     Beispiele : 'rm Datei1 Datei2'   'rm /usr/peter/demo.c'
   Umbenennen : Das Kommando 'mv' benennt eine Datei um oder verschiebt
     eine oder mehrere Dateien in ein anderes Verzeichnis.
     Beispiele : 'mv Datei1 Datei3'   'mv Datei* /usr/peter'

 - Verzeichnisse :
   Wechseln : Jeder Benutzer hat ein eigenes "Heimat"-Verzeichnis, in dem er
     steht, nach er sich im System angemeldet hat. z.B. '/usr/peter'. Das
     Kommando 'cd' wechselt in dieses Verzeichnis oder in ein als Parameter
     angegebenes Verzeichnis. Beispiele : 'cd'   'cd /usr/peter'   'cd /'
   Erzeugen : Mit dem Kommando 'mkdir' kann ein neues Unterverzeichnis 
     erzeugt werden. Beispiele : 'mkdir /usr/peter/demo'  'mkdir demo'
   Loeschen : Mit dem Kommando 'rmdir' kann ein (leeres) Unterverzeichnis
     geloescht werden. Beispiele : 'rmdir /usr/peter/trash'

 - Zugriffsrechte :
   Verschenken : Das Kommando 'chown', dient dazu, den Besitzer einer
     Datei zu aendern. Da dies nur der jeweilige Eigentuemer kann, kann man
     damit Dateien nur "verschenken".
     Beispiele : 'chown hugo Datei1 Datei2 demo.c'  'chown rudi *'
   Gruppe aendern : Das Kommando 'chgrp' dient zum Aendern der Eigentuemer-
     Gruppe einer Datei. Es kann auch nur vom Besitzer der Datei angewendet
     werden.
     Beispiele : 'chgrp hackers Datei1'  'chgrp kunden Datei2'
   Rechte aendern : Das Kommando 'chmod' aendert die Zugriffsrechte auf 
     eine Datei. Es kann ebenfalls nur vom Eigentuemer benutzt werden.
     Als ersten Parameter kann man die Zugriffsrechte entweder als 
     3-stellige Oktalzahl oder als Kombination der Zeichen 'ugo' gefolgt
     von einem '+' oder '-' und dann gefolgt von einer Kombination aus
     'rwx' angegeben. Beispiele : 'chmod 750 /usr/peter'  'chmod ug+w Datei1'
     'chmod o-w *'

 - Online-Hilfen :
     Mit dem Kommando 'man' bekommt man zu einem beleibigen anderen Kommando
     Hilfestellung. Leider nur in English und fuer Anfaenger oft schwer zu
     verstehen, aber wenn man sonst niemanden Fragen kann ist das besser als
     nichts. Beispiele : 'man man' 'man ls'

 - Sonstiges :
   Mail : Das Kommando 'mail' oeffnet (wenn nicht leer) das persoenliche
     Postfach des Benutzers. Es hat eine kleine Hilfsfunktion (natuerlich
     in englisch), die auf '?' und ENTER hin erscheint. Durch das Kommando
     'mail' gefolgt von einem Benutzernamen kann man Nachrichten an andere
     Benutzer verschicken.
   Chatten : Das Kommando 'write' erlaubt es, einen Dialog mit einem anderen
     Benutzer auf einem anderen Terminal zu fuehren.
   Sortieren : Das Kommando 'sort' sortiert eine Textdatei alphabetisch.
     Durch diverse Optionen koennen Sortierschluessel angegeben werden.
   Suchen : Mit 'grep' kann ein bestimmtes Text-Muster in einer oder
     mehreren Dateiein gesucht werden.
   
4. Editoren
Unter UNIX gibt es viele Editoren. Fast ueberall erhaeltlich sind die
Zeileneditoren 'ex' und 'ed', sowie der Bildschirmeditor 'vi'. Obwohl die
Meinungen ueber diese Editoren sicher sehr geteilt sind, .... !!?!?! ....
ist es fuer UNIX-Benutzer sinnvoll, sich z.B. mit dem 'vi' auszukennen.
Eine Kommando-Uebersicht ueber den 'vi' wuerde natuerlich den Rahmen dieses
Textes sprengen, aber als Einleitung trotzdem folgende Hinweise :
Wird der 'vi' mit einem Dateinamen als Parameter aufgerufen, erscheint
normalerweise die (Bildschirm)-Seite des Textes und der 'vi' befindet sich
im sogenannten 'Commandmode'. Ausser diesem Modus kennt der 'vi' noch
einen Einfuege- oder Ueberschreibmodus, sowie einen sogenannten 'ex'-Modus,
indem Zeileneditor-Kommandos eingegeben werden koennen. Im Kommandomodus 
wirken (fast) alle Buchstaben als Kommandos : z.B. betritt 'i' den 
Einfuegemodus, ':' betritt den 'ex'-Modus. Der Einfuegemodus kann mit
ESC wieder verlassen werden. Der 'ex'-Modus wird im allgemeinen durch 
die ENTER-Taste verlassen. Im Kommandomodus kann der Cursor durch den 
Text bewegt werden. Das Verlassen des Editors erfolgt mit ':x', wobei
der Text automatisch gesichert wird.

5. Weiterfuehrende Literatur ueber UNIX

S.R.Bourne : The UNIX System. Addison Wessley Publishing Company. 
   (englisch, aber ausfuehrlich und leicht verstaendlich geschrieben, viele
    Beispiele)
Kernighan, Ritchie : Programmieren in C. Hanser Verlag.
   (gute Uebersetzung des amerikanischen Originals. Das Standardwerk ueber
    die Programmiersprache C. Enthaelt ausserdem eine Beschreibung der 
    UNIX-Systemschnittstelle)

---------------------------------------------------------------------------