Linux Alle Studiengänge
Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm
Hochschule Harz
FB Automatisierung und Informatik
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, Shell, 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, Ubuntu 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, kubuntu, Knoppix : Linux-Derivate Mint: Linux-Derivate Debian, 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.
Unity für Ubuntu, Ableger von Gnome, aktueller Standard
KDE viele Optionsmöglichkeiten, unübersichtlich
Xfce für leistungsschwache Rechner
LXDE für leistungsschwache Rechner
Pantheon Für Elementary OS, Bildet OS X nach
Bodhi Linux Ubuntu mit Enlightenment 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
■ Xubuntu - mit dem schlanken Xfce als grafischer Oberfläche - besonders für ältere Rechner geeignet.
■ Edubuntu - eine speziell angepasste Version für Schulen, mehr im Artikel Edubuntu.
■ Ubuntu Studio - Optimierte Ubuntu-Version für Multimedia- Produzenten, siehe Ubuntu Studio für Details.
FB Automatisierung und Informatik: Linux 16 Ubuntu-Versionen 3
■ Gobuntu - 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
Sabayon Linux (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