Alle Studiengänge

 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm

 Hochschule Harz

 FB Automatisierung und Informatik

 [email protected]

 http://www.miwilhelm.de

 Raum 2.202

 Tel. 03943 / 659 338

FB Automatisierung und Informatik: Linux Inhalt

1. Einführung, Literatur, Begriffe 2. Installation 3. Konsolen-Befehle, , Manual 4. Komplexe Befehle (grep, find, tar, sed, cron, netcat) 5. C-Programmierung (C, IO, Thread, make) 6. Python (Sprache) 7. Python (GUI)

FB Automatisierung und Informatik: Linux 2 Literatur

 Alexander Mayer , Shell-Programmierung in Unix; Computer & Literatur, ISBN 3-932311-78-7  Linux: Das umfassende Handbuch , 2015, Michael Kofler, 1435 Seiten, ISBN-10: 383623775X  Linux-Kommandoreferenz: Shell-Befehle von A bis Z, Michael Kofler, ISBN-10: 3836225956  Linux-Server: Das umfassende Handbuch, Dirk Deimeke, Charly Kühnast, ISBN-10: 3836230208

 Shell-Programmierung: Das umfassende Handbuch , Jürgen Wolf, Stefan Kania, ISBN-10: 3836223104

FB Automatisierung und Informatik: Linux Literatur

 LINUX – DAS UMFASSENDE HANDBUCH, 2015 14. Auflage ISBN: 978-3-8362-3775-8

 Linux verstehen und anwenden , Kai Petzke ISBN 3-446-21166-7

 Bash Programmierung , Christian Graiger ISBN 978-3-939084-30-3

FB Automatisierung und Informatik: Linux 4 Das Betriebssystem UNIX

 Historische Entwicklung  Schichtenmodell von UNIX  Logisches Dateisystem  Physisches Dateisystem  Gerätedateien  Die UNIX-Kommandos als Filter

FB Automatisierung und Informatik: Linux 5 Historische Entwicklung

Bis 1969 wurden die EDV-Systeme im Batch-Betrieb gefahren  Programm mit Lochkarten entwickeln  Abgabe  Programm durch den Operator  Ausdruck

FB Automatisierung und Informatik: Linux 6 Das Betriebssystem UNIX

Ziel der Entwicklung:

 Multiuser System  Multitask System  Entwicklung im Team und im Dialog  Workstation vs. Großrechner  hohe Funktionalität  strukturelle Einfachheit / Transparenz  leichte Bedienbarkeit  Unix ist von Programmierern für Programmierer

FB Automatisierung und Informatik: Linux 7 Geschichte:

 1969 von Ken Tompson bei Bell Laboratories für die interaktive Programmentwicklung entwickelt worden (Assembler PDP 7).  Tompson entwickelt die Sprache B, Dennis Ritchie entwickelt C;  1971 wurde UNIX in C auf eine PDP 11 portiert  Bis Ende der 70er Verbreitung durch akademische Institutionen mit Quellcode. Versionen nach Berkely oder AT&T wurden 1991 zu einer Version zusammengeführt: System V, Release 4 (SVR4)  aber: XENIX (Microsoft), SINIX, HP/UX, AIX, SCO Unix, Minix habe eigene Bedeutung. Neueste Entwicklung ist LINUX.  ca. 400 Programme gehören zum Umfang von UNIX  Kein Entwicklungsauftrag  Vertrieb an Hochschulen  Kern des Unix-Systems ca. 20,000 Zeilen, heute 14 Mill.  Davon 2000 Zeilen Assembler

FB Automatisierung und Informatik: Linux 8 Schichtenmodell von Unix:

Zugriffe zwischen den Schichten über Schnitt- stellen

Shell als  Kommandointerpreter  Programmiersprache

FB Automatisierung und Informatik: Linux 9 Unixbegriffe

 Daemon: Disk and Execution Monitor  Root: Unix Systemadministrator  Shell: Programm zur Entgegennahme von Befehlen  Pipes Datentransfer zwischen Prozessen (FIFO)  Konsole: Fenster mit Texteingabe  tar / gz : Komprimierungsdatei  vi / Emacs, pico, nano, sed: Unix-Editoren  X-Windows, KDE, Gnome: Linux-Oberflächen  ubunto, , : Linux-Derivate  Mint: Linux-Derivate  , Suse, Red Hat: Linux-Derivate  Yellow Dog: Linux-Derivate

FB Automatisierung und Informatik: Linux 10 Konsole vs. Shells

 Kommandos werden in einem Konsolenfenster eingegeben

 Die Kommandos werden dann von einer Shell ausgewertet  Einige Kommandos in den Shells implementiert. − Diese Kommandos heißen auch interne Shellbefehle. − Der Grund ist bessere Performance.

FB Automatisierung und Informatik: Linux 11 Unix-Linux-Stammbaum:

FB Automatisierung und Informatik: Linux 12 Linux-Stammbaum: besser http://www.levenez.com/unix/unix.pdf

Quelle: http://www.fixmbr.de/der-linux-stammbaum/

FB Automatisierung und Informatik: Linux 13 Linux-Aufbau

 Linux besteht im Kern nur aus den Betriebskomponenten

 Die Shells, Bash, k, c-Shell, gehören nicht zum BS

 Auch die Oberflächen gehören nicht zum BS

 Die Oberflächen können auch zur Laufzeit gewechselt werden.

 Die Linuxderivate haben unterschiedliche Laufzeiten

− Normale Version ca. 6 Monate bis 1 Jahr

− LongTerm Support (LTS)

− Red Hat bis zu 10 Jahre

− Ubuntu ca. 5 Jahre

FB Automatisierung und Informatik: Linux 14 Linux-Derivate: Oberflächen

 Gnome: Debian, Fedora und allen Enterprise.Distr.

 für Ubuntu, Ableger von Gnome, aktueller Standard

 KDE viele Optionsmöglichkeiten, unübersichtlich

 für leistungsschwache Rechner

 LXDE für leistungsschwache Rechner



 Pantheon Für Elementary OS, Bildet OS X nach

 Ubuntu mit E17, sparsam, effektvoll

FB Automatisierung und Informatik: Linux 15 Ubuntu-Versionen

■ Ubuntu mit GNOME als grafische Oberfläche oder als Server-Variante ohne grafische Oberfläche

■ Kubuntu - mit KDE als Desktopumgebung

- mit dem schlanken Xfce als grafischer Oberfläche - besonders für ältere Rechner geeignet.

- eine speziell angepasste Version für Schulen, mehr im Artikel Edubuntu.

- Optimierte Ubuntu-Version für Multimedia- Produzenten, siehe Ubuntu Studio für Details.

FB Automatisierung und Informatik: Linux 16 Ubuntu-Versionen 3

- Sämtliche Komponenten dieser Version von Ubuntu stehen unter freien Lizenzen. Dies bedeutet jedoch auch, dass Hardware, die propritäre Treiber oder Firmware benötigt nicht funktionieren wird.

■ Ubuntu Server - Speziell für Server optimiert. Es wird keine graphische Oberfläche installiert. Serverdienste können bei der Installation ausgewählt werden.

■ Ubuntu JeOs - Spezielle Version um Ubuntu als virtuelle Appliance in einer virtuellen Maschine zu betreiben. Weitere Informationen findet man in den Release Notes von JeOs.

FB Automatisierung und Informatik: Linux 17 Ubuntu-Versionen

■ Mint − KDE Oberfläche − Xfce Oberfläche − Chinnamon Oberfläche Mutlimedia Programme − Mate

■ Elementary OS – kanadische Linux-Distribution auf Basis von Ubuntu,à la OS X

FB Automatisierung und Informatik: Linux 18 Linux-Derivate:

 CentOS

− (Community Enterprise OS, Basis Red Hat)



− basiert auf Debian

 Debian

− Stabil, aber “veraltete” Treiber

 (Gentoo)

− Update werden auf dem Rechner compiliert, (Portage)

− Media-Center XBMC, (Core, Xfce, LXDE, Enlightnement)

FB Automatisierung und Informatik: Linux 19 Linux-Derivate:

 Red Hat Enterprise

− Servervariante stark, Desktop für Entwickler, nicht kostenlos

 Fedora

− Aus Red Hat, nur freie Programme

− Gnome, KDE, LXDE, Xfce

− Nicht unbedingt für Laien

 Gentoo

− Zielgruppe Entwickler und Netzwerkspezialisten

 Arch

− Fortgeschrittener Anwender

FB Automatisierung und Informatik: Linux 20 Linux-Derivate:

 Open Suse

− Benutzerfreundlichkeit, YAST (Yet another Setup Tool)

− Anwenderfreundlich



− Sehr schnell und klein

 Ultimate Linux Gamer

− Vorinstalliertes PlayOnLInux (Wine), auch Live-CD

FB Automatisierung und Informatik: Linux 21 Linux-Derivate:

 GParted

− Live-Linux  Knoppix

− Live-Linux

FB Automatisierung und Informatik: Linux 22 Ubuntu

FB Automatisierung und Informatik: Linux 23 FB Automatisierung und Informatik: Linux 24 FB Automatisierung und Informatik: Linux 25 FB Automatisierung und Informatik: Linux 26 FB Automatisierung und Informatik: Linux 27 FB Automatisierung und Informatik: Linux 28 FB Automatisierung und Informatik: Linux 29 FB Automatisierung und Informatik: Linux 30 Oberfläche GNOME

FB Automatisierung und Informatik: Linux 31 Oberfläche KDE

FB Automatisierung und Informatik: Linux 32 Logisches Dateisystem

Das Dateisystem unter Linux besitzt einen baumähnlichen Aufbau

5 Komponenten:

 Normale Dateien: entspricht den üblichen Dateien  Gerätedateien: Verweise zu E/A-Geräten  Verzeichnisse: speichert Dateien und Verzeichnisse  Benannte Pipes Datentransfer zwischen Prozessen (FIFO)  Symbolische Links: Mehrere Verweise auf eine phys. Datei

FB Automatisierung und Informatik: Linux 33 Dateibaum

Wurzel des Dateibaumes ist das „Root“ (/)  Jeder Namen besteht aus 14 bzw. 255 Zeichen  Unterscheidung zwischen Groß- und Kleinschreibung  Es gibt nur einen Dateibaum  Es gibt keine Laufwerke  Festplatten sind in /dev eingetragen und werden mit dem mount-Befehl im Verzeichnis /mnt oder /media eingetragen

Mount eines USB-Sticks mittels Namens: ■ Anlegen des USB-Verzeichnisses, mkdir /mnt/usb1 ■ mount -t vfat /mnt/usb1 -L BUFF_E BUFF_E=Name unmount mittels Verzeichnis: ■ umount /mnt/usb1

FB Automatisierung und Informatik: Linux 34 Verzeichnisbaum

FB Automatisierung und Informatik: Linux 35 Verzeichnisse : root oberstes Verzeichnis bin Standardbefehle, /usr/bin, Bibliotheken sbin Systembefehle, Admin, Bibliotheken usr User (veraltet), beinhaltet weitere Kommandos etc Verwaltungsdateien home Nutzer var Spool Verzeichnis, Unix-Derivat, variable Dateien opt KDE Bereich prog Aktuelle Session boot Systemstart Infos dev Treiber für Laufwerke, Grafik, SCSI, Geräte temp temporäre Dateien lib Bibliotheken mnt Zugriff auf die Geräte media Zugriff auf die Geräte

FB Automatisierung und Informatik: Linux 36 www.cygwin.com

FB Automatisierung und Informatik: Linux 37 cygwin :

FB Automatisierung und Informatik: Linux 38 cygwin :

FB Automatisierung und Informatik: Linux 39 cygwin :

FB Automatisierung und Informatik: Linux 40 cygwin :

FB Automatisierung und Informatik: Linux 41 cygwin :

FB Automatisierung und Informatik: Linux 42 cygwin :

FB Automatisierung und Informatik: Linux 43 cygwin :

FB Automatisierung und Informatik: Linux 44 FB Automatisierung und Informatik: Linux 45 cygwin Optionen:

Editoren Shells System • ed • bash • ping • fzf-vim • zsh • gvim • fzf-bash • hexedit • mksh Kornshell • joe • nano • vom

FB Automatisierung und Informatik: Linux 46