UNIX Shell-Programmierung

Größe: px
Ab Seite anzeigen:

Download "UNIX Shell-Programmierung"

Transkript

1 UNIX Shell-Programmierung Bearbeitet von Rainer Krienke 2. Auflage Taschenbuch. XII, 275 S. Paperback ISBN Format (B x L): 14 x 21,1 cm Gewicht: 401 g Zu Inhaltsverzeichnis schnell und portofrei erhältlich bei Die Online-Fachbuchhandlung beck-shop.de ist spezialisiert auf Fachbücher, insbesondere Recht, Steuern und Wirtschaft. Im Sortiment finden Sie alle Medien (Bücher, Zeitschriften, CDs, ebooks, etc.) aller Verlage. Ergänzt wird das Programm durch Services wie Neuerscheinungsdienst oder Zusammenstellungen von Büchern zu Sonderpreisen. Der Shop führt mehr als 8 Millionen Produkte.

2 KAPITEL 2 2.DIE SHELL ALS KOMMANDOINTERPRETER In diesem Kapitel wird der Leser in die Möglichkeiten der Shell-Bedienung eingeführt. Im Anschluß an die Darstellung der Grundlagen, die für alle Varianten der Shell gleichermaßen gelten, werden die Besonderheiten der einzelnen Shell-Varianten beschrieben, so daß der Benutzer in die Lage versetzt wird, die von den Shells gebotenen Möglichkeiten sinnvoll einzusetzen. 2.1 GRUNDLAGEN In diesem Abschnitt werden Grundlagen dargestellt, die für das Verständnis der Arbeitsweisen aller Shell-Varianten wichtig sind. Überwiegend gilt dies für alle Shells in gleichem Maße. In den Fällen, in denen Unterschiede bestehen, werden diese gesondert dargestellt KOMMANDOS Eine der wichtigsten Aufgaben der Shell ist das Ausführen von Kommandos des Benutzers. Die Shell bildet somit die Schnittstelle zwischen dem Benutzer und Unix. Befehle, die ausgeführt werden sollen, können in der Kommandozeile der Shell eingegeben, editiert und schließlich nach dem Drücken der Return-Taste ausgeführt werden. Anschließend wertet die Shell die Kommandozeile aus (siehe Kapitel auf Seite 17), startet das Kommando und gibt Ergebnisse oder Fehlermeldungen an den Benutzer aus. Als Zeichen der Eingabebereitschaft stellt die Shell vor jeder Kommandozeile den sogenannten Shell-Prompt dar, der aus einer vom Benutzer frei bestimmbaren Zeichenkette wie z.b. mr@hamlet> besteht, und oft auch den Pfad zu dem aktuellen Verzeichnis des Benutzers enthält. Jedes Kommando liefert nach seiner Ausführung einen Rückgabestatus, der aussagt, ob die Ausführung erfolgreich war oder ob ein Fehler aufgetreten ist. Ein Rückgabewert von 0 steht für eine erfolgreiche Ausführung. Ein anderer Wert steht für einen Fehler, wobei die Zahl bei vielen Kommandos die Fehlerart dokumentiert. Über das Kommando echo 7

3 2 DIE SHELL ALS KOMMANDOINTERPRETER $? kann der Rückgabestatus eines Kommandos direkt nach dessen Ausführung bestimmt werden. $? ist der Wert einer Shell-Variablen (siehe auch Kapitel 4 Seite 16), die immer den Rückgabewert des zuletzt ausgeführten Kommandos enthält. Folgendes Beispiel soll diesen Sachverhalt veranschaulichen: mr@hamlet> ls Mail adressen.txt etc tmp mr@hamlet> echo $? 0 mr@hamlet> ls /abcde /bin/ls: /abcde: No such file or directory mr@hamlet> echo $? 1 Im Anschluß an die Ausführung des ersten ls-kommandos ist der Rückgabewert 0, da bei der Ausführung von ls kein Fehler aufgetreten ist. Im zweiten Fall wurde durch das Kommando ls /abcde ein Fehler provoziert, da es das Verzeichnis /abcde nicht gibt. Der anschließend ermittelte Rückgabewert ist jetzt 1, wodurch ein Fehlerzustand signalisiert wird. Entschließt sich der Benutzer, ein Kommando, das er gerade eingibt oder ein Kommando, das er bereits durch Drücken von Return gestartet hat, abzubrechen, genügt es, die Tastenkombination Ctrl-c 1 zu drücken METAZEICHEN DER SHELL, QUOTING Metazeichen sind Zeichen, die eine besondere Bedeutung für die Shell haben. Ein Beispiel eines Metazeichens ist der *. Tritt dieses Zeichen in der Kommandozeile auf, versucht die Shell, es vor Ausführung der Kommandozeile durch eine Liste von Dateinamen zu ersetzen (daher wird diese Art der Ersetzung von Metazeichen zu Dateinamen durch die Shell auch Dateinamenersetzung genannt). Auf diese Art und Weise ist es z.b. möglich, daß alle Dateien eines Verzeichnisses mit dem Kommando mr@hamlet> ls * Mail adressen.txt etc tmp ausgegeben werden. Normalerweise ist diese Ausgabe genau das was man erreichen will. Was aber, wenn man nicht alle Dateien des aktuellen Verzeichnisses auflisten möchte, sondern nur eine Datei, die den Namen * 1 Ctrl-c bedeutet, daß gleichzeitig die Tasten Control und c gedrückt werden sollen. Auf deutschen Tastaturen muß anstelle von Control die Taste Steuerung verwendet werden. Auf manchen Systemen kann anstelle der Tastenkombination einfach die Taste Del gedrückt werden. 8

4 GRUNDLAGEN trägt (auch wenn eine solche Namensgebung nicht empfehlenswert ist)? Der Versuch dies mit dem Kommando 2.1 ls * zu erreichen, muß scheitern, da in diesem Fall alle Dateien des aktuellen Verzeichnisses ausgegeben werden. Um das Ziel zu erreichen, muß dem Sonderzeichen seine Sonderbedeutung genommen werden. Diesen Vorgang nennt man Quoten. Eine Möglichkeit, ein Sonderzeichen zu quoten besteht darin, dem Zeichen einen Backslash (\) voranzustellen. Daher versucht folgendes Kommando eine Datei mit dem Namen * aufzulisten: mr@hamlet> ls \* /bin/ls: *: No such file or directory Das Ergebnis ist eine Fehlermeldung des Kommandos ls, die aussagt, daß es im aktuellen Verzeichnis keine Datei mit dem Namen * gibt. ls hat also wie beabsichtigt versucht eine Datei mit diesem Namen aufzulisten. Das Sonderzeichen * hat in diesem Fall also tatsächlich seine Sonderbedeutung verloren. Neben dem * gibt es eine Reihe weiterer Sonderzeichen, die in Tabelle 1 beschrieben sind. Tabelle 1: Metazeichen der Shell Zeichen Bedeutung * Wird zu einem oder mehreren beliebigen Zeichen (auch der leeren Zeichenkette) für Dateinamen, ausgenommen Dateien mit einem. am Beginn, expandiert. Die sogenannten versteckten Dateien und Verzeichnisse mit einem Punkt am Anfang werden daher von diesem Metazeichen nicht erfaßt.? Wird zu einem beliebigen Zeichen eines Dateinamens expandiert. [s] [!s] [c1-cn] Wird mit einem Zeichen aus der Zeichenkette s entsprechend den verfügbaren Dateinamen ersetzt (z.b. würde ls t[mu]p die Dateien tmp und tup auflisten, wenn diese existieren). Wird mit einem Zeichen aus Dateinamen ersetzt, das nicht in s enthalten ist. Wird durch genau ein Zeichen eines Dateinamens aus den Zeichen c1-cn ersetzt, wie z.b. [a-z] (ein Buchstabe von a bis z ). 9

5 2 DIE SHELL ALS KOMMANDOINTERPRETER Tabelle 1: Metazeichen der Shell Zeichen {s1,s2,...} Bedeutung Das Ergebnis besteht aus Zeichenketten, in denen die in Klammern angegebenen Zeichenketten enthalten sind. In der Anweisung ls ha{nd,lt} würde z.b. der Klammerausdruck zu ls hand halt ersetzt werden. Nicht in der Bourne- und Korn-Shell verfügbar. $ Dieses Zeichen beschreibt den Beginn einer Variablen, deren Wert an dieser Stelle eingesetzt werden soll (z.b. echo $HOME). `kommando` SPACE, TAB Wird durch die Ausgaben, die kommando erzeugt, ersetzt. kommando darf ein beliebiges Programm sein, das seine Ausgaben auf stdout (= Bildschirm, siehe Kapitel auf Seite 11) schreibt. Dienen als Trennzeichen, SPACE ist das Leerzeichen, TAB das Tabulatorzeichen. Mehrere Trennzeichen hintereinander werden bei der Kommandointerpretation von der Shell zu einem Zeichen verkürzt. Um den Metazeichen ihre besondere Bedeutung zu nehmen, kann man verschiedenen Methoden anwenden. Zum einen kann ein einzelnes Sonderzeichen durch voranstellen eines Backslash ( \ ) wie beispielsweise in ls \* entwertet werden. Eine weitere Methode besteht darin, Sonderzeichen in einfache Anführungszeichen zu fassen wie z.b. ls '*'. Innerhalb der einfachen Anführungszeichen verändert die Shell die Kommandozeile nicht. Die darin enthaltenen Sonderzeichen haben hier also keine Sonderbedeutung mehr. Dabei besteht noch ein feiner, aber wichtiger Unterschied zwischen einfachen (' ') und doppelten Anführungszeichen (" "). Der Unterschied betrifft die Ersetzung von Shell-Variablen, die in Kapitel auf Seite 15 behandelt werden. Innerhalb von einfachen Anführungszeichen werden Shell-Variablen nicht durch ihren Wert ersetzt, innerhalb von doppelten Anführungszeichen hingegen schon, wie folgendes Beispiel zeigt ($HOME enthält den Pfad zum Home-Verzeichnis des Benutzers): mr@hamlet(6)> ls "$HOME" Mail adressen.txt etc tmp mr@hamlet(7)> ls '$HOME' /bin/ls: $HOME: No such file or directory 10

