original in es Manuel Muriel Cordero
en to de Katja Socher
Der vorhergehende Artikel in dieser Serie (Grndlegende UNIX Befehle) vermittelte einen allgemeinen �berblick �ber Linux. Es war eine Einf�hrung in die Linuxelemente, um Grundf�higkeiten zu erlangen und das Betriebssystem zu verwalten, aber der Benutzer m�chte vielleicht die normale Menge von Unixbefehlen erlernen. Durch Benutzen dieser Befehle und der Shell kann man ein sehr effizientes Datei- und Systemmanagement erreichen. Dieser Artikel handelt von diesen fortgeschrittenen, obwohl grundlegenden, Befehlen.
Vor der Beschreibung der Befehle sollte der Leser einige Fakten �ber ihre Geschichte kennen. Kem Thompsom und Dennis Ritchie wollten, als sie zu Beginn der 70er Unix entwickelten, ein Betriebssystem entwickeln, um das Leben der Programmierer zu erleichtern. Sie entschieden, da� es der beste Weg w�re, um dieses Ziel zu erreichen, eine kleine Anzahl einfacher Werkzeuge zu definieren, die extrem gut in einigen spezialisierten Aufgaben sind. Kompliziertere Aufgaben k�nnten durch das Verbinden dieser Werkzeuge ausgef�hrt werden, durch Benutzen der Ausgabe des einen f�r die Eingabe des anderen.
Die Idee, Informationen auszutauschen , wird �ber den Standard Input und Output (Bildschirm und Tastatur) realisiert. Aufgrund der Existenz von Pipes und Umleitungen (gesehen im vorhergehenden Artikel) ist es m�glich, Befehle miteinander zu verbinden.
Es l��t sich mit einem Beispiel sehr leicht demonstrieren. Ein Benutzer schreibt:
$ who | grep pepe
who und grep sind zwei getrennte Programme, zusammengef�gt durch die pipe "|" . who zeigt eine Liste mit allen im Moment eingeloggten Benutzern auf dem Computer. Eine typische Ausgabe k�nnte etwa so aussehen:
$ who manolo tty1 Dec 22 13:15 pepe ps/2 Dec 22 14:36 root tty2 Dec 22 10:03 pepe ps/2 Dec 22 14:37
Die Ausgabe setzt sich aus 4 Feldern, die durch Tabulatoren voneinander getrennt sind, zusammen. Die Felder sind der Benutzername (login), das Loginterminal, das Datum und die Zeit der Verbindung.
"grep pepe" sucht nach Zeilen, die die Zeichenkette "pepe" enthalten.
Und die Ausgabe lautet:
$ who | grep pepe pepe ps/2 Dec 22 14:36 pepe ps/2 Dec 22 14:37
Vielleicht m�chtest du etwas einfacheres, als zu wissen, ob jemand eingeloggt ist, oder nicht. Du kannst die Anzahl der in dem Moment benutzten Terminals durch Benutzen des Programms wc �berpr�fen.
wc ist ein Zeichen-, Wort- und Zeilenz�hler. In diesem Fall m�chten wir nur die Anzahl der Zeilen wissen und benutzen die Option -l
$ who | wc -l 4 $ who | grep pepe | wc -l 2
4 Leute sind insgesamt eingeloggt und pepe ist an 2 Termianls eingeloggt
Wenn wir jetzt pr�fen, ob antonio eingeloggt ist
$ who | grep antonio | wc -l 0
antonio ist nicht eingelogg
Richard Stallman, der Gr�nder des GNU Projekts, brachte die Diskussion �ber die Steuerung und Kontrolle der wenigen gro�en Softwarekonzerne auf, die verhinderten, da� die Informatik nat�rlich wuchs. Nach der Entwicklung des Emacs Editors am MIT mi�fiel ihm die Tatsache sehr, da� gro�e kommerzielle Firmen seine Arbeit nahmen und propriet�re Versionen daraus machten. Mit dieser Situation konfrontiert entschied er, ein Projekt zu starten, bei dem der Quellcode der Software f�r jedermann verf�gbar ist. Das war GNU. Das langfristige Ziel war es, ein ganzes Open-Source Betriebssystem zu schreiben. Die ersten Schritte waren eine neue Open Source Version von Emacs und ein C compiler (gcc) sowie einige typische Werkzeuge f�r Unixsysteme. Diese Werkzeuge werden in diesem Artikel diskutiert.
Unser erstes Beispiel zeigte die Hauptfunktionalit�t von grep. Jetzt wollen wir es detaillierter erl�utern
Der grundlegende Gebrauch von grep ist
$ grep [-options] pattern files
Und die am h�ufigsten benutzen Optionen sind
-n druckt die Zeilennummer vor die als passend gefundenen Zeilen
(n�tzlich bei der Suche in gro�en Dateien und um genau zu wissen, wo der
Treffer sich befindet)
-c zeigt die Anzahl der gefundenen Treffer an
-v sucht nach nicht-�bereinstimmenden Zeilen (sucht nach Zeilen, wo es das Muster nicht
gibt)
Das Muster ist eine Gruppe von Zeichen, nach der gesucht werden soll. Wenn sich darin ein Leerzeichen befindet, dann mu� das Muster mit doppelten Anf�hrungsstrichen (") versehen werden, um eine Verwechslung zwischen Mustern und den Dateien, in denen gesucht werden soll, zu verhindern. Zum Beispiel
$ grep "Hola mundo" file.txt
Wenn wir nach Zeichenketten suchen, die Wildcards, Apostrophe, Anf�hrungszeichen oder Schr�gstriche enthalten, m�ssen sie escaped (ein backslash "\" mu� vorgestellt werden) oder in Anf�hrungsstriche gesetzt werden, um eine Substitution durch die Shell zu vermeiden.
$ grep \*\"\'\?\< file.txt Dies findet: Esto es una cadena chunga -> *"'?<
grep und andere GNU utils sind in der Lage, fortgeschrittenere Suchen
durchzuf�hren. Dies ist mit regul�ren Ausdr�cken m�glich.
Sie sind shell wildcards �hnlich in dem Sinne, da� sie Zeichen oder Gruppen von
Zeichen ersetzen. Am Ende des Artikels unter den Quellen findest du einen Link
zu einem separaten Artikel, der regul�re Ausdr�cke detailliert erkl�rt.
Einige Beispiele:
$ grep c.nsucht nach einem Auftreten einer Zeichenkette mit c, gefolgt von irgendeinem Zeichen und t.
$ grep "[Bc]el"sucht nach jedem Auftreten von Bel und cel.
$ grep "[m-o]ata"findet diejenigen Zeilen, die mata, nata oder oata enthalten.
$ grep "[^m-o]ata"Zeilen mit einer Zeichenkette, die auf ata endet und kein m,n oder o als ersten Buchstaben enth�lt.
$ grep "^Martin come"Jede Zeile, die mit 'Martin come' beginnt. Da ^ ohne Klammern steht, ist der Anfang der Zeile gemeint, nicht eine Verneinung der Gruppe wie im vorhergehenden Beispiel.
$ grep "durmiendo$"Alle Zeilen, die auf die Zeichenkette 'durmiendo' enden. $ steht f�r das Ende der Zeile.
$ grep "^Caja San Fernando gana la liga$"Diejenigen Zeilen, die genau mit der Zeichenkette �bereinstimmen.
Um die spezielle Bedeutung eines dieser Zeichen zu vermeiden, m�ssen Schr�gstriche nach hinten (Backslash) gesetzt werden. Zum Beispiel:
$ grep "E\.T\."sucht nach der Zeichenkette 'E.T.'.
Dieser Befehl wird benutzt, um Dateien zu finden. Ein anderer Linuxfocusartikel erkl�rt diesen Befehl, so da� wir am besten einfach auf ihn verweisen.
Innerhalb von Unix werden Informationen normalerweise in ASCII Dateien Zeilenweise gespeichert und Felder mit einigen speziellen Zeichen, gew�hnlich einem Tabulationszeichen oder einem Semikolon (:), begrenzt. Ein typischer Anwendungsfall ist, einige Felder aus einer Datei zu nehmen und sie mit einer anderen zu verbinden. cut und paste k�nnen diese Arbeit machen.
La�t uns als ein Beispiel die Datei /etc/passwd mit Benutzerinformationen nehmen. Sie enth�lt 7 Felder, begrenzt durch ":". Die Felder enthalten Informationen �ber den Loginnamen, das verschl�sselte Pa�wort, die Benutzer ID, group ID, geco ( Vorname und Name ), das Home Directory f�r den Benutzer und seine bevorzugte Shell.
Hier ist ein typisches St�ck aus dieser Datei:
root:x:0:0:root:/root:/bin/bash murie:x:500:500:Manuel Muriel Cordero:/home/murie:/bin/bash practica:x:501:501:Usuario de practicas para Ksh:/home/practica:/bin/ksh wizardi:x:502:502:Wizard para nethack:/home/wizard:/bin/bash
Wenn wir die Benutzer und ihre Shells zusammenbringen wollen, m�ssen wir die Felder 1 und 7 ausschneiden. La� es uns machen:
$ cut -f1,7 -d: /etc/passwd root:/bin/bash murie:/bin/bash practica:/bin/ksh wizard:/bin/bashDie Option -f spezifiziert die Felder, die herausgeschnitten werden sollen und -d definiert den Feldseparator (per default, ohne -d, ist das das Tabulationszeichen).
Und es ist m�glich, eine Reihe von Feldern auszuw�hlen:
$ cut -f5-7 -d: /etc/passwd root:/root:/bin/bash Manuel Muriel Cordero:/home/murie:/bin/bash Usuario de practicas para Ksh:/home/practica:/bin/ksh Wizard para nethack:/home/wizard:/bin/bash
Wenn wir die Ausgabe mit '>' zu zwei verschiedenen Dateien umgeleitet haben und wir beide Ausgaben verbinden wollen, k�nnen wir den Befehl paste benutzen:
$ paste output1 output2 root:/bin/bash:root:/root:/bin/bash murie:/bin/bash:Manuel Muriel Cordero:/home/murie:/bin/bash practica:/bin/ksh:Usuario de practicas para Ksk:/home/practica:/bin/ksh wizard:/bin/bash:Wizard para nethack:/home/wizard:/bin/bash
La�t uns annehmen, da� wir /etc/passwd unter Benutzung des geco Feldes sortieren wollen. Um dies zu erreichen, benutzen wir sort, das Unixsortierwerkzeug.
$ sort -t: +4 /etc/passwd murie:x:500:500:Manuel Muriel Cordero:/home/murie:/bin/bash practica:x:501:501:Usuario de practicas para Ksh:/home/practica:/bin/ksh wizard:x:502:502:Wizard para nethack:/home/wizard:/bin/bash root:x:0:0:root:/root:/bin/bash
Es ist sehr leicht zu erkennen, da� die Datei sortiert wurde, wobei aber die ASCII Tabellenordung benutzt wurde. Wenn wir nicht zwischen Gro�- und Kleinschreinung unterscheiden wollen, k�nnen wir folgendes schreiben:
$ sort -t: +4f /etc/passwd murie:x:500:500:Manuel Muriel Cordero:/home/murie:/bin/bash root:x:0:0:root:/root:/bin/bash practica:x:501:501:Usuario de practicas para Ksh:/home/practica:/bin/ksh wizard:x:502:502:Wizard para nethack:/home/wizard:/bin/bash
-t ist die Option, um einen field separator auszuw�hlen. +4 steht f�r die Anzahl der Felder, die �bersprungen werden sollen, bevor die Zeilen sortiert werden und f bedeutet Sortieren ohne Ber�cksichtigung von Gro�- und Kleinbuchstaben.
Eine viel kompliziertere Sortierung kann durchgef�hrt werden. Zum Beispiel k�nnen wir sortieren und dabei in einem ersten Schritt die Shell benutzen und danach das Sortieren mit geco fortsetzen:
$ sort -t: +6r +4f /etc/passwd practica:x:501:501:Usuario de practicas para Ksh:/home/practica:/bin/ksh murie:x:500:500:Manuel Muriel Cordero:/home/murie:/bin/bash root:x:0:0:root:/root:/bin/bash wizard:x:502:502:Wizard para nethack:/home/wizard:/bin/bash
Du hast eine Datei mit einigen Leuten, denen du Geld geliehen hast und den Betrag des Geldes, den du ihnen gegeben hast. Nimm �deudas.txt� als ein Beispiel:
Son Goku:23450 Son Gohan:4570 Picolo:356700 Ranma 1/2:700
Wenn du wissen willst, wen du zuerst besuchen wirst, brauchst du eine sortierte
Liste.
Tipp einfach
$ sort +1 deudas Ranma 1/2:700 Son Gohan:4570 Son Goku:23450 Picolo:356700was nicht das gew�nschte Ergebnis liefert, weil die Anzahl der Felder nicht dieselbe ist wie in der Datei. Die L�sung ist die �n� Option:
$ sort +1n deudas Picolo:356700 Son Goku:23450 Son Gohan:4570 Ranma 1/2:700
Grundlegende Optionen f�r sort sind
+n.m springt �ber die ersten n Felder und die n�chsten m Zeichen bevor es
anf�ngt, zu sortieren
-n.m beendet das Sortieren, wenn es bei dem m-ten Zeichen des n-ten Feldes
angekommen ist
Das folgende sind �nderungsparameter:
-b springt �ber f�hrende Leerzeichen
-d Verzeichnissuche (nur Benutzung von Buchstaben, Zahlen und Leerzeichen)
-f ignoriert Gro�- und Kleinschreibung
-n sortiert numerisch
-r dreht die Ordnung um
Wie wir zuvor gesehen haben, ist wc ein Zeichen-, Wort- oder Zeilenz�hler. Die Defaultausgabe enth�lt die Anzahl der Zeilen, Worte und Zeichen der Eingabedatei(en).
Der Ausgabetyp ist mit den folgenden Optionen modifizierbar
-l nur Zeilen
-w zeigt nur die Wortanzahl
-c gibt nur die Anzahl der Zeichen aus
Manchmal m�ssen wir die Unterschiede zwischen 2 Versionen derselben Datei kennen. Dies wird besonders beim Programmieren benutzt, wenn verschiedene Leute an demselben Projekt arbeiten und daher Quellcode ver�ndern. Um die �nderungen von einer Version zur anderen zu finden, sind diese Werkzeuge das richtige.
cmp ist der grundlegendste von ihnen. Er vergleicht 2 Dateien und findet den Platz, wo der erste Unterschied auftritt (Zeichenanzahl und Zeile des Unterschieds)
$ cmp old new old new differ: char 11234, line 333
comm ist ein bi�chen weiter fortgeschritten. Seine Ausgabe besteht aus drei Spalten. Die erste besteht aus den einmal vorkommenden Zeilen der ersten Datei, die zweite aus den nur einmal vorkommenden Zeilen der zweiten Datei und die dritte enth�lt die in beiden Dateien vorhandenen Zeilen. Numerische Parameter erlauben das Entfernen einiger dieser Spalten. -1, -2 und -3 sagen comm, die erste, zweite oder dritte Spalte nicht anzuzeigen. Dieses Beispiel zeigt die Zeilen, die nur in der ersten Datei vorkommen sowie die Zeile, die gleich sind:
$ comm -2 old new
Zuletzt ist da diff. Es ist ein wichtiges Werkzeug f�r fortgeschrittene Programmierprojekte. Wenn du schon mal einen Kernel zum Kompilieren heruntergeladen hast, wei�t du, da� du den Quellcode des neuen herunterladen kannst oder den Patch f�r die vorherige Version, der viel kleiner ist. Dieser Patch wirde mit diff erzeugt. Dieses Werkzeug kann Editorbefehle benutzen (vi, rcs), um die Dateien identisch zu machen. Dies gilt auch f�r Verzeichnisse und die Archive, die sie enthalten. Der Anwendungsfall ist ganz offentsichtlich: du l�dst weniger Quellcode herunter (nur die �nderungen), du h�ngst den Patch an und kompilierst. Ohne Parameter spezifiziert die Ausgabe in diesen Formaten wie �nderungen zu machen sind auf die Weise, da� das erste gleich zum 2. wird, mit vi Befehlen .
$ diff old new 3c3 < The Hobbit --- > The Lord of the Rings 78a79,87 >Three Rings for the Elven-kings under the sky, >Seven for the Dwarf-lords in their halls of stone, >Nine for Mortal Men doomed to die, >One for the Dark Lord on his dark throne >In the Land of Mordor where the Shadows lie. >One Ring to rule them all, One Ring to find them, >One Ring to bring them all and in the darkness bind them >In the Land of Mordor where the Shadows lie.
3c3 bedeutet in Zeile 3, drei Zeilen m�ssen ge�ndert werden, wobei "The Hobbit" entfernt und durch "The Lord of the Rings" ersetzt wird. 78a79,87 bedeutet, da� du neue Zeilen von Zeile 79 bis 87 einf�gen mu�t.
uniq ist ein Redundanzs�uberer. Wenn wir zum Beispiel wissen wollen, welche Leute gerade mit ihren Computern verbunden sind, m�ssen wir die Befehle who und cut benutzen.
$ who | cut -f1 -d' ' root murie murie practica
Aber die Ausgabe ist nicht gut. Wir m�ssen den 2.Eintrag f�r den Benutzer murie l�schen. Und das hei�t
$ who | cut -f1 -d' ' | sort | uniq murie practica root
Die Zeichenoption -d' ' bedeutet, da� der fields separator ein Leerzeichen ist, weil die Ausgabe von who dieses Zeichen anstelle des Tabulatorzeichens benutzt .
uniq vergleicht nur aufeinanderfolgende Zeilen. In unserem Fall erschienen die 2 "murie" hintereinander, aber es h�tte in anderer Reihenfolge sein k�nnen. Es ist deshalb eine gute Idee, die Ausgabe zu sortieren, bevor der Befehl uniq angewendet wird.
sed ist einer der besondersten Unixwerkzeuge. Es steht f�r stream editor. Normalerweise werden beim Editieren interaktiv die �nderungen, die der Benutzer m�chte, akzeptiert. sed erlaubt es uns, kleine shell-Skripte, �hnlich zu Batchdateien in MS-Dos zu erzeugen. Es gibt uns die F�higkeit, den Inhalt einer Datei ohne Benutzerinteraktion zu �ndern. Die F�higkeiten des Editors sind sehr vollst�ndig und tiefer in das Thema einzusteigen w�rde den Artikel zu lang werden lassen. Deshalb gibt es nur eine kurze Einf�hrung und dem interessierten Benutzer bleiben die man und info Seiten.
sed wird normalerweise so aufgerufen:
$ sed 'command' files
Nimm als Beispiel eine Datei, wo wir jedes Auftauchen von "Manolo" mit "Fernando" ersetzen wollen. La� es uns machen:
$ sed 's/Manolo/Fernando/g' file
Und es gibt durch die Standardausgabe die modifizierte Datei zur�ck. Wenn du das Ergebnis behalten willst, leite es einfach mit ">" um.
Viele Benutzer werden da den gew�hnlichen suche & ersetze vi Befehl erkennen. Tats�chlich sind viele ":" Befehle (solche, die ex aufrufen) Befehle von sed.
Normalerweise sind sed Anweisungen aus ein oder zwei Adressen (zum Ausw�hlen der
Zeilen) und dem Befehl zum Ausf�hren zusammengesetzt. Die Adresse k�nnte eine
Zeile sein, eine Reihe von Zeilen oder ein Muster.
Die am meisten benutzten
Befehle sind:
Befehl Aktion ------- ------ a\ f�gt die Zeile hinter der adressierten Zeile in die Eingabe hinzu c\ �ndert die adressierten Zeilen, schreibt in die Zeile d l�scht die Zeile(n) g macht globale Substitutionen der Muster anstatt nur das erste Auftreten zu ersetzen i\ f�gt Zeilen nach den adressierten Zeilen hinzu p druckt die aktuelle Zeile, benutzt sogar die -n Option q beendet(quit), wenn es die adressierte Zeile erreicht r file liest die Datei, h�ngt den Inhalt an die Ausgabe an s/one/two ersetzt die Zeichenkette "one" mit der Zeichenkette "two" w file kopiert die aktuelle Zeile in eine andere Datei = druckt die Zeilennummer ! command wendet den Befehl auf die aktuelle Zeile an
Bei der Benutzung von sed kannst du spezifizieren, auf welche Zeilen oder welche Reihe von Zeilen gehandelt werden werden soll:
$ sed '3d' filel�scht die dritte Zeile aus der Datei
$ sed '2,4s/e/#/' fileersetzt das erste Auftreten des Zeichens character "e" mit dem Zeichen "#" in den Zeilen 2 bis 4 (einschlie�lich der beiden).
Zeilen, die eine Zeichenkette enthalten, k�nnen durch Benutzen von regul�ren Ausdr�cken, wie oben beschrieben, ausgew�hlt werden. Zum Beispiel l�scht
$ sed '/[Qq]ueen/d' songsjede Zeile, die das Wort "Queen" oder "queen" enth�lt.
Es ist sehr leicht, leere Zeilen aus einer Datei durch das Benutzen von Mustern zu l�schen
$ sed '/^$/d' fileobwohl diejenigen Zeilen, die Leerzeichen enthalten, nicht gel�scht werden. Um dies zu erreichen, mu�t du ein ein bi�chen erweitertes Muster benutzen
$ sed '/^ *$/d' filewobei das "*" Zeichen jedes Auftreten des vorherigen Zeichens, in diesem Fall " " (Leerzeichen) , bedeutet.
$ sed '/InitMenu/a\ > the text to append' file.txtDieses Beispiel sucht eine Zeile, die die Zeichenkette "InitMenu" enth�lt und f�gt dahinter eine neue Zeile ein. Dieses Beispiel arbeitet nur wie gezeigt mit bash oder sh als Shell. Du tippst bis a\ , dann dr�ckst du die Returntaste und tippst den Rest.
Tcsh expandiert newlines innerhalb von Anf�hrungszeichen auf andere Weise. Deshalb mu�t du in tcsh einen doppelten Backslash benutzen:
$ sed '/InitMenu/a\\ ? the text to append' file.txtDas ? kommt von der Shell genauso wie das > in dem bash Beispiel.
Und schlie�lich: awk. Sein au�ergew�hnlicher Name kam von den Namen der urspr�nglichen Entwickler: Alfred Aho Peter Weinberger und Brian Kernighan.
Das awk Programm ist eines der interessantesten unter den Unix utilities. Es ist ein weit entwickletes und komplexes Werkzeug, das erlaubt, von der Kommandozeile eine gro�e Anzahl verschiedener Aktionen auszuf�hren.
Es sollte angemerkt werden, da� awk und sed die Schl�sselst�cke zu komplexeren
Shellskripten sind. Es ist wirklich eindrucksvoll was man ohne C oder jede andere kompilierte
Sprache tun kann. Das SlackWare Linuxdistribution
Setup sowie viele
CGI Webprogramme sind
Heutzutage werden die Kommandozeilenwerkzeuge links liegengelassen, da sie zu alt sind f�r die aktuelle Fensterverwaltung und mit der Ankunft von PERL wurden viele Shellskripte durch Perlskripte ersetzt. Es sieht vielleicht so aus, als w�rden diese Kommandowerkzeuge vergessen. Jedoch sagt meine eigene Erfahrung, da� viele Anwendungen mit ein paar Zeilen im Shellskript gemacht werden k�nnen (einschlie�lich eines kleinen Datenbankmanagers). Davon abgesehen kannst du sehr produktiv sein, wenn du wei�t, wie man diese Befehle und die Shell benutzt.
Wenn du die M�chtigkeit von awk und sed verbindest, kannst du Dinge sehr schnell ausf�hren, die normalerweise mit einem kleinen Datenbankmanager und einer Tabellenkalkulation gemacht werden.
Nimm eine Rechnung, wo du die Artikel, die du gekauft hast, findest, wieviele St�cke von jedem und ihre Preise pro Produkt. La� uns diese Datei "sales" nennen:
oranges 5 250 peras 3 120 apples 2 360
Es ist eine Datei mit drei Feldern, mit dem Tabulator als Feldseparator. Jetzt m�chtest du ein 4.Feld definieren mit dem Gesamtpreis pro Produkt.
$ awk '{total=$2*$3; print $0 , total }' sales oranges 6 250 1250 peras 3 120 360 apples 2 360 720
total ist die Varable, die das Produkt der Werte, die im 2. und 3. Feld gespeichert werden, enth�lt. Nach der Berechnung wird die gesamte Eingabe und der Gesamtwert gedruckt.
awk ist beinahe eine eigene Programmierumgebung, sehr gut geeignet f�r automatisiertes Arbeiten mit Informationen von Textdateien. Wenn du an diesem Werkzeug interessiert bist, ermuntere ich dich, mehr dar�ber zu lernen, durch Lesen seiner man und info Seiten.
Shellskripte sind Systembefehlsabfolgen, gespeichert in einer Datei, um ausgef�hrt zu werden.
Shellskripte sind �hnlich zu Batchdateien unter DOS, aber m�chtiger. Sie erlauben Benutzern, ihre eigenen Befehle zu erschaffen, einfach durch Kombination von bereits existierenden.
Shellskripte sind nat�rlich in der Lage, Parameter anzunehmen. Sie sind in Variablen $0 (f�r den Befehls-/Skriptnamen), $1, $2, ... hoch bis zu $9 gespeichert. Auf alle Befehlszeilenparameter kann mit $* verwiesen werden.
Jeder Texteditor kann Shellskripte erzeugen. Um ein Skript auszuf�hren, tipp einfach:
$ sh shell-scriptOder, viel besser, du kannst die Ausf�hrungserlaubnis mit
$ chmod 700 shell-scripterteilen und nur durch Tippen des Namens ausf�hren:
$ shell-script
Wir beenden hier diesen Artikel und verschieben die Diskussion �ber Shellskripte auf sp�ter. Der n�chste Artikel wird in die beiden bekanntesten Unixeditoren einf�hren: vi & emacs. Jeder Linuxbenutzer sollte sie gut kennen.
Dies ist ein Einf�hrungsartikel und die Leser k�nnten weitere Details durch das Lesen anderer Linuxfocusartikel lernen: