Hilfe Warenkorb Konto Anmelden
 
 
   Schnellsuche   
     zur Expertensuche                      
Shell-Programmierung - Das umfassende Handbuch
  Großes Bild
 
Shell-Programmierung - Das umfassende Handbuch
von: Jürgen Wolf, Stefan Kania
Rheinwerk Computing, 2016
ISBN: 9783836240895
821 Seiten, Download: 4081 KB
 
Format: EPUB
geeignet für: geeignet für alle DRM-fähigen eReader Apple iPad, Android Tablet PC's Apple iPod touch, iPhone und Android Smartphones Online-Lesen PC, MAC, Laptop

Typ: A (einfacher Zugriff)

 

 
eBook anfordern
Leseprobe

1Einführung


Als Autor eines Fachbuchs steht man immer vor der Frage, wo man beginnen soll. Fängt man bei null an, so wird eine Menge Raum für interessantere Aufgabenschwerpunkte verschenkt. Fordert man dem Leser hingegen am Anfang gleich zu viel ab, läuft man Gefahr, dass dieses Buch schnell im Regal verstaubt oder zur Versteigerung angeboten wird.

1.1Was sollten Sie als Leser wissen?


Da Sie sich entschieden haben, mit der Shellscript-Programmierung anzufangen, können wir davon ausgehen, dass Sie bereits ein wenig mit Linux bzw. einem UNIX-artigen System vertraut sind. Vielleicht haben Sie auch schon Erfahrungen mit anderen Programmiersprachen gemacht, was Ihnen hier einen gewissen Vorteil verschafft. Vorhandene Programmiererfahrungen sind allerdings keine Voraussetzung, um mit diesem Buch zu arbeiten. Es wurde so konzipiert, dass selbst ein Anfänger recht einfach und schnell ans Ziel kommt. Dies haben wir deshalb getan, weil die Shellscript-Programmierung im Gegensatz zu anderen Programmiersprachen wie beispielsweise C/C++ oder Java erheblich einfacher zu erlernen ist (auch wenn Sie beim ersten Durchblättern des Buchs einen anderen Eindruck haben sollten).

Aber was heißt »mit Linux bzw. UNIX bereits ein wenig vertraut«? Dass Sie folgende Punkte beherrschen, müssen wir einfach von Ihnen erwarten – ansonsten könnte der Buchtitel gleich »Linux/UNIX – Eine Einführung« lauten:

  • An- und Abmelden am System

  • Arbeiten mit einem (beliebigen) Texteditor (Mehr dazu folgt in Abschnitt 1.8.)

  • Umgang mit Dateien und Verzeichnissen – sprich der Umgang mit den grundlegenden Kommandos wie zum Beispiel cp, pwd, ls, cd, mv, mkdir, rmdir, cat ... (Sind diese Kenntnisse nicht vorhanden, so ist das nicht weiter schlimm, denn alle Kommandos werden in diesem Buch mehr als einmal verwendet und auch in einem Crashkurs kurz beschrieben.)

  • Zugriffsrechte – wer bin ich, was darf ich, und welche Benutzer gibt es? Oder einfach: Was bedeuten die »komischen« Zeichen rwx bei den Dateien und Verzeichnissen? (Auch hierzu gibt es eine kurze Einführung.)

  • Verzeichnisstruktur – wo bin ich hier, und wo finde ich was? Wenn Sie nicht genau wissen, wo Sie »zu Hause« sind oder wie Sie dorthin kommen, wird Ihnen die ganze Umgebung ziemlich fremd vorkommen (aber auch ein Immigrant kann sich einleben).

  • grundlegende Kenntnisse eines Dateisystems – wo ist meine Festplatte, mein CD-ROM- oder Diskettenlaufwerk, und vor allem: Wie werden diese bezeichnet? Wer immer noch nach einem Laufwerk A, C oder D sucht, der dürfte mit diesem Buch wieder einen Kandidaten für eBay gefunden haben.

  • Kommunikation – das Buch behandelt auch netzwerkspezifische Dinge, weshalb Sie zumindest den Weg in den »WeltWeitenWälzer« gefunden und den Umgang mit der elektronischen Post bewältigt haben sollten.

Linux/UNIX-Kommandoreferenz

Sofern Sie mit einigen Shell-Kommandos, die bei den Scripts verwendet werden, nicht zurechtkommen oder diese nicht kennen, finden Sie in Kapitel 14 eine Linux/UNIX-Kommandoreferenz, in der Ihnen zumindest die Grundlagen (die gängigsten Optionen) erläutert werden. Detailliertere Informationen bleiben selbstverständlich weiterhin den Manualpages (Manpages) vorbehalten.

1.1.1Zielgruppe


Mit diesem Buch wollen wir eine recht umfangreiche und keine spezifische Zielgruppe ansprechen. Profitieren von der Shellscript-Programmierung kann jeder – vom einfachen Linux/UNIX-Anwender bis hin zum absolut überbezahlten (oder häufig auch schlecht bezahlten) Systemadministrator, also einfach jeder, der mit Linux/UNIX zu tun hat bzw. vorhat, damit etwas mehr anzufangen.

Ganz besonders gut eignet sich die Shellscript-Programmierung auch für den Einstieg in die Welt der Programmierung. Sie finden hier viele Konstrukte (Schleifen, Bedingungen, Verzweigungen etc.), die auch in den meisten anderen Programmiersprachen in ähnlicher Form verwendet werden (wenn auch häufig die Syntax ein wenig anders ist).

Da Sie sehr viel mit den »Bordmitteln« (Kommandos/Befehlen) des Betriebssystems arbeiten, bekommen Sie auch ein gewisses Gefühl für Linux/UNIX. So haftet dem Shellscript-Programmierer häufig ein Guru-Image an, einfach weil er tiefer in die Materie einsteigen muss als viele GUI-verwöhnte Anwender. Trotzdem ist es leichter, die Shellscript-Programmierung zu erlernen als irgendeine andere Hochsprache, wie beispielsweise C, C++, Java oder C#.

Die primäre Zielgruppe sind aber ganz klar Systemadministratoren und/oder Webmaster (mit SSH-Zugang). Für einen Systemadministrator von Linux/UNIX-Systemen ist es häufig unumgänglich, sich mit der Shellscript-Programmierung auseinanderzusetzen. Letztendlich ist ja auch jeder einzelne Linux/UNIX-(Heim-)Benutzer mit einem PC ein Systemadministrator und profitiert enorm von den neu hinzugewonnenen Kenntnissen.

OS X ist auch UNIX

Natürlich dürfen sich auch die Mac-Anwender angesprochen fühlen. Alles, was wir hier im Buch beschreiben, wurde sorgfältig auf OS X (Version 10.10) getestet. Speziell bei dieser fünften Auflage des Buches wurde ganz besonders auf die Mac-Kompatibilität geachtet, und natürlich wird bei Bedarf auf die Unterschiede eingegangen. Auch werden wir Ihnen erklären, wie Sie die Bash-Version 4 auf Ihrem Mac installieren und nutzen können.

1.1.2Notation


Die hier verwendete Notation ist recht einfach und zum Teil eindeutig aufgebaut. Wenn die Eingabe mit der Tastatur (bzw. einer Tastenkombination) beschrieben wird, wird das mit einem entsprechenden Tasten-Zeichen gekennzeichnet. Wenn Sie beispielsweise (Strg)+(C) lesen, so bedeutet dies, dass hier die Tasten »Steuerung« (Control oder auch (Ctrl)) und »C« gleichzeitig gedrückt wurden; finden Sie (Esc) vor, dann ist das Drücken der Escape-Taste gemeint.

Tastenbelegung bei OS X

Während die Tastenbelegung und -verwendung bei Windows- und Linux- und vielen UNIX-Systemen recht ähnlich ist, hat ein Mac-System eine geringfügig andere Tastatur. Auf die Unterschiede zwischen einer Mac- und einer PC-Tastatur gehen wir kurz in Abschnitt C.1 ein. An dieser Stelle weisen wir daher nur kurz darauf hin, dass eine Tastenkombination wie (Strg)+(C) auf dem Mac mit (ctrl)+(C) ausgeführt werden muss und nicht, wie Sie vielleicht annehmen, mit (cmd)+(C). Mac-Veteranen wissen das zwar, aber da das System immer beliebter wird und es somit mehr Umsteiger gibt, sollte dies hier kurz erwähnt werden.

Sie werden sehr viel mit der Shell arbeiten. Als Shell-Prompt des normalen Users in der Kommandozeile wird you@host > verwendet. Diesen Prompt müssen Sie also nicht bei der Eingabe mit angeben (logisch, aber es sollte erwähnt werden). Wird hinter diesem Shell-Prompt die Eingabe in fetten Zeichen dargestellt, so handelt es sich um eine Eingabe in der Kommandozeile, die vom Benutzer (meistens von Ihnen) vorgenommen und mit einem (¢)-Tastendruck bestätigt wurde.

you@host > Eine_Eingabe_in_der_Kommandozeile

Folgt hinter dieser Zeile eine weitere Zeile ohne den Shell-Prompt you@host > und nicht in fetter Schrift, dann handelt es sich in der Regel um die erzeugte Ausgabe der zuvor getätigten Eingabe (was im Buch meistens den Aktionen Ihres Shellscripts entspricht).

you@host > Eine_Eingabe_in_der_Kommandozeile
Die erzeugte Ausgabe

Finden Sie stattdessen das Zeichen # als Shell-Prompt, dann handelt es sich um einen Prompt des Superusers (root). Selbstverständlich setzt dies voraus, dass Sie auch die entsprechenden Rechte haben. Dies ist nicht immer möglich und wird daher in diesem Buch so selten wie möglich eingesetzt.

you@host > whoami
nomaler_User
you@host > su
Passwort: ********
# whoami
root
# exit
you@host > whoami
normaler_User

Vorübergehende Root-Rechte mit sudo

Viele UNIX-artige Betriebssysteme wie Linux oder OS X gehen hier einen anderen Weg und verwenden den Befehl sudo (substitute user do oder super user do). Mit diesem Befehl können Sie einzelne Programme bzw. Kommandos mit den Rechten eines anderen Benutzers (beispielsweise mit Root-Rechten) ausführen. Der Befehl sudo wird dabei vor den eigentlich auszuführenden Befehl geschrieben. Wollen Sie für mehr als nur einen Befehl als Superuser arbeiten, können Sie mit sudo -s dauerhaft wechseln. Die Einstellungen für sudo werden in der Datei /etc/sudoers gespeichert. Mehr Informationen zu sudo finden Sie auf der entsprechenden...



nach oben


  Mehr zum Inhalt
Kapitelübersicht
Kurzinformation
Leseprobe
Blick ins Buch
Fragen zu eBooks?

  Navigation
Belletristik / Romane
Computer
Geschichte
Kultur
Medizin / Gesundheit
Philosophie / Religion
Politik
Psychologie / Pädagogik
Ratgeber
Recht
Reise / Hobbys
Sexualität / Erotik
Technik / Wissen
Wirtschaft

  Info
Hier gelangen Sie wieder zum Online-Auftritt Ihrer Bibliothek
© 2008-2024 ciando GmbH | Impressum | Kontakt | F.A.Q. | Datenschutz