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.