Vorlesung Unix-Praktikum

Ähnliche Dokumente
Wiederholung: Prozesse

Skripte. Beispiel. M. Fyta Computergrundlagen 73/93

Arbeiten in der Unix-Kommandozeile. PeP et al. Toolbox Workshop

Übung 4: Schreiben eines Shell-Skripts

Technische Praxis der Computersysteme I 3. Vorlesung

Linux Prinzipien und Programmierung

Übung: Entwickeln eines Shell-Skripts

Einführung in die Angewandte Bioinformatik

Linux - a bit advanced

Wiederholung und Vertiefung. Programmieren in C. Pointer und so... thoto. /dev/tal e.v. 6. April 2013 (Version vom 11. April 2013) Programmieren in C

Einführung Unix Shell

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

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

Aufgabensammlung IT Shellprogrammierung Teil I

Praktikum RO1 Einführung Linux / Ubuntu / Bash

Informatik I - Einstiegskurs

cs106 Informatiklabor Teil 1: Java-Installation

Vorkurs Linux Grundlagen

Material zum Grundlagenpraktikum ITS. eine kleine Linux-Befehlsreferenz. Stand: Oktober 2007 zusammengestellt von: Cornelia Menzel Version 1.

Die Architektur von UNIX/Linux- Betriebssystemen. Mag. Lukas Feiler, SSCP

Desktop ade: Me and my shell

(Unix) Shell Programmierung

Terminal & Shell-Skripte

Arbeiten mit Linux und an der Kommandozeile

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

Exkurs: Unix Programme

Betriebssysteme UNIX/Linux Übungsthema 1 Einführung in UNIX/Linux. Dirk Wenzel Dr. Jörg Gruner

LINUX Gesamtmitschrift

Linux-Befehlsreferenz

L A TEX, Linux, Python

Shell-Programmierung

Tutorium 1 Systemadministration 2 - Linux Universität Hildesheim

Python Installation. 1 Vorbereitung. 1.1 Download. Diese Anleitung ist für Windows ausgelegt.

BASH Handout Vorlesungsbegleitend Version

Der zweite all unsere Datenbanken. Dieser Befehl ist etwas komplexer, aber bis auf das Passwort (kursiv fett) so zu übernehmen:

Grundlagen der Informatik für Ingenieure I

Einführung in die Kommandozeile

Befehl Beispiel Beschreibung An- und Abmelden: es geht aber auch einfach: reboot. es geht aber auch einfach. halt. Strg + l (kleines L) mkdir --help

Praktikum: Dynamische Webseiten

Installation von CVS mit sicherer Datenübertragung nach dem SSH-Protokoll unter Windows (Version 2.0)

Patrick Ditchen 4. Auflage. Shell-Skript Programmierung. Inklusive CD-ROM

Übung 1: Wichtige Kommandos unter Linux

1) JAVA JRE auf der QNAP Box installieren

Computer & GNU/Linux Einführung Teil 3

Einführung in das Arbeiten an Unix-Rechnern

Lösungen zum UNIX/LINUX- Kompakt-Kurs

Literatur. Einführung in Unix. Login. Passwort. Mag. Thomas Griesmayer. Benutzererkennung und Passwort Case-Sensitiv Prompt

Windows PowerShell. CmdLets. PipeLine / Filter. Variablen / Operatoren. Schleifen / Prüfmethoden. Funktionen / Skripte. Allgegenwärtige Parameter

Shell Scripts, Zeit-Diebe und Who Is Who

UNIX/Linux Lösung. Okt 12, 13 13:57 Seite 1/6. Pipe (was ist das?, wo kommt es vor?, Beispiel?): Datenverbindung zwischen 2 Prozessen(Kommandos)

Unix Shell und einige Tools

Shell-Programmierung fur Unix und Linux

Dieses Skript finden Sie auch auf dem castor (CIP-Pool) auf /software/meteo/numerikuebungen/skript_1.pdf. FORmula TRANslater FORTRAN 77

Linux Geschichte. Linux Bootvorgang. Linux. UNIX-Stammbaum. Runlevel. Seite 1 von 18

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr.

Arbeiten mit der Shell Teil 1

Kommandozeilen effizient nutzen und verstehen

Arbeiten mit der Shell Teil 1

Vorkurs Linux Grundlagen

Kleines Tutorial für die Nutzung des bwuniclusters. Sven Wehner Angela Cho

KURZANLEITUNG DUPLICITY MIT CLOUD OBJECT STORAGE

Linux Kurs Vorlesung 2 - Terminal

Betriebssysteme Grundlagen, Konzepte

Luis Kornblueh. May 22, 2014

GDI-Knoppix Erste Schritte. Werner Siedenburg werner.siedenburg@student.fh-nuernberg.de Stand:

DSLinux Skriptbasierte Inventarisierung für Linux

Übung zur Vorlesung Strukturiertes Programmieren WS 2014/15. Übungsblatt 1: JAVA - Erste Schritte Abgabe: Besprechung:

Dateien und Verzeichnisse

Technische Praxis der Computersysteme

Wichtige UNIX Kommandos

Grundlegende Kommandos unter UNIX / LINUX

Grundlagen der Verwendung von make

Anleitung: Webspace-Einrichtung

Perforce Installation mit SSL

Ihr Heimatverzeichnis. Die Ausgangsverzeichnisse für die neu zu erstellenden Verzeichnisse sind folgender Tabelle zu entnehmen:

Übung: Kennenlernen der Linux-Benutzeroberfläche

Debian GNU/Linux. Unix Grundlagen und Betrieb. Christian T. Steigies

FTP. Backup. noch ein paar Skripte Kylix-Installation. freischalten automatischer Upload Windows-Client. Archivieren Mirror-Verfahren Clonen

Computernutzung für Experimentalphysiker Frei progammierbare Rechner als Werkzeuge in der Experimentalphysik Teil 2

Übungspaket 2 Erste Kontakte mit dem PC

Installation von MySQL

# echo echo "Step 1 Inaktives RAM ermitteln"

Eprog Starthilfe. 5. Oktober Einleitung 2

Linux Grundlagen. Wolfgang Scheicher 20. Mai Allgemeines Bootvorgang Verzeichnisstruktur... 2

LINUX-EINSATZMÖGLICHKEITEN... 2 INIT - RUNLEVELS... 2 MODULE... 2 BENUTZER UND GRUPPEN... 3 DATEIEN UND VERZEICHNISSE... 4 RECHTE... 4 NETZWERK...

Eine kleine Makefile Einführung

Internationalisierung von Webseiten mit PHP und gettext. Christoph Thielecke - u15119@hs-harz.de

3. Modul: I/O-Umleitung, Pipes, Prozesse, Netzwerk, X11

Perlkurs WS 14/15 - Einführung

git Änderungen verwalten mit git

Linux das bessere Windows?

Um Batch programmieren zu lernen, gibt es sicherlich viele Möglichkeiten, doch der Einstieg ist schnell geschafft

Installation eines Orgamax-Servers in Linux mit CentOS 7

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Buildsysteme

Literatur. Einführung in Unix. Login. Passwort. Mag. Thomas Griesmayer. Benutzererkennung und Passwort Case-Sensitiv Prompt

LAMP HowTo (Linux Apache MySQL PHP) Zugriff per SSH auf den Server. Servername: gyko.no-ip.info (Lokal: )

Westfälische Wilhelms-Universität Münster. Unix power-tools. living knowledge WWUMünster

Teil 55 - Grundlagen: Programme starten

Kommandos im Unix-Grundkurs Digicomp-UXE. Inhalt

Transkript:

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 Willkommen zur fünften Vorlesung Was machen wir heute?

4/3 suchen find (find files and directories) Startverzeichnis > find. name zwei.txt./verzeichnis/zwei.txt./zwei.txt > find. name "*.jpg./fotos/img_1938.jpg./fotos/img_1939.jpg usw. " sonst sucht die Shell im aktuellen Verzeichnis nach *.jpg und setzt deren Namen hier ein!

5/3 Exkurs: Funktion der Kommandozeile verstehen ist der Druck/Ausgabebefehl der Kommandozeile : text on command line > hallo hallo > eins zwei drei eins zwei drei

6/3 Exkurs: Funktion der Kommandozeile verstehen zum Untersuchen von Aufrufen Nützlicher Seiteneffekt: zeigt, wie Befehle ihre Argumente sehen : > gibt seine aus gibt seine aus > find. -name *.jpg find. -name bild.jpg > find. -name "*.jpg" find. -name *.jpg

7/3 Motivation alias: Ein Programm unter einem anderen Namen verwenden Motivation: Immer ls -l tippen ist lästig > alias ll="ls -l" > ll ls -l wird als neuer Befehl mit dem Namen ll definiert in Zukunft kann man einfach ll tippen

8/3 Genauere Betrachtung > alias s2="sort k 2 n" > s2 planeten.txt Shell ersetzt linke Seite der Gleichung (s2) durch rechte Seite (sort -k 2 -n) alias kann weitere Aufrufwerte haben (planeten.txt)

9/3 Permanente Speicherung Empfehlung: alle Änderungen für die bash in einer neuen Datei Datei: /.bash aliases Inhalt: Umgebungsvariablen Shell-Funktionen

10/3.bash aliases Datei.bash aliases mit Editor erzeugen Inhalt der Datei überprüfen: > cat ~/.bash_aliases alias ll="ls -la" alias s2="sort -k 2 -n" Datei testweise manuell in die bash laden: >. ~/.bash_aliases > ll

11/3 beim Anmelden automatisch laden.bashrc: bash resources - Konfigurationsdatei wird beim Starten der Kommandozeile ausgeführt was Ihr in die.bashrc hineinschreibt gilt als hättet Ihr es direkt eingegeben Vorsicht: Vermurkste.bashrc Account funktioniert nicht mehr!

12/3 beim Anmelden automatisch laden Einmalige Hinzufügung am Ende der.bashrc: if [ -r ~/.bash_aliases ]; then. ~/.bash_aliases fi Vorsichtsmaßnahmen: cp.bashrc.bashrc-alt vor der Änderung Änderungen durch Öffnen eines neuen Fensters testen Editor erst schließen, wenn Änderungen funktionieren Erst abmelden, wenn Änderungen funktionieren Account rücksetzen: siehe Folie 14, Vorlesung 2

13/3 Grenzen von n nur für einzelne Befehle/Pipes praktikabel nur ein variabler Eingabewert/-datei pro Alias Gegenbeispiel: head -2 planeten2.txt; tail -n +3 planeten2.txt so Eingabewert/-datei muß am Ende stehen Programmiermöglichkeiten sehr eingeschränkt (Nutzung von Variablen, Fallunterscheidungen, Schleifen)

14/3 Wdh: Aufgaben der Kommandozeile 1. Programm ausführen 2. Programme zu mächtigeren Werkzeugen kombinieren (siehe Foto-Beispiel und Pipes!) 3. Kommandozeilen-Skripte 1) und 2) abstrahieren und in Datei wiederverwenden statt erneut eintippen

15/3 Shell-Skripte Aufbau Prinzipieller Aufbau eines Shell-Skriptes Textdatei mit folgendem Inhalt: #!/bin/bash Hallo ich bin ein Shellskript Shell zum Ausführen des Skriptes Aufrufe, wie Ihr sie auch direkt eintippen würdet

16/3 Shell-Skripte Aufrufmöglichkeiten 1. Möglichkeit: via source-mechanismus > source skript.bash >. skript.bash 2. Möglichkeit: via Ausführbarkeits-Bit > chmod u+x skript.bash >./skript.bash

17/3 Shell-Skripte Quellen für Programme und Skripte Shell-Skripte verhalten sich wie echte Programme warum dann >./skript.bash und nicht einfach > skript.bash? Die Shell hat folgende Quellen für Programme: direkt angegebene Pfade (z.b../) voreingestellte Suchpfade

18/3 Shell-Skripte Suchpfade erweitern Idee: spezielles Verzeichnis für Skripte einrichten > mkdir shell-skripte > mv skript.bash shell-skripte und in der Datei.bash aliases den Suchpfad erweitern: > PATH=:~/shell skripte alte Suchpfadkomponenten neue Suchpfad komponente >. /.bash aliases > skript.bash (und ausprobieren)

19/3 Shell-Skripte Suchpfade erweitern Vorsicht: vermurkster Suchpfad alle Programme weg (Programme sind noch da, aber die Shell findet sie nicht mehr) > PATH= :~/shell skripte Erste Hilfe: absolute Pfade benutzen, z.b. > /bin/ls > /usr/bin/emacs ~/.bash_aliases nicht vergessen (beliebte Falle ; )

20/3 Shell-Skripte Keine Sicherheitslücken aufmachen! Bitte nicht nachmachen: den Punkt. in den Suchpfad aufnehmen, also PATH=.: oder PATH=:. Im Verzeichnis /tmp gebe es folgendes Skript: #!/bin/bash rm -rf /* # löscht das Benutzerverzeichnis und zwar mit dem Namen ls. Würdet Ihr dort./ls aufrufen? Nein? Dann nehmt auch. nicht in Euren Suchpfad auf!

21/3 Shell-Skripte übergabe Beispiel zur Übergabe von n: #!/bin/bash "Erstes : $1" "Zweites: $2" "Drittes: $3" "Anzahl : $#" "Alle : $*"

22/3 Shell-Skripte Beispiel Zur Erinnerung an Vorlesung 3: > head 2 planeten2.txt; tail n +3 planeten2.txt sort $1 Abstrahieren und zusammenfassen: #!/bin/bash head -2 $1 ; tail -n +3 $1 sort > hsort.bash planeten2.txt

23/3 Shell-Skripte zu sortierende Spalte mit angeben #!/bin/bash head -2 $1 ; tail -n +3 $1 sort -k $2 -n > hsort2.bash planeten2.txt 2

24/3 Shell-Skripte genauer angesehen : text on command line ist der Druck/Ausgabebefehl der Kommandozeile > " gibt seine aus" gibt seine aus > gibt seine aus gibt seine aus

25/3 Shell-Skripte Nützliche Eigenschaften von -n: unterdrückt Zeilenvorschub Ausgabezeile mit mehreren -Befehlen erzeugen (nur sinnvoll innerhalb von Skripten) #!/bin/bash -n Mehrere Echo-Befehle -n bauen eine Zeile auf >./test.bash Mehrere Echo-Befehle bauen eine Zeile auf

26/3 Shell-Skripte gibt Variablen aus > /usr/local/bin:/usr/bin:/bin > "Mein login ist $USERNAME" Mein login ist cg

27/3 Shell-Skripte als Anfang einer Pipe > "Linux" wc -m 6 > -n "Linux" wc -m 5 (wc -m: Zählt die Buchstaben)

28/3 Shell-Skripte in Eingaben umwandeln In Shell-Skripten: #!/bin/bash wc -m $1 # Fall A $1 wc -m # Fall B >./skript.bash hallo Was ist der Unterschied zwischen Fall A und Fall B? Fall A: wc zählt Zeichen in der Datei hallo Fall B: wc zählt Zeichen im ersten (hier hallo )

29/3 Shell-Skripte Ergebnisse von Programmaufrufen ausgeben $(...Aufruf...): liefert Ausgabe des Aufrufs Beispiel (date gibt Datum aus): > date "+%d. %B %Y" 11. November 2011 > "Log vom $(date "+%d. %B %Y") für $USERNAME: Log vom 11. November 2011 für cg: Es geht beliebig komplex (mit Pipes): > "Die Sonne hat $(tail -n +3 planeten2.txt wc -l) Planeten." Die Sonne hat 8 Planeten.

30/3 Shell-Skripte grep: Suchtext am Zeilenanfang/-ende verankern ˆtext text muß am Zeilenanfang stehen text$ text muß am Zeilenende stehen > grep Text text.txt Der Text steht in der Mitte Text muß am Anfang stehen Am Ende steht der Text > grep "^Text" text.txt Text muß am Anfang stehen > grep "Text$" text.txt Am Ende steht der Text

31/3 Nächste Woche machen wir... Fallunterscheidungen for- und while-schleifen weitere Tools (z.b. sed, basename) komplexere Anwendungen

32/3 Ende der heutigen Vorlesung Vielen Dank fürs Zuhören! Bis nächste Woche!