Schlüsselkompetenzen. 10. Sitzung im Kurs für Erstsemester des Studiengangs Information Engineering. Alexander Holupirek & Hannes Schwarz WS 08/09

Größe: px
Ab Seite anzeigen:

Download "Schlüsselkompetenzen. 10. Sitzung im Kurs für Erstsemester des Studiengangs Information Engineering. Alexander Holupirek & Hannes Schwarz WS 08/09"

Transkript

1 Schlüsselkompetenzen 10. Sitzung im Kurs für Erstsemester des Studiengangs Information Engineering Alexander Holupirek & Hannes Schwarz WS 08/09

2 Kursablauf Einführungsveranstaltung Installation und Einführung in LaTeX Mathematische Formeln in LaTeX Dokumentvorlagen (IEEE, ACM, LCNS, Thesis) Präsentationen (Beamer Class) & Spezialumgebungen Zeichnen mit TikZ & PGF (Historische) Einführung in UNIX / CLI UNIX Kommandos und die Shell(benutzung) UNIX Kommandos und die Shell(benutzung) II Weihnachtsvorlesung Weihnachten/Neujahr Shellprogrammierung Präsentationstechniken, Zeitmanagement Lerntechniken (MindMap, SQ4R...) Prüfungsvorbereitung Abschlussveranstaltung LATEX Soft Skills 2

3 Übungsablauf I II III IV V VI Übungsblatt Curriculum Vitae Studienablaufplan Präsentation Homepage Shell Skript Abgabe Abgabe

4 Bisherige Abgaben I II III IV V Abdülkadir Sahin Adrian Beer Andreas Hummelsberger Daniel Brall Daniel Frey Daniel Meßner Dominic Lehle Felix Schönenberger Florian Fröhlich Isabel Piljek Jan-Dirk Verbeek Jens Erat Jens Metzner Josua Krause Leonard Wörteler Lisandro Fernandes Manuel Wildner Marc Spicker Michael Hundt Mustafa Mehran Peter Wegrzynek ( ) Thomas Kenner 4

5 Fünfte Aufgabe zum Scheinerwerb Erstellt eine Webseite für Euren UNIX Account am Fachbereich. Das Verzeichnis /net/www/homes/unixname/ ist als Webspace durch den Webserver des Fachbereichs gemountet und unter der URL öffentlich erreichbar. Erstellt (nur unter Verwendung der Shell) eine Datei index.html, die eine Visitenkarte (im Stile von ~holupire/) von Euch publiziert. Versucht rein Shell basiert zu arbeiten, d.h. Screen Editor (vim o.ä.), Dateizugriffsrechte setzen (Webserver muss Datei lesen können!) etc. Eure Webseite sollte W3C konform sein und bei der Überprüfung durch den W3C Validator ( keine Fehler produzieren 5

6 Fünfte Aufgabe zum Scheinerwerb SelfHTML ( ist eine gute Einführung. Das Grundgerüst einer HTML Datei: Übungsziel: Arbeiten auf der Shell unter Verwendung eines Screen Editors. Verwendung einzelner UNIX Kommandos (Permissions...) Abgabe bis spätestens Schickt eine mit der jeweiligen URL Eurer Homepage Subject: [ski_w08] Abgabe der fünfte Uebung To: 6

7 Die heutige Sitzung Die letzte Sitzung: Shell Benutzung Zugriffsberechtigungen Lösung der fünften Aufgabe Wiederholung UNIX Kommandos Die heutige Sitzung: Shell Programmierung Konstrukte der Shellprogrammierung 7

8 Metazeichen 8

9 Metazeichen Die Shell belegt eine Reihe von Zeichen mit einer Sonderbedeutung, sogenannte Metazeichen. Beispiel: Das Sternchen * sucht im aktuellen Verzeichnis nach Dateinamen, in denen eine beliebige Zeichenfolge an Stelle von * vorkommt. $ ls ch1.0.tex ch1.2.tex ch2.1.tex ch2.3.tex ch1.1.tex ch2.0.tex ch2.2.tex ch3.0.tex $ echo * ch1.0.tex ch1.1.tex ch1.2.tex ch2.0.tex ch2.1.tex ch2.2.tex ch2.3.tex ch3.0.tex Sonderfall: (Versteckte) Dateien, die mit einem. beginnen 9

10 Quoting von Sonderzeichen (Metazeichen) Der Shell muss explizit mitgeteilt werden, wenn Metazeichen als reine Zeichen ohne Sonderbedeutung benutzt werden wollen. Der einfachste Weg um Metazeichen vor Interpretation zu schützen ist diese in einfache Anführungszeichen einzuschließen. $ ls ch1.0.tex ch1.2.tex ch2.1.tex ch2.3.tex ch1.1.tex ch2.0.tex ch2.2.tex ch3.0.tex $ echo * * 10

11 Quoting von Sonderzeichen (Metazeichen) Auch doppelte Anführungzeichen können verwendet werden. Allerdings wird nach Vorkommnissen von $,... und \ gesucht... und diese ggfs. interpretiert. $ echo * exit code last command $? ch1.0.tex ch1.1.tex ch1.2.tex ch2.0.tex ch2.1.tex ch2.2.tex ch2.3.tex ch3.0.tex exit code last command 0 $ echo '* exit code last command $?' * exit code last command $? $ echo "* exit code last command $?" * exit code last command 0 11

12 Quoting von Sonderzeichen (Metazeichen) Als dritte Möglichkeit kann jedem Zeichen, das vor der Shell geschützt werden soll, ein \ vorangestellt werden. $ echo \*\*\* *** Eine Art von Anführungszeichen schützt die andere: $ echo "Tu's nicht." Tu's nicht. $ echo 'Ich zitiere "... exit code kann mit $? abgefragt werden."' Ich zitiere "... exit code kann mit $? abgefragt werden." 12

13 Quoting von Sonderzeichen (Metazeichen) In allen Fällen verhindert quoting, also das Zitieren eines Metazeichens, dass die Shell es zu interpretieren versucht. Das Kommando (in unseren Beispielen echo) weiß dabei nichts von Dateien und Metazeichen. * wird, wenn möglich, von der Shell interpretiert. Wenn keine Dateinamen dem Suchmuster entsprechen, wird das Suchmuster übergeben, als ob es mit Anführungszeichen umgeben gewesen wäre. $ echo ch?.?.tex ch1.0.tex ch1.1.tex ch1.2.tex ch2.0.tex ch2.1.tex ch2.2.tex ch2.3.tex ch3.0.tex $ echo ch?.?.?.tex ch?.?.?.tex 13

14 Shell-Metazeichen prog >file Standard-Ausgabe von prog nach file umleiten prog >>file Standard-Ausgabe von prog an file anhängen prog <file Standard-Eingabe von prog aus file p1 p2 Standard-Ausgabe von p1 als Standard-Eingabe von p2 prog <<str Standard-Eingabe für prog folgt, bis str allein auf einer Zeile steht * erkennt null oder mehrere beliebige Zeichen in Dateinamen? erkennt beliebiges Einzelzeichen in Dateinamen [ccc] erkennt Einzelzeichen aus der Menge ccc in Dateinamen p1 ; p2 Kommandosequenz: erst p1 dann p2 & wie ; aber Ende von p1 nicht abwarten `...` Kommandos... ausführen; Ausgabe ersetzt `...` (...) Kommandos... in neuer Shell ausführen {...} Kommandos in dieser Shell ausführen $0 bis $9 ersetzt durch Argumente für Shellskript $var Wert der Shell-Variablen var ${var} Wert von var; Vermeidet Verwirrung wenn Text folgt \c Zeichen c ohne Sonderbedeutung,... Zeichenfolge... ohne Sonderbedeutung... Zeichenfolge... nach Interpretation von $, `...` und \ # Kommentarzeichen, Rest der Zeile ist Kommentar var=wert Zuweisung an Shell-Variable var p1 && p2 p1 ausführen; bei Erfolg p2 ausführen p1 p2 p1 ausführen; bei Misserfolg p2 ausführen 14

15 Neue Kommandos erzeugen 15

16 Neues Kommando erstellen Hat man eine Folge von Kommandos, die mehr als ein paar Mal wiederholt werden sollen, kann man daraus ein neues Kommando mit eigenem Namen erstellen. Beispiel: Angenommen wir wollen (des öfteren) wissen, wie viele unterschiedliche Benutzer auf einer Maschine eingeloggt sind: $ who cut -d' ' -f1 uniq wc -l 3 16

17 Neues Kommando erstellen Erstellen einer gewöhnliche Datei, die die Pipeline enthält: $ echo "who cut -d' ' -f1 uniq wc -l" >nu (Was würde ohne die Anführungsstriche in nu auftauchen?) Die Shell ist ebenso ein Programm, wie vi oder date. Das binary liegt unter /usr/bin/sh Daher kann sie ausgeführt und auch ihre Eingabe umgelenkt werden $ who wei pts/ :12 (xxx) brandes pts/ :15 (yyy) holupire pts/ :49 (zzz) $ cat nu who cut -d' ' -f1 uniq wc -l $ sh <nu 3 17

18 Neues Kommando erstellen Wie zu erwarten ist die Ausgabe identisch, mit der Eingabe der Pipeline über das Terminal: $ who cut -d' ' -f1 uniq wc -l 3 Wie viele andere Programme liest auch die Shell ihre Eingabe aus einer Datei, wenn sie als Argument angegeben ist: $ sh nu 3 Ist eine Datei ausführbar und enthält Text, nimmt die Shell an, dass es sich um eine Datei mit Shell-Kommandos (ein Shell-Skript) handelt. $ chmod a+x nu $ nu 3 18

19 Erstellung von Shell-Skripten Eine spezielle Bedeutung hat die erste Zeile. Sie kann angeben, unter welchem Shell-Typ die Skriptdatei ausgeführt werden soll (für die bash(1) z.b. #!/bin/bash) Nach den Zeichen #! (she-bang) steht der Pfad der ausführbaren! Datei, die den Code der Shell enthält, sowie ggfs. Optionen zum Aufruf der Shell. $ cat delete_tmps #!/bin/bash # Dieses Skript loescht alle Dateien mit dem Suffix tmp im # aktuellen Verzeichnis. echo "Loesche alle.tmp Dateien im Verzeichnis $PWD" rm./*.tmp 19

20 Shell-Variablen 20

21 Shell-Variablen Der direkte Aufruf von nu, funktioniert nur, wenn sich nu in einem Verzeichnis befindet, welches auch in der Shell-Variable $PATH eingetragen ist: $ which nu /home/dbis/holupire/bin/nu $ echo $PATH /net/lin_local/bin:/home/dbis/holupire/bin:/usr/local/bin:/usr/bin:[...] PATH ist die Liste der Verzeichnisse, in denen ein Kommando gesucht wird. HOME ist das Heimatverzeichnis etc. 21

22 Shell-Variablen Shell-Variablen können erzeugt, verwendet und geändert werden: $ PATH=:/bin/:/usr/bin $ echo $PATH :/bin/:/usr/bin VARIABLE=Wort ist eine Zuweisung, die den Wert von VARIABLE verändert. Das Zuweisungszeichen = darf nicht mit Leerzeichen umgeben werden und der zugewiesene Wert muss ein einziges Wort sein. Der Wert der Variablen ergibt sich, wenn $ dem Namen vorangestellt wird. $ PATH=$PATH:$HOME/bin $ echo $PATH :/bin/:/usr/bin:/home/dbis/holupire/bin 22

23 Shell-Variablen Nicht alle Variablen haben eine besondere Bedeutung für die Shell. Traditionellerweise schreibt man jene Variablen mit besonderer Bedeutung (wie PATH, HOME...) in Gross- und normale Namen mit Kleinbuchstaben. Das in der Shell eingebaute Kommando set zeigt die Werte aller definierten Variablen. Will man nur einzelne Variablen sehen ist echo angebrachter. Der Wert einer Variablen gehört zu der Shell, in der sie erzeugt wurde. D.h. es findet keine Vererbung zu Abkömmlingen der Shell statt: $ x=hello $ echo $x Hello $ sh $ echo $x $ exit $ echo $x Hello 23

24 Einige Shell-Konfigurationsvariablen PATH MANPATH HOME PWD PS1 PS2 Legt den Suchpfad fest, d.h. die Verzeichnispfade, an denen die Shell nach einem auf der Kommandozeile eingegebenen externen Kommandonamen sucht ( : trennt die einzelnen Pfade voneinander) Legt die Verzeichnisse fest, in denen die manual pages gespeichert sind. Enthält den Pfad des benutzereigenen Verzeichnisses. Enthält den absoluten Pfad des gerade aktuellen Verzeichnisses (d.h. wo der Benutzer sich gerade befindet) Setzt den Prompt (Eingabeaufforderungstext) am Anfang der Kommandozeile fest. Bestimmt den Text, den die Shell ausgibt, wenn zusätzliche Eingabezeilen vom Benutzer erwartet werden. 24

25 Einige der shell builtin commands set echo read name=value $name unset name Anzeige aller definierten und sichtbaren Shell-Variablen Ausgeben einer einzelnen Shell-Variablen (z.b. für x: echo $x) Einlesen einer Shell-Variablen ab Kommandozeile (z.b. liest Text in Shell-Variable test: $ read test Setzen der Variablen name mit Wert value Abrufen des Variablenwertes in Kommandozeile (echo $name) Variable name löschen 25

26 Einige Spezialargumente-Variablen $# Anzahl der Skriptargumente $* alle Argumente für Shell Skript $$ Aktuelle Prozessidentifikationsnummer des Skripts $! Prozessnummer des letzten in den Hintergrund versetzen Prozesses $? Exit Status des letzten Befehls $0, $1,..., $9 $ cat special echo "Anzahl der Argumente: $#" echo "Alle Argumente: $*" echo "Argument 0: $0" echo "Argument 1: $1" echo "Argument 2: $2" $./special a b Anzahl der Argumente: 2 Alle Argumente: a b Argument 0:./special Argument 1: a Argument 2: b Positionale Skriptargument-Variablen ($0 : Skriptname, $1 erstes Argument,...) 26

27 Mehr über Ein- und Ausgabe-Umlenkung 27

28 Ein- und Ausgabe-Umlenkung Die Diagnose-Ausgabe (standard error, stderr) wurde erfunden, damit Fehlermeldungen immer auf dem Terminal erscheinen $ diff file1 fiel2 >diff.out diff: fiel2: No such file or directory Jedes Programm hat beim Start bereits drei Dateiverbindungen: Standard-Eingabe (standard in, stdin, file descriptor 0) Standard-Ausgabe (standard out, stdout, file descriptor 1) Diagnose-Ausgabe (standard error, stderr, file descriptor 2) stdin und stdout haben wir bereits kennengelernt und in Dateien und Pipes umgelenkt. sterr bleibt oft mit dem Terminal verbunden. 28

29 Diagnose-Ausgabe (stderr) Manche Programme liefern Diagnose-Ausgaben, auch wenn sie korrekt funktionieren. Typisches Beispiel: Das time(1) Kommando, welches ein anderes Kommando ausführt und dann als Diagnose-Ausgabe berichtet, wie lang es gedauert hat: $ time who holupire pts/ :58 (phobos38.inf.uni-konstanz.de) real 0m0.006s user 0m0.000s sys0m0.004s $ time who >who.out real 0m0.065s user 0m0.004s sys0m0.000s 29

30 Umlenkung der Diagnose-Ausgabe $ time who >who.out real 0m0.065s user 0m0.004s sys0m0.000s $ /usr/bin/time -p who >who.out 2>time.out $ cat time.out real 0.02 user 0.00 sys 0.00 Die Phrase 2>dateiname (2 und > dürfen nicht durch Leerzeichen getrennt sein) lenkt die Diagnose-Ausgabe in eine Datei um. 30

31 Mehr Umleitungen Man kann die zwei Ausgabe-Ströme auch zusammenführen: $ /usr/bin/time -p who >who.out 2>&1 $ cat who.out holupire pts/ :58 (phobos38.inf.uni-konstanz.de) real 0.03 user 0.00 sys 0.00 Die Phrase 2>&1 befiehlt der Shell, die Diagnose-Ausgabe in den gleichen Strom zu lenken wie die Standard-Ausgabe. Das Zeichen & hat ansonsten keine Sonderbedeutung. Es ist in der Kombination >& lediglich eine Umleitunganweisung. Man kann auch 1>&2 angeben um die Standard-Ausgabe in zur Diagnose-Ausgabe hinzuzufügen. 31

32 Here document Konstruktion Die Shell verfügt über einen Mechanismus, damit man die Standard- Eingabe für eine Kommando zusammen mit dem Kommando in die gleiche Datei schreiben kann Dadurch braucht man keine zweite Datei und ein Shell-Skript ist in sich abgeschlossen: $ cat here grep "$*" <<END Erste Eingabezeile Zweite Eingabezeile Dritte Eingabezeile END 32

33 Here document Konstruktion $ cat here grep "$*" <<END Erste Eingabezeile Zweite Eingabezeile Dritte Eingabezeile END Im Shell-Jargon heißt diese Konstruktion here document. Es besagt, dass die Eingabe gleich hier ist und nicht in einer anderen Datei. << signalisiert die Konstruktion; Die Eingabe besteht aus allem was folgt, bis zu diesem Wort allein auf einer Zeile Die Shell ersetzt $,... und \ in einem here document, es sei denn, irgendein Teil des Wortes ist mit Anführungszeichen oder \ zitiert 33

34 Ein- und Ausgabe-Umlenkung in der Shell >file >>file <file p1 p2 n>file n>>file n>&m n<&m <<wort <<\wort << wort Standard-Ausgabe in file Standard-Ausgabe an file anfügen Standard-Eingabe aus Datei file Standard-Ausgabe von p1 als Standard-Eingabe von p2 Ausgabe von file descriptor n in Datei file Ausgabe von file descriptor n an Datei file anfügen Ausgabe von file descriptor n mit file descriptor m mischen Eingabe von file descriptor n mit file descriptor m mischen here document: Standard-Eingabe folgt bis wort am Anfang einer Zeile steht; Textersatz für $,..., \ here document ohne Ersetzung here document ohne Ersetzung 34

35 Bedingte Tests (conditional tests) 35

36 Bedingte Tests auf Dateizustände Um intelligente Skripte zu erstellen, ist es oft nötig, Texte zu vergleichen oder einfach festzustellen, ob ein Text oder eine Datei existiert. Der Test des Dateistatus kann mit einer der beiden Anweisungen erfolgen: test condition name [ condition name ] condition Test -d Ist es ein Verzeichnis? -r Ist Datei lesbar (r Dateirechteattribut gesetzt)? -w Ist Datei schreibar (w Dateirechteattribut gesetzt)? -x Ist Datei ausführbar (x Dateirechteattribut gesetzt)? -s Ist Datei nicht leer? -f Ist es eine reguläre, existierende Datei? (regulär heißt kein special file, wie z.b. eine pipe, character device etc.) 36

37 Bedingte Tests auf Dateizustände $ test -r $HOME $ echo $? 0 $ [ -w $HOME ] $ echo $? 0 $ [ -w /etc/passwd ] $ echo $? 1 Die Form mit den eckigen Klammern ist eine Kurzschreibweise und die Leerzeichen zwischen den Klammern und den Inhalten sind zwingend. $HOME ist für uns les- und schreibbar (Exit Code: 0) /etc/passwd ist für uns nicht schreibbar (Exit Code: 1) 37

38 Verknüpfung mehrerer Tests Wenn mehrere Bedingungen verknüpft werden sollen, so lassen sich dazu logische Operatoren verwenden. Operator Bedeutung -a logisches UND (wahr, falls beide Seiten des Operators wahr) -o logisches ODER (wahr, falls mind. eine Seite des Op. wahr) -! logisches NICHT (wahr, falls Bedingung nicht wahr) $ [ -w $HOME -a $PWD ] $ echo $? 0 38

39 Bedingte Tests auf Zeichenketten Bedingte Tests lassen sich auf Zeichenketten (strings) anwenden. Die allgemeinen Formen des Tests sind wie folgt (mehrere Varianten mit einem oder zwei beteiligten Zeichenketten sind möglich): test string test stringoperator string test string stringoperator string [ stringoperator string ] [ string stringoperator string ] string steht für eine beliebige Zeichenkette, die mit Hochkommata eingefasst werden muss, wenn sie aus mehreren Worten besteht. 39

40 Bedingte Tests auf Zeichenketten stringoperator Bedeutung = Test auf Gleichheit von zwei Zeichenketten!= Test auf Ungleichheit zweier Zeichenketten -z Test ob Zeichenkette leer ist -n Test ob Zeichenkette nicht leer ist $ [ $USER = "holupire" ] $ echo $? 0 $ read v ok $ [ "$v" = "ok" ] $ echo $? 0 40

41 Bedingte Tests auf numerischen Werten Oft sind bedingte Tests auf Zahlen nützlich. Die allgemein Form des Zahlenvergleichs lautet: number1 numeric_operator number2 [ number1 numeric_operator number2 ] number1 und number2 sind Ganzzahlen. numeric_operator -eq -ne -gt -lt -le -ge Test Test auf Gleichheit (number1 = number2) Test auf Ungleichheit (number1 <> number2) Test auf größer als (number1 > number2) Test auf kleiner als (number1 < number2) Test auf kleiner/gleich als (number1 <= number2) Test auf größer/gleich als (number1 => number2) $ NUM=20 $ [ $NUM -eq 50 ] $ echo $? 1 41

42 Arithmetik 42

43 Rechnen mit der Shell Ganzzahlige Rechenoperationen können mit dem Befehl expr verarbeitet werden. Neben den Rechenoperationen +, -, * und / steht auch der Modulooperator % zur Verfügung. Innerhalb komplizierter Ausdrücke können runde Klammern zur Gruppierung verwendet werden. Operatoren als auch Zahlen sind stets mit Leerzeichen zu trennen. $ expr $ RESULTAT=`expr \( \) / 3` $ echo $RESULTAT 3 43

44 Kontrollstrukturen für Skripte 44

45 Häufig verwendete Kontrollstrukturen Für die Auswertung von Tests und zur Programmierung passender Reaktionen auf einen Ausführungsstatus werden Kontrollstrukturen benötigt, z.b.: if... then... else case for loop until loop while loop select 45

46 if-then-else Struktur Allgemeine Form: if cond1 then commands1 elif cond2 then commands2 else commands3 fi $ cat user #!/bin/sh if [ $USER = "holupire" ]; then echo "Ahh, it's me!" fi 46

47 case Struktur Allgemeine Form: case value in pattern1) commands1... ;; pattern2) commands2... ;; esac value steht für einen beliebigen Name einer Shell-Variablen commandsx sind beliebige Anweisungsfolgen patternx können Metazeichen enthalten 47

48 case Struktur $ cat translate_number #!/bin/sh # Beispiel case Struktur echo -n "Bitte eine Nummer zwischen 1 und 3 eingeben: " read NBR case $NBR in 1) echo "eins" ;; 2) echo "zwei" ;; 3) echo "drei" ;; *) echo "Eingabe nicht zwischen 1 und 3" >&2 exit 1 ;; esac 48

49 Allgemeine Form: for-loop Struktur for var_name in list do command1 command... done Führt Befehle unter do für jeden Variablenwert aus list genau einmal aus. Als var_name kann ein beliebiger Name verwendet werden, der als Platzhalter für den aktuellen Schleifenindex innerhalb der Schleife dient. var_name steht als Shell-Variable zur Verfügung. $ for xy in > do > echo $xy > done

50 Allgemeine Form: until-loop Struktur until condition command1 command... done Die Schleife wird ausgeführt bis die Bedingung condition wahr ist. $ cat watchfor #!/bin/sh case $# in 0) echo 'Usage: $0 pattern_to_watch_for' 1>&2; exit 1 esac until who egrep "$1" do sleep 10 done echo "Hallo $USER. $1 ist eingeloggt auf `hostname`." mail $USER 50

51 Allgemeine Form: while-loop Struktur while condition command1 command... done Solange die Bedingung condition wahr ist, wird fortgefahren, die Kommandos des Schleifenkörpers auszuwerten. $ while ping -c 1 titan01 >/dev/null > do > echo 'host alive.' > sleep 5 > done 51

52 select variable in list; do commands done #!/bin/sh select Struktur PS3="Waehlen Sie: " select SEL in "hallo" "quit"; do case $SEL in "hallo") echo "Hello again. (your choice: $SEL)"; ;; "quit") echo "bye! (your choice: $SEL)"; break; ;; *) echo "Hmm, kenne ich nicht!" ;; esac done 52

53 Sechste Aufgabe zum Scheinerwerb Erstellt ein Skript whatsup, welches sich zu allen (aktiven) mond Maschinen am FB per ssh verbindet und zeigt, wer gerade eingeloggt ist. $./whatsup mond01 mond02 mond03 mond04 mond14 mond24 savov : :25 (console) savov pts/ :26 mond25 savov : :26 (console) savov pts/ :27 mond26 53

54 Praktische Übung 54

55 Vorgehensweise: Praktische Übung Extraktion aller mond Rechner am FB aus /etc/hosts grep(1) und sed(1) Optional: Erstellen einer Liste aller aktiven hosts ping(8), grep(1) und cut(1) ssh Konfiguration zum login ohne manuelle Passworteingabe ssh-keygen(1) Iterativer ssh connect zu allen Rechnern inkl. Abfrage des hostname und der eingeloggten user auf der jeweiligen Maschine hostname(1) und who(1) 55

56 Sitzungsabschluss Die nächste Sitzung: Findet statt am von 18:00 bis 19:30 im CIP Pool Wir werden zunächst die sechste Übung vorbereiten. Anschliessend beginnt der Soft Skills Teil des Kurses Folien zum Kurs im LSF bzw. unter: schluesselkompetenzen/ Vielen Dank und bis zum nächsten Mal! 56

Schlüsselkompetenzen. 7. Sitzung im Kurs für Erstsemester des Studiengangs Information Engineering. Alexander Holupirek & Hannes Schwarz WS 08/09

Schlüsselkompetenzen. 7. Sitzung im Kurs für Erstsemester des Studiengangs Information Engineering. Alexander Holupirek & Hannes Schwarz WS 08/09 Schlüsselkompetenzen 7. Sitzung im Kurs für Erstsemester des Studiengangs Information Engineering Alexander Holupirek & Hannes Schwarz WS 08/09 Kursablauf 20.10. Einführungsveranstaltung 27.10. Installation

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

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

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

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

Allgemeines. Shell Programmierung Unix. Kommentar. Vorgangsweise. Mag. Thomas Griesmayer

Allgemeines. Shell Programmierung Unix. Kommentar. Vorgangsweise. Mag. Thomas Griesmayer Allgemeines Shell Programmierung Unix Shell Scripts Unix Ein shell script ist eine Textdatei, welche eine Liste von Befehlen (Standard Unix Befehle) beinhaltet. Diese Datei kann durch Aufrufen ausgeführt

Mehr

Systemverwaltung mittels Skripts

Systemverwaltung mittels Skripts Systemverwaltung mittels Skripts Sept. 2003 M. Rigling 1 / 1 Version 0.2 Inhaltsverzeichnis: Systemverwaltung mittels Skripts...1 Inhaltsverzeichnis:...2 1. Skriptsprachen...3 2. Zur Erstellung von Skripts...3

Mehr

Schlüsselkompetenzen. 5. Sitzung im Kurs für Erstsemester des Studiengangs Information Engineering. Alexander Holupirek & Hannes Schwarz WS 08/09

Schlüsselkompetenzen. 5. Sitzung im Kurs für Erstsemester des Studiengangs Information Engineering. Alexander Holupirek & Hannes Schwarz WS 08/09 Schlüsselkompetenzen 5. Sitzung im Kurs für Erstsemester des Studiengangs Information Engineering Alexander Holupirek & Hannes Schwarz WS 08/09 Die heutige Sitzung Die letzten Sitzungen Einführung in LaTeX

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

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

Vorbemerkung. Allgemeines zu Shell Scripts. Aufruf. Einfaches Beispiel

Vorbemerkung. Allgemeines zu Shell Scripts. Aufruf. Einfaches Beispiel Inhalt: Vorbemerkung...1 Allgemeines zu Shell Scripts...1 Aufruf...1 Einfaches Beispiel...1 Testen eines Shell-Scripts...2 Kommandozeilen-Parameter...2 Prozeßsteuerung...3 Bedingte Ausführung: if...3 Mehrfachentscheidung:

Mehr

Computer & GNU/Linux Einführung Teil 4

Computer & GNU/Linux Einführung Teil 4 Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 4 Simon Haller, Sebastian Stab 1/20 Computer & GNU/Linux Einführung Teil 4 Simon Haller, Sebastian Stabinger, Benjamin Winder Inst. für Informatik

Mehr

Schlüsselkompetenzen. 9. Sitzung im Kurs für Erstsemester des Studiengangs Information Engineering. Alexander Holupirek & Hannes Schwarz WS 08/09

Schlüsselkompetenzen. 9. Sitzung im Kurs für Erstsemester des Studiengangs Information Engineering. Alexander Holupirek & Hannes Schwarz WS 08/09 Schlüsselkompetenzen 9. Sitzung im Kurs für Erstsemester des Studiengangs Information Engineering Alexander Holupirek & Hannes Schwarz WS 08/09 Kursablauf 20.10. Einführungsveranstaltung 27.10. Installation

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

Ü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

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

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

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

UNIX/Linux Lösung. Mär 18, 18 15:34 Seite 1/6

UNIX/Linux Lösung. Mär 18, 18 15:34 Seite 1/6 Mär 18, 18 15:34 Seite 1/6 Aufgabe 1: Erläutern Sie detailliert das nachfolgende Kommando (Einzelbefehle, Optionen, Zusammenspiel) (20 Punkte): cd /usr cd bin Wechsel ins /usr (absolut), dann von dort

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/Linux Lösung. Mär 08, 16 16:11 Seite 1/6

UNIX/Linux Lösung. Mär 08, 16 16:11 Seite 1/6 Mär 08, 16 16:11 Seite 1/6 Aufgabe 1: Erläutern Sie detailliert das nachfolgende Kommando (Einzelbefehle, Optionen, Zusammenspiel) (20 Punkte): cd /usr/bin Wechsel ins Verzeichnis bin in /usr (2) ls d

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

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

Die Shell. Ein Vortrag von Frederik und Michael 1 / 35

Die Shell. Ein Vortrag von Frederik und Michael 1 / 35 Die Shell Ein Vortrag von Frederik und Michael 1 / 35 Die Shell Teil 1 Einleitung Geschichte des Terminals Vergleich von GUI und Konsole Teil 2 Praxis Teil 3 Konzepte und Möglichkeiten der Shell Teil 4

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

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

Unix-Grundkurs 1. Thema heute: Shell-Skripten

Unix-Grundkurs 1. Thema heute: Shell-Skripten Unix-Grundkurs 1 Thema heute: Unix-Grundkurs 2 Ein Shell-Skript ist die Zusammenfassung von Kommandos in einer Textdatei. Diese Textdatei wird wie ein ablaufbares Programm behandelt. Es werden von einer

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

Korn-Shell: Einführung in Shellscripte 1. Übersicht: Einführung 2. Die Kornshell im Detail 3.Grundlagen der Programmierung

Korn-Shell: Einführung in Shellscripte 1. Übersicht: Einführung 2. Die Kornshell im Detail 3.Grundlagen der Programmierung 1. Übersicht: Einführung 2. Die Kornshell im Detail 3.Grundlagen der Programmierung 1. Übersicht und Einführung 1.1 Die Shell allgemein 1.2 Die korn-shell 1.3 Der Weg zum ersten Skript 1.4 Nutzen und Grenzen

Mehr

Vorlesung Unix-Praktikum

Vorlesung Unix-Praktikum 1/2 Vorlesung 6. - und Rechnerbetriebsgruppe Technische Fakultät Universität Bielefeld 23. November 2015 2/2 Willkommen zur sechsten Vorlesung Was gab es beim letzten Mal? Dateiverwaltung Aliase echo und

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

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

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

Vorlesung Unix-Praktikum

Vorlesung Unix-Praktikum 1/3 Vorlesung 5. und Rechnerbetriebsgruppe Technische Fakultät Universität Bielefeld 16. November 2015 2/3 Willkommen zur fünften Vorlesung Was gab es beim letzten Mal? Prozesse Dateiberechtigungen 3/3

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

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

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

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

Fachhochschule Frankfurt am Main Fachbereich 2: Informatik WS 2008/2009

Fachhochschule Frankfurt am Main Fachbereich 2: Informatik WS 2008/2009 Fachhochschule Frankfurt am Main Fachbereich 2: Informatik WS 2008/2009 Teil 5: Unix Shells Dr. Erwin Hoffmann E-Mail: unix@fehcom.de https://www.fehcom.net/unix/ Shell? Standardard-mässig führt Unix nach

Mehr

Shellkurs Shell, SSH, Skripte... Justus Pfannschmidt, Carola Bothe, Samuel Domiks Freie Universität Berlin

Shellkurs Shell, SSH, Skripte... Justus Pfannschmidt, Carola Bothe, Samuel Domiks Freie Universität Berlin Shellkurs Shell, SSH, Skripte... Justus Pfannschmidt, Carola Bothe, Samuel Domiks Freie Universität Berlin 1. November 2018 Inhalt Grundlagen Allgemein Shell-Grundlagen Learning by doing! SSH Shellskript

Mehr

Korn-Shell: Einführung in Shellscripte 1. Übersicht: Einführung - 2. Die Kornshell im Detail - 3.Grundlagen der Programmierung

Korn-Shell: Einführung in Shellscripte 1. Übersicht: Einführung - 2. Die Kornshell im Detail - 3.Grundlagen der Programmierung 1. Übersicht: Einführung - 2. Die Kornshell im Detail - 3.Grundlagen der Programmierung 1. Übersicht und Einführung 1.1 Die Shell allgemein 1.2 Die korn-shell 1.3 Der Weg zum ersten Skript 1.4 Nutzen und

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

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

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

Luis Kornblueh. May 22, 2014

Luis Kornblueh. May 22, 2014 Einführung in die Bash Luis Kornblueh KlosterCluster Team 2013/2014, Klosterschule May 22, 2014 1 / 17 Inhaltsverzeichnis Einführung in das Scripting Einfache Beispiele Kommandos ersetzen Bedingungen Tests

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

Arbeiten mit der Shell Teil 2

Arbeiten mit der Shell Teil 2 Arbeiten mit der Shell Teil 2 Linux-Kurs der Unix-AG Klaus Denker 5. November 2012 cat cat gibt den Inhalt von Dateien aus Wichtige Optionen: -A: nicht darstellbare Zeichen (Tabs, Zeilenumbrüche, etc.)

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

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

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

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

Shell-Programmierung. von Rolf Schmidt für. LUG Frankfurt

Shell-Programmierung. von Rolf Schmidt für. LUG Frankfurt Shell-Programmierung von Rolf Schmidt für LUG Frankfurt Ziel des Vortrags Skripten für Einsteiger Arten der Shell-Programmierung Möglichkeiten der Shell-Programmierung Eigene Skripte erstellen zu können

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

Alles, was man auf der Kommandozeile eingeben kann, kann man auch in einem Skript verwenden. Umgekehrt gilt das gleiche.

Alles, was man auf der Kommandozeile eingeben kann, kann man auch in einem Skript verwenden. Umgekehrt gilt das gleiche. Foliensatz 7 Shell-Programmierung Inhalt Aufbau Shell-Skript Tests Eingabe- und Ausgabebefehle Verzweigungen Schleifen Funktionen Hilfreiche (Bash-)Befehle Shell-Skript Ein Shell-Skript ist einen Textdatei,

Mehr

Arbeiten mit der Shell Teil 2

Arbeiten mit der Shell Teil 2 Arbeiten mit der Shell Teil 2 Linux-Kurs der Unix-AG Zinching Dang 22. November 2016 Übersicht Ausgaben umleiten Wiederholung & Vertiefung Shellbefehle Befehle & Optionen Beispielanwendung zu Pipes Zusammenfassung

Mehr

Arbeiten mit der Shell Teil 2

Arbeiten mit der Shell Teil 2 Arbeiten mit der Shell Teil 2 Linux-Kurs der Unix-AG Zinching Dang 9. Mai 2017 Übersicht Wiederholung & Vertiefung Ausgaben umleiten Shellbefehle Befehle & Optionen Zusammenfassung & Ausblick Beispielanwendung

Mehr

Arbeiten mit der Shell Teil 2

Arbeiten mit der Shell Teil 2 Arbeiten mit der Shell Teil 2 Linux-Kurs der Unix-AG Zinching Dang 22. November 2017 Übersicht Wiederholung & Vertiefung Shellbefehle Ausgaben umleiten Befehle & Optionen Beispielanwendung zu Pipes Zusammenfassung

Mehr

Technische Praxis der Computersysteme 1

Technische Praxis der Computersysteme 1 Technische Praxis der Computersysteme 1 7. Shell-Programmierung Thomas Leitner Fakultät für Mathematik, Universität Wien Wintersemester 2012 Letzte Änderung: 2013-09-20 20:46:08

Mehr

Computer & GNU/Linux Einführung Teil 2. Simon Haller iis.uibk.ac.at

Computer & GNU/Linux Einführung Teil 2. Simon Haller iis.uibk.ac.at Computer & GNU/Linux Einführung Teil 2 Simon Haller iis.uibk.ac.at Wichtige Kommandos echo (Anzeigen einer Textzeile) Optionen: -n keine neue Zeile -e aktiviert \ Optionen: \ n neue Zeile \ t horizontaler

Mehr

SHELL WE BEGIN? EINE EINFÜHRUNG IN DIE SHELL. Max Rosin - ANKÜNDIGUNGEN

SHELL WE BEGIN? EINE EINFÜHRUNG IN DIE SHELL. Max Rosin - ANKÜNDIGUNGEN SHELL WE BEGIN? EINE EINFÜHRUNG IN DIE SHELL Max Rosin - mrosin@freitagsrunde.org ANKÜNDIGUNGEN lists.freitagsrunde.org/mailman/listinfo/fopen freitagsrunde.org/techtalks 1 WAS MACHEN WIR HEUTE? Was ist

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

FH Frankfurt am Main WS 2007/2008. Unix-Praktikum

FH Frankfurt am Main WS 2007/2008. Unix-Praktikum FH Frankfurt am Main WS 2007/2008 Fachbereich 2 UNIX-Praktikum Studiengang Informatik Dr. Joachim Schneider Übungsblatt 9 Unix-Praktikum Lernziele: Kontroll-Strukturen in Shells, Shellskripte Shellskripte

Mehr

ZWEITE ÜBUNG ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN LEONIE WEIßWEILER

ZWEITE ÜBUNG ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN LEONIE WEIßWEILER ZWEITE ÜBUNG ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN ABSTIMMEN! https://abstimmung.semesterticket-muenchen.de/ WIEDERHOLUNG - VARIABLEN WIEDERHOLUNG - VARIABLEN Clemens = Simone Simone

Mehr

Übung 2 - Betriebssysteme I

Übung 2 - Betriebssysteme I Prof. Dr. Th. Letschert FB MNI 22. März 2002 Aufgabe 1 Übung 2 - Betriebssysteme I 1. Informieren Sie sich mit Hilfe der Manualseiten, der Online Unterlagen von Dr. Jäger oder anderer Unterlagen über Unix

Mehr

Grundlagen der Shellskript-Programmierung

Grundlagen der Shellskript-Programmierung Oliver Kreipl, Dorian Karnbaum, Marc Remolt Grundlagen der Shellskript-Programmierung Ein Webmasters Press Lernbuch Version 1.0.1 vom 3.6.016 Autorisiertes Curriculum für das Webmasters Europe Ausbildungs-

Mehr

UNIX Shell-Programmierung

UNIX Shell-Programmierung UNIX Shell-Programmierung Bearbeitet von Rainer Krienke 2. Auflage 2001. Taschenbuch. XII, 275 S. Paperback ISBN 978 3 446 21722 5 Format (B x L): 14 x 21,1 cm Gewicht: 401 g Zu Leseprobe schnell und portofrei

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

Sep 25, 18 8:36 UNIX/Linux Lösung

Sep 25, 18 8:36 UNIX/Linux Lösung Sep 25, 18 8:36 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

Ü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

Vorsemesterkurs Informatik Sommersemester Aufgabenblatt Nr. 1B

Vorsemesterkurs Informatik Sommersemester Aufgabenblatt Nr. 1B Fachbereich Informatik und Mathematik Institut für Informatik Vorsemesterkurs Informatik Sommersemester 209 Aufgabenblatt Nr. B Aufgabe (Verzeichnisse) a) Finden Sie heraus, wie Ihr Homeverzeichnis auf

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

GNU/Linux Introduction Part 3. Simon M. Haller, Sebastian Stabinger iis.uibk.ac.at

GNU/Linux Introduction Part 3. Simon M. Haller, Sebastian Stabinger iis.uibk.ac.at GNU/Linux Introduction Part 3 Simon M. Haller, Sebastian Stabinger iis.uibk.ac.at Elementares Pipes (Weiterleitungen) Die Shell kann die Ausgabe eines Kommandos als Eingabe für ein weiteres verwenden.

Mehr

shell variable HOWTO.txt

shell variable HOWTO.txt HOWTO zu Shell und Umgebungs/Environment Variablen (C) 2006 2017 T.Birnthaler/H.Gottschalk OSTC Open Source Training and Consulting GmbH http://www.ostc.de $Id:,v 1.17 2017/09/11 22:59:53

Mehr

Shellprogrammierung. Einführung in Linux. Antonia Blanke. Shellprogrammierung Die Linux Shell Besondere Zeichen Pipes Variablen Bedingungen und Tests

Shellprogrammierung. Einführung in Linux. Antonia Blanke. Shellprogrammierung Die Linux Shell Besondere Zeichen Pipes Variablen Bedingungen und Tests Einführung in Linux Antonia Blanke Einstieg in Warum? Wann ist ein Shellskript ungeeignet? Die Shell ist ein Kommandointerpreter Neben ihrer Aufgabe als Schicht zwischen Kernel und Nutzer kann sie auch

Mehr

Es können mehrere Kommandos in der Kommandozeile eingegeben werden Kommandoverkettung.

Es können mehrere Kommandos in der Kommandozeile eingegeben werden Kommandoverkettung. Linux - Die Kommandozeile. - 1 / 5-1. Die Kommandozeile. 1.1 Zeilenfortsetzung. Eine Zeile kann weiter fortgesetzt werden, wenn der Return Tastendruck mit dem Backslash maskiert wird und wird oft benutzt,

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

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

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

Betriebssysteme I WS 2016/17. Prof. Dr. Dirk Müller. 5 Shell-Programmierung

Betriebssysteme I WS 2016/17. Prof. Dr. Dirk Müller. 5 Shell-Programmierung Betriebssysteme I 5 Shell-Programmierung WS 2016/17 Prof. Dr. Dirk Müller WS 2016/17 2/20 Motivation Shell-Skript Variablen und Parameter Quoting vordefinierte Variablen Parameterübergabe Kontrollstrukturen

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

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Programming 101. Carl Herrmann IPMB & DKFZ

Programming 101. Carl Herrmann IPMB & DKFZ Programming 101 Carl Herrmann IPMB & DKFZ Programmieren Kommandozeile Einfache Befehle Shell Skript aneinanderketten von Befehlen Schleifen Programmiersprache Komplexere Aufgaben Gemeinsamkeiten Alle Programmiersprachen

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

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

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

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

UNIX Shell-Programmierung

UNIX Shell-Programmierung UNIX Shell-Programmierung Bearbeitet von Rainer Krienke 2. Auflage 2001. Taschenbuch. XII, 275 S. Paperback ISBN 978 3 446 21722 5 Format (B x L): 14 x 21,1 cm Gewicht: 401 g Zu Inhaltsverzeichnis schnell

Mehr

Linux Tutorium. 12. Shellprogrammierung. Version vom 02.07.2008 13:38:56

Linux Tutorium. 12. Shellprogrammierung. Version vom 02.07.2008 13:38:56 Linux Tutorium 12. Shellprogrammierung Version vom 02.07.2008 13:38:56 im Grunde ist ein Shell-Skript nichts anderes als eine Textdatei, welche Befehlsfolgen enthält Shell-Skripte werden im Wesentlichen

Mehr

Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe

Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe Prof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 26. August 2009 1/17 Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe Prof. G. Kemnitz

Mehr

105.1 Shell, Scripting

105.1 Shell, Scripting LPI Zertifizierung 105.1 Shell, 105.2 Scripting Copyright ( ) 2006-2009 by Dr. W. Kicherer. This work is licensed under the Creative Commons Attribution- Noncommercial-Share Alike 2.0 Germany License.

Mehr

Zugriffsrechte. anzeigen lassen mit dem Befehl: ls -l

Zugriffsrechte. anzeigen lassen mit dem Befehl: ls -l Zugriffsrechte anzeigen lassen mit dem Befehl: ls -l ls wird verwendet, um Informationen über die Zugriffsrechte (und mehr) von Dateien und Verzeichnissen anzuzeigen. Wenn es mit der Option "-l" aufgerufen

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

Programmierwerkzeuge unter Unix

Programmierwerkzeuge unter Unix Programmierwerkzeuge unter Unix Tutorium der Unix AG Jean Marie Gaillourdet Christian Schmidt Mathias Dalheimer www.unix ag.uni kl.de 1 Agenda Keine IDE am Anfang benutzen! Stattdessen: Die Shell als Grundlage

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

Dateisystem 2, RegEx, Manpages

Dateisystem 2, RegEx, Manpages Dateisystem 2, RegEx, Manpages Linux-Kurs der Unix-AG Andreas Teuchert 10. Dezember 2012 Manpages Dokumentation zu Programmen, speziellen Dateien, etc. steht in Manpages Aufruf mit man Manpage

Mehr