]> git.plutz.net Git - vhs_kurs/commitdiff
Merge commit 'eb98affc5b5916de814d4fc666df87963bdde1e2' as 'clickslide'
authorPaul Hänsch <paul@plutz.net>
Tue, 23 Apr 2019 11:22:16 +0000 (13:22 +0200)
committerPaul Hänsch <paul@plutz.net>
Tue, 23 Apr 2019 11:22:16 +0000 (13:22 +0200)
27 files changed:
.gitignore
Ankündigung [new file with mode: 0644]
Gliederung.txt [new file with mode: 0644]
Makefile [new file with mode: 0644]
Tag_1.short [new file with mode: 0644]
Tag_2.short [new file with mode: 0644]
Tag_3.short [new file with mode: 0644]
clickslide/.gitignore [new file with mode: 0644]
clickslide/.gitmodules [new file with mode: 0644]
clickslide/cgilite/cgilite.sh [moved from cgilite/cgilite.sh with 100% similarity]
clickslide/cgilite/file.sh [moved from cgilite/file.sh with 100% similarity]
clickslide/cgilite/html-sh.sed [moved from cgilite/html-sh.sed with 100% similarity]
clickslide/cgilite/logging.sh [moved from cgilite/logging.sh with 100% similarity]
clickslide/cgilite/session.sh [moved from cgilite/session.sh with 100% similarity]
clickslide/cgilite/storage.sh [moved from cgilite/storage.sh with 100% similarity]
clickslide/clickslide.css [moved from clickslide.css with 100% similarity]
clickslide/clickslide.sh [moved from clickslide.sh with 100% similarity]
clickslide/example.short [moved from example.short with 100% similarity]
clickslide/example/demo.short [moved from example/demo.short with 100% similarity]
clickslide/example/exb0.jpg [moved from example/exb0.jpg with 100% similarity]
clickslide/example/exb0_light.jpg [moved from example/exb0_light.jpg with 100% similarity]
clickslide/example/exb1.jpg [moved from example/exb1.jpg with 100% similarity]
clickslide/example/exb1_light.jpg [moved from example/exb1_light.jpg with 100% similarity]
clickslide/example/exb2.jpg [moved from example/exb2.jpg with 100% similarity]
clickslide/example/exb2_light.jpg [moved from example/exb2_light.jpg with 100% similarity]
clickslide/example/exb3.jpg [moved from example/exb3.jpg with 100% similarity]
clickslide/example/exb3_light.jpg [moved from example/exb3_light.jpg with 100% similarity]

index 9b71e084c6d1b1837bbe06030a5905cab15ae805..d44bb1651027770c40f39f74365a162160df2332 100644 (file)
@@ -1,3 +1,3 @@
-.*.swo
 .*.swp
+.*.swo
 *.html