6 GRUNDLAGEN In Tabelle 2 sind noch einmal alle Quoting-Möglichkeiten mit ihrer Bedeutung zusammengefaßt, um dem Leser einen schnelleren Überblick zu ermöglichen. 2.1 Tabelle 2: Quote-Zeichen Quotezeichen Bedeutung \ Das direkt rechts von diesem Zeichen stehende Sonderzeichen verliert seine Sonderstellung. ' ' Innerhalb dieser einfachen Anführungszeichen stehender Text wird von der Shell nicht verändert. Alle darin enthaltenen Sonderzeichen verlieren also ihre Sonderbedeutung. Variablen werden nicht durch ihren Wert ersetzt. " " Innerhalb dieser Anführungszeichen verlieren alle Sonderzeichen außer $ ihre Sonderbedeutung. Shell oder Environment-Variablen, die innerhalb dieser Zeichen vorkommen, werden daher durch ihren Wert ersetzt. `kommando` $(kommando) Diese Zeichen führen zum Start von kommando, dessen Ausgaben als Ergebnis geliefert werden. In diesen Anführungszeichen stehende Variablen werden vor der Ausführung durch ihren Wert ersetzt. Die Schreibweise $(kommando) kann mit der gleichen Bedeutung in der Bourne-Again- und Korn-Shell alternativ verwendet werden. Diese Art der Ersetzung wird auch Kommandoersetzung genannt KONZEPT DER EIN- UND AUSGABE Unix bietet dem Benutzer die Möglichkeit, die Ein- und Ausgaben eines Programms zu beeinflussen. Grundlage dieser Möglichkeiten ist das Ein- Ausgabekonzept von Unix: es existieren drei vordefinierte Datenkanäle, die die Bezeichnungen stdin(0), stdout(1) und stderr(2) tragen. Die in Klammern stehende Nummer ist die Zahl, die den Datenkanälen fest zugeordnet wurde. Deren Bedeutung wird weiter unten erklärt. Startet man ein Programm, das Eingaben vom Benutzer benötigt, liest dieses Programm vom Datenkanal stdin. Normalerweise ist stdin der Tastatur zugeordnet, so daß Eingaben für eine Applikation über die Tastatur vorgenommen werden können. Ausgaben kann das Programm entweder auf stdout oder auf stderr schreiben. stdout ist der Standardausgabe Kanal, der normalerweise dem Terminal zugeordnet ist, von dem aus das Programm gestartet wurde. Schreibt ein Programm Daten auf stdout, erscheinen diese also auf dem Bildschirm. Der dritte Datenkanal 11

7 2 DIE SHELL ALS KOMMANDOINTERPRETER stderr wird von Programmen i.d.r. dazu verwendet, Status- oder Fehlermeldungen auszugeben. Auch stderr ist normalerweise dem Terminal zugeordnet, von dem aus das Programm gestartet wurde. Der Vorteil der Unterscheidung von stdout und stderr wird dann ersichtlich, wenn man weiß, daß die Shell die Möglichkeit bietet, alle drei Datenkanäle umzulenken. Auf diesem Weg ist es beispielsweise möglich, die Ausgaben eines Programms in eine Datei umzuleiten, um sie später in Ruhe ansehen zu können. Fehlerausgaben erscheinen nach Wunsch weiterhin auf dem Bildschirm oder können in eine zweite Datei umgelenkt werden. Auch die Eingabe kann auf diese Weise umgeleitet werden. Daher kann ein Programm, das normalerweise seine Eingaben durch den Benutzer von der Tastatur aus erhalten würde, seine Eingabedaten ebenso von einer Datei lesen. Die Umlenkung der Datenkanäle erfolgt mit Hilfe der <, >-Symbole. Soll z.b. die Standardausgabe (stdout) umgelenkt werden, wird einfach hinter dem Kommando das >-Zeichen geschrieben, dem der Name der Datei folgt, auf die die Ausgaben geschrieben werden sollen. Möchte der Benutzer beispielsweise die Ausgaben des Kommandos ls auf die Datei ls.txt umlenken, muß der Aufruf wie folgt lauten: ls > ls.txt ls /abcd > ls.txt /bin/ls: /abcd: No such file or directory Wie man an dem Ergebnis der ersten Eingabe sieht, werden die Ausgaben des Kommandos ls nicht mehr auf den Bildschirm, sondern in die Datei ls.txt geschrieben. Die Datei wird von der Shell automatisch angelegt, falls sie noch nicht existiert, oder gelöscht, wenn sie schon existiert. Der zweite Versuch demonstriert, daß die Ausgabeumlenkung nur für die normalen Ausgaben Gültigkeit hat, nicht jedoch für die Fehlermeldungen, die in diesem Beispiel dadurch provoziert wurde, daß versucht wurde, ein nicht existierendes Verzeichnis /abcd aufzulisten. Obwohl die Ausgabe über das >-Zeichen umgelenkt wurde, erscheinen Fehlermeldungen nach wie vor auf dem Bildschirm, da der Fehlerdatenkanal stderr nicht umgeleitet wurde. Um dies zusätzlich zu erreichen muß eine Shell-spezifische Syntax verwendet werden, die in Tabelle 3 auf Seite 13 beschrieben ist. Zur Umlenkung der Eingabe eines Kommandos muß das <-Zeichen verwendet werden. Soll beispielsweise die Datei /etc/passwd nach der Zeichenkette root durchsucht werden, wobei die Ergebnisse in die Datei grep.result geschrieben werden sollen, sieht die dazu notwendige Kommandozeile wie folgt aus: mr@hamlet> grep root < /etc/passwd > grep.result 12

8 GRUNDLAGEN Möchte man die Ausgaben (stdout) eines Kommandos an eine bestehende Datei anhängen, ohne diese zu überschreiben, kann anstelle von > das Zeichen >> verwendet werden: 2.1 ls /etc >> ls.txt Die Möglichkeiten der Umlenkung von Ein- und Ausgabe in den verschiedenen Varianten der Shell ist in folgender Tabelle dargestellt. Die dort verwendeten Bezeichnungen file und file1 stehen für zwei beliebige Dateinamen. Tabelle 3: Ein-/Ausgabe Umlenkungsmöglichkeiten Umlenkung von... Bourne/Korn/Bourn- Again-Shell C/TC-Shell stdin < file < file stdout > file > file stderr 2> file Separate Umlenkung nicht möglich stdout und stderr getrennte Umlenkung von stdout und stderr auf verschiedenen Dateien >file 2>&1 (Reihenfolge beachten!) >file 2>file1 >& file Separate Umlenkung nicht möglich stdout (an bestehende Datei anhängen) >> file >> file stdout und stderr (an bestehende Datei anhängen) >>file 2>&1 >>& file Wie aus der der oben stehenden Tabelle sichtbar wird, ist in der C- und TC- Shell keine separate Umlenkung von stdout und stderr möglich. Mit Hilfe eines kleinen Tricks kann dies dennoch erwirkt werden. Angenommen stdout und stderr eines ls-aufrufs in der C-Shell sollen getrennt werden. Hierzu kann die folgende Kommandosequenz verwendet werden:... (ls > stdout.txt) >& stderr.txt... 13

9 2 DIE SHELL ALS KOMMANDOINTERPRETER Der Trick besteht darin, das Kommando in einer Subshell (siehe Seite 20) auszuführen, in der stdout umgelenkt wird und anschließend alle anderen Ausgaben (also stderr) über eine Ausgabeumlenkung für diese Subshell zu realisieren KONZEPT DER PIPES Ein weiteres wichtiges Konzept in Unix ist das der Pipes. Pipes gestatten es dem Benutzer, mehrere Kommandos miteinander zu verbinden, indem die Ausgaben eines Kommandos als Eingaben eines weiteren dienen können. Zu diesem Zweck muß lediglich das Pipe-Zeichen zwischen die beiden (oder mehreren) Kommandos eingefügt werden. Angenommen, man möchte alle Dateien eines Verzeichnisses auflisten und nur die Ausgaben sehen, deren Name die Zeichenkette tm enthalten, kann folgende Kommandozeile verwendet werden: ls -lr grep tm drwxrw-rw- 2 mr employee 2048 Nov 24 12:10 tmp... In diesem Beispiel wurden die Ausgaben des Kommandos ls durch die Verwendung des -Zeichens nicht auf dem Bildschirm ausgegeben, sondern direkt als Eingabe für das Kommando grep verwendet, das die gesuchten Zeilen ausgibt. ls stdout stdin grep stdout stderr stderr Abb. 3: Funktionsweise einer Pipe In Abb. 3 ist die prinzipielle Funktionsweise einer Pipe am Beispiel der Kommandofolge ls grep nochmals graphisch dargestellt. Man sieht, wie die Ausgaben des ersten Kommandos direkt als Eingaben für das nächste Kommando dienen. Dieser Mechanismus kann durchaus mehrstufig sein, so daß auch die Ausgaben des zweiten Kommandos wiederum als Eingaben für ein drittes dienen können usw. Darüber hinaus erkennt man, daß Fehlerausgaben, die über stderr gemacht werden, nicht vom Mechanismus der Pipe beeinflußt werden. 14

10 2.1.5 KONZEPT DER SHELL- UND ENVIRONMENT-VARIABLEN GRUNDLAGEN 2.1 Shell- und Environment-Variablen ermöglichen es dem Benutzer, sowohl das Verhalten der Shell zu konfigurieren als auch eine den eigenen Bedürfnissen entsprechende Arbeitsumgebung zu schaffen. Dies geschieht, indem der Benutzer den Variablen entsprechende Werte zuweist. Dabei muß zwischen den Shell-Variablen, die nur zur Steuerung des Verhaltens der Shell dienen, und den Environment-Variablen unterschieden werden, die dazu dienen, das Verhalten von Programmen zu beeinflussen, die aus der Shell heraus gestartet werden. Ein Beispiel für eine Shell-Variable ist PS1 (Bourne-, Korn- und Bourne-Again-Shell), die bestimmt, wie der Prompt aussehen soll, den der Benutzer als Eingabeaufforderung erhält. Durch die Veränderung des Werts dieser Variablen kann der Benutzer das Erscheinungsbild seiner Shell verändern. Neben der Verwendung von Shell-Variablen wie PS1, die eine genau festgelegte Bedeutung hat, kann der Benutzer auch eigene neue Variablen definieren, beispielsweise um sich einen oft benötigten und schwierig zu schreibenden Pfadnamen in einer solchen Variablen zu merken. Anstatt immer wieder diesen Pfad von Hand eingeben zu müssen, kann der Benutzer dann einfach auf die entsprechende Variable der Shell zugreifen und spart somit viel Schreibarbeit. Ein Beispiel für eine Environment-Variable ist HOME, sie enthält immer den Pfad zum Home-Verzeichnis des Benutzers. Da die Liste der Environment-Variablen einem Programm (z.b. cd) beim Start verfügbar gemacht wird, hat es die Möglichkeit, beispielsweise anhand der Variablen HOME, das Home-Verzeichnis des Benutzers festzustellen, um dort z.b. Programm-Konfigurationsdateien abzulegen oder lesen zu können. Das Kommando cd verwendet beispielsweise den Wert der Variablen HOME als Verzeichnis, in das gewechselt werden soll, wenn cd ohne Parameter aufgerufen wird. Der Zugriff auf den Wert einer Shell- und Environment-Variablen erfolgt stets durch das Voranstellen des $-Zeichens vor den Namen der Variablen. Um beispielsweise den Wert der Environment-Variablen HOME zu ermitteln, lautet das Kommando echo $HOME. Der Befehl echo dient zur Ausgabe von Text und/oder Variablen, $HOME ergibt den Wert der Variablen HOME, der an dieser Stelle ausgegeben wird. Wie bereits erwähnt, handelt es sich bei Shell- und Environment-Variablen um zwei Paar Schuhe: Jede Shell verwaltet getrennt voneinander eine Liste mit Shell-Variablen und eine zweite Liste mit Environment-Variablen. In Abb. 4 auf Seite 16 ist dieser Zusammenhang nochmals graphisch dargestellt. Man erkennt die unterschiedlichen Wirkungsweisen der beiden Variablenarten: Shell-Variablen steuern das Verhalten und Aussehen der Shell selbst, wie z.b. die Variable PS1 (für die Bourne/Bourne-Againund Korn-Shell) den Aufbau des Shell-Prompts beschreibt. Environment- Variablen hingegen, wie z.b. die Variable MANPATH, werden allen Program- 15

11 2 DIE SHELL ALS KOMMANDOINTERPRETER Shell Shell-Variablen UID=216 TERM=vt100 HISTSIZE=100 Möglichkeit, Variablen in das Environment zu exportieren Steuerung des Verhaltens und Aussehens der Shell Environment- Variablen HOME=/home/mr PATH=/bin:/usr/bin TERM=vt100 MANPATH=/usr/man Bei Start eines Kommandos Bereitstellen der Environment-Variablen an das Kommando (hier: insbesondere die Variable MANPATH für das Kommando man). man ls Abb. 4: Shell- und Environment-Variablen men, die aus dieser Shell heraus gestartet werden, zugänglich gemacht, die anschließend die Werte der für sie wichtigen Variablen lesen können. In Abb. 4 durchsucht beispielsweise das Kommando man nach dem Start die Liste der Environment-Variablen nach einer Variablen MANPATH, die eine Liste von Pfadangaben enthält, in denen das Kommando man nach Handbucheinträgen suchen soll. Eine weitere Eigenschaft von Environment-Variablen ist die Vererbbarkeit. Startet man eine neue Shell, erbt diese das gesamte Environment der Shell, aus der heraus sie gestartet wurde. Ebenfalls in Abb. 4 dargestellt ist die Möglichkeit der zur Bourne-Shell aufwärtskompatiblen Shell-Varianten, Shell-Variablen zu exportieren. Dadurch ist eine solche Variable mit ihrem Wert anschließend auch im Environment der Shell verfügbar. Der Befehl export macht also aus einer Shell-Variablen eine Environment-Variable. Die C/TC-Shell kennt diese Möglichkeit nicht. Hier muß beim Setzen einer Variablen entschieden werden, ob sie eine Shell- oder eine Environment-Variable sein soll (siehe Kapitel auf Seite 51). 16

12 2.1.6 BEARBEITUNG DER KOMMANDOZEILE GRUNDLAGEN 2.1 Vor der eigentlichen Ausführung eines vom Benutzer eingegebenen Kommandos durch die Shell, wertet diese die gesamte Kommandozeile aus. Dabei werden beispielsweise Sonderzeichen wie der * durch Dateinamen oder in der Kommandozeile stehende Variablennamen durch ihre Werte ersetzt. Da man die Ergebnisse solcher Ersetzungen nicht direkt beobachten kann, scheinen die gestarteten Programme oftmals nicht das zu tun, was man beabsichtigt hatte. Um solche Probleme erkennen und lösen zu können, ist ein genaueres Verständnis der Vorgänge erforderlich, die bei der Bearbeitung der Kommandozeile durch die Shell unsichtbar ablaufen. Daher sollen die wesentlichen Schritte hier kurz beschrieben werden: 1. Die Shell liest bis zum ersten Kommandotrenner (& && ; < >) und stellt fest, ob Zuweisungen an Variablen erfolgen sollen oder die Ein- oder Ausgabe umgelenkt werden soll. 2. Die Shell zerlegt die Kommandozeile in einzelne Argumente. Sie trennt die Argumente durch Trennzeichen, normalerweise das Leerund Tabulator-Zeichen. 3. Variablen (mit vorangestelltem $), die in der Kommandozeile stehen, werden durch ihre Werte ersetzt. 4. Kommandos, die in Apostrophen (` `) stehen, werden ausgeführt und durch ihre Ausgabe ersetzt. 5. stdin, stdout und stderr werden gemäß den Angaben auf der Kommandozeile umgelenkt. 6. Falls in der Kommandozeile Zuweisungen an Variablen stehen, werden diese ausgeführt. 7. Die Shell sucht nach Sonderzeichen (*,?, [ ],...) und ersetzt diese, sofern sie nicht in quote-zeichen (" ", ' ', \) gefaßt sind, durch passende Dateinamen. 8. Die Shell führt das Kommando aus. Ein Beispiel soll diesen Ablauf verdeutlichen. Da es in diesem Fall wesentlich ist, welche Dateien im aktuellen Verzeichnis des Benutzers liegen, gelte die Annahme, daß sich lediglich die Verzeichnisse tmp und etc dort befinden. Weiterhin soll das Verzeichnis tmp die Dateien titel und text.bak enthalten. Das aktuelle Verzeichnis des Benutzers sei sein Home-Verzeichnis. Die Abfolge der einzelnen Aktionen, die die Shell auf 17

13 2 DIE SHELL ALS KOMMANDOINTERPRETER der unten stehenden Kommandozeile ausführt, werden entsprechend der oben dargestellten Numerierung dargestellt. Falls in einem der Schritte keine Aktion erfolgt, steht an dieser Stelle ein ls -l `pwd` $HOME/etc tmp/* > ls.txt 1. Die Shell liest bis zum >-Zeichen und bearbeitet zunächst den links davon stehenden Teil der Kommandozeile weiter. 2. Die Kommandozeile wird in die Argumente ls -l, `pwd`, $HOME/ etc und tmp/* zerlegt. 3. Die Variable $HOME wird durch ihren Wert, also das Home-Verzeichnis des Benutzers, das beispielsweise /home/mr lauten könnte, ersetzt. Die Kommandozeile lautet jetzt: ls -l `pwd` /home/mr/etc tmp/* 4. Das in ` ` stehende Kommando pwd wird ausgeführt. Die Ausgabe des Kommandos (/home/mr) wird anstelle von `pwd` in die Kommandozeile eingefügt, so daß die Kommandozeile jetzt wie folgt aussieht: ls -l /home/mr /home/mr/etc tmp/* 5. stdout wird auf die Datei ls.txt umgelenkt. Falls diese Datei noch nicht existiert hat, wird sie angelegt, ansonsten wird der bisherige Inhalt gelöscht Das Sonderzeichen * in dem Argument tmp/* wird, da der Stern nicht durch Quote-Zeichen geschützt ist, durch Dateinamen der im Verzeichnis tmp liegenden Dateien ersetzt (da * für beliebige und beliebig viele Zeichen von Dateinamen steht). Die Kommandozeile lautet schließlich: ls -l /home/mr /home/mr/etc tmp/titel tmp/text.bak 8. Das Kommando wird ausgeführt GRUPPIEREN VON KOMMANDOS Normalerweise gibt der Benutzer ein Kommando ein, beendet die Eingabe durch Drücken der Return-Taste und wartet, bis das Kommando ausge- 18

14 GRUNDLAGEN führt wurde und die Shell wieder den Prompt anzeigt, um ihre Eingabebereitschaft zu signalisieren. Unter Umständen ist es jedoch sinnvoll, mehrere Kommandos in einem Zug auszuführen, Kommandos gleichzeitig abarbeiten zu lassen oder ein Kommando in Abhängigkeit vom Erfolg oder Mißerfolg eines vorangegangenen Befehls auszuführen. Zu diesem Zweck wird der Rückgabewert, den jedes Kommando liefert, ausgewertet. Ein Rückgabewert von 0 bedeutet, daß ein Kommando erfolgreich ausgeführt werden konnte, ein anderer Wert bedeutet einen Fehler. Der Rückgabewert eines Kommandos kann direkt nach dessen Ausführung über die Shell-Variable? mit dem Kommando echo $? ausgegeben werden. Zur Gruppierung von Kommandos bietet die Shell verschiedene Möglichkeiten, die in folgender Tabelle aufgelistet sind: 2.1 Tabelle 4: Symbole zur Gruppierung von Kommandos Symbol Bedeutung ; Bewirkt, daß die einzelnen Kommandos, die durch dieses Zeichen getrennt sind, nacheinander ausgeführt werden. Der Rückgabewert ($?) des gesamten Kommandos entspricht dem des zuletzt ausgeführten. & k1 && k2 k1 k2 Das Anhängen dieses Zeichens an ein Kommando bewirkt, daß die Anweisung im Hintergrund ausgeführt wird; D.h. die Shell meldet sich sofort wieder mit dem Shell-Prompt eingabebereit, so daß weitere Kommandos gestartet werden können, noch während das mit & gestartete Kommando weiter ausgeführt wird. Diese Anweisung fragt den Status des Kommandos k1 ab und arbeitet in Abhängigkeit des Ergebnisses das nächste Kommando k2 ab oder überspringt es. Das nächste Kommando k2 wird nur dann bearbeitet, wenn das vorhergehende einen Rückgabewert von 0 (OK) hatte. Der Rückgabewert ($?) des gesamten Kommandos entspricht dem des zuletzt ausgeführten. Wie && fragt auch diese Anweisung den Rückgabewert des Kommandos k1 ab. Das nächste Kommando k2 wird jedoch nur dann bearbeitet, wenn das vorangegangene einen Rückgabewert ungleich 0 (Fehler) hatte. Der Rückgabewert ($?) des gesamten Kommandos entspricht dem des zuletzt ausgeführten. 19

15 2 DIE SHELL ALS KOMMANDOINTERPRETER Tabelle 4: Symbole zur Gruppierung von Kommandos Symbol (kommando) Bedeutung Das Kommando wird in einer Sub-Shell ausgeführt. Eine neue Shell wird gestartet, in der die Ausführung des Kommandos erfolgt. Anschließend wird diese Shell wieder beendet. Dadurch, daß eine neue Shell gestartet wird, wirken sich Veränderungen auf Shell- und Environment-Variablen durch kommando nur auf die neu gestartete Shell und nicht auf die Shell aus, in der die Anweisung (kommando)eingegeben wurde! Die Wirkungsweise der Gruppierungsanweisungen läßt sich am besten anhand einiger Beispiele beschreiben: ls; cd..; ls; cd In diesem Beispiel werden die Kommandos von links nach rechts nacheinander ausgeführt. Das jeweils folgende Kommando kann erst ausgeführt werden, wenn das vorangegangene beendet ist. sleep 100& ls In diesem Beispiel wird an das Kommando sleep, das nichts anderes macht als die in Sekunden angegebene Zeit zu warten, ein & angehängt. Dadurch erscheint sofort wieder der Shell-Prompt und ein weiteres Kommando (hier ls) kann eingegeben werden. Beide Kommandos laufen jetzt parallel. ls && echo "Hat geklappt!" Mail etc tmp Hat geklappt! In diesem Beispiel erscheinen als Ausgabe zunächst die Dateien im aktuellen Verzeichnis des Benutzers. Da das Kommando ls, im eigenen Home-Verzeichnis aufgerufen, erfolgreich ablaufen kann, ist der Rückgabestatus 0. Daher wird anschließend das Kommando echo ausgeführt. ls /abcde && echo "Hat geklappt!" /abcde: No such file or directory Dadurch, daß bei der Ausführung von ls hier ein Fehler provoziert wurde, indem ein nicht existierendes Verzeichnis aufgelistet werden sollte, ist der Rückgabestatus von ls ungleich 0. Daher wird das hinter && stehende Kommando nicht ausgeführt. Als Ausgabe erscheint daher lediglich die Fehlermeldung von ls. 20

16 2.1.8 ARBEITEN MIT SUB-SHELLS GRUNDLAGEN 2.1 Sub-Shells sind immer dann von Nutzen, wenn man einige Kommandos in einer anderen Umgebung (in einem anderen Arbeitsverzeichnis oder mit anderen Werten für Shell- oder Environment-Variablen) ablaufen lassen möchte, ohne dabei die Umgebung der Shell, aus der heraus das Kommando aufgerufen wird, zu verändern. Eine Sub-Shell wird dadurch gestartet, daß man in der Kommandozeile runde Klammern verwendet: pwd; (cd /tmp; pwd); pwd /home/mr /tmp /home/mr In diesem Beispiel werden die Kommandos cd /tmp; pwd in einer Sub- Shell ausgeführt. Die öffnende runde Klammer bewirkt, daß eine neue Shell gestartet wird, bevor die rechts davon stehenden Kommandos gestartet werden. An der schließenden Klammer wird die Shell wieder beendet. Betrachtet man sich die Ausgaben des Beispiels einmal genauer, sieht man die Auswirkung der Sub-Shell. Die erste Ausgabe des Kommandos pwd liefert das aktuelle Verzeichnis des Benutzers /home/mr. Nach Ausführung des Kommandos cd /tmp in der Sub-Shell ist das Arbeitsverzeichnis dieser Sub-Shell jetzt /tmp, wie der zweite Aufruf des Kommandos pwd bestätigt. Obwohl jetzt kein cd-kommando mehr ausgeführt wird, liefert das dritte pwd-kommando wieder den Pfad /home/mr. Der Grund dafür liegt darin, daß die Kommandos, die in der Sub-Shell ausgeführt werden, zwar das Arbeitsverzeichnis dieser neu gestarteten Shell verändern, jedoch nicht das Arbeitsverzeichnis der Shell beeinflussen können, in der das erste und das letzte pwd-kommando aufgerufen werden. Obige Kommandozeile ist vergleichbar mit folgenden Anweisungen (Text der in einer Zeile hinter dem #-Zeichen steht, betrachtet die Shell als Kommentar. Diese Zeichenketten müssen also nicht mit eingegeben werden): pwd /home/mr sh # Entspricht: ( mr@hamlet> cd /tmp; pwd # Kommandos in der Sub-Shell /tmp mr@hamlet> exit # Entspricht: ) mr@hamlet> pwd /home/mr KONTROLLE VON PROZESSEN (JOBCONTROL) Die in diesem Buch besprochenen Shell-Varianten, mit Ausnahme einiger Varianten der Bourne-Shell, unterstützen die sogenannte Jobcontrol. Dar- 21

17 2 DIE SHELL ALS KOMMANDOINTERPRETER unter versteht man die Möglichkeit, gestartete Programme in ihrer Ausführung steuern zu können. So besteht die Möglichkeit, ein Kommando, das gerade gestartet wurde, zu unterbrechen, so daß das Programm in einen Wartezustand versetzt wird. Das Programm ist nicht beendet, aber es arbeitet auch nicht. Mit bestimmten Kommandos kann man das Programm anschließend wieder aktivieren, und zwar wahlweise im Vordergrund (neuer Shell-Prompt kommt erst, wenn das Programm beendet ist) oder im Hintergrund (es erscheint direkt ein neuer Shell-Prompt und das Programm arbeitet weiter). Beispielsweise kann man ein gerade im Vordergrund laufendes Programm durch gleichzeitiges Drücken der Taste Control (oder Strg, bei deutschen Tastaturen) und Z (kurz Ctrl-z) unterbrechen. Anschließend besteht die Möglichkeit, dieses Programm mit dem Kommando fg wieder im Vordergrund weiterarbeiten zu lassen, oder es mit dem Kommando bg in den Hintergrund zu verlagern: mr@hamlet(24)> sleep 1000 # Programm laeuft im Vordergrund Ctrl-z # Unterbrechung mr@hamlet(25)> bg # Verlagen in den Hintergrund [1] 345 # Jobnummer fuer dieses Programm Die Jobnummer dient dazu, sich auf ein bestimmtes Programm, das im Hintergrund abläuft, beziehen zu können. Sie besteht aus einer in eckigen Klammern stehenden Zahl und einer weiteren, rechts davon stehenden Zahl wie etwa: [1] 345. Die Zahl in Klammern wird immer um eins erhöht, wenn ein weiteres Programm im Hintergrund arbeitet. Die rechts davon stehende Zahl ist die Prozeßnummer des Programms. Soll beispielsweise der eben gestartete sleep-prozeß wieder in den Vordergrund geholt werden, genügt das Kommando: mr@hamlet> fg %1 Die Schreibweise %1 meint, daß das Kommando (hier fg) auf das Programm mit der Jobnummer 1 angewendet werden soll, also auf den noch im Hintergrund arbeitenden sleep-prozeß. Alternativ kann ein Programm auch mit Hilfe des Kommandos kill und der Angabe der Jobnummer abgebrochen werden. Folgendes Kommando bricht einen im Hintergrund ablaufenden Prozeß mit der Jobnummer 1 ab: mr@hamlet> kill %1 Da es oftmals vorkommt, daß mehrere Programme in den Hintergrund gelegt wurden, ist es nützlich herauszufinden, um welche Programme es sich handelt und welche Jobnummer ihnen zugewiesen wurde. Diesem 22

18 DIE BOURNE-, BOURNE-AGAIN- UND KORN-SHELL Zweck dient das Kommando jobs. Gibt man dieses Kommando ein, werden alle zur Zeit im Hintergrund ablaufenden Programme zusammen mit ihrer Jobnummer aufgelistet DIE BOURNE-, BOURNE-AGAIN- UND KORN-SHELL Sowohl die Bourne-Again-Shell (Programmname: bash) als auch die Korn- Shell (ksh) basieren auf und sind aufwärtskompatibel zur Bourne-Shell (sh). Daher sollen an dieser Stelle alle drei Varianten beschrieben werden. Begonnen wird mit der Beschreibung der Bourne-Shell selbst. An Stellen, an denen die Korn- und Bourne-Again-Shell Erweiterungen gegenüber der Bourne-Shell bieten, werden diese beschrieben und entsprechend kenntlich gemacht, so daß der Benutzer erkennen kann, welche Erweiterungen für welche Shell gültig sind UNTERSTÜTZUNG DER KOMMANDOEINGABE Eine der wichtigsten Aufgaben der Shell ist die Interaktion mit dem Benutzer, der ständig Eingaben vornimmt, die von der Shell interpretiert und ausgeführt werden müssen. Um den Benutzer bei der Eingabe von Kommandos zu unterstützen, bieten sowohl die Korn- als auch die Bourne-Again-Shell Möglichkeiten an, die dem Benutzer eine komfortable Kommandoeingabe ermöglichen. Zu diesen Möglichkeiten zählt beispielsweise das Wiederholen bereits eingegebener Kommandos oder etwa die Vervollständigung von teilweise eingegebenen Datei- oder Verzeichnisnamen. Lediglich die Bourne-Shell bietet dem Benutzer in dieser Hinsicht keinerlei Unterstützung. Daher wird sie auch kaum noch zur Interaktion mit dem Benutzer, also als Login-Shell, verwendet. Sie hat jedoch immer noch ihren festen Platz bei der Ausführung von Shell-Skripten, da die Bourne- Shell weniger Ressourcen des Rechners zur Ausführung eines Shell-Programms benötigt als viele der Konkurrenten, wie etwa die Korn-Shell. Daraus folgt, daß die in diesem Abschnitt beschriebenen Unterstützungen der Kommandoeingabe lediglich für die Korn-Shell und die Bourne- Again-Shell gültig sind, aber nicht für die Bourne-Shell. Abkürzung eines Loginverzeichnisses mit ~ Bei der Eingabe von Kommandos kommt es häufig vor, daß man sich auf das eigene Home-Verzeichnis beziehen muß, beispielsweise wenn der Benutzer eine Datei in sein Home-Verzeichnis kopieren möchte. Anstatt den Pfad von der Wurzel des Dateibaums aus bis zu seinem Home-Verzeichnis (z.b. /home/mr) immer wieder eingeben zu müssen, gestatten es die Korn- und die Bourne-Again-Shell, den Pfad zum Home-Verzeichnis 23

RFID für die Optimierung von Geschäftsprozessen

RFID für die Optimierung von Geschäftsprozessen RFID für die Optimierung von Geschäftsprozessen Wolf-Rüdiger Hansen, Frank Gillert Prozess-Strukturen, IT-Architekturen, RFID-Infrastruktur ISBN 3-446-40507-0 Leseprobe Weitere Informationen oder Bestellungen

Mehr

Der Standard-Editor vi

Der Standard-Editor vi Der Standard-Editor vi unabhängig von Terminaltyp, Shell und Graphik Aufruf durch vi oder vi bearbeitet Kopie der Datei im Hauptspeicher zwei (drei) Betriebsmodi Kommandomodus i,a,o,i,a,o ESC

Mehr

X Anmelden am System. X System herunterfahren. X Grundlegendes zur Shell. X Das Hilfesystem. X Dateioperationen. X Bewegen im Verzeichnisbaum

X Anmelden am System. X System herunterfahren. X Grundlegendes zur Shell. X Das Hilfesystem. X Dateioperationen. X Bewegen im Verzeichnisbaum /LQX[*UXQGODJHQ, (LQI KUXQJLQGLH6KHOO 'DWHLHQXQG 9HU]HLFKQLVVH :DVLVW]XWXQ" X Anmelden am System X System herunterfahren X Grundlegendes zur Shell X Das Hilfesystem X Dateioperationen X Bewegen im Verzeichnisbaum

Mehr

UNIX/Linux Lösung. Mär 14, 17 20:40 Seite 1/6. Prozeßsynchronisation (was ist das?, wo kommt es vor?, Beispiel?):

UNIX/Linux Lösung. Mär 14, 17 20:40 Seite 1/6. Prozeßsynchronisation (was ist das?, wo kommt es vor?, Beispiel?): Mär 14, 17 20:40 Seite 1/6 Aufgabe 1: Erklären Sie folgende Begriffe (25 Punkte): Prozeßsynchronisation (was ist das?, wo kommt es vor?, Beispiel?): Abstimmen von mehreren Prozessen, warten auf Ergebnisse,

Mehr

Ein- und Ausgabeumlenkung

Ein- und Ausgabeumlenkung Ein- und Ausgabeumlenkung Viele Prozesse lesen und/oder schreiben Daten (z.b. who, date, cat, rm -i,...) Zu jedem Kommando gibt es voreingestellte Dateien, von denen Daten gelesen und/oder in die Daten

Mehr

Crashkurs Kommandozeile

Crashkurs Kommandozeile Crashkurs Kommandozeile Thomas Werner This work is licensed under the Creative Commons Attribution ShareAlike 2.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by sa/2.0/de/

Mehr

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG Shell-Scripting Linux-Kurs der Unix-AG Andreas Teuchert 8. Juli 2014 Was ist ein Shell-Script? Aneinanderreihung von Befehlen, die ausgeführt werden Bedingte und wiederholende Ausführung möglich Nützlich

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Übung 1: Unix Werkzeuge Robert Sombrutzki sombrutz@informatik.hu-berlin.de Unix Werkzeuge Warum? Diese Frage sollten Sie sich immer mal wieder stellen! Denkbare Antworten Weil Sie diese Werkzeuge immer

Mehr

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG Shell-Scripting Linux-Kurs der Unix-AG Benjamin Eberle 1. Februar 2016 Was ist ein Shell-Script? Aneinanderreihung von Befehlen, die ausgeführt werden Bedingte und wiederholende Ausführung möglich Nützlich

Mehr

D.2 Sonderzeichen (2)

D.2 Sonderzeichen (2) D Einführung in UNIX D Einführung in UNIX D.1 Benutzerumgebung 1 Allgemeines die voreingestellte Benutzerumgebung umfaßt folgende Punkte: Benutzername Identifikation (User-Id und Group-Ids) Home-Directory

Mehr

Unix Grundlagen. - ii - Ambit Professional Seminar Series. Autor: Prof. J. Anton Illik Diplom-Informatiker

Unix Grundlagen. - ii - Ambit Professional Seminar Series. Autor: Prof. J. Anton Illik Diplom-Informatiker Ambit Professional Seminar Series Unix Grundlagen Autor: Prof. J. Anton Illik Diplom-Informatiker unter Mitarbeit von I. Gelrich C. Keefer P. Ott K. Rothemund C. Ruane S. Sahin K-H. Schmidt Ambit Informatik

Mehr

Kommandozeilenverarbeitung durch die Unix-Shell (bash)

Kommandozeilenverarbeitung durch die Unix-Shell (bash) Kommandozeilenverarbeitung durch die Unix-Shell (bash) Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2009-06-22 Inhaltsverzeichnis 1 Grundlagen 2 1.1 Reaktion auf eine Eingabe...........................

Mehr

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG Shell-Scripting Linux-Kurs der Unix-AG Benjamin Eberle 6. Juli 2016 Was ist ein Shell-Script? Aneinanderreihung von Befehlen, die ausgeführt werden Bedingte und wiederholende Ausführung möglich Nützlich

Mehr

Übersicht Shell-Scripten

Übersicht Shell-Scripten !!!! Wichtig: Bei Shell-Scripten enden die Zeilen nicht mit einem Strichpunkt!!!! Erste Zeile eines Shell-Scripts: #! /bin/bash Variablen in Shell-Scripts: Variablennamen müssen mit einem Buchstaben beginnen,

Mehr

Systemprogrammierung I - Aufgaben zur Erlangung der Klausurzulassung für Informatiker und Wirtschaftsinformatiker

Systemprogrammierung I - Aufgaben zur Erlangung der Klausurzulassung für Informatiker und Wirtschaftsinformatiker Systemprogrammierung I - Aufgaben zur Erlangung der Klausurzulassung für Informatiker und Nachfolgend finden Sie die drei Aufgaben, die Sie als Zulassungsvoraussetzung für die Scheinklausur am 18.7.2001

Mehr

Arzu Sanli Ibrahim Canakci

Arzu Sanli Ibrahim Canakci Shell-Programmierung 2 Agenda Projektziel Was ist die Shell? Shells im Vergleich Shell vs. C Wofür Shell-Programmierung? Shell-Programmierung Beispielprogramm Schlusswort Quellen 3 Projektziel Da die Möglichkeiten

Mehr

Okt 10, 16 17:29 UNIX/Linux Lösung

Okt 10, 16 17:29 UNIX/Linux Lösung Okt 10, 16 17:29 UNIX/Linux Lösung Seite 1/6 Technische Hochschule Nürnberg Name:... GEORG SIMON OHM Schriftliche Prüfung im Fach Vorname:... "Betriebssystem UNIX/Linux" Matrikel Nr.:... Prüfungstermin:

Mehr

Basiskonzepte des Rechnerbetriebs

Basiskonzepte des Rechnerbetriebs Universität Potsdam Institut für Informatik Wintersemester 2013 2014 Basiskonzepte des Rechnerbetriebs Aufgabenblatt 5 7 Standardeingabe und Standardausgabe Viele Prozesse lesen und/oder schreiben Daten.

Mehr

Bash-Skripting Linux-Kurs der Unix-AG

Bash-Skripting Linux-Kurs der Unix-AG Bash-Skripting Linux-Kurs der Unix-AG Sebastian Weber 07.01.2013 Was ist ein Bash-Skript? Skript muss mit chmod +x ausführbar gemacht sein Aneinanderreihung von Befehlen normale Befehle nutzbar Sebastian

Mehr

Arbeiten mit der Shell Teil 2

Arbeiten mit der Shell Teil 2 Arbeiten mit der Shell Teil 2 Linux-Kurs der Unix-AG Benjamin Eberle 11. Mai 2016 Übersicht - Dateiinhalte anzeigen cat : Dateiinhalte auf die Shell ausgeben less : Dateiinhalte seitenweise anzeigen head

Mehr

Übungen zu Systemprogrammierung I Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2003 C-Uebung1.fm

Übungen zu Systemprogrammierung I Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2003 C-Uebung1.fm C 1. Übung C 1. Übung C.1 Überblick UNIX-Benutzerumgebung und Shell UNIX-Kommandos Aufgabe 1: Warteschlange als verkettete Liste C.1 C.2 Benutzerumgebung C.2 Benutzerumgebung die voreingestellte Benutzerumgebung

Mehr

Vorsemesterkurs Informatik

Vorsemesterkurs Informatik Vorsemesterkurs Informatik Einführung in die Bedienung von Unix-Systemen SoSe 2013 Stand der Folien: 3. April 2013 Übersicht 1 Unix, Linux, Shells 2 Shell-Kommandos 3 Dateien und Verzeichnisse Vorkurs

Mehr

Bash-Scripting Linux-Kurs der Unix-AG

Bash-Scripting Linux-Kurs der Unix-AG Bash-Scripting Linux-Kurs der Unix-AG Zinching Dang 02. Juli 2013 Was ist ein Bash-Script? Aneinanderreihung von Befehlen, die ausgeführt werden Bedingte und wiederholende Ausführung möglich Nützlich bei

Mehr

Linux Prinzipien und Programmierung

Linux Prinzipien und Programmierung Linux Prinzipien und Programmierung Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2014 1 / 25 2 / 25 Pipes Die Bash kennt drei Standard-Dateideskriptoren: Standard In (stdin) Standard-Eingabe,

Mehr

Shell-Programmierung für Unix und Linux

Shell-Programmierung für Unix und Linux Shell-Programmierung für Unix und Linux Grundlagen, Werkzeuge und praktische Skripte von Rainer Krienke 3., erweiterte Auflage Hanser München 2006 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446

Mehr

Filme der Kindheit Kindheit im Film

Filme der Kindheit Kindheit im Film Kinder- und Jugendkultur, -literatur und -medien 66 Filme der Kindheit Kindheit im Film Beispiele aus Skandinavien, Mittel- und Osteuropa Bearbeitet von Christine Gölz, Anja Tippner, Karin Hoff 1. Auflage

Mehr

Linux Kommandozeile: Einfache Skripte. 1 Wiederhohlung. 2 Einfache Skripte

Linux Kommandozeile: Einfache Skripte. 1 Wiederhohlung. 2 Einfache Skripte Linux Kommandozeile: Einfache Skripte AST, Wintersemester 2016/2017 1 Wiederhohlung Hier sind ein paar Befehle, die ihr letzte Woche schon kennen gelernt habt und heute benutzt. Befehl Parameter Funktion

Mehr

Aufgabensammlung IT 4131. Shellprogrammierung Teil I

Aufgabensammlung IT 4131. Shellprogrammierung Teil I Aufgabensammlung IT 4131 Shellprogrammierung Teil I Fragen: I.1 Was ist eine Shell? Skript 1.1.2, S. 4 a) aus der Sicht des Betriebssystems b) aus der Sicht des Anwenders I.2 Was ist ein Shell-Skript?

Mehr

Unix/Linux Grundlagen für Einsteiger

Unix/Linux Grundlagen für Einsteiger Unix/Linux Grundlagen für Einsteiger Seminarunterlage Version: 6.08 Version 6.08 vom 25. Juli 2016 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

Shell-Programmierung

Shell-Programmierung Shell-Programmierung Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2009 Shell-Programmierung 1/34 2009-04-27 Inhalt Einleitung

Mehr

E-/A-Funktionalität nicht Teil der Programmiersprache

E-/A-Funktionalität nicht Teil der Programmiersprache C Ein-/Ausgabe C Ein-/Ausgabe C.1 Überblick E-/A-Funktionalität nicht Teil der Programmiersprache Realisisierung durch "normale" Funktionen Bestandteil der Standard-Funktionsbibliothek einfache Programmierschnittstelle

Mehr

L A TEX, Linux, Python

L A TEX, Linux, Python L A TEX, Linux, Python Daniel Borchmann, Tom Hanika, Maximilian Marx 17. Dezember 2014 cba Grundlagen von GNU/Linux Grundlagen von GNU/Linux Eine kurze Geschichte von GNU / Linux Eine kurze Geschichte

Mehr

Basiskonzepte des Rechnerbetriebs

Basiskonzepte des Rechnerbetriebs Universität Potsdam Institut für Informatik Wintersemester 2012 2013 Basiskonzepte des Rechnerbetriebs Aufgabenblatt 2 2 Das UNIX-Dateisystem Arbeiten Sie, wenn nicht anders vermerkt, immer auf der Kommandozeile!

Mehr

Linux-Einführung Übung

Linux-Einführung Übung Linux-Einführung Übung Mark Heisterkamp 24. 25. Februar 2010 1 Einführung und Grundlagen 1.1 Erste Schritte... 1.1.1 Xterminalfenster Öffnen Sie ein weiteres Xterminalfenster mit der Maus. mittels Kommando.

Mehr

Kapitel 2. Auf Tuchfühlung mit UNIX/Linux. 2.1 Einführung

Kapitel 2. Auf Tuchfühlung mit UNIX/Linux. 2.1 Einführung Kapitel 2 Auf Tuchfühlung mit UNIX/Linux Nach so viel Theorie wird es Zeit, praktische Erfahrungen mit UNIX zu sammeln. Dieses Kapitel beschreibt die dazu notwendigen Schritte. In diesem Rahmen werden

Mehr

Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe. Linux I. 1 Linux I. Theorie Terminal Ein- und Ausgabe. Ressourcen-Vorkurs

Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe. Linux I. 1 Linux I. Theorie Terminal Ein- und Ausgabe. Ressourcen-Vorkurs Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Theorie Linux und Unix Unix bezeichnet eine Familie von Betriebssystemen: HP-UX, AIX, Solaris, Mac OS X, GNU/Linux. Linux ist eine freie und quelloffene

Mehr

Arbeiten mit der Shell Teil 1

Arbeiten mit der Shell Teil 1 Arbeiten mit der Shell Teil 1 Linux-Kurs der Unix-AG Andreas Teuchert 29. Oktober 2012 Shell: Standard-Features Prompt (häufig: benutzer@rechner:~$) zeigt an, dass die Shell auf Befehle wartet Befehl eingeben,

Mehr

Arbeiten in der Unix-Kommandozeile

Arbeiten in der Unix-Kommandozeile Arbeiten in der Unix-Kommandozeile PeP et al. Toolbox Workshop PeP et al. e.v. Physikstudierende und ehemalige Physikstudierende der TU Dortmund 2016 [ismo@it ~]$ _ Was ist das? Muss das sein? Ist das

Mehr

Funktionen in JavaScript

Funktionen in JavaScript Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Mithilfe von Funktionen kann man denselben Code von mehreren Stellen des Programms aus aufrufen.

Mehr

Grundlagen der Informatik Vorlesungsskript

Grundlagen der Informatik Vorlesungsskript Grundlagen der Informatik Vorlesungsskript Prof. Dr. T. Gervens, Prof. Dr.-Ing. B. Lang, Prof. Dr. F.M. Thiesing, Prof. Dr.-Ing. C. Westerkamp 16 AUTOMATISCHES ÜBERSETZEN VON PROGRAMMEN MIT MAKE... 2 16.1

Mehr

Bash-Skripting Linux-Kurs der Unix-AG

Bash-Skripting Linux-Kurs der Unix-AG Bash-Skripting Linux-Kurs der Unix-AG Sebastian Weber 13.06.2012 Was ist ein Bash-Skript? Skript muss mit chmod +x ausführbar gemacht sein Aneinanderreihung von Befehlen normale Befehle nutzbar Sebastian

Mehr

Funktionen in JavaScript

Funktionen in JavaScript Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Es können ganze Programmteile aufgenommen werden. Mithilfe von Funktionen kann man denselben

Mehr

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG Shell-Scripting Linux-Kurs der Unix-AG Andreas Teuchert 31. Januar 2014 Was ist ein Shell-Script? Aneinanderreihung von Befehlen, die ausgeführt werden Bedingte und wiederholende Ausführung möglich Nützlich

Mehr

UNIX Die wichtigsten Befehle

UNIX Die wichtigsten Befehle UNIX Die wichtigsten Befehle Syntax alias shortname command at zeit [Tag] [Datei] cron cat [-nsuv] [datei] passwd [ben_name] finger user fg, bg job set [-ekntuvx] [name] sort [-bcdfimnurt] [+pos1 pos2]

Mehr

Arbeiten in der Unix-Kommandozeile

Arbeiten in der Unix-Kommandozeile Arbeiten in der Unix-Kommandozeile PeP et al. Toolbox Workshop PeP et al. e.v. Physikstudierende und ehemalige Physikstudierende der TU Dortmund 2017 [ismo@it ~]$ _ Was ist das? Muss das sein? Ist das

Mehr

Basiskonzepte des Rechnerbetriebs. 6 Die Shell: Der UNIX-Kommandointerpreter

Basiskonzepte des Rechnerbetriebs. 6 Die Shell: Der UNIX-Kommandointerpreter Universität Potsdam Institut für Informatik Wintersemester 2013 2014 Basiskonzepte des Rechnerbetriebs Aufgabenblatt 4 Der Editor vi Übung 1. Kopieren Sie die Datei /home/rlehre/da1 in Ihr Arebitsverzeichnis

Mehr

Linux und Shell-Programmierung Teil 5

Linux und Shell-Programmierung Teil 5 Prof. Dr. Christian Baun Linux und Shell-Programmierung Teil 5 Fachhochschule Frankfurt am Main WS1314 1/44 Linux und Shell-Programmierung Teil 5 Prof. Dr. Christian Baun Fachhochschule Frankfurt am Main

Mehr

Feuerwehr-, Flucht- und Rettungspläne

Feuerwehr-, Flucht- und Rettungspläne Feuerwehr-, Flucht- und Rettungspläne Bearbeitet von WEKA MEDIA 1. Auflage 2011. Buch. ISBN 978 3 8111 9560 8 Format (B x L): 14,8 x 21 cm Gewicht: 1010 g Wirtschaft > Spezielle Betriebswirtschaft > Arbeitsplatz,

Mehr

Linux II. Reguläre Ausdrücke Editoren Scripting. 2 Linux II. Linux I II III Res WN/TT NLTK XML Weka E Reguläre Ausdrücke Editoren Scripting

Linux II. Reguläre Ausdrücke Editoren Scripting. 2 Linux II. Linux I II III Res WN/TT NLTK XML Weka E Reguläre Ausdrücke Editoren Scripting Linux II 2 Linux II Reguläre Ausdrücke Editoren Scripting Reguläre Ausdrücke Reguläre Ausdrücke beschreiben eine Menge von Zeichenfolgen und werden benutzt um m festzustellen, ob eine Zeichenkette Teil

Mehr

Arbeiten mit der Shell Teil 1

Arbeiten mit der Shell Teil 1 Arbeiten mit der Shell Teil 1 Linux-Kurs der Unix-AG Benjamin Eberle 4. Mai 2016 Die Komandozeile unter Linux Wird als Shell bezeichnet Die Shell ist eines der vielen Programme einer Linux-Distribution

Mehr

SelfLinux Dateien unter Linux

SelfLinux Dateien unter Linux Dateien unter Linux Autor: Frank Boerner (frank@frank-boerner.de) Formatierung: Matthias Hagedorn (matthias.hagedorn@selflinux.org) Lizenz: GFDL Im Unterschied zu Windows wird bei Linux zwischen Groß-

Mehr

Teil 1: Einführung in die Shell. Was ist die Shell? Wichtige Kommandos (1) Einführung in die Shell. Grundlagen der Shell-Programmierung

Teil 1: Einführung in die Shell. Was ist die Shell? Wichtige Kommandos (1) Einführung in die Shell. Grundlagen der Shell-Programmierung Einführung in die Shell Grundlagen der Shell-Programmierung Daniel Lutz 22.10.2003 Teil 1: Einführung in die Shell 1 2 Was ist die Shell? Schnittstelle zwischen Benutzer und Computer

Mehr

Die Unternehmergesellschaft

Die Unternehmergesellschaft Die Unternehmergesellschaft Recht, Besteuerung, Gestaltungspraxis Bearbeitet von Prof. Dr. Dr. hc. Michael Preißer, Gültan Acar 1. Auflage 2016. Buch. 300 S. Hardcover ISBN 978 3 7910 3445 4 Format (B

Mehr

Linux / Unix - Shells

Linux / Unix - Shells Linux / Unix - Shells Abteilung Verteilte Systeme Proseminar Linux, SS 2001 Alexander B. 20. Juli 2001 Zusammenfassung Linux hat in der letzten Zeit immer mehr an Bedeutung gewonnen. Sowohl als Server-

Mehr

Linux I II III Res/Pro WN/TT Reguläre Ausdrücke Editoren Scripting. Linux II. 2 Linux II. Reguläre Ausdrücke Editoren Scripting. Ressourcen-Vorkurs

Linux I II III Res/Pro WN/TT Reguläre Ausdrücke Editoren Scripting. Linux II. 2 Linux II. Reguläre Ausdrücke Editoren Scripting. Ressourcen-Vorkurs Linux II 2 Linux II Reguläre Ausdrücke Editoren Scripting POSIX POSIX POSIX ist ein UNIX-Standard, der bestimmte grundlegende Funktionen und Eigenschaften von UNIX-Systemen definiert. Dazu gehören auch

Mehr

pwd mkdir Zeigt das aktuelle Verzeichnis an Beispiel: pwd

pwd mkdir Zeigt das aktuelle Verzeichnis an Beispiel: pwd ls Listet Dateien und Verzeichnisse auf ls (Listet die Dateien und Verzeichnisse in Spalten auf) ls -l (Listet die Datei und Verzeichnisse als ausführliche Liste auf) ls *.sh (Listet nur Datei auf, die

Mehr

Arbeiten mit der Shell Teil 1

Arbeiten mit der Shell Teil 1 Arbeiten mit der Shell Teil 1 Linux-Kurs der Unix-AG Zinching Dang 09. November 2015 Die Unix-Philosophie Es gibt viele kleine Programme Können die jeweiligen Aufgaben gut lösen Komplexe Aufgaben werden

Mehr

Desktop ade: Me and my shell

Desktop ade: Me and my shell Ein Shelldiskurs Desktop ade: Me and my shell Erkan Yanar erkmerk@gmx.de casus belli Warum auf einem Linuxtag mit Schwerpunkt Desktop? Beherrschung der Shell := freie Wahl des Desktops Beherrschung der

Mehr

Vorlesung Unix-Praktikum

Vorlesung Unix-Praktikum Vorlesung 5. und Folien nach Carsten Gnörlich Technische Fakultät Universität Bielefeld 15. November 2017 1 / 34 Willkommen zur fünften Vorlesung Was gab es beim letzten Mal? Prozesse Dateiberechtigungen

Mehr

SelfLinux Was ist eine Shell?

SelfLinux Was ist eine Shell? Was ist eine Shell? Autor: Matthias Kleine (kleine_matthias@gmx.de) Formatierung: Matthias Hagedorn (matthias.hagedorn@selflinux.org) Lizenz: GPL Was ist eine Shell? Seite 2 Inhaltsverzeichnis 1 Einleitung

Mehr

Arbeiten mit der Shell Teil 1

Arbeiten mit der Shell Teil 1 Arbeiten mit der Shell Teil 1 Linux-Kurs der Unix-AG Benjamin Eberle 5. Mai 2015 Shell: Standard-Features Prompt (häufig: benutzer@rechner:~$) zeigt an, dass die Shell auf Befehle wartet Befehl eingeben,

Mehr

Arithmetik in der tcsh

Arithmetik in der tcsh Arithmetik in der tcsh Variablen speichern Zeichenketten (also Strings/Wörter) @ statt set Interpretation als arithmetische Ausdrücke (aus Ziffern, (, ), +, -, *, /, % bestehend) Beispiele: @ var = (3

Mehr

UNIX Grundlagen. Sascha Frank SS 2006 www.namsu.de. 14. August 2006 UNIX I. Sascha Frank. Einführung. Basic Befehle. Quellen

UNIX Grundlagen. Sascha Frank SS 2006 www.namsu.de. 14. August 2006 UNIX I. Sascha Frank. Einführung. Basic Befehle. Quellen UNIX Grundlagen SS 2006 www.namsu.de 14. August 2006 14. August 2006 1 / 15 Übersicht 1 2 3 und Referenzen 14. August 2006 2 / 15 Entstehung 1969 das erste System 1973 Großteil in C geschrieben 20000 von

Mehr

Okt 02, 17 12:28 UNIX/Linux Lösung

Okt 02, 17 12:28 UNIX/Linux Lösung Okt 02, 17 12:28 UNIX/Linux Lösung Seite 1/6 GEORG SIMON OHM Hochschule Nürnberg Name:... Schriftliche Prüfung im Fach Vorname:... "Betriebssystem Linux/UNIX" Matrikel Nr.:... Prüfungstermin: 13.10.2017

Mehr

Shell. Oder Konsole suchen im Application Finder. Auch Terminal, Bash oder Kommandozeile genannt. Bash nimmt Befehle entgegen und führt diese aus

Shell. Oder Konsole suchen im Application Finder. Auch Terminal, Bash oder Kommandozeile genannt. Bash nimmt Befehle entgegen und führt diese aus LUKAS LEIPOLD Shell Shell Oder Konsole suchen im Application Finder Auch Terminal, Bash oder Kommandozeile genannt Bash nimmt Befehle entgegen und führt diese aus Befehle I cd mkdir pwd rm mv cp ls ln

Mehr

Deshalb ist hello + world = 0. Umgekehrt gilt das Gleiche, weshalb 8 plus 3 gleich 83 ist. Dies ist in Zeile 5 in Terminal 2 gezeigt. In der Regel sol

Deshalb ist hello + world = 0. Umgekehrt gilt das Gleiche, weshalb 8 plus 3 gleich 83 ist. Dies ist in Zeile 5 in Terminal 2 gezeigt. In der Regel sol So nützlich wie Variablen in der Mathematik sind, um z.b. Gleichungen eine allgemeine Gültigkeit zu verleihen, so nützlich sind sie auch bei der Programmierung. In dieser Ausgabe möchte ich Ihnen die Verwendung

Mehr

Medizinische Statistik mit R und Excel

Medizinische Statistik mit R und Excel Springer-Lehrbuch Medizinische Statistik mit R und Excel Einführung in die RExcel- und R-Commander-Oberflächen zur statistischen Auswertung Bearbeitet von Rainer Muche, Stefanie Lanzinger, Michael Rau

Mehr

SelfLinux Dateien unter Linux

SelfLinux Dateien unter Linux Dateien unter Linux Autor: Frank Boerner (frank@frank-boerner.de) Formatierung: Matthias Hagedorn (matthias.hagedorn@selflinux.org) Lizenz: GFDL Im Unterschied zu Windows wird bei Linux zwischen Groß-

Mehr

Kommandozeile und Batch-Dateien. Molekulare Phylogenetik Praktikum

Kommandozeile und Batch-Dateien. Molekulare Phylogenetik Praktikum Kommandozeile und Batch-Dateien Molekulare Phylogenetik Praktikum 2 1.1 Die Kommandozeile Alternative zur grafischen Oberfläche (GUI) eines Betriebssystems Vorteile: Sich wiederholende Befehle können gespeichert

Mehr

Übung 4: Schreiben eines Shell-Skripts

Übung 4: Schreiben eines Shell-Skripts Aufgabenteil 1 Ziel der Übung Übung 4: Schreiben eines Shell-Skripts Anhand eines einfachen Linux-Skripts sollen die Grundlagen der Shell-Programmierung vermittelt werden. Das für die Bash-Shell zu erstellende

Mehr

1 EINLEITUNG Übersicht zum Buch... 5

1 EINLEITUNG Übersicht zum Buch... 5 Inhaltsverzeichnis Vorwort 1 1 EINLEITUNG 3 1.1 Übersicht zum Buch................................. 5 2 DAS UNIX-SYSTEM 7 2.1 Die UNIX-Entwicklung............................... 7 2.2 Die UNIX-Werkzeuge................................

Mehr

EINFÜHRUNG IN LINUX DR. MATTHIAS M. HÖLZL

EINFÜHRUNG IN LINUX DR. MATTHIAS M. HÖLZL EINFÜHRUNG IN LINUX DR. MATTHIAS M. HÖLZL 1. Aufbau eines Computer-Systems Ein Computersystem besteht aus Hardware (dem eigentlichen Rechner) und Software (den Programmen). Zur Hardware zählen der Prozessor

Mehr

Hochschule Für Angewandte Wissenschaften FH München Sommersemester Thomas Kolarz. Folie 1.

Hochschule Für Angewandte Wissenschaften FH München Sommersemester Thomas Kolarz. Folie 1. Praktikum Btib Betriebssysteme t I Hochschule Für Angewandte Wissenschaften FH München Sommersemester 2010 thomas.kolarz@hm.edu Folie 1 Vorbereitung Booten Sie den Rechner unter Linux und melden Sie sich

Mehr

Einführung Unix Shell

Einführung Unix Shell Einführung Unix Shell Prof. Dr. Rüdiger Weis Beuth Hochschule Berlin Wintersemester 2012/2013 Prof. Dr. Rüdiger Weis Einführung Unix Shell Beuth Hochschule Berlin 1 Datei Komandos 2 Wildcards 3 Variablen

Mehr

Der Windows Explorer INITE 7e 2003 Joël François

Der Windows Explorer INITE 7e 2003 Joël François Der Windows Explorer 1 Einleitung Was ist der Explorer? Der Windows Explorer (nicht zu verwechseln mit dem Internet Explorer) ist ein Programm welches zur Datei Verwaltung unter Microsoft Windows verwendet

Mehr

Skripte. Beispiel. http://www.icp.uni-stuttgart.de. M. Fyta Computergrundlagen 73/93

Skripte. Beispiel. http://www.icp.uni-stuttgart.de. M. Fyta Computergrundlagen 73/93 Skripte Wie kann ich mir komplexe Befehle merken? Gar nicht aber der Computer kann es für mich! Einfach die Befehle in eine Textdatei schreiben und ausführbar machen #! (Shebang) in der ersten Zeile bestimmt

Mehr

Das Handbuch zu KCron

Das Handbuch zu KCron Das Handbuch zu KCron Autor: Frank Börner (f.boerner@selflinux.org) Autor: Robert Schröter (robert-schroeter@gmx.de) Autor: Morgan N. Sandquist (morgan@pipeline.com) Formatierung: Frank Börner (f.boerner@selflinux.org)

Mehr

JavaScript objektorientiert

JavaScript objektorientiert JavaScript objektorientiert Verständlicher, flexibler, effizienter programmieren Bearbeitet von Nicholas Zakas 1. Auflage 2014. Taschenbuch. XIV, 122 S. Paperback ISBN 978 3 86490 202 4 Format (B x L):

Mehr

Wissenschaftliche Arbeiten typografisch gestalten

Wissenschaftliche Arbeiten typografisch gestalten Wissenschaftliche Arbeiten typografisch gestalten Mit Word und InDesign ans Ziel Bearbeitet von Manuela Bendix 1. Auflage 2007. Taschenbuch. xviii, 160 S. Paperback ISBN 978 3 540 73391 1 Format (B x L):

Mehr

Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe. Linux I. 1 Linux I. Theorie Terminal Ein- und Ausgabe. Ressourcen-Vorkurs

Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe. Linux I. 1 Linux I. Theorie Terminal Ein- und Ausgabe. Ressourcen-Vorkurs Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Theorie Linux und Unix Unix bezeichnet eine Familie von Betriebssystemen: HP-UX, AIX, Solaris, Mac OS X, GNU/Linux. Linux ist eine freie und quelloffene

Mehr

Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen.

Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen. Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen. Wir wollen uns heute dem Thema Variablen widmen und uns damit beschäftigen, wie sich

Mehr

Kurze Einweisung in die Shell

Kurze Einweisung in die Shell Kurze Einweisung in die Shell Betriebssystem Unix primäre Kommunikation mit dem System ist über Kommandozeile, graphische Systeme sind nur Aufsatz C ist speziell mit/für Unix-Betriebsysteme entwickelt

Mehr

2 Konventionen und Begriffe zu diesem Buch

2 Konventionen und Begriffe zu diesem Buch 2 Konventionen und Begriffe zu diesem Buch Dieses Kapitel gibt Ihnen einige Hinweise, wie das Lehrbuch aufbereitet ist, was die einzelnen Darstellungen aussagen und was Sie vorab wissen sollten, um mit

Mehr

Linux und Shell-Programmierung Teil 6

Linux und Shell-Programmierung Teil 6 Prof. Dr. Christian Baun Linux und Shell-Programmierung Teil 6 Fachhochschule Frankfurt am Main WS1314 1/18 Linux und Shell-Programmierung Teil 6 Prof. Dr. Christian Baun Fachhochschule Frankfurt am Main

Mehr

Subprozesse in Python

Subprozesse in Python Subprozesse in Python Felix Döring, Felix Wittwer 24. April 2017 Python-Kurs Gliederung 1. Grundlagen Eigenschaften 2. Konstanten File Descriptoren Exceptions 3. Popen Klasse Wichtige Argumente 4. Popen

Mehr

Computer & GNU/Linux Einführung Teil 3

Computer & GNU/Linux Einführung Teil 3 Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian Stab 1/29 Computer & GNU/Linux Einführung Teil 3 Simon Haller, Sebastian Stabinger, Philipp Zech Inst. für Informatik

Mehr

Übung: Entwickeln eines Shell-Skripts

Übung: Entwickeln eines Shell-Skripts Aufgabenteil 1 Ziel der Übung Übung: Entwickeln eines Shell-Skripts Anhand eines einfachen Linux-Skripts sollen die Grundlagen der Shell-Programmierung vermittelt werden. Das für die Bash-Shell zu erstellende

Mehr

Adobe Photoshop Lightroom 5 für Einsteiger

Adobe Photoshop Lightroom 5 für Einsteiger Edition FotoHits Adobe Photoshop Lightroom 5 für Einsteiger Bilder verwalten und entwickeln Bearbeitet von Sam Jost 1. Auflage 2013. Taschenbuch. 256 S. Paperback ISBN 978 3 8266 9735 7 Format (B x L):

Mehr

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! Erste Zeile eines PERL-Scripts: #! /usr/bin/perl Variablen in PERL: Normale Variablen beginnen mit einem $-Zeichen Array-Variablen beginnen mit

Mehr

Benutzung der Manpage, Shell Teil 3

Benutzung der Manpage, Shell Teil 3 Benutzung der Manpage, Shell Teil 3 Linux-Kurs der Unix-AG Andreas Teuchert 3./9. Mai 2012 Manpages Dokumentation zu Programmen, speziellen Dateien, etc. steht in Manpages Aufruf mit man Manpage

Mehr

Shell-Programmierung fur Unix und Linux

Shell-Programmierung fur Unix und Linux Rainer Krienke Shell-Programmierung fur Unix und Linux Grundlagen, Werkzeuge und praktische Skripte 3., erweiterte Auflage HANSER Inhaltsverzeichnis Vorwort 11 1 Einleitung 15 1.1 Die Unix-Shell 15 1.2

Mehr

Technische Praxis der Computersysteme I 3. Vorlesung

Technische Praxis der Computersysteme I 3. Vorlesung Technische Praxis der Computersysteme I 3. Vorlesung Bernhard Lamel Universität Wien, Fakultät für Mathematik WS 2007 Outline 1 Grundlegende Informationen 2 Umgang mit Textdateien 3 Schleifen und Kontrollstrukturen

Mehr

Unterschiede in Dateien mit diff

Unterschiede in Dateien mit diff Unterschiede in Dateien mit diff diff datei1 datei2 vergleicht die Inhalte der beiden Dateien zeilenweise (bei Verzeichnissen die enthaltenen Dateien) und gibt die sich unterscheidenen Zeilen auf stdout

Mehr

Vorlesung Unix-Praktikum

Vorlesung Unix-Praktikum Vorlesung 2. Einführung: und erste Schritte Technische Fakultät Universität Bielefeld 18. Oktober 2017 1 / 37 Erste Schritte mit der Aufgaben der 1. Programm ausführen 2. zu mächtigeren Werkzeugen kombinieren

Mehr

Unix-Shells. mehrere Befehle in einer Zeile. bash: Grundlagen. Ein- und Ausgaben umlenken. Befehle: Dateien und Verzeichnisse (1)

Unix-Shells. mehrere Befehle in einer Zeile. bash: Grundlagen. Ein- und Ausgaben umlenken. Befehle: Dateien und Verzeichnisse (1) Programmierkurs für absolute Anfänger Unix-Befehle und bash-skripte Caren Brinckmann Sommersemester 2005 http://www.coli.uni-saarland.de/~cabr/teaching.php Unix-Shells Shell: Schnittstelle zwischen Benutzer

Mehr

mitp/die kleinen Schwarzen XING Erfolgreich netzwerken im Beruf Bearbeitet von Frank Bärmann

mitp/die kleinen Schwarzen XING Erfolgreich netzwerken im Beruf Bearbeitet von Frank Bärmann mitp/die kleinen Schwarzen XING Erfolgreich netzwerken im Beruf Bearbeitet von Frank Bärmann 2014 2014. Taschenbuch. 266 S. Paperback ISBN 978 3 8266 8207 0 Format (B x L): 12,5 x 18,5 cm Gewicht: 248

Mehr

Stapelverarbeitungsdateien

Stapelverarbeitungsdateien Stapelverarbeitungsdateien Eine Ausarbeitung zum Informatik Spezialgebiet Daniel Wolf, März 1997 INHALT I. Einleitung 1. Einfache Stapelverarbeitungsdateien 2. Einfache Batch File Befehle und Kommandos

Mehr

Berechnungen in Excel

Berechnungen in Excel Berechnungen in Excel Zahlen, Formeln und Funktionen Bearbeitet von René Martin 2. Auflage 2001. Taschenbuch. 304 S. Paperback ISBN 978 3 446 21846 8 Format (B x L): 16,9 x 24,1 cm Gewicht: 582 g Zu Inhaltsverzeichnis

Mehr

Kommandozeilen effizient nutzen und verstehen

Kommandozeilen effizient nutzen und verstehen Kommandozeilen effizient nutzen und verstehen Linuxtag FH Salzburg Alexander Wirt 10. Mai 2006 Übersicht 1 Die Shell Was ist eine Shell Typische Funktionen heutiger Shells 2 Quoting Warum braucht man Quoting

Mehr