]> git.plutz.net Git - vhs_kurs/blob - Tag_1.short
move document sections to recapture first day
[vhs_kurs] / Tag_1.short
1 [html
2 [head [title Linux für Anwendungsentwicklung]]
3 [body
4   [footer Paul Hänsch | Linux für Anwendungsentwicklung | damago GmbH]
5 [slide
6   [h1 Linux für Anwendungsentwicklung]
7 ]
8 [slide [h2 Dozent]
9   [ul
10     [li Paul Hänsch]
11     [li Seit 2012 freiberuflicher Programmierer]
12     [li Arbeit an und mit Freier Software (Open Source)]
13     [li Kunden: Jugendclub, Kinderzirkus, Kulturserver, ...]
14     [li in der Vergangenheit: Free Software Foundation Europe]
15     [li Videopodcast: GNUfunzt! http://gnufunzt.de]
16     [li Kontakt: Paul.Haensch@damago.eu]
17   ]
18 ]
19 [slide [h2 Organisatorisches zum Kurs]
20   [ul
21     [li 9 Termine]
22     [li 8:00 bis 15:15 Uhr]
23     [li Letzter Termin 3.5.]
24     [li Pausenzeiten?]
25     [li Themenübersicht - Nach der Einführung]
26   ]
27 ]
28 [slide [h2 Vorstellungsrunde]
29   [ul
30     [li Wie seid ihr zu der Umschulung gekommen?]
31     [li Wie habt ihr bisher programmiert?]
32     [li Welches kleine Programm wolltet ihr immer schonmal schreiben?]
33   ]
34 ]
35
36 [slide [h1 Was ist ein Betriebssystem?] ]
37
38 [slide [h2 Was ist ein Betriebssystem?]
39   [ul .uncover
40     [li Unterscheidung: Anwendungsprogramm, "App"]
41     [li idR. nicht selbst als "Programm" bezeichnet]
42     [li Läuft vom Start bis zum Halt des Computers]
43     [li Für Benutzer mehr oder weniger unsichtbar]
44     [li Stellt Funktionen für Programme Bereit]
45   ]
46 ]
47
48 [slide [h2 Funktionen eines Betriebssystems]
49   [ul .uncover
50     [li Einheitlicher Zugriff auf Hardware (Treiber)]
51     [li Organisation von Dateien]
52     [li Zugriff auf Netzwerk]
53     [li Zuteilung von Rechenzeit (Task-Switching, Multitasking)]
54     [li Trennung von Applikationen (Virtualisierung)]
55     [li Trennung von Benutzern, Zugriffsrechte]
56     [li [b Kontrolle dieser Funktionen über Dienstprogramme]]
57   ]
58 ]
59
60 [slide [h2 Begriffe]
61   [p style="text-align: center; font-size: 3em; line-height: 1.25em;" 
62   [sup [b GNU]] [sub Desktop] [sup [i Unix]] [br]
63   [sub [u Ubuntu]] [sup [b Linux]] [sub Distribution]
64   [sub Gnome] [sup Knoppix]
65   ]
66 ]
67
68 [slide [h2 Was ist Unix?]
69   [ul .uncover
70     [li 1969 von an den Bell Labs für PDP-7 konzipiert]
71     [li Von "C"-Erfinder Dennis Ritchie und Ken Thompson]
72     [li Entworfen um "Space Travel"-Spiel als Anwendung]
73     [li Schafft grundlegenden Aufbau für Beriebssysteme]
74     [li Von Bell an kommerzielle Computerhersteller lizensiert]
75   ]
76 ]
77
78 [slide [h2 Was ist GNU?]
79   [ul
80     [p [b G]NU is]
81     [p [b N]ot]
82     [p [b U]nix]
83   ]
84 ]
85
86 [slide [h2 Was ist GNU?]
87   [ul .uncover
88     [li 1983 am durch Richard M. Stallman am MIT begonnen]
89     [li Auslöser war u.A. Missmut über Kopierschutzpraktiken]
90     [li Grundlage der Free Software Bewegung]
91     [li Unix-Kompatibles Betriebssystem]
92     [li Umfasst Unix-Dienstprogramme]
93   ]
94 ]
95
96 [slide [h2 Was ist Freie Software?]
97   [ul .uncover
98   Die Vier Freiheiten:
99     [li [b Verwenden:] das Programm für jeglichen Zweck ausführen]
100     [li [b Verstehen:] die Funktionsweise des Programms untersuchen und eigenen Bedürfnissen anpassen]
101     [li [b Verbreiten:] das Programm weitergeben]
102     [li [b Verbessern:] das Programm verbessern und diese Verbesserungen der Öffentlichkeit freigeben]
103   ]
104 ]
105
106 [slide [h2 Was ist Linux?]
107   [ul .uncover
108     [li 1991 durch Linus Torvalds an der Uni Helsinki begonnen]
109     [li Unix-Kompatibler Betriebssystem-[em Kernel]]
110     [li Lauffähig mit GNU-Dienstprogrammen]
111     [p style="text-align: center; font-size: 2em; line-height: 1.25em;" GNU + Linux]
112   ]
113 ]
114
115 [slide [h2 Was ist eine Distribution?]
116   [ul .uncover
117     [li Linux-Kernel ist ein eigenes Softwareprojekt]
118     [li GNU ist ein eigenes Softwareprojekt]
119     [li Grafische Bedienoerflächen sind unabhängig davon]
120     [li Anwendungsprogramme sind eigenständige Projekte]
121     [li "Distributor" stellt Softwarepakete zusammen]
122     [li Softwarekomponenten werden angepasst um miteinander kompatibel zu sein]
123     [li Software wird für Computerarchitekturen "kompiliert"]
124   ]
125 ]
126
127 [slide [h2 Beispiele für Distributionen]
128   [ul
129     [li Ubuntu - Kommerzielle Distribution basierend auf Debian]
130     [li Debian - Frühe Distribution mit Online-Paketsystem]
131     [li Gentoo - Zusammenstellung von Quellcode zum selbst anpassen]
132     [li Arch - Verbreitete Distribution mit eigenem Paketsystem]
133     [li Knoppix - Debian basiertes Live-System]
134     [li Fedora, RedHat, Suse, Parabola, Puppy, Rebecca Black, ...]
135     [li Tausende weitere]
136   ]
137 ]
138
139 [slide [h2 Desktopumgebungen]
140   Grafische Bedienoberflächen können sehr unterschiedlich aussehen
141   [ul
142     [li Gnome]
143     [li KDE]
144     [li LXDE]
145     [li Xfce]
146     [li Maté, i3, Awesome, WindowMaker, LXQT, Enlightenment, usw...]
147     [li Unterscheidung: Window Manager, Toolkit, Softwaresuite]
148   ]
149 ]
150
151 [slide [h2 Weitere Begriffe]
152   [ul
153     [li [b Android:] anderes Betriebssystem mit Linux-Kernel]
154     [li [b BSD:] Berkeley Software Distribution, anderes Freies Unix]
155     [li [b Busybox:] andere Suite von Unix-Dienstprogrammen]
156   ]
157 ]
158
159 [slide [h1 Themenübersicht]]
160
161 [slide [h2 Themen Tag 1]
162   [ul .uncover
163     [li Arbeit mit Dateien]
164     [li Etwas Kommandozeile]
165     [li Zugriffsrechte]
166     [li Benutzer, Gruppen]
167     [li Ordnerstrukturen]
168   ]
169 ]
170
171 [slide [h2 Weitere Themen]
172   [ul .uncover
173     [li Prozessmanagement]
174     [li Vertiefung Kommandozeile, Shellscripting]
175     [li Datenträger, Dateisysteme, Partitionen]
176     [li Systemstart]
177     [li Paketsysteme, Softwareinstallation, Systeminstallation]
178     [li Netzwerk, SSH]
179     [li [strike nach Wunsch Android, X11, Verschlüsselung, Internetdienste, Versionskontrolle, Gameserver,] ..., Scripting, Programmierunmgebungen, Webentwicklung]
180     [li [strike Installparty?] Ihr könnt eure eigenen Notebooks mitbringen.]
181   ]
182 ]
183
184 [slide [h1 Arbeit mit Dateien]
185   [pre ~$ _]
186 ]
187
188 [slide [h2 Arbeit mit Dateien]
189   [pre ~$ touch datei1]
190 ]
191
192 [slide [h2 Arbeit mit Dateien]
193   [pre ~$ ls]
194 ]
195
196 [slide [h2 Arbeit mit Dateien]
197   [pre
198   ~$ ls -l datei1
199   -rw-r--r-- 1 live live 0 Apr 10 02:13 datei1]
200 ]
201
202 [slide [h2 Arbeit mit Dateien]
203   [pre ~$ echo "Hallo Welt!" \> datei1]
204 ]
205
206 [slide [h2 Arbeit mit Dateien]
207   [pre
208   ~$ ls -l datei1
209   -rw-r--r-- 1 live live 12 Apr 10 02:13 datei1]
210 ]
211
212 [slide [h2 Arbeit mit Dateien]
213   [pre ~$ cat datei1]
214 ]
215
216 [slide [h2 Arbeit mit Dateien]
217   [pre style="font-size: .75em; line-height: 1.5em;"
218   ~$ touch datei1
219   ~$ ls
220   datei1
221   ~$ ls -l datei1
222   -rw-r--r-- 1 live live 0 Apr 10 02:13 datei1
223   ~$ echo "Hallo Welt!" > datei1
224   ~$ ls -l datei1
225   -rw-r--r-- 1 live live 12 Apr 10 02:13 datei1
226   ~$ cat datei1
227   Hallo Welt!
228   ~$ _
229   ]
230 ]
231
232 [slide [h2 Arbeit mit Dateien]
233   [pre
234   ~$ ls -l /bin/bash
235   -rwxr-xr-x 1 root root 1168776 Apr 18 06:12 /bin/bash]
236 ]
237
238 [slide [h2 Arbeit mit Dateien]
239   [pre ~$ ls -l -h /bin/bash]
240 ]
241
242 [slide [h2 Arbeit mit Dateien]
243   [pre -rwxr-xr-x 1 root root 1.2M Apr 18 06:12 /bin/bash]
244 ]
245
246 [slide [h2 Zusammenfassung]
247   [ul
248     [li [pre touch] legt eine Datei an]
249     [li [pre ls] zeigt Informationen über eine Datei]
250   ]
251 ]
252
253 [slide [h2 Zusammenfassung]
254   [ul
255     [li Kommandos lassen sich parametrisieren, z.B. [pre ls -l] und [pre ls -h]]
256   ]
257 ]
258
259 [slide [h2 Zusammenfassung]
260   [ul
261     [li mit [pre echo] können wir text [strike in eine Datei schreiben] [ul .uncover
262       [li [strong Eigentlich nur ausgeben!]]
263     ]]
264   ]
265 ]
266
267 [slide [h2 Zusammenfassung]
268   [ul
269     [li [pre cat] zeigt den Inhalt von Dateien an]
270   ]
271 ]
272
273 [slide [h2 Zusammenfassung]
274   [pre touch]
275   [pre ls]
276   [pre ls -l -h]
277   [pre echo]
278   [pre cat]
279 ]
280
281 [slide [h1 Zugriffsrechte]]
282
283 [slide [h2 Zugriffsrechte]
284   [pre ~$ ls -l datei1]
285   [pre -rw-r--r-- 1 live live 12 Apr 10 02:13 datei1]
286   [table style="width: 85%;"
287     [tr [th Typ] [th Eigentümer] [th Gruppe] [th Andere]]
288     [tr [td [pre -]] [td [pre rw-]] [td [pre r--]] [td [pre r--]]]
289   ]
290 ]
291
292 [slide [h2 Zugriffsrechte]
293   [pre ~$ ls -l /bin/cat]
294   [pre -rwxr-xr-x 1 root root 34676 Feb 22 2017 /bin/cat]
295   [table style="width: 85%;"
296     [tr [th Typ] [th Eigentümer (root)] [th Gruppe (root)] [th Andere]]
297     [tr [td [pre -]] [td [pre rwx]] [td [pre r-x]] [td [pre r-x]]]
298   ]
299 ]
300
301 [slide [h2 Zugriffsrechte]
302   [pre
303   ~$ chmod u-r datei1
304   ~$ ls -l datei1]
305   [pre --w-r--r-- 1 live live 12 Apr 10 02:13 datei1]
306   [table style="width: 85%;"
307     [tr [th Typ] [th Eigentümer] [th Gruppe] [th Andere]]
308     [tr [td [pre -]] [td [pre -w-]] [td [pre r--]] [td [pre r--]]]
309   ]
310 ]
311
312 [slide [h2 Zugriffsrechte]
313   [pre
314   ~$ cat datei1
315   cat: datei1: Keine Berechtigung]
316 ]
317
318 [slide [h2 Zugriffsrechte]
319   [pre
320   ~$ chmod u+r datei1
321   ~$ cat datei1
322   Hallo Welt!]
323 ]
324
325 [slide [h2 Zugriffsrechte - Gruppen]
326   [pre
327   ~$ groups
328   live sudo video input]
329 ]
330
331 [slide [h2 Zugriffsrechte - Gruppen]
332   [pre
333   ~$ chgrp video datei1
334   ~$ ls -l datei1
335   -rw-r--r-- 1 live video 12 Apr 10 02:13 datei1]
336 ]
337
338 [slide [h1 Navigation im Dateisystem]]
339
340 [slide [h2 Navigation im Dateisystem]
341   [pre
342   ~$ pwd
343   /home/live]
344 ]
345
346 [slide [h2 Navigation im Dateisystem]
347   [pre
348   ~$ cd .
349   ~$ pwd
350   /home/live]
351 ]
352
353 [slide [h2 Navigation im Dateisystem]
354   [pre
355   ~$ cd ..
356   ~$ pwd
357   /home]
358 ]
359
360 [slide [h2 Navigation im Dateisystem]
361   [pre
362   ~$ cd ..
363   ~$ pwd
364   /
365   ~$ ls
366   bin etc media proc sys var boot home mnt
367   root tmp dev lib opt sbin usr]
368 ]
369
370 [slide [h2 Navigation im Dateisystem]
371   [div
372   [pre ~$ ls bin]
373   [pre ~$ ls etc]
374   [pre ~$ ls dev]
375   ]
376 ]
377
378 [slide [h2 Navigation im Dateisystem]
379   [ul .uncover
380     [li Dateipfade können [em absolut] oder [em relativ] sein]
381     [li Absolute Pfade beginnen immer mit einem Slash (Schrägstrich)]
382     [li [pre /bin/bash]
383         [pre /home/live/datei1]]
384     [li Relative Pfade beginnen niemals mit einem Schrägstrich]
385     [li [pre bash]
386         [pre live/datei1]]
387     [li Relative Pfade bezeichenen einen Ort Abhängig vom Arbeitsverzeichnis (pwd)]
388   ]
389 ]
390
391 [slide [h2 Navigation im Dateisystem]
392   [ul .uncover
393     Weitere Pfade:
394     [li [pre /home/live/../live/../live]]
395     [li [pre /./bin/./]]
396   ]
397 ]
398
399 [slide [h2 Systemordner in Unix]
400   [ul
401     [li [strong /bin] enthält ausführbare Programme]
402     [li [strong /boot] enthält den Systemkernel und Dateien, die damit unmittelbar in Zusammenhang stehen]
403     [li [strong /etc] enthält systemweite Konfigurationsdateien]
404     [li [strong /home] enthält Heimverzeichnisse der Benutzer]
405     [li [strong /lib] enthält sogenannte Softwarebibliotheken]
406     [li [strong /media] wird benutzt um temporäre Medien wie CDs und USB-Sticks abzubilden]
407     [li [strong /var] enthält Dateien, die sich ohne Handlung des Benutzers im regulären Betrieb verändern (z.B. Logbücher)]
408     [li [strong /usr] enthält weitere /bin und /lib Verzeichnisse für weniger grundlegende Programme]
409   ]
410 ]
411
412 [slide [h2 Systemordner in Unix]
413   [ul .uncover
414     [li [strong /dev] enthält Geräte]
415     [li [strong /proc] enthält Prozesse]
416     [li [strong /sys] enthält Treiberschnittstellen]
417     [p style="text-align: center; margin: .5em; font-size: 1.5em" Everything is a File!]
418   ]
419 ]
420
421 [slide [h2 Zusammenfassung]
422   [ul .uncover
423     [li Einführung, Historie]
424     [li Dateien: touch, ls, cat]
425     [li Berechtigungen: chmod, groups, chgrp]
426     [li Navigation: cd, pwd]
427     [li Absolute Pfade, Relative Pfade]
428     [li Ordnerstrukturen]
429   ]
430 ]
431
432 [slide [h1 Syntax der Kommandozeile]]
433
434 [slide [h2 Syntax der Kommandozeile]
435   [pre ~$ echo Hallo Welt]
436 ]
437
438 [slide [h2 Syntax der Kommandozeile]
439   [ul .uncover
440     [li [pre ~$ echo Hallo Welt]]
441     [li [pre Hallo Welt]]
442     [li [pre ~$ echo Hallo        Welt]]
443     [li [pre Hallo Welt]]
444     [li [pre ~$ echo "Hallo        Welt"]]
445     [li [pre Hallo        Welt]]
446   ]
447 ]
448
449 [slide [h2 Syntax der Kommandozeile]
450   [ul .uncover
451     [li [pre ~$ echo Hallo Welt]
452     [pre ~$ echo Hallo        Welt]
453     [table width="85%"
454       [tr
455       [th Shellprompt] [th Befehl / Programm] [th Parameter 1] [th Parameter 2]
456       ][tr
457       [th ~$] [td [pre echo]] [td [pre Hallo]] [td [pre Welt]]
458       ]
459     ]]
460     [li [pre ~$ echo "Hallo        Welt"]
461     [table width="85%"
462       [tr
463       [th Shellprompt] [th Befehl / Programm] [th Parameter 1]
464       ][tr
465       [th ~$] [td [pre echo]] [td [pre Hallo        Welt]]
466       ]
467     ]]
468   ]
469 ]
470
471 [slide [h2 Syntax der Kommandozeile]
472   [h3 [u Ein] Parameter:]
473   [pre ~$ echo "Hallo        Welt"]
474   [pre ~$ echo Hallo"       "Welt]
475   [table width="85%"
476     [tr
477     [th Shellprompt] [th Befehl] [th Parameter 1]
478     ][tr
479     [th ~$] [td [pre echo]] [td [pre Hallo        Welt]]
480     ]
481   ]
482 ]
483 [slide [h2 Syntax der Kommandozeile]
484   [h3 [u Drei] Parameter]
485   [pre ~$ echo Hallo "       " Welt]
486   [pre ~$ echo "Hallo" "       " "Welt"]
487   [table width="85%"
488     [tr
489     [th Shellprompt] [th Befehl] [th Parameter 1] [th Parameter 2] [th Parameter 3]
490     ][tr
491     [th ~$] [td [pre echo]] [td [pre Hallo]] [td [pre  ]] [td [pre Welt]]
492     ]
493   ]
494 ]
495
496 [slide [h2 Syntax der Kommandozeile]
497   [h3 Folie vom ersten Kurstag:]
498   [pre ~$ echo "Hallo Welt!" \> datei1]
499 ]
500
501 [slide [h2 Syntax der Kommandozeile]
502   [ul
503     [h3 Folie vom ersten Kurstag:]
504     [li mit [pre echo] können wir text [strike in eine Datei schreiben] [ul
505       [li [strong Eigentlich nur ausgeben!]]
506     ]]
507   ]
508 ]
509
510 [slide [h2 Syntax der Kommandozeile]
511   [table width="85%"
512     [tr
513     [th Shellprompt] [th Befehl] [th Parameter 1] [th Umleitung] [th Ziel der Umleitung]
514     ][tr
515     [th ~$] [td [pre echo]] [td [pre Hallo Welt!]] [td \>] [td  datei1]
516     ]
517   ]
518 ]
519
520 [slide [h2 Syntax der Kommandozeile]
521   [ul .uncover
522     [li style="margin-top: 1em;" [pre ~$ echo "Hallo Welt!" > datei1]]
523     [li style="margin-top: 1em;" [pre ~$ ls -l > datei1]]
524     [li style="margin-top: 1em;" [pre ~$ cat datei1 > datei2]]
525     [li style="margin-top: 1em;" [strong Shellkommandos sind eine Sprache!]]
526   ]
527 ]
528
529 [slide [h1 Arbeit mit Dateien und Pfaden]]
530
531 [slide [h2 Arbeit mit Dateien und Pfaden]
532   [ul .uncover
533     [li [pre ~$ touch datei1 datei2 datei3]]
534     [li [pre ~$ mkdir ordner1 ordner2]]
535   ]
536 ]
537
538 [slide [h2 Arbeit mit Dateien und Pfaden]
539   [ul .uncover
540     [li [pre ~$ mv datei1 ordner1]]
541     [li [pre ~$ mv datei2 datei3 ordner2]]
542   ]
543 ]
544
545 [slide [h2 Arbeit mit Dateien und Pfaden]
546   [table width="85%"
547     [tr
548     [th Shellprompt] [th Befehl] [th Parameter 1] [th Parameter 2]
549     ][tr
550     [th ~$] [td [pre mv]] [td [pre datei1]] [td [pre ordner1]]
551     ]
552   ]
553   [table width="85%"
554     [tr
555     [th Shellprompt] [th Befehl] [th Parameter 1] [th Parameter 2] [th Parameter 3]
556     ][tr
557     [th ~$] [td [pre mv]] [td [pre datei2]] [td [pre datei3]] [td [pre ordner2]]
558     ]
559   ]
560 ]
561
562 [slide [h2 Arbeit mit Dateien und Pfaden]
563   [ul .uncover
564     [li [pre ~$ ls ordner1]]
565     [li [pre ~$ cd ordner1]]
566     [li [pre ~/ordner1$ ls]]
567     [li [pre ~/ordner1$ ls ordner1                                              ]]
568   ]
569 ]
570
571 [slide [h2 Arbeit mit Dateien und Pfaden]
572   [ul
573     [li [pre ~$ ls ordner1]]
574     [li [pre ~$ cd ordner1]]
575     [li [pre ~/ordner1$ ls]]
576     [li [pre ~/ordner1$ ls ordner1]]
577     [li Wir sind [strong in] [em ordner1], dieser Ordner enthält nicht seinerseits einen [em ordner1]]
578   ]
579 ]
580
581 [slide [h2 Arbeit mit Dateien und Pfaden]
582   [pre ~/ordner1$ ls /home/live/ordner1]
583   funktioniert immer =\> absoluter Pfad
584 ]
585
586 [slide [h2 Arbeit mit Dateien und Pfaden]
587   [ul
588     [li Relativer Pfad: [pre ~/ordner1$ ls ../ordner2]]
589     [li Absoluter Pfad: [pre ~/ordner1$ ls /home/live/ordner2]]
590   ]
591 ]
592
593 [slide [h2 Arbeit mit Dateien und Pfaden]
594   [pre ~/ordner1$ cp datei1 "Name mit Leerzeichen"]
595 ]
596
597 [slide [h2 Arbeit mit Dateien und Pfaden]
598   [ul .uncover
599     [li [pre ~/ordner1$ mv "Name mit Leerzeichen" Name_ohne_Leerzeichen]]
600     [li auch möglich:
601       [pre ~/ordner1$ mv Name\\ mit\\ Leerzeichen Name_ohne_Leerzeichen]]
602   ]
603 ]
604
605 [slide [h2 Arbeit mit Dateien und Pfaden]
606   [pre
607   ~/ordner1$ mv Name_ohne_Leerzeichen ..
608   ~/ordner1$ mv ../Name_ohne_Leerzeichen .]
609 ]
610
611 [slide [h2 Arbeit mit Dateien und Pfaden]
612   [pre
613   ~/ordner1$ mv ../ordner2/datei2 .
614   ~/ordner1$ mv /home/live/ordner2/datei3 .]
615 ]
616
617 [slide [h2 Arbeit mit Dateien und Pfaden]
618   [pre
619   ~/ordner1$ cd /home/live
620   ~$ rmdir ordner2]
621 ]
622
623 [slide [h2 Arbeit mit Dateien und Pfaden]
624   [pre
625   ~$ rmdir ordner1]
626 ]
627
628 [slide [h2 Arbeit mit Dateien und Pfaden]
629   [pre
630   ~$ rm ordner1]
631 ]
632
633 [slide [h2 Arbeit mit Dateien und Pfaden]
634   [pre
635   ~$ rm ordner1/datei2]
636 ]
637
638 [slide [h2 Arbeit mit Dateien und Pfaden]
639   [pre
640   ~$ rm -r ordner1/]
641 ]
642
643 [slide [h2 Zusammenfassung]
644   [ul .uncover
645     [h3 Shellsyntax]
646     [li Die Shell erlaubt es Instruktionen zu beschreiben]
647     [li mit \> kann jede Programmausgabe in eine Datei geleitet werden]
648     [li Die Fähigkeiten von Programmen sind so erweiterbar]
649   ]
650 ]
651
652 [slide [h2 Zusammenfassung]
653   [ul .uncover
654     [h3 Pfade]
655     [li Einige Programme nehmen Pfade als Parameter an]
656     [li Pfade können nach Belieben absolut oder relativ sein]
657     [li Pfade mit Leerzeichen werden in Anführungszeichen gefasst, damit sie als einzelne Parameter gelten]
658     [li [strong Kommandos:] mkdir, cp, mv, rmdir, rm, rm -r]
659   ]
660 ]
661
662 [slide [h2 Daran denken:]
663   [ul
664     [li Anwesenheitsliste?]
665   ]
666 ]
667
668 ]]