Unix Struktur
Kernel : Der Kernel ist f�r die Verwaltung der Prozesse,des Dateisystems
und der Ressourcen zust�ndig.Die Funktionen werden durch
Systemcalls angesprochen.
Shell : Die Shell ist ein spezielles Anwendungsprogramm, das es dem
Benutzer erlaubt Kommandos abzusetzen,die Arbeitsumgebung
anzupassen und Abl�ufe ,wie zu Beispiel Scripte zu programmieren.
(Bsp: KSH=Korn SHell BASH=Burn Again SHell)
Utilities : Sind Dienstprogramme wie Editoren, Compiler, Linker , Programme
zur Kommunikation, Dateiverwaltung usw.
Unix Oberfl�che
Zeichenorientierte Oberfl�che
Der Benutzer bedient das System ausschliesslich durch Tastatureingabe
von der Kommandozeile.
Graphische Oberfl�che: Fensteroberfl�che
Ein und Aussgabe erfolgt Fensterorientiert. Die Fenster k�nnen mit der
Maus manipuliert werden.
Graphische Oberfl�che: Desktop System
Baut auf grafische Fensteroberfl�che auf. Zudem werden alle System-
elemente und die wichtigsten Operationen der Systemdedienung durch
Graphische Elemente Nachgebildet und mit der Maus bedienbar.
(Bsp: CDE=Common Dektop Environment KDE)
Login Prozedur
Rechner einschalten und BOOT Prozess abwarten.
Neuen Sprach und Sessiontyp w�hlen.
LOGIN Name eingeben.
Password eingeben
Wurden beide Eingaben akzeptiert wird die gew�hlte Session
(CDE,Motify Window,oder Befehlszeile) gestartet.
Jeder benutzer kommt nach erfolgreichem Login in ein bestimmtes
Verzeichnis des Unix-Dateisystems (Home-Directory).
Logout Prozedur
Befehlszeilen Session:
Eingabe : exit
logout
[ctrl]+[d]
CDE Session
EXIT aus Bedienfeld
Logout aus Root Men�
Motify Session
Eingabe von Exit
Password �ndern
Vom Systemadministrator wird nur der Loginname und ein Anfangs
Password vergeben. Mit dem passwd Kommando l�sst sich das Password
vom Benutzer ver�ndern.
Vorgehen:
Im System einloggen,eventuell Fenster �ffnen
Auf Systemprompt passwd eingeben.
Altes Passwort eingeben.
Zwei mal neues Password eingeben.
Wenn als Password [RETURN] oder [Ctrl]+[d] eingeben wird
das Password auf Null gesetzt und beim Login nicht
abgefragt. (Nur bei �lteren Unix Systemen)
Das-Prompt
gr-hs:aik-test [user/info/aiktest]
| | |
| | |
Rechner- Benutzer- Pfad (nach dem Ein-
name name loggen Homeverzeichnis)
Nis = Network Information Service
Die Datei /etc/passwd
Wer sich mit welcher Kennung in das System einloggen darf
steht in der Datei /etc/passwd
> pg datei (page) gibt Dateien seitenweise aus.
Jede Datei besteht aus 7 durch Doppelpunkte getrennten
Feldern und bestitzt folgenden prinzipiellen Aufbau.
Login-Name:Password:User-ID:Gruppen-ID:Gecos-Feld:HomeVerzeichnis:Shell
| | | | | | |
| | | | | | |
aik0403 : ! : 200 : 1 : :u/netz/aik0403 : ksh
> Jeder Benutzer ist im System durch eine eindeutige Kennziffer (die User-ID)
> Statt des wirklichen Passworts wird ein Ausrufezeichen (!) angezeigt.
> Jeder User ist im System durch eine eindeutige Kennziffer, (die User-ID)
gekennzeichnet, analog jeder Benutzer-Gruppe durch eine Group-ID.
> Das Gecosfeld kann Informationen �ber den betreffenden Benutzer, wie z.B.
der vollst�ndige Name und Anschrift o.�. enthalten. Dieses Feld ist hier
leer.
> Jeder User kommt nach dem Login in ein bestimmtes Verzeichnis, dass man
sein Home-Verzeichnis nennt.
> Die zu verwendene Shell (Kommandointerpreter) steht am Schlu� einer jeden
Zeile.
Begriffe zum Dateisystem
Jeder User befindet sich beim Arbeiten mit UNIX an einem
bestimmten Ort des hierarchischen UNIX-Dateisytems.
Dabei gelten folgende Begriffe:
> Boot-Directory (/)
(Wurzel des Dateibaums)
> Working oder Current Directory
(Momentaner Aufenthaltsort im Dateisytems.
> Login-Directory
(Home-oder Anmeldeverzeichnis)
> Parent-Directory
(das in der Datei hierarchisch unmittelbar �bergeordnete Verzeichnis)
> Pfadname
(Kennzeichnen den Weg zu einem Verzeichnis oder einer Datei.)
- absoluter Pfad: Pfadangabe beginnt immer mit der Wurzel (/).
Weitere Slash trennen die Unterverzeichnisse bzw. eine als
letzte aufgef�hrte Datei voneinander.
- relativer Pfad: Pfadangabe beginnt beim Current-Directory.
Innerhalb von Pfadeingaben k�nnen verwendet werden:
> . : f�r das Working-Directory
> .. : f�r das Parent-Directory
Bsp: cd . Bleibt im aktuellen Verzeichnis.
cd .. Wechselt in ein h�heres Verzeichnis.
cd ../etc wechselt ein Verzeichnis nach oben und dann
in das Unterverzeichnis etc.
Inhaltsverzeichnis ausgeben
Working-Directory
> ls nur Namen
> ls -l Ausgabe im Langformat
> ls -al auch "versteckte" Dateien
> ls -l Dateiname(n) Eintrag �ber angegebene Datei im Langformat
> ls -ld Verzeichnis- Eintrag �ber angegebenes Verzeichnis im
name(n) Langformat
Beliebiges Verzeichnis
> ls -al Verzeichnisname Alle Eintr�ge im angegebenen Verzeichnis im
Langformat (einschlie�lich "versteckte"
Eintr�ge).
Ausgabe in Langformat
-rwxr-xr-x 1 test staff 14552 29Sep 11:18 p1.c
| | | | | | | |
| | | | | | | |
1 2 3 4 5 6 7 8
-1 Dateiart
-2 Zugriffsrechte f�r den Eigent�mer (user), die Gruppe (group)
und die anderen (others)
-3 Anzahl der Links (gibt an unter wieviel verschiedenen Namen
auf die Datei im Dateisystem zugegriffen werden kann.)
-4 der Eigent�mer
-5 die Gruppe, der der Eigent�mer angeh�rt
-6 Dateigr��e in Byte (bei Ger�tedateien: major-und minor-
Device numner)
-7 Datum und Uhrzeit der letzten �nderung
-8 Dateiname
Dateiarten
Dateitypen unter UNIX sind:
- Gew�hlte Dateien: z.B. Text, Programmcode, Bin�rcode. Struktur
und Inhalt werden ausschlie�lich durch darauf zugreifende
Programme interpretiert.
d Directories: hierin werden in der Regel logisch zusammengeh�rige
Dateien zusammengefasst. Neben gew�hnlichen Dateien, k�nnen wieder-
rum Directories oder Ger�tedateien u.�. enthalten sein.
Zugriffsrechte
> F�r Dateien
r Leseberechtigt
w Berechtigung zum schreiben/�ndern
x Ausf�hrberechtigung
- Entsprechende Berechtigung entzogen
> F�r Verzeichnisse
r Man darf den betreffenden Katalog lesen, d.h. z.B. das
Inhaltsverzeichnis ausgegeben oder im Verzeichnis eine
Datei suchen.
w Man darf den in diesen Verzeichnis Dateien erzeugen oder l�schen;
d.h. man darf den Inhalts des Katalogs �ndern. (Beachte z.B
wenn Schreibenerlaubnis f�r einen Katalog besteht, darf man die
Datei auch dann l�schen, wenn sie schreibgesch�tzt ist.)
x Man darf in dieses Verzeichnis wechseln.
- Entsprechende Berechtigung entzogen.
Unix Benutzerklassen
> USER Eigent�mer, Benutzer der diese Datei einrichtet
oder nachtr�glich als Eigent�mer eingetragen wurde.
> GROUP Jeder Benutzer geh�rt einer gruppe an. Der System-
verwalter legt den Namen und die zugeh�rigkeit fest.
> OTHERS Weder Eigent�mer noch gruppenangeh�riger.
> ALL Alle drei Benutzerklassen zusammen.
Dateinamen Namensgebung
> Dateinamen unter AIX k�nnen bis zu 255 Zeichen lang sein.
> Sie k�nnen Zeichen,Ziffern und Unterstriche enthalten.
> AIX unterscheidet zwischen gross und kleinschreibung.
> Gewisse Zeichen haben in der Shell eine besondere
Bedeutung und sollten im Namen vermieden werden:
/ \ " ' * ; - ? [ ] ( ) ~ ! $ { } < > # @ & |
> Eine normale Datei gilt f�r ein normales Verzeichnis
als "hidden", wenn der Name mit einem Punkt beginnt
(z.B: .profile)
Dateinamen, Metazeichen, regul�re Ausdr�cke
> K�nnen bei der globalen Namensvergebung verwendet werden.
> F�r eine beliebige Zeichenfolge (auch "kein Zeichen") wird ein * genommen.
> F�r ein beliebiges Einzelzeichen (mu� vorhanden sein) wird ein ? genommen.
> [...] Eines der zwischen den Klammern angegebenen Zeichen, wobei ein
Aufz�hlung von Einzelzeichen sowie Intervallangaben erlaubt sind.
Die Zeichen zwischen den Klammern ersetzen immer nur ein zeichen.
(z.B : [abc]* -> Wenn der erste Buchstabe a,b oder c sein soll.
: [d-h,k,o,p]* Wenn der erste Buchstaben von d bis h oder k,o,p
sein soll.)
> [!...] F�r Zeichen die nicht in der angegebenen Liste vorkommen.
> Diese Ausdr�ckek�nnen auch kombiniert werden. Somit k�nnen mit
Metazeichen ganze Zeichenmuster beschrieben werden, die man regul�re
Ausdr�cke (regular-expression) nennt.
Maskierung der Metazeichen
> Um Die Wirkung von MEtazeichen auszuschalten m�ssen sie "maskiert"
werden. Als Maskierungszeichen k�nnen verwendet werden :
> \ wirkt auf das folgende Zeichen.
> "..." Alle innerhalb von "..." stehenden Sonderzeichen werden
maskiert mit Ausnahme von / ' $
> '...' Alle innerhalb von '...' stehenden Sonderzeichen werden
maskiert
> z.B : ls -l p\*
ls -l "p*"
ls -l 'p*' hat jeweils zur Folge da� nur der
Eintrag der Datei p* in Langformat
ausgegeben wird. Das * ist immer
maskiert.
Prinzipieller Aufbau von UNIX Kommandos
> Kommando namen [-Optionen] <Datei(en)>
> Optionen modifizieren das abgesetzte Kommando, Optionen werden
meistens mit dem Minuszeichen eingeleitet, Danach folgen ein
oder mehrere Grossbuchstaben.
> Durch ANgabe von Dateinamen wird ausgedr�ckt auf welches Objekt
das betrefende Kommando angewandt werden soll.
z.B : ls -l datei.cpp
Das elemtronische Manual (man-pages)
> In jeden Unix System sind in der Regel Online-Hilfen vorhanden
mit denen es m�glich ist,sich eine vollst�ndige Kommando-Besch-
reibung auf dem Bildschirm anzeigen zu lassen. Das elektronische
Manual kann mit dem Befehl man aufgerufen werden.
man <Kommandonamen>
> Den Manual-eintrag �ber man selbst erh�lt man mit : man man
Dateiinhalte pr�fen
> Bevor man sich den Inhalt einer Datei auf dem Bildschirm anzeigen
l�sst, sollte man die Art des Dateiinhaltes Pr�fen.Das geschieht
mit dem kommando file.
file Dateiname (Dateityp wird angezeigt)
> Das Kommando file liest zur Bestehung des Dateiinhaltes einige
Bytes und sucht darin nach Mustern, die auf die Art des Inhaltes
schliessen lassen.
Dateiinhalte ausgeben
Unix besitzt eine Reihe von Kommandos mit denen Dateiinhalte
ausgegeben werden k�nnen. Zu diesen geh�ren :
Textdateien ausgeben:
.....................
a) unformatiert:
> Einen schnellen �berblick �ber den Inhalt einer oder mehrerer
Dateien (gew�hnliche Textdateien) kann man sich mit dem
Kommando cat verschaffen.
cat [-Optionen] <Dateiname(n)>
> Option: -n (AUsgabe mit Zeilennummerierung)
z.B : cat -n Script.text
> Mit cat > Dateiname kann eine Datei erstellt werden.
Das Ende der Eingabe wird mit [Ctrl]+[d] herbeigef�hrt.
z.B : cat > Datei1 [Enter]
text1 [Ctrl]+[d]
ls -l [Enter]
=> Datei namens Datei1 wurde erstellt.
=> Dateityp file Datei1.
=> Inhalt der Datei cat Datei1
Achtung : Wenn der Text l�nger als der Bildschirmunfang ist
l�uft der Text mit cat anzeige durch.
Ende mit [Ctrl]+[c].
b) JA-Bl�cke
> Das pg-Kommando :
pg [-Optionen] <Dateiname(n)>
Die Ausgabe der Textdatei h�lt standardm�ssig nach jeweils
einer Bildschirmseite oder Fenstergr�sse.
Durch dr�cken der [Return] Taste wird die folgende Seite
angezeigt. Abbruch erfolgt durch [Ctrl]+[c].
Unter Red Hat Linux heisst das Kommando less
> Das more-Kommando :
more [-Optionen] <Dateiname(n)>
Bei verwendung des more Kommandos h�lt die Ausgabe standartm��ig
nach einer Bildschirmseite oder Fenstergr��e an. Durch dr�cken
der [Return] Taste wird die folgende Zeile angezeigt, durch
dr�cken der Leertaste die folgende Bildschirmseit.
Achtung : Allgemein gilt da� zumindest die Leseberechtigung vorhanden
sein muss.
Zugriffsrechte auf Dateien �ndern
> Kommando
chmod Zugriffsrechst�nderung(en) <Datei(en)>
> Diese ver�nderungen sind nur dem Besitzer der Datei und dem Superuser
erlaubt.
> F�r die Beschreibung der Zugriffsrechts�nderung gibt es zwei verschiedene
M�glichkeiten : Den symbolischen Modus und den
numerischen Modus (absoluter Modus)
> Symbolischer Modus
..................
Im Symbolischen Modus wird die �nderung wie folgt angegeben :
VON WEM --> WIE --> Was
Dabei kann angegeben werden f�r :
VON WEM u f�r Dateibesitzer (user)
g f�r Gruppe (group)
o f�r Andere (others)
a f�r Alle (all)
WIE + Recht(e) hinzuf�gen
- Recht(e) entziehen
= Alle Rechte l�schen und neu setzen
WAS r Leserecht (read)
w Schreibrecht (write)
x Ausf�hrrecht (executable)
Bsp : chmod g+r,o+r Datei (Gruppe erh�lt Leserecht, others erh�lt
Leserecht)
chmod a=w Datei (Allen werden alle Rechte entzogen und
alle erhalten Schreibrecht)
> Numerischer Modus
.................
Zur Ablabe der Zugriffsrechte f�r ein Datei stehen rechner intern
4 Gruppen a 3 Bit zur Verf�gung. In diesen 4 Gruppen werden die
Zugriffsrechte f�r user, group und others sowie die Sonderrechte
wie folgt abgelegt :
|-Sonderrechte---|----User----|---Group----|---Others-|
|----------------|------------|------------|----------|
| s(u) s(g) t | r w x | r w x | r w x |
|----------------|------------|------------|----------|
| 0 0 1 | 1 1 1 | 1 0 1 | 1 0 0 |
|----------------|------------|------------|----------|
| 0 | 7 | 5 | 4 |
|----------------|------------|------------|----------|
Jeder dieser 4 Gruppen (3 Bit a Gruppe) repr�sentiert eine Oktal-
zahl deren Wert von den gesetzten Zugriffsrechten abh�ngig ist.
Insgesammt k�nnen die Rechte f�r alle Benutzergruppen durch eine
4-Stellige Oktalzahl ausgedr�ckt werden. Anf�hrende Nullen k�nnen
weggelassen werden.
Bsp : chmod 644 Datei (= rw-r--r--)
Verzeichnisse
> beinhalten in der Regel logisch zusammengeh�rende Dateien
eines Benutzers sowie weitere Verzeichnisse (Unterverzeichnisse).
> Durch die hierarchische Gliederung von Verzeichnissen entsteht
ein Verzeichnissbaum (hierarchisches Dateisystem).
> Das hierarchische Unix Dateisystem enth�lt unter anderem folgende
wichtige Verzeichnisse :
[ / ]
|
|--------|---------|-------|-----------|------------|
| | | | | |
[usr] [etc] [var] [home] [tmp] [dev]
| |
|-----|-----| |-------|-------|
| | | | | |
[bin] [lib] [lpp] [hans] [otto] [klara]
Name des aktuellen Verzeichnisses anzeigen
Mit dem pwd Kommando kann man sich das Verzeichnis
anzeigen lassen in dem man sich gerade befindet.
> Kommando
pwd (Print Working Directory)
Verzeichnis anlegen
Kommando : mkdir [-m Rechte][-p] Verzeichnissname(n)
Option : -p Bewirkt da� im angegebenen Pfad gegebenenfalls noch fehlende
Verzeichnisse ebenfalls mit angelegt werden.
-m Rechte Hierdurch kann angegeben werden welche Rechte f�r
das(die) neuerstellte(n) Verzeichniss(e) vergebenwerden
soll(en).
Beispiele :
mkdir -m700 uvz (Erzeugt ein Unterverzeichnis namens uvz
mit den Rechten 700 = rwx------)
mkdir verz1/verz2 (Erzeugt verz2 als Unterverzeichnis von verz1
wenn dieses existiert)
mkdir -p verz1/verz2 (Erzeugt verz2 als Unterverzeichnis von verz1, und
legt dieses an, wenn es noch nicht existiert)
mkdir a,b,c (Legt die verzeichnisse a, b, und c im aktuellen
Verzeichniss (current directory) an)
Verzeichnis wechseln
> Ins Login-Directory :
cd Mit cd kommt man unmittelbar ins Login Directory,unabh�ngig
davon wo man sich gerade im Verzeichnissbaum befindet.
> In beliebiges Verzeichniss :
cd Pfadname Die Pfadangabe kann absolut oder relativ sein.
Es kann folgendes verwendet werden :
. F�r das aktuelle Verzeichnis
.. F�r das parent directory (Das �bergeordnete Verzeichnis)
/ F�r das Root Verzeichnis
$HOME F�r das Login Verzeichnis
Verzeichnis l�schen
Kommando : rmdir [-p] Verzeichnis bzw. Pfadname(n)
option : -p Alle im angegebenen Pfad enthaltenen Verzeichnisse
werden gel�scht.
Vorraussetzung : Verzeichnisse m�ssen lehr sein.
Im parent directory mu� Schreibberechtigung bestehen.
> Zum l�schen von Verzeichnissen, die noch Dateien beinhalten, ist das
Kommando rm -R Verzeichnissname besser geeingnet.
Dateien / Verzeichnisse kopieren
> Datei im selben Verzeichniss unter Ver�nderung des Namens.
cp Quelldateiname Zieldateiname
(z.B : cp Datei1 Datei2 )
> Datei(en) unter beibehaltung des Namens in ein neues Verzeichniss.
cp Quelldateiname(n) Zielverzeichnis
(z.B : cp [adp]* Unterverzeichnis )
> Datei unter ver�nderung des Namens in ein anderes verzeichnis.
cp Quelldateiname Zielverzeichniss/Zieldateiname
(z.B : cp Datei1 Unterverzeichnis/Datei1.kopie )
> Gesamtinhalt eines Verzeichnisses in ein neues kopieren.
cp -R Quellverzeichniss Zielverzeichnis
(z.B : cp Verzeichnis1 Verzeichnis2 )
Wenn das neue Verzeichnis nicht existiert wird es angelegt.
Es werden auch alle Unteverzeichnisse mit kopiert.
Datei / Verzeichnisse umbenennen
> Das zugeh�rige Unix Kommando lautet mr (von move files).
Die umbenante Datei beh�lt ihre urspr�ngliche I-Node bei, auch
wenn mit der Umgebung ein Wechsel in ein anderes Verzeichnis
verbunden ist.
> Dateinamens�nderung im selben Verzeichnis
mv alter_Dateiname neuer_Dateiname
(z.B : mv prog prog.c)
wenn eine Datei des neuen Namens bereits existiert, wird sie ohne
R�ckfrage �berschrieben, wenn f�r sie das w-Recht besteht.
> Datei(en) in ein anderes Verzeichnis unter Beibehaltung des Namens
"verlagern".
mv Dateiname(n) Verzeichnisname
(z.B : mv p* Verzeichnis )
> Verzeichnis umbenennen
mv alter_Verzeichnisname neuer_Verzeichnisname
(z.B : mv Verzeichnis1 Verzeichnis2 )
Optionen : -i falls ein Neuname angegeben ist, der bereits existiert,
so erscheint eine R�ckmeldung.
Dateien / Verzeichnisse l�schen
> Datei(en) l�schen
rm Dateiname(n)
(z.B : rm prog prog.c [!a]* )
> Verzeichnisse inklusive aller Unterverzeichnisse und enthaltene
Dateien l�schen
rm -R Verzeichnisname
(z.B : rm -R Verzeichnisname )
> WICHTIG : Damit eine Datei gel�scht werden kann, muss f�r das
Verzeichnis, das diese Datei enth�lt, w und x Recht bestehen.
Dateien im System suchen
> Mit dem Kommando
find Pfad(e) Ausdruck Aktion
werden Dateien, die den durch "Ausdruck" angegebenen Bedingungen
entsprechen, von dem durch "Pfad" angegebenen Verzeichnis beginnend
rekusiv gesucht. Werden Dateien gefunden, wird die betroffene "Aktion"
ausgef�hrt.
> In "Ausdruck" k�nnen unter anderem folgende Bedingungen stehen :
-name Name Wahr f�r Dateien, deren Name dem durch "Name"
angegebenen Bezeichnungsausdruck entspricht. Der Name
kann dabei auch durch einen regul�ren Ausdruck
beschrieben werden.
-perm Oktalzahl Wahr f�r Dateien, deren Zugriffsrechte der angegebenen
Oktalzahl entsprechen.
-size(+,-)n Wahr f�r Dateien, die die angegebene Gr�ssenbedingung
erf�llen. Der Parameter n bedeutet dabei die Anzahl
an 512Byte Bl�cken.
-size(+,-)nc Wie vorher, jedoch Gr�ssenangabe in Anzahl, der in der
Datei enthaltenen Character.
> In den Ausdruck steht gegebenenfalls n f�r eine Ganze Zahl.
Dabei bedeutet :
+n gr�sser als n
-n kleiner als n
n exakt n
-type Typ Wahr f�r Dateien, deren Dateityp der durch "Typ"
angegebenen Art entspricht. Dabei kann f�r den Typ
angegeben werden :
b f�r Block-Devices (Ein Daten-Puffer wird zum Ger�t geschickt.)
c f�r Character-Devices (Die Daten werden Zeichenweise geschickt. )
d f�r Directory
p f�r pipe (FIFO)
f f�r gew�hnliche Dateien
-user Username Wahr f�r Dateien, die dem angegebenen User geh�ren.
-group Gruppenname Wahr f�r Dateien, die der angegebenen Gruppe
geh�ren.
> In "Aktion" k�nnen unter anderem folgende Bedingungen stehen :
-print Ausgabe des gefundenen Pfad und Dateinamens
-ls Ausgabe von Pfad und Dateiname in Verbindung
mit I-Node Feldern.
-cpio Ger�t Schreibt die gefundene Datei zum angegebenen Ger�t.
Ein/Ausgabe Umlenkung
- Standard Dateien f�r Ein/Ausgabe
Ein und Ausgaben werden unter UNIX immer �ber Dateien abgewickelt.
Wird ein Kommando gestartet, so stehen standardm�ssig drei solcher
Dateien zur Verf�gung. Diese werden auch als Ein/Ausgabekan�le
bezeichnet und sind mit dem Terminal des Benutzers verbunden:
- Standardeingabe (stdin) : verbunden mit Tastatur
- Standardausgabe (stdout) : verbunden mit Bildschirm
- Standardfehlerausgabe (stderr) : verbunden mit Bildschirm
|-----------|
TASTATUR ---> stdin ---> | Kommando | ---> stdout ---> |------------|
| | | BILDSCHIRM |
weitere Eingabe Dateien ---> |-----------| ---> stderr ---> |------------|
Auch wenn ein Kommando (Programm) diese Datei nicht nutzt, werden sie
dennoch beim Kommandostart ge�ffnet.
Systemintern haben diese Dateien folgende Bezeichner (Filedescriptoren)
Kanal Descriptor
-stdin 0
-stdout 1
-stderr 2
Redirektions M�glichkeit
UNIX bietet verschiedene M�glichkeiten, ein Kommando mit Daten zu
versorgen. Hierzu geh�rt auch :
- Ein/Ausgabeumlenkung (Redirektion)
- Pipe
Ausgabe auf stdout in Datei umlenken :
Kommando > Datei
(z.B : ls -l > inhalt)
Das Umlenkzeichen sorgt f�r die Er�ffnung der Datei. Falls sie noch nicht
existiert, wird sie neu angelegt, sonst geht der alte Inhalt verloren.
(durch > Datei wird "Datei" inhaltlich gel�scht.)
Ausgabe auf stdout an Datei anh�ngen :
Kommand >> Datei
(z.B : dir >> Datei)
Falls die Datei noch nicht existiert, wird sie angelegt; falls sie
existiert , wird die Ausgabe des Kommandos ans Ende der Datei angeh�ngt.
Standardfehlerausgabe umlenken :
Die durch ein Kommandoauf den Kanal stderr �bertragene Fehlermeldung
kann mit :
Komando 2> Datei
in eine Datei umgelenkt werden.
Beachte : Kein Lehrzeichen zwischen dem Dateidescriptor und dem
Umlenkungszeichen >.
find . -name "*.c" 2>&1 >ergebnis (stderr wird nach stdout umgelenkt.)
Standardeingabeumlenkung
TASTATUR --stdin--> |----------|
| KOMMANDO |
DATEI ---------> |----------|
Standardeingabe ist die Tastatur. (Datei:stdin)
Soll ein Kommando (Programm) das standardm�ssig von stdin liesst, die
Eingabe aus einer anderen Datei erhalten, so kann dies mit der Umlenkung :
Kommando < Datei
erfolgen.
Kommandoverkettung �ber Pipes
Eine Pipe ist ein tempor�rer Puffer der vom Betriebssystem im Haupt-
speicher erstellt wird und als FiFo-Speicher arbeitet
Dieser Puffer kann verwendet werden um Kommandos miteinander kommunizieren
zu lassen :
Das auf der linken seite stehende Kommando schreibt Daten in den Puffer,
das Kommando auf der rechten Seite liest und verarbeitet sie weiter.
Das cut Kommando
> Das cut Kommando macht es m�glich, Teile aus einem Eingabetext
auszuschneiden und zur Anzeige zu bringen.
> Aufruf : cut -cSpalten [Datei(en)]
cut -fFelder -d Trennzeichen [Datei(en)]
(z.B : cut -c 1-5,3 1Zeile-Spalte1-5 2Zeile-Spalte3)
(z.B : cut -f1 -d: /etc/passwd )
-cSpalten Hierdurch wird der herauszuschneidende Spaltenbe-
reich festgelegt. Als ANgabe sind durch Kommata
getrennte Zahlen (z.B : -c5,8,3), mit Bindestrichen
gekennzeichnete Spaltenbereiche (z.B : -c5 -23) oder
beides Kombiniert. (Z:B : -c5,10-20,30) m�glich.
-fFelder Hierdurch werden die Nummern der Herauszuschneiden-
den Felder angegeben. Die Felder m�ssen dabei durch
gleichartige Trennzeichen separiert sein. Das Trenn-
zeichen wird nach der Option -d angegeben (z.B : -d:)
Ist kein besonderes Trennzeichen angegeben, so wird
das Tabulator-zeichen als Trennzeichen verwendet.
Die Feldangaben sind als AUfz�hlung, Bereich oder
gemischt m�glich.
Das grep Kommando
> Mit Hilfe des Grep Kommandos kann man in Dateien nach Mustern suchen.
> Aufrufform : grep [Option(en)] Suchmuster [Datei(en)]
(z.B : grep "cout" prog.C )
> Das grep Kommando gibt alle Zeichen aus den angegebenen Dateien aus.
(stdout), die das angegebene Suchmuster enthalten. Wird keine Datei
angegeben, so wird die Eingabe von stdin Erwartet. Daher kann grep in
Verbindung mit pipes oder Eingabeumlenkung verwendet werden.
datensicherung
Datensicherung
- Allgemeines zu Ger�tedateien :
> F�r jedes im Rechner verf�gbare Ger�t gibt es in der Regel im UNIX-
System eine Ger�tedatei (special file). Ausgabe auf Ger�te oder das
Einlesen von Ger�ten erfolgt unter UNIX �ber solche Ger�tedateien.
Standardm�ssig sind in UNIX System die Ger�tedateien im Verzeichnis
/dev (devices) untergebracht.
- Zwischen den normalen Dateien und de nGer�tedateien gibt es Unteschiede :
> Ger�tedateien besitzen wie normal Dateien und Verzeichnisse eine
I-Nummer und einen I-Knoten, in dem Verwaltingsinformationen gespeichert
sind.
> Wie f�r normale Dateien so k�nnen auch f�r Ger�tedateien Zugrifsrechte
vergeben werden, die die Benutzungsm�glichkeiten f�r das Ger�t ein-
schr�nken.
> F�r Ger�te gibt es eine :
Major Device Nummber :
Sie legt fest um welche Art von Ger�t es sich handelt und bestimmt
die Nummer des Ger�tetreibers.
Minor Device Nummber :
Sie kontrolliert die Betriebsart des Ger�tes.
> Der name der Ger�tedatei ist allgemein eine Abk�rtzung der zugeh�rigen
englischen Bezeichnung (z.B : lp f�r line printer oder fd f�r floppy -
disk ). Mehrere gleichartige Ger�te werden im allgemeinen von 0 begin-
nend durchnummeriert (z.B : fd0 )
> F�r einige Ger�te sind zwei Ger�tedateien vorhanden, durch die die Benu-
tzung als Blockorientiertes oder zeichenserielles unterschieden werden.