diff --git a/Ankündigung b/Ankündigung
new file mode 100644 (file)
index 0000000..89dabb3
--- /dev/null
@@ -0,0 +1,3 @@
+Linux auf dem PC benutzen
+
+Flexibilität und Anpassbarkeit haben Linux einen festen Platz im akademischen und industriellen Bereich gesichert. Das freie Betriebssystem ermöglicht nicht nur einen Einblick in seine Funktionsweise, sondern erlaubt auch Seiten des Computers zu sehen, die woanders versteckt werden. In diesem Kurs werden wir mit Linux unseren Computer neu entdecken. Wir beginnen mit den Grundlagen des Betriebssystems, wie Bedienung, Softwareinstallation und Benutzerverwaltung. Nach und nach lernen wir Konzepte kennen, die sich vom Tablet bis zum Internetserver auf jedem Computer wiederfinden lassen.
diff --git a/Gliederung.txt b/Gliederung.txt
new file mode 100644 (file)
index 0000000..dfcadc0
--- /dev/null
@@ -0,0 +1,95 @@
+Arbeit mit Dateien, Zugriffsberechtigungen
+  touch, ls, cat, echo, chmod, groups, chgrp >...
+
+Tabcompletion, History
+
+Der Dateibaum
+  cd, mkdir, pwd, Dateipfade
+
+  rm rmdir cp mv
+
+
+
+--------------
+
+Shellumleitungen
+  > >> |
+  tr, wc
+
+Wildcards
+  * [xy] ?
+
+Programmstrukturen auf der Shell
+  Shell loops
+  for - in
+  while
+
+  Konditionen
+  && ||
+  if, case
+
+  Wildcards
+
+------------
+
+Datenträger
+  gparted
+  partitionen
+
+  /dev/sd*
+  mount
+  fdisk
+
+  df, du
+
+  Dateisysteme
+  mkfs
+  dd
+
+  hardlinks, symlinks
+
+Installation
+
+-------------- 
+
+Paketsysteme
+  synaptic
+  apt-get, apt-cache, apt-mark, dpkg
+  /etc/apt/
+  dependencies, recommends, suggestions
+
+  pacman
+  portage / emerge
+  yum
+
+---------------------
+
+
+Benutzer, Gruppen und Prozesse
+  adduser, passwd
+  /etc/passwd, /etc/group, /etc/shadow
+  sudo, su
+
+  top, htop, ps, kill, killall
+
+Netzwerk
+  ssh, scp, sftp, sshfs
+  ssh-keys
+  netcat
+  inetd
+
+  ip addr / ifconfig
+  ip route
+
+
+----------------------------
+
+Weitere Themen
+  Boot, Bios, EFI
+  Grub, Syslinux
+  SystemV, SystemD
+  Cron, Cups
+  vi / vim
+  X11, Verschlüsselung
+
+  Installparty
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..44f5fbf
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,6 @@
+CLICKSLIDE = clickslide/clickslide.sh
+
+default: $(addsuffix .html, $(basename $(wildcard *.short)))
+
+%.html: %.short
+       ${CLICKSLIDE} < $< > $@
diff --git a/Tag_1.short b/Tag_1.short
new file mode 100644 (file)
index 0000000..ebca743
--- /dev/null
@@ -0,0 +1,437 @@
+[html
+[head [title VHS Linuxkurs]]
+[body
+  [footer Paul Hänsch | Linux Grundkurs | VHS Chemnitz]
+[slide
+  [h1 VHS Linux Grundkurs]
+]
+[slide [h2 Dozent]
+  [ul
+    [li Paul Hänsch]
+    [li Seit 2012 freiberuflicher Programmierer]
+    [li Arbeit an und mit Freier Software (Open Source)]
+    [li Kunden: Jugendclub, Kinderzirkus, Physiotherapie, HTW, ...]
+    [li in der Vergangenheit: Free Software Foundation Europe]
+    [li Videopodcast: GNUfunzt! http://gnufunzt.de]
+  ]
+]
+[slide [h2 Organisatorisches zum Kurs]
+  [ul
+    [li Termine Mittwoch und Freitag]
+    [li 17:00 bis 20:00 Uhr]
+    [li nicht am 19.4. - Karfreitag] 
+    [li nicht am 1.5. - Tag der Arbeit]
+    [li Letzter Termin 3.5. - Installparty]
+    [li Themenübersicht - Nach der Einführung]
+  ]
+]
+[slide [h1 Was ist ein Betriebssystem?] ]
+
+[slide [h2 Was ist ein Betriebssystem?]
+  [ul .uncover
+    [li Unterscheidung: Anwendungsprogramm, "App"]
+    [li idR. nicht selbst als "Programm" bezeichnet]
+    [li Läuft vom Start bis zum Halt des Computers]
+    [li Für Benutzer mehr oder weniger unsichtbar]
+    [li Stellt Funktionen für Programme Bereit]
+  ]
+]
+
+[slide [h2 Funktionen eines Betriebssystems]
+  [ul .uncover
+    [li Einheitlicher Zugriff auf Hardware (Treiber)]
+    [li Organisation von Dateien]
+    [li Zugriff auf Netzwerk]
+    [li Zuteilung von Rechenzeit (Task-Switching, Multitasking)]
+    [li Trennung von Applikationen (Virtualisierung)]
+    [li Trennung von Benutzern, Zugriffssrechte]
+    [li [b Kontrolle dieser Funktionen über Dienstprogramme]]
+  ]
+]
+
+[slide [h2 Begriffe]
+  [p style="text-align: center; font-size: 3em; line-height: 1.25em;" 
+  [sup [b GNU]] [sub Desktop] [sup [i Unix]] [br]
+  [sub [u Ubuntu]] [sup [b Linux]] [sub Distribution]
+  [sub Gnome] [sup Knoppix]
+  ]
+]
+
+[slide [h2 Was ist Unix?]
+  [ul .uncover
+    [li 1969 von an den Bell Labs für PDP-7 konzipiert]
+    [li Von "C"-Erfinder Dennis Ritchie und Ken Thompson]
+    [li Entworfen um "Space Travel"-Spiel als Anwendung]
+    [li Schafft grundlegenden Aufbau für Beriebssysteme]
+    [li Von Bell an kommerzielle Computerhersteller lizensiert]
+  ]
+]
+
+[slide [h2 Was ist GNU?]
+  [ul
+    [p [b G]NU is]
+    [p [b N]ot]
+    [p [b U]nix]
+  ]
+]
+
+[slide [h2 Was ist GNU?]
+  [ul .uncover
+    [li 1983 am durch Richard M. Stallman am MIT begonnen]
+    [li Auslöser war u.A. Missmut über Kopierschutzpraktiken]
+    [li Grundlage der Free Software Bewegung]
+    [li Unix-Kompatibles Betriebssystem]
+    [li Umfasst Unix-Dienstprogramme]
+  ]
+]
+
+[slide [h2 Was ist Freie Software?]
+  [ul .uncover
+  Die Vier Freiheiten:
+    [li [b Verwenden:] das Programm für jeglichen Zweck ausführen]
+    [li [b Verstehen:] die Funktionsweise des Programms untersuchen und eigenen Bedürfnissen anpassen]
+    [li [b Verbreiten:] das Programm weitergeben]
+    [li [b Verbessern:] das Programm verbessern und diese Verbesserungen der Öffentlichkeit freigeben]
+  ]
+]
+
+[slide [h2 Was ist Linux?]
+  [ul .uncover
+    [li 1991 durch Linus Torvalds an der Uni Helsinki begonnen]
+    [li Unix-Kompatibler Betriebssystem-[em Kernel]]
+    [li Lauffähig mit GNU-Dienstprogrammen]
+    [p style="text-align: center; font-size: 2em; line-height: 1.25em;" GNU + Linux]
+  ]
+]
+
+[slide [h2 Was ist eine Distribution?]
+  [ul .uncover
+    [li Linux-Kernel ist ein eigenes Softwareprojekt]
+    [li GNU ist ein eigenes Softwareprojekt]
+    [li Grafische Bedienoerflächen sind unabhängig davon]
+    [li Anwendungsprogramme sind eigenständige Projekte]
+    [li "Distributor" stellt Softwarepakete zusammen]
+    [li Softwarekomponenten werden angepasst um miteinander kompatibel zu sein]
+    [li Software wird für Computerarchitekturen "kompiliert"]
+  ]
+]
+
+[slide [h2 Beispiele für Distributionen]
+  [ul
+    [li Ubuntu - Kommerzielle Distribution basierend auf Debian]
+    [li Debian - Frühe Distribution mit Online-Paketsystem]
+    [li Gentoo - Zusammenstellung von Quellcode zum selbst anpassen]
+    [li Arch - Verbreitete Distribution mit eigenem Paketsystem]
+    [li Knoppix - Debian basiertes Live-System]
+    [li Fedora, RedHat, Suse, Parabola, Puppy, Rebecca Black, ...]
+    [li Tausende weitere]
+  ]
+]
+
+[slide [h2 Desktopumgebungen]
+  Grafische Bedienoberflächen können sehr unterschiedlich aussehen
+  [ul
+    [li Gnome]
+    [li KDE]
+    [li LXDE]
+    [li Xfce]
+    [li Maté, i3, Awesome, WindowMaker, LXQT, Enlightenment, usw...]
+    [li Unterscheidung: Window Manager, Toolkit, Softwaresuite]
+  ]
+]
+
+[slide [h2 Weitere Begriffe]
+  [ul
+    [li [b Android:] anderes Betriebssystem mit Linux-Kernel]
+    [li [b BSD:] Berkeley Software Distribution, anderes Freies Unix]
+    [li [b Busybox:] andere Suite von Unix-Dienstprogrammen]
+  ]
+]
+
+[slide [h1 Themenübersicht]]
+
+[slide [h2 Themen Tag 1]
+  [ul .uncover
+    [li Arbeit mit Dateien]
+    [li Etwas Kommandozeile]
+    [li Zugriffsrechte]
+    [li Benutzer, Gruppen]
+    [li Ordnerstrukturen]
+  ]
+]
+
+[slide [h2 Weitere Themen]
+  [ul .uncover
+    [li Prozessmanagement]
+    [li Vertiefung Kommandozeile, Shellscripting]
+    [li Datenträger, Dateisysteme, Partitionen]
+    [li Systemstart]
+    [li Paketsysteme, Softwareinstallation, Systeminstallation]
+    [li Netzwerk, SSH]
+    [li nach Wunsch Android, X11, Verschlüsselung, Internetdienste, Versionskontrolle, ...]
+    [li Installparty]
+  ]
+]
+
+[slide [h1 Arbeit mit Dateien]
+  [pre ~$ _]
+]
+
+[slide [h2 Arbeit mit Dateien]
+  [pre ~$ touch datei1]
+]
+
+[slide [h2 Arbeit mit Dateien]
+  [pre ~$ ls]
+]
+
+[slide [h2 Arbeit mit Dateien]
+  [pre
+  ~$ ls -l datei1
+  -rw-r--r-- 1 knoppix knoppix 0 Apr 10 02:13 datei1]
+]
+
+[slide [h2 Arbeit mit Dateien]
+  [pre ~$ echo "Hallo Welt!" \> datei1]
+]
+
+[slide [h2 Arbeit mit Dateien]
+  [pre
+  ~$ ls -l datei1
+  -rw-r--r-- 1 knoppix knoppix 12 Apr 10 02:13 datei1]
+]
+
+[slide [h2 Arbeit mit Dateien]
+  [pre ~$ cat datei1]
+]
+
+[slide [h2 Arbeit mit Dateien]
+  [pre style="font-size: .75em; line-height: 1.5em;"
+  ~$ touch datei1
+  ~$ ls
+  datei1
+  ~$ ls -l datei1
+  -rw-r--r-- 1 knoppix knoppix 0 Apr 10 02:13 datei1
+  ~$ echo "Hallo Welt!" > datei1
+  ~$ ls -l datei1
+  -rw-r--r-- 1 knoppix knoppix 12 Apr 10 02:13 datei1
+  ~$ cat datei1
+  Hallo Welt!
+  ~$ _
+  ]
+]
+
+[slide [h2 Arbeit mit Dateien]
+  [pre
+  ~$ ls -l /boot/vmlinuz-4.16.5-64
+  -rw-r--r-- 1 root root 6673264 Apr 30 2018 /boot/vmlinuz-4.16.5-64]
+]
+
+[slide [h2 Arbeit mit Dateien]
+  [pre ~$ ls -l -h /boot/vmlinuz-4.16.5-64]
+]
+
+[slide [h2 Arbeit mit Dateien]
+  [pre -rw-r--r-- 1 root root 6.4M Apr 30 2018 /boot/vmlinuz-4.16.5-64]
+]
+
+[slide [h2 Zusammenfassung]
+  [ul
+    [li [pre touch] legt eine Datei an]
+    [li [pre ls] zeigt Informationen über eine Datei]
+  ]
+]
+
+[slide [h2 Zusammenfassung]
+  [ul
+    [li Kommandos lassen sich parametrisieren, z.B. [pre ls -l] und [pre ls -h]]
+  ]
+]
+
+[slide [h2 Zusammenfassung]
+  [ul
+    [li mit [pre echo] können wir text [strike in eine Datei schreiben] [ul .uncover
+      [li [strong Eigentlich nur ausgeben!]]
+    ]]
+  ]
+]
+
+[slide [h2 Zusammenfassung]
+  [ul
+    [li [pre cat] zeigt den Inhalt von Dateien an]
+  ]
+]
+
+[slide [h2 Zusammenfassung]
+  [pre touch]
+  [pre ls]
+  [pre ls -l -h]
+  [pre echo]
+  [pre cat]
+]
+
+[slide [h1 Zugriffsrechte]]
+
+[slide [h2 Zugriffsrechte]
+  [pre ~$ ls -l datei1]
+  [pre -rw-r--r-- 1 knoppix knoppix 12 Apr 10 02:13 datei1]
+  [table style="width: 85%;"
+    [tr [th Typ] [th Eigentümer] [th Gruppe] [th Andere]]
+    [tr [td [pre -]] [td [pre rw-]] [td [pre r--]] [td [pre r--]]]
+  ]
+]
+
+[slide [h2 Zugriffsrechte]
+  [pre ~$ ls -l /bin/cat]
+  [pre -rwxr-xr-x 1 root root 34676 Feb 22 2017 /bin/cat]
+  [table style="width: 85%;"
+    [tr [th Typ] [th Eigentümer (root)] [th Gruppe (root)] [th Andere]]
+    [tr [td [pre -]] [td [pre rwx]] [td [pre r-x]] [td [pre r-x]]]
+  ]
+]
+
+[slide [h2 Zugriffsrechte]
+  [pre
+  ~$ chmod u-r datei1
+  ~$ ls -l datei1]
+  [pre --w-r--r-- 1 knoppix knoppix 12 Apr 10 02:13 datei1]
+  [table style="width: 85%;"
+    [tr [th Typ] [th Eigentümer] [th Gruppe] [th Andere]]
+    [tr [td [pre -]] [td [pre -w-]] [td [pre r--]] [td [pre r--]]]
+  ]
+]
+
+[slide [h2 Zugriffsrechte]
+  [pre
+  ~$ cat datei1
+  cat: datei1: Keine Berechtigung]
+]
+
+[slide [h2 Zugriffsrechte]
+  [pre
+  ~$ chmod u+r datei1
+  ~$ cat datei1
+  Hallo Welt!]
+]
+
+[slide [h2 Zugriffsrechte - Gruppen]
+  [pre
+  ~$ groups
+  knoppix disk dialout fax voice cdrom floppy tape sudo
+  audio dip backend video plugdev users fuse netdev
+  lpadmin partimag powerdev scanner gnokii debian-tor
+  x2gousers kismet]
+]
+
+[slide [h2 Zugriffsrechte - Gruppen]
+  [pre
+  ~$ chgrp users datei1
+  ~$ ls -l datei1
+  -rw-r--r-- 1 knoppix users 12 Apr 10 02:13 datei1]
+]
+
+[slide [h1 Navigation im Dateisystem]]
+
+[slide [h2 Navigation im Dateisystem]
+  [pre
+  ~$ pwd
+  /home/knoppix]
+]
+
+[slide [h2 Navigation im Dateisystem]
+  [pre
+  ~$ cd .
+  ~$ pwd
+  /home/knoppix]
+]
+
+[slide [h2 Navigation im Dateisystem]
+  [pre
+  ~$ cd ..
+  ~$ pwd
+  /home]
+]
+
+[slide [h2 Navigation im Dateisystem]
+  [pre
+  ~$ cd ..
+  ~$ pwd
+  /
+  ~$ ls
+  bin etc media proc sys var boot home mnt
+  root tmp dev lib opt sbin usr]
+]
+
+[slide [h2 Navigation im Dateisystem]
+  [div
+  [pre ~$ ls bin]
+  [pre ~$ ls boot]
+  [pre ~$ ls dev]
+  ]
+]
+
+[slide [h2 Navigation im Dateisystem]
+  [ul .uncover
+    [li Dateipfade können [em absolut] oder [em relativ] sein]
+    [li Absolute Pfade beginnen immer mit einem Slash (Schrägstrich)]
+    [li [pre /boot/vmlinuz-4.16.5-64]
+        [pre /home/knoppix/datei1]]
+    [li Relative Pfade beginnen niemals mit einem Schrägstrich]
+    [li [pre vmlinuz-4.16.5-64]
+        [pre knoppix/datei1]]
+    [li Relative Pfade bezeichenen einen Ort Abhängig vom Arbeitsverzeichnis (pwd)]
+  ]
+]
+
+[slide [h2 Navigation im Dateisystem]
+  [ul .uncover
+    Weitere Pfade:
+    [li [pre /home/knoppix/../knoppix/../knoppix]]
+    [li [pre /./boot/./]]
+  ]
+]
+
+[slide [h2 Systemordner in Unix]
+  [ul
+    [li [strong /bin] enthält ausführbare Programme]
+    [li [strong /boot] enthält den Systemkernel und Dateien, die damit unmittelbar in Zusammenhang stehen]
+    [li [strong /etc] enthält systemweite Konfigurationsdateien]
+    [li [strong /home] enthält Heimverzeichnisse der Benutzer]
+    [li [strong /lib] enthält sogenannte Softwarebibliotheken]
+    [li [strong /media] wird benutzt um temporäre Medien wie CDs und USB-Sticks abzubilden]
+    [li [strong /var] enthält Dateien, die sich ohne Handlung des Benutzers im regulären Betrieb verändern (z.B. Logbücher)]
+    [li [strong /usr] enthält weitere /bin und /lib Verzeichnisse für weniger grundlegende Programme]
+  ]
+]
+
+[slide [h2 Systemordner in Unix]
+  [ul .uncover
+    [li [strong /dev] enthält Geräte]
+    [li [strong /proc] enthält Prozesse]
+    [li [strong /sys] enthält Treiberschnittstellen]
+    [p style="text-align: center; margin: .5em; font-size: 1.5em" Everything is a File!]
+  ]
+]
+
+[slide [h1 Mehr dazu nächstes mal!]]
+
+[slide [h2 Zusammenfassung]
+  [ul .uncover
+    [li Einführung, Historie]
+    [li Dateien: touch, ls, cat]
+    [li Berechtigungen: chmod, groups, chgrp]
+    [li Navigation: cd, pwd]
+    [li Absolute Pfade, Relative Pfade]
+    [li Ordnerstrukturen]
+  ]
+]
+
+[slide [h2 Daran denken:]
+  [ul
+    [li Anwesenheitsliste]
+    [li Lehrnachweis]
+    [li nächster Termin: Freitag]
+  ]
+]
+
+]]
diff --git a/Tag_2.short b/Tag_2.short
new file mode 100644 (file)
index 0000000..92797be
--- /dev/null
@@ -0,0 +1,339 @@
+[html
+[head [title VHS Linuxkurs]]
+[body
+  [footer Paul Hänsch | Linux Grundkurs | VHS Chemnitz]
+
+[slide
+  [h1 VHS Linux Grundkurs - Teil 2]
+]
+
+[slide [h2 Themen]
+  [ul
+    [li Wiederholung + Syntax der Kommandozeile]
+    [li Arbeit mit Dateien und Pfaden]
+    [li Einführung Prozesse, Prozessmanagement]
+  ]
+]
+
+[slide [h1 Syntax der Kommandozeile]]
+
+[slide [h2 Syntax der Kommandozeile]
+  [pre ~$ echo Hallo Welt]
+]
+
+[slide [h2 Syntax der Kommandozeile]
+  [pre
+  ~$ echo Hallo Welt
+  Hallo Welt]
+]
+
+[slide [h2 Syntax der Kommandozeile]
+  [pre
+  ~$ echo Hallo Welt
+  Hallo Welt
+
+  ~$ echo Hallo        Welt]
+]
+
+[slide [h2 Syntax der Kommandozeile]
+  [pre
+  ~$ echo Hallo Welt
+  Hallo Welt
+
+  ~$ echo Hallo        Welt
+  Hallo Welt]
+]
+
+[slide [h2 Syntax der Kommandozeile]
+  [table width="85%"
+    [tr
+    [th Shellprompt] [th Befehl / Programm] [th Parameter 1] [th Parameter 2]
+    ][tr
+    [th ~$] [td [pre echo]] [td [pre Hallo]] [td [pre Welt]]
+    ]
+  ]
+]
+
+[slide [h2 Syntax der Kommandozeile]
+  [pre ~$ echo "Hallo        Welt"]
+]
+
+[slide [h2 Syntax der Kommandozeile]
+  [table width="85%"
+    [tr
+    [th Shellprompt] [th Befehl / Programm] [th Parameter 1]
+    ][tr
+    [th ~$] [td [pre echo]] [td [pre Hallo        Welt]]
+    ]
+  ]
+]
+
+[slide [h2 Syntax der Kommandozeile]
+  [h3 Identisch:]
+  [pre ~$ echo "Hallo        Welt"]
+  [pre ~$ echo Hallo"       "Welt]
+  [h3 [em Nicht] identisch:]
+  [pre ~$ echo Hallo "       " Welt]
+]
+
+[slide [h2 Syntax der Kommandozeile]
+  [pre ~$ echo "Hallo        Welt"]
+  [pre ~$ echo Hallo"       "Welt]
+  [table width="85%"
+    [tr
+    [th Shellprompt] [th Befehl] [th Parameter 1]
+    ][tr
+    [th ~$] [td [pre echo]] [td [pre Hallo        Welt]]
+    ]
+  ]
+]
+
+[slide [h2 Syntax der Kommandozeile]
+  [pre ~$ echo Hallo "       " Welt]
+  [pre ~$ echo "Hallo" "       " "Welt"]
+  [table width="85%"
+    [tr
+    [th Shellprompt] [th Befehl] [th Parameter 1] [th Parameter 2] [th Parameter 3]
+    ][tr
+    [th ~$] [td [pre echo]] [td [pre Hallo]] [td [pre &nbsp;]] [td [pre Welt]]
+    ]
+  ]
+]
+
+[slide [h2 Syntax der Kommandozeile]
+  [h3 Folie vom ersten Kurstag:]
+  [pre ~$ echo "Hallo Welt!" \> datei1]
+]
+
+[slide [h2 Syntax der Kommandozeile]
+  [ul
+    [h3 Folie vom ersten Kurstag:]
+    [li mit [pre echo] können wir text [strike in eine Datei schreiben] [ul
+      [li [strong Eigentlich nur ausgeben!]]
+    ]]
+  ]
+]
+
+[slide [h2 Syntax der Kommandozeile]
+  [table width="85%"
+    [tr
+    [th Shellprompt] [th Befehl] [th Parameter 1] [th Umleitung] [th Ziel der Umleitung]
+    ][tr
+    [th ~$] [td [pre echo]] [td [pre Hallo Welt!]] [td \>] [td  datei1]
+    ]
+  ]
+]
+
+[slide [h2 Syntax der Kommandozeile]
+  [ul .uncover
+    [li style="margin-top: 1em;" [pre ~$ echo "Hallo Welt!" > datei1]]
+    [li style="margin-top: 1em;" [pre ~$ ls -l > datei1]]
+    [li style="margin-top: 1em;" [pre ~$ cat datei1 > datei2]]
+    [li style="margin-top: 1em;" [strong Shellkommandos sind eine Sprache!]]
+  ]
+]
+
+[slide [h1 Arbeit mit Dateien und Pfaden]]
+
+[slide [h2 Arbeit mit Dateien und Pfaden]
+  [pre ~$ touch datei1 datei2 datei3]
+]
+
+[slide [h2 Arbeit mit Dateien und Pfaden]
+  [pre ~$ mkdir ordner1 ordner2]
+]
+
+[slide [h2 Arbeit mit Dateien und Pfaden]
+  [pre ~$ mv datei1 ordner1]
+]
+
+[slide [h2 Arbeit mit Dateien und Pfaden]
+  [pre ~$ mv datei2 datei3 ordner2]
+]
+
+[slide [h2 Arbeit mit Dateien und Pfaden]
+  [table width="85%"
+    [tr
+    [th Shellprompt] [th Befehl] [th Parameter 1] [th Parameter 2]
+    ][tr
+    [th ~$] [td [pre mv]] [td [pre datei1]] [td [pre ordner1]]
+    ]
+  ]
+  [table width="85%"
+    [tr
+    [th Shellprompt] [th Befehl] [th Parameter 1] [th Parameter 2] [th Parameter 3]
+    ][tr
+    [th ~$] [td [pre mv]] [td [pre datei2]] [td [pre datei3]] [td [pre ordner2]]
+    ]
+  ]
+]
+
+[slide [h2 Arbeit mit Dateien und Pfaden]
+  [ul .uncover
+    [li [pre ~$ ls ordner1]]
+    [li [pre ~$ cd ordner1]]
+    [li [pre ~$ ls]]
+    [li [pre ~$ ls ordner1]]
+  ]
+]
+
+[slide [h2 Arbeit mit Dateien und Pfaden]
+  [ul
+    [li [pre ~$ ls ordner1]]
+    [li [pre ~$ cd ordner1]]
+    [li [pre ~$ ls]]
+    [li [pre ~$ ls ordner1]]
+    [li Wir sind [strong in] [em ordner1], dieser Ordner enthält nicht seinerseits einen [em ordner1]]
+  ]
+]
+
+[slide [h2 Arbeit mit Dateien und Pfaden]
+  [pre ~$ ls /home/knoppix/ordner1]
+  funktioniert immer =\> absoluter Pfad
+]
+
+[slide [h2 Arbeit mit Dateien und Pfaden]
+  [ul
+    [li Relativer Pfad: [pre ~$ ls ../ordner2]]
+    [li Absoluter Pfad: [pre ~$ ls /home/knoppix/ordner2]]
+  ]
+]
+
+[slide [h2 Arbeit mit Dateien und Pfaden]
+  [pre ~$ cp datei1 "Name mit Leerzeichen"]
+]
+
+[slide [h2 Arbeit mit Dateien und Pfaden]
+  [pre ~$ mv "Name mit Leerzeichen" Name_ohne_Leerzeichen]
+]
+
+[slide [h2 Arbeit mit Dateien und Pfaden]
+  [pre
+  ~$ mv Name_ohne_Leerzeichen ..
+  ~$ mv ../Name_ohne_Leerzeichen .]
+]
+
+[slide [h2 Arbeit mit Dateien und Pfaden]
+  [pre
+  ~$ mv ../ordner2/datei2 .
+  ~$ mv /home/knoppix/ordner2/datei3 .]
+]
+
+[slide [h2 Arbeit mit Dateien und Pfaden]
+  [pre
+  ~$ cd /home/knoppix
+  ~$ rmdir ordner2]
+]
+
+[slide [h2 Arbeit mit Dateien und Pfaden]
+  [pre
+  ~$ rmdir ordner1]
+]
+
+[slide [h2 Arbeit mit Dateien und Pfaden]
+  [pre
+  ~$ rm ordner1]
+]
+
+[slide [h2 Arbeit mit Dateien und Pfaden]
+  [pre
+  ~$ rm ordner1/datei2]
+]
+
+[slide [h2 Arbeit mit Dateien und Pfaden]
+  [pre
+  ~$ rm -r ordner1/]
+]
+
+[slide [h1 Prozesse und Prozessmanagement]]
+
+[slide [h2 Prozesse und Prozessmanagement]
+  [pre ~$ xeyes]
+]
+
+[slide [h2 Prozesse und Prozessmanagement]
+  [pre Strg + Z]
+]
+
+[slide [h2 Prozesse und Prozessmanagement]
+  [pre ~$ fg]
+]
+
+[slide [h2 Prozesse und Prozessmanagement]
+  [pre
+  Strg + Z
+  ~$ bg]
+]
+
+[slide [h2 Prozesse und Prozessmanagement]
+  [pre ~$ pidof xeyes]
+]
+
+[slide [h2 Prozesse und Prozessmanagement]
+  [pre ~$ xeyes &]
+]
+
+[slide [h2 Prozesse und Prozessmanagement]
+  [pre ~$ pidof xeyes]
+]
+
+[slide [h2 Prozesse und Prozessmanagement]
+  [pre ~$ kill ...]
+]
+
+[slide [h2 Prozesse und Prozessmanagement]
+  [pre
+  ~$ ps
+  ~$ ps -e
+  ~$ ps -eo pid,user,command]
+]
+
+[slide [h2 Prozesse und Prozessmanagement]
+  [pre
+  ~$ pstree
+  ~$ pstree -u -p]
+]
+
+[slide [h2 Prozesse und Prozessmanagement]
+  [pre ~$ htop]
+]
+
+[slide [h1 \...]]
+
+[slide [h2 Zusammenfassung]
+  [ul .uncover
+    [h3 Shellsyntax]
+    [li Die Shell erlaubt es Instruktionen zu beschreiben]
+    [li mit \> kann jede Programmausgabe in eine Datei geleitet werden]
+    [li Die Fähigkeiten von Programmen sind so erweiterbar]
+  ]
+]
+
+[slide [h2 Zusammenfassung]
+  [ul .uncover
+    [h3 Pfade]
+    [li Einige Programme nehmen Pfade als Parameter an]
+    [li Pfade können nach Belieben absolut oder relativ sein]
+    [li Pfade mit Leerzeichen werden in Anführungszeichen gefasst, damit sie als einzelne Parameter gelten]
+    [li [strong Kommandos:] mkdir, cp, mv, rmdir, rm, rm -r]
+  ]
+]
+
+[slide [h2 Zusammenfassung]
+  [ul .uncover
+    [h3 Prozesse]
+    [li Prozesse können auf dem Terminal im Hintergrund und im Vordergrund laufen]
+    [li Prozesse sind hierarchisch angeordnet]
+    [li jeder Prozess ist einem Systembenutzer zugeordnet]
+    [li [strong Kommandos:] jobs, fg, bg, pidof, kill, ps, pstree, htop]
+  ]
+]
+
+[slide [h2 Nächster Termin]
+  [ul
+    [li Nächster Termin: Mittwoch]
+    [li Thema: Datenträger und Dateisysteme]
+  ]
+]
+
+]
diff --git a/Tag_3.short b/Tag_3.short
new file mode 100644 (file)
index 0000000..751f510
--- /dev/null
@@ -0,0 +1,220 @@
+[html
+[head [title VHS Linuxkurs]]
+[body
+  [footer Paul Hänsch | Linux Grundkurs | VHS Chemnitz]
+
+[slide [h1 VHS Linux Grundkurs - Teil 3]]
+
+[slide [h2 Themen]
+  [ul
+    [li Prozesse und Benutzer]
+    [li Datenträger]
+    [li Dateisysteme]
+  ]
+]
+
+[slide [h2 Prozesse und Benutzer]
+  [ul .uncover
+    [li [pre ~$ touch /home/knoppix/datei1][br]]
+    [li [pre ~$ touch /datei1][br]]
+    [li "knoppix" hat keine Schreibrechte im Stammverzeichnis]
+  ]
+]
+
+[slide [h2 Prozesse und Benutzer]
+  [pre ~$ ls -lh /usr/bin/sudo]
+]
+
+[slide [h2 Prozesse und Benutzer]
+  [h3 Zugriffsrechte]
+  [pre /usr/bin/sudo]
+  [table
+    [tr [th Typ] [th Eigentümer [strong (root)]] [th Gruppe [strong (root)]] [Andere]]
+    [tr [td -] [td rw[strong s]] [td r-x] [td r-x]]
+  ]
+  [p]
+  [ul .uncover
+    [li sudo wird immer mit den Rechten von "root" ausgeführt]
+  ]
+]
+
+[slide [h2 Prozesse und Benutzer]
+  [ul
+    [p [em sudo] gestattet die Ausführung eines Programms als [em root]. Je nach konfiguration fragt es dabei nach dem Benutzerpasswort, und gestattet oder verwährt bestimmte Aktionen.]
+    [li [pre
+    ~$ whoami
+    knoppix] [br]]
+    [li [pre
+    ~$ sudo whoami
+    root]]
+  ]
+]
+
+[slide [h2 Prozesse und Benutzer]
+  [ul .uncover
+    [li [pre ~$ sudo touch /home/knoppix/datei1][br]]
+    [li [pre ~$ sudo touch /datei1]]
+  ]
+]
+
+[slide [h2 Prozesse und Benutzer]
+  [ul .uncover
+    [li [pre ~$ echo Hallo > /home/knoppix/datei2][br]]
+    [li [pre ~$ echo Hallo > /datei2]]
+  ]
+]
+
+[slide [h2 Prozesse und Benutzer]
+  [ul .uncover
+    [li [pre ~$ sudo echo Hallo > /home/knoppix/datei2][br]]
+    [li [pre ~$ sudo echo Hallo > /datei2][br]]
+    [li &#x2192; ???]
+  ]
+]
+
+[slide [h2 Prozesse und Benutzer]
+  [table [tr
+    [th] [th Programm] [th Parameter 1] [th Parameter 2] [th Umleitung] [th Ziel]
+  ][tr
+    [td [pre ~$]] [td [pre sudo]] [td [pre echo]] [td [pre Hallo]] [td [pre \>]] [td [pre datei2]]
+  ][tr
+    [td ] [td nimmt die Identität root an] [td wird von sudo als root ausgeführt] [td Geht als [em Parameter 1] an echo] [td wird von der Shell abgewickelt] [td wird von der Shell geschrieben]
+  ]]
+  [p]
+  [ul .uncover
+    [li &#x2192; Die Shell läuft selbst als Benutzer]
+  ]
+]
+
+[slide [h1 Datenträger]]
+
+[slide [h2 Datenträger]
+  [ul .uncover
+    [li Enthalten Verzeichnisse und Dateien]
+    [li Aber: Gerät enthält nur einen "Datenstrom"]
+    [li Dateistrukturen müssen kodiert werden]
+    [li Ein Dateisystem kodiert Dateien auf einem Datenträger]
+  ]
+]
+
+[slide [h2 Datenträger]
+  [ul .uncover
+    [h3 Beispiel: CD-ROM Images]
+    [li Dateisystem von CD-ROMs ist spezifiziert in ISO 9660]
+    [li ISO 9660 wird beim Schreiben von CDs zusamengebaut, ist nicht nachträglich veränderlich]
+    [li Unterstützt Unix-Benutzerrechte nur mit Erweiterungen]
+    [li Ganzes Dateisystem kann in .iso-Dateien gespeichert werden]
+  ]
+]
+
+[slide [h2 Datenträger]
+  [ul .uncover
+    [h3 Beispiel: CD-ROMs]
+    [li CD-ROM kann von .iso-Datei gebrannt werden]
+    [li Inhalt der CD ist [em identisch] mit .iso-Datei]
+    [li Erstellen eines CD-Images: [pre ~$ cp /dev/cdrom knoppix.iso]]
+  ]
+]
+
+[slide [h1 Dateisysteme]]
+
+[slide [h2 Dateisysteme]
+  [ul .uncover
+    [li [pre ~$ mkdir cdrom][br]]
+    [li [pre ~$ sudo mount knoppix.iso cdrom/][br]]
+    [li [pre ~$ ls cdrom/]]
+  ]
+]
+
+[slide [h2 Dateisysteme]
+  [ul .uncover
+    [h3 Diverse Kommandos]
+    [li [pre ~$ lsblk][br]]
+    [li [pre ~$ df] [pre ~$ df -h] [br]]
+    [li [pre ~$ mount][br]]
+    [li [pre ~$ umount]]
+  ]
+]
+
+[slide [h1 Dateisysteme auf Datenträgern anlegen]]
+
+[slide [h2 Dateisysteme und Datenträger]
+  [p [h3 Wir brauchen einen Datenträger ;-)]
+    [pre ~$ dd bs=1M count=0 seek=2048 of=sparse.img]
+  ]
+]
+
+[slide [h2 Dateisysteme und Datenträger]
+  [p [h3 Wir brauchen einen Computer ;-)]
+    [pre ~$ sudo qemu-system-x86_64 -machine accel=kvm -m 1024 \\
+      -boot d -cdrom /dev/cdrom sparse.img]
+  ]
+]
+
+[slide [h2 Dateisysteme und Datenträger]
+  [ul .uncover
+    [li Festplatten und USB-Sticks werden [em partitioniert]]
+    [li Dateisysteme werden idR. in einer Partition angelegt]
+    [li Ein Programm zum Anlegen von Partitionen und Dateisystemen:
+      [pre ~$ sudo gparted]
+    ]
+  ]
+]
+
+[slide [h2 Dateisysteme und Datenträger]
+  [ul .uncover
+    [h3 Wir brauchen:]
+    [li Eine Partitionstabelle: gpt]
+    [li Eine Partition]
+    [li Ein Dateisystem: vfat]
+    [li Eine zweite Partition]
+    [li Ein zweites Dateisystem: ext4]
+  ]
+]
+
+[slide [h2 Dateisysteme und Datenträger]
+  [ul .uncover
+    [h3 Dateisysteme]
+    [li Ext4: Verbreitet für Linux-Systeminstallation]
+    [li FAT (vfat): Verbreitet für Wechselmedien [ul
+      [li Kann keine Zugriffsrechte abbilden]]]
+    [li exFAT: Moderneres FS für Wechselmedien (unterstützt Dateien \>4GB)]
+    [li NTFS: Dateisystem für Windows-Installationen]
+    [li Weitere: HPFS, BtrFS, UDF, ...]
+  ]
+]
+
+[slide [h2 Dateisysteme und Datenträger]
+  [ul .uncover
+    [h3 Dateisystem-Tools auf der Kommandozeile:]
+    [li [pre ~$ sudo fdisk /dev/sda][br]]
+    [li [pre ~$ sudo mkfs.ext4 /dev/sda1][br]]
+    [li mkfs.vfat, mkisofs, ...]
+  ]
+]
+
+[slide [h1 \...]]
+
+[slide [h2 Zusammenfassung]
+  [ul
+    [li Um Dateien darzustellen benötigen wir ein Dateisystem]
+    [li Verschiedene dateisysteme haben verschiedene Eigenschaften]
+    [li Datenträger werden partitioniert]
+    [li Partitionen nehmen Dateisysteme auf]
+    [li Wir mounten Dateisysteme um auf Dateien zuzugreifen]
+  ]
+]
+
+[slide [h2 Nächster Termin]
+  [ul
+    [li Mittwoch, 24. April]
+    [li Softwareinstallation]
+    [li Anwendungsprogramme]
+  ]
+]
+
+[slide [h1 Frohe Ostern]
+  Filmempfehlung: Das Leben des Brian
+]
+
+]]
diff --git a/clickslide/.gitignore b/clickslide/.gitignore
new file mode 100644 (file)
index 0000000..9b71e08
--- /dev/null
@@ -0,0 +1,3 @@
+.*.swo
+.*.swp
+*.html
diff --git a/clickslide/.gitmodules b/clickslide/.gitmodules
new file mode 100644 (file)
index 0000000..e69de29
similarity index 100%
rename from cgilite/file.sh
rename to clickslide/cgilite/file.sh
similarity index 100%
rename from clickslide.css
rename to clickslide/clickslide.css
similarity index 100%
rename from clickslide.sh
rename to clickslide/clickslide.sh
similarity index 100%
rename from example.short
rename to clickslide/example.short
similarity index 100%
rename from example/exb0.jpg
rename to clickslide/example/exb0.jpg
similarity index 100%
rename from example/exb1.jpg
rename to clickslide/example/exb1.jpg
similarity index 100%
rename from example/exb2.jpg
rename to clickslide/example/exb2.jpg
similarity index 100%
rename from example/exb3.jpg
rename to clickslide/example/exb3.jpg