]> git.plutz.net Git - vhs_kurs/blob - Tag_2.short
header and footer for Hertz workshop
[vhs_kurs] / Tag_2.short
1 [html
2 [head [title Linux Verstehen]]
3 [body
4   [footer Paul Hänsch | Linux Verstehen | VHS Heinrich Hertz Gymnasium Berlin]
5
6 [slide
7   [h1 Linux Verstehen - Teil 2]
8 ]
9
10 [slide [h2 Themen]
11   [ul
12     [li Wiederholung + Syntax der Kommandozeile]
13     [li Arbeit mit Dateien und Pfaden]
14     [li Datenträger und Dateisysteme]
15   ]
16 ]
17
18 [slide [h1 Syntax der Kommandozeile]]
19
20 [slide [h2 Syntax der Kommandozeile]
21   [pre ~$ echo Hallo Welt]
22 ]
23
24 [slide [h2 Syntax der Kommandozeile]
25   [ul .uncover
26     [li [pre ~$ echo Hallo Welt]]
27     [li [pre Hallo Welt]]
28     [li [pre ~$ echo Hallo        Welt]]
29     [li [pre Hallo Welt]]
30     [li [pre ~$ echo "Hallo        Welt"]]
31     [li [pre Hallo        Welt]]
32   ]
33 ]
34
35 [slide [h2 Syntax der Kommandozeile]
36   [ul .uncover
37     [li [pre ~$ echo Hallo Welt]
38     [pre ~$ echo Hallo        Welt]
39     [table width="85%"
40       [tr
41       [th Shellprompt] [th Befehl / Programm] [th Parameter 1] [th Parameter 2]
42       ][tr
43       [th ~$] [td [pre echo]] [td [pre Hallo]] [td [pre Welt]]
44       ]
45     ]]
46     [li [pre ~$ echo "Hallo        Welt"]
47     [table width="85%"
48       [tr
49       [th Shellprompt] [th Befehl / Programm] [th Parameter 1]
50       ][tr
51       [th ~$] [td [pre echo]] [td [pre Hallo        Welt]]
52       ]
53     ]]
54   ]
55 ]
56
57 [slide [h2 Syntax der Kommandozeile]
58   [h3 [u Ein] Parameter:]
59   [pre ~$ echo "Hallo        Welt"]
60   [pre ~$ echo Hallo"       "Welt]
61   [table width="85%"
62     [tr
63     [th Shellprompt] [th Befehl] [th Parameter 1]
64     ][tr
65     [th ~$] [td [pre echo]] [td [pre Hallo        Welt]]
66     ]
67   ]
68 ]
69 [slide [h2 Syntax der Kommandozeile]
70   [h3 [u Drei] Parameter]
71   [pre ~$ echo Hallo "       " Welt]
72   [pre ~$ echo "Hallo" "       " "Welt"]
73   [table width="85%"
74     [tr
75     [th Shellprompt] [th Befehl] [th Parameter 1] [th Parameter 2] [th Parameter 3]
76     ][tr
77     [th ~$] [td [pre echo]] [td [pre Hallo]] [td [pre  ]] [td [pre Welt]]
78     ]
79   ]
80 ]
81
82 [slide [h2 Syntax der Kommandozeile]
83   [h3 Folie vom ersten Kurstag:]
84   [pre ~$ echo "Hallo Welt!" \> datei1]
85 ]
86
87 [slide [h2 Syntax der Kommandozeile]
88   [ul
89     [h3 Folie vom ersten Kurstag:]
90     [li mit [pre echo] können wir text [strike in eine Datei schreiben] [ul
91       [li [strong Eigentlich nur ausgeben!]]
92     ]]
93   ]
94 ]
95
96 [slide [h2 Syntax der Kommandozeile]
97   [table width="85%"
98     [tr
99     [th Shellprompt] [th Befehl] [th Parameter 1] [th Umleitung] [th Ziel der Umleitung]
100     ][tr
101     [th ~$] [td [pre echo]] [td [pre Hallo Welt!]] [td \>] [td  datei1]
102     ]
103   ]
104 ]
105
106 [slide [h2 Syntax der Kommandozeile]
107   [ul .uncover
108     [li style="margin-top: 1em;" [pre ~$ echo "Hallo Welt!" > datei1]]
109     [li style="margin-top: 1em;" [pre ~$ ls -l > datei1]]
110     [li style="margin-top: 1em;" [pre ~$ cat datei1 > datei2]]
111     [li style="margin-top: 1em;" [strong Shellkommandos sind eine Sprache!]]
112   ]
113 ]
114
115 [slide [h1 Arbeit mit Dateien und Pfaden]]
116
117 [slide [h2 Arbeit mit Dateien und Pfaden]
118   [ul .uncover
119     [li [pre ~$ touch datei1 datei2 datei3]]
120     [li [pre ~$ mkdir ordner1 ordner2]]
121   ]
122 ]
123
124 [slide [h2 Arbeit mit Dateien und Pfaden]
125   [ul .uncover
126     [li [pre ~$ mv datei1 ordner1]]
127     [li [pre ~$ mv datei2 datei3 ordner2]]
128   ]
129 ]
130
131 [slide [h2 Arbeit mit Dateien und Pfaden]
132   [table width="85%"
133     [tr
134     [th Shellprompt] [th Befehl] [th Parameter 1] [th Parameter 2]
135     ][tr
136     [th ~$] [td [pre mv]] [td [pre datei1]] [td [pre ordner1]]
137     ]
138   ]
139   [table width="85%"
140     [tr
141     [th Shellprompt] [th Befehl] [th Parameter 1] [th Parameter 2] [th Parameter 3]
142     ][tr
143     [th ~$] [td [pre mv]] [td [pre datei2]] [td [pre datei3]] [td [pre ordner2]]
144     ]
145   ]
146 ]
147
148 [slide [h2 Arbeit mit Dateien und Pfaden]
149   [ul .uncover
150     [li [pre ~$ ls ordner1]]
151     [li [pre ~$ cd ordner1]]
152     [li [pre ~/ordner1$ ls]]
153     [li [pre ~/ordner1$ ls ordner1                                              ]]
154   ]
155 ]
156
157 [slide [h2 Arbeit mit Dateien und Pfaden]
158   [ul
159     [li [pre ~$ ls ordner1]]
160     [li [pre ~$ cd ordner1]]
161     [li [pre ~/ordner1$ ls]]
162     [li [pre ~/ordner1$ ls ordner1]]
163     [li Wir sind [strong in] [em ordner1], dieser Ordner enthält nicht seinerseits einen [em ordner1]]
164   ]
165 ]
166
167 [slide [h2 Arbeit mit Dateien und Pfaden]
168   [pre ~/ordner1$ ls /home/live/ordner1]
169   funktioniert immer =\> absoluter Pfad
170 ]
171
172 [slide [h2 Arbeit mit Dateien und Pfaden]
173   [ul
174     [li Relativer Pfad: [pre ~/ordner1$ ls ../ordner2]]
175     [li Absoluter Pfad: [pre ~/ordner1$ ls /home/live/ordner2]]
176   ]
177 ]
178
179 [slide [h2 Arbeit mit Dateien und Pfaden]
180   [pre ~/ordner1$ cp datei1 "Name mit Leerzeichen"]
181 ]
182
183 [slide [h2 Arbeit mit Dateien und Pfaden]
184   [ul .uncover
185     [li [pre ~/ordner1$ mv "Name mit Leerzeichen" Name_ohne_Leerzeichen]]
186     [li auch möglich:
187       [pre ~/ordner1$ mv Name\\ mit\\ Leerzeichen Name_ohne_Leerzeichen]]
188   ]
189 ]
190
191 [slide [h2 Arbeit mit Dateien und Pfaden]
192   [pre
193   ~/ordner1$ mv Name_ohne_Leerzeichen ..
194   ~/ordner1$ mv ../Name_ohne_Leerzeichen .]
195 ]
196
197 [slide [h2 Arbeit mit Dateien und Pfaden]
198   [pre
199   ~/ordner1$ mv ../ordner2/datei2 .
200   ~/ordner1$ mv /home/live/ordner2/datei3 .]
201 ]
202
203 [slide [h2 Arbeit mit Dateien und Pfaden]
204   [pre
205   ~/ordner1$ cd /home/live
206   ~$ rmdir ordner2]
207 ]
208
209 [slide [h2 Arbeit mit Dateien und Pfaden]
210   [pre
211   ~$ rmdir ordner1]
212 ]
213
214 [slide [h2 Arbeit mit Dateien und Pfaden]
215   [pre
216   ~$ rm ordner1]
217 ]
218
219 [slide [h2 Arbeit mit Dateien und Pfaden]
220   [pre
221   ~$ rm ordner1/datei2]
222 ]
223
224 [slide [h2 Arbeit mit Dateien und Pfaden]
225   [pre
226   ~$ rm -r ordner1/]
227 ]
228
229 [slide [h2 Zusammenfassung]
230   [ul .uncover
231     [h3 Shellsyntax]
232     [li Die Shell erlaubt es Instruktionen zu beschreiben]
233     [li mit \> kann jede Programmausgabe in eine Datei geleitet werden]
234     [li Die Fähigkeiten von Programmen sind so erweiterbar]
235   ]
236 ]
237
238 [slide [h2 Zusammenfassung]
239   [ul .uncover
240     [h3 Pfade]
241     [li Einige Programme nehmen Pfade als Parameter an]
242     [li Pfade können nach Belieben absolut oder relativ sein]
243     [li Pfade mit Leerzeichen werden in Anführungszeichen gefasst, damit sie als einzelne Parameter gelten]
244     [li [strong Kommandos:] mkdir, cp, mv, rmdir, rm, rm -r]
245   ]
246 ]
247
248 [slide [h1 Datenträger und Dateisysteme]]
249
250 [slide [h2 Datenträger]
251   [ul .uncover
252     [li Enthalten Verzeichnisse und Dateien]
253     [li Aber: Gerät enthält nur einen "Datenstrom"]
254     [li Dateistrukturen müssen kodiert werden]
255     [li Ein Dateisystem kodiert Dateien auf einem Datenträger]
256   ]
257 ]
258
259 [slide [h2 Datenträger]
260   [ul .uncover
261     [h3 Beispiel: CD-ROM Images]
262     [li Dateisystem von CD-ROMs ist spezifiziert in ISO 9660]
263     [li ISO 9660 wird beim Schreiben von CDs zusamengebaut, ist nicht nachträglich veränderlich]
264     [li Unterstützt Unix-Benutzerrechte nur mit Erweiterungen]
265     [li Ganzes Dateisystem kann in .iso-Dateien gespeichert werden]
266   ]
267 ]
268
269 [slide [h2 Datenträger]
270   [ul .uncover
271     [h3 Beispiel: CD-ROMs]
272     [li CD-ROM kann von .iso-Datei gebrannt werden]
273     [li Inhalt der CD ist [em identisch] mit .iso-Datei]
274     [li Erstellen eines CD-Images: [pre ~$ cp /dev/cdrom live.iso]]
275   ]
276 ]
277
278 [slide [h1 Dateisysteme]]
279
280 [slide [h2 Dateisysteme]
281   [ul .uncover
282     [li [pre ~$ mkdir cdrom][br]]
283     [li [pre ~$ sudo mount live.iso cdrom/][br]]
284     [li [pre ~$ ls cdrom/]]
285   ]
286 ]
287
288 [slide [h2 Dateisysteme]
289   [ul .uncover
290     [h3 Diverse Kommandos]
291     [li [pre ~$ lsblk][br]]
292     [li [pre ~$ df] [pre ~$ df -h] [br]]
293     [li [pre ~$ mount][br]]
294     [li [pre ~$ umount]]
295   ]
296 ]
297
298 [slide [h1 Dateisysteme auf Datenträgern anlegen]]
299
300 [slide [h2 Dateisysteme und Datenträger]
301   [p [h3 Wir brauchen einen Computer ;-)]
302     [img "aqemu_1.jpg" "aQemu aus dem Menü starten"]
303   ]
304 ]
305
306 [slide [h2 Dateisysteme und Datenträger]
307   [p [h3 Wir brauchen einen Computer ;-)]
308     [img "aqemu_2.jpg" "eine neue Maschine anlegen"]
309   ]
310 ]
311
312 [slide [h2 Dateisysteme und Datenträger]
313   [p [h3 Wir brauchen einen Computer ;-)]
314     [img "aqemu_3.jpg" "Das CDROM-Laufwerk hinzufügen"]
315   ]
316 ]
317
318 [slide [h2 Dateisysteme und Datenträger]
319   [p [h3 Alternativ auf der Kommandozeile ;-)]
320     [pre ~$ dd bs=1M count=0 seek=2048 of=sparse.img]
321     [pre ~$ kvm -m 1024 sparse.img -cdrom /dev/cdrom]
322   ]
323 ]
324
325 [slide [h2 Dateisysteme und Datenträger]
326   [ul .uncover
327     [li Festplatten und USB-Sticks werden [em partitioniert]]
328     [li Dateisysteme werden idR. in einer Partition angelegt]
329     [li Ein Programm zum Anlegen von Partitionen und Dateisystemen:
330       [pre ~$ sudo gparted]
331     ]
332   ]
333 ]
334
335 [slide [h2 Dateisysteme und Datenträger]
336   [ul .uncover
337     [h3 Wir brauchen:]
338     [li Eine Partitionstabelle: gpt]
339     [li Eine Partition]
340     [li Ein Dateisystem: vfat]
341     [li Eine zweite Partition]
342     [li Ein zweites Dateisystem: ext4]
343   ]
344 ]
345
346 [slide [h2 Dateisysteme und Datenträger]
347   [ul .uncover
348     [h3 Dateisysteme]
349     [li Ext4: Verbreitet für Linux-Systeminstallation]
350     [li FAT (vfat): Verbreitet für Wechselmedien [ul
351       [li Kann keine Zugriffsrechte abbilden]]]
352     [li exFAT: Moderneres FS für Wechselmedien (unterstützt Dateien \>4GB)]
353     [li NTFS: Dateisystem für Windows-Installationen]
354     [li Weitere: HPFS, BtrFS, UDF, ...]
355   ]
356 ]
357
358 [slide [h2 Dateisysteme und Datenträger]
359   [ul .uncover
360     [h3 Dateisystem-Tools auf der Kommandozeile:]
361     [li [pre ~$ sudo fdisk /dev/sda][br]]
362     [li [pre ~$ sudo mkfs.ext4 /dev/sda1][br]]
363     [li mkfs.vfat, mkisofs, ...]
364   ]
365 ]
366
367 [slide [h1 \...]]
368
369 [slide [h2 Zusammenfassung]
370   [ul
371     [li Um Dateien darzustellen benötigen wir ein Dateisystem]
372     [li Verschiedene Dateisysteme haben verschiedene Eigenschaften]
373     [li Datenträger werden partitioniert]
374     [li Partitionen nehmen Dateisysteme auf]
375     [li Wir [em mounten] Dateisysteme um auf Dateien zuzugreifen]
376   ]
377 ]
378
379 [slide [h2 Nächster Termin]
380   [ul
381     [li Nächster Termin: Do. 30.6. - morgen]
382     [li Themen: Prozessverwaltung, Netzwerke]
383   ]
384 ]
385
386 ]