2 [head [title Linux Verstehen]]
4 [footer Paul Hänsch | Linux Verstehen | VHS Heinrich Hertz Gymnasium Berlin]
7 [h1 Linux Verstehen - Teil 2]
12 [li Wiederholung + Syntax der Kommandozeile]
13 [li Arbeit mit Dateien und Pfaden]
14 [li Datenträger und Dateisysteme]
18 [slide [h1 Syntax der Kommandozeile]]
20 [slide [h2 Syntax der Kommandozeile]
21 [pre ~$ echo Hallo Welt]
24 [slide [h2 Syntax der Kommandozeile]
26 [li [pre ~$ echo Hallo Welt]]
28 [li [pre ~$ echo Hallo Welt]]
30 [li [pre ~$ echo "Hallo Welt"]]
35 [slide [h2 Syntax der Kommandozeile]
37 [li [pre ~$ echo Hallo Welt]
38 [pre ~$ echo Hallo Welt]
41 [th Shellprompt] [th Befehl / Programm] [th Parameter 1] [th Parameter 2]
43 [th ~$] [td [pre echo]] [td [pre Hallo]] [td [pre Welt]]
46 [li [pre ~$ echo "Hallo Welt"]
49 [th Shellprompt] [th Befehl / Programm] [th Parameter 1]
51 [th ~$] [td [pre echo]] [td [pre Hallo Welt]]
57 [slide [h2 Syntax der Kommandozeile]
58 [h3 [u Ein] Parameter:]
59 [pre ~$ echo "Hallo Welt"]
60 [pre ~$ echo Hallo" "Welt]
63 [th Shellprompt] [th Befehl] [th Parameter 1]
65 [th ~$] [td [pre echo]] [td [pre Hallo Welt]]
69 [slide [h2 Syntax der Kommandozeile]
70 [h3 [u Drei] Parameter]
71 [pre ~$ echo Hallo " " Welt]
72 [pre ~$ echo "Hallo" " " "Welt"]
75 [th Shellprompt] [th Befehl] [th Parameter 1] [th Parameter 2] [th Parameter 3]
77 [th ~$] [td [pre echo]] [td [pre Hallo]] [td [pre ]] [td [pre Welt]]
82 [slide [h2 Syntax der Kommandozeile]
83 [h3 Folie vom ersten Kurstag:]
84 [pre ~$ echo "Hallo Welt!" \> datei1]
87 [slide [h2 Syntax der Kommandozeile]
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!]]
96 [slide [h2 Syntax der Kommandozeile]
99 [th Shellprompt] [th Befehl] [th Parameter 1] [th Umleitung] [th Ziel der Umleitung]
101 [th ~$] [td [pre echo]] [td [pre Hallo Welt!]] [td \>] [td datei1]
106 [slide [h2 Syntax der Kommandozeile]
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!]]
115 [slide [h1 Arbeit mit Dateien und Pfaden]]
117 [slide [h2 Arbeit mit Dateien und Pfaden]
119 [li [pre ~$ touch datei1 datei2 datei3]]
120 [li [pre ~$ mkdir ordner1 ordner2]]
124 [slide [h2 Arbeit mit Dateien und Pfaden]
126 [li [pre ~$ mv datei1 ordner1]]
127 [li [pre ~$ mv datei2 datei3 ordner2]]
131 [slide [h2 Arbeit mit Dateien und Pfaden]
134 [th Shellprompt] [th Befehl] [th Parameter 1] [th Parameter 2]
136 [th ~$] [td [pre mv]] [td [pre datei1]] [td [pre ordner1]]
141 [th Shellprompt] [th Befehl] [th Parameter 1] [th Parameter 2] [th Parameter 3]
143 [th ~$] [td [pre mv]] [td [pre datei2]] [td [pre datei3]] [td [pre ordner2]]
148 [slide [h2 Arbeit mit Dateien und Pfaden]
150 [li [pre ~$ ls ordner1]]
151 [li [pre ~$ cd ordner1]]
152 [li [pre ~/ordner1$ ls]]
153 [li [pre ~/ordner1$ ls ordner1 ]]
157 [slide [h2 Arbeit mit Dateien und Pfaden]
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]]
167 [slide [h2 Arbeit mit Dateien und Pfaden]
168 [pre ~/ordner1$ ls /home/live/ordner1]
169 funktioniert immer =\> absoluter Pfad
172 [slide [h2 Arbeit mit Dateien und Pfaden]
174 [li Relativer Pfad: [pre ~/ordner1$ ls ../ordner2]]
175 [li Absoluter Pfad: [pre ~/ordner1$ ls /home/live/ordner2]]
179 [slide [h2 Arbeit mit Dateien und Pfaden]
180 [pre ~/ordner1$ cp datei1 "Name mit Leerzeichen"]
183 [slide [h2 Arbeit mit Dateien und Pfaden]
185 [li [pre ~/ordner1$ mv "Name mit Leerzeichen" Name_ohne_Leerzeichen]]
187 [pre ~/ordner1$ mv Name\\ mit\\ Leerzeichen Name_ohne_Leerzeichen]]
191 [slide [h2 Arbeit mit Dateien und Pfaden]
193 ~/ordner1$ mv Name_ohne_Leerzeichen ..
194 ~/ordner1$ mv ../Name_ohne_Leerzeichen .]
197 [slide [h2 Arbeit mit Dateien und Pfaden]
199 ~/ordner1$ mv ../ordner2/datei2 .
200 ~/ordner1$ mv /home/live/ordner2/datei3 .]
203 [slide [h2 Arbeit mit Dateien und Pfaden]
205 ~/ordner1$ cd /home/live
209 [slide [h2 Arbeit mit Dateien und Pfaden]
214 [slide [h2 Arbeit mit Dateien und Pfaden]
219 [slide [h2 Arbeit mit Dateien und Pfaden]
221 ~$ rm ordner1/datei2]
224 [slide [h2 Arbeit mit Dateien und Pfaden]
229 [slide [h2 Zusammenfassung]
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]
238 [slide [h2 Zusammenfassung]
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]
248 [slide [h1 Datenträger und Dateisysteme]]
250 [slide [h2 Datenträger]
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]
259 [slide [h2 Datenträger]
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]
269 [slide [h2 Datenträger]
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]]
278 [slide [h1 Dateisysteme]]
280 [slide [h2 Dateisysteme]
282 [li [pre ~$ mkdir cdrom][br]]
283 [li [pre ~$ sudo mount live.iso cdrom/][br]]
284 [li [pre ~$ ls cdrom/]]
288 [slide [h2 Dateisysteme]
290 [h3 Diverse Kommandos]
291 [li [pre ~$ lsblk][br]]
292 [li [pre ~$ df] [pre ~$ df -h] [br]]
293 [li [pre ~$ mount][br]]
298 [slide [h1 Dateisysteme auf Datenträgern anlegen]]
300 [slide [h2 Dateisysteme und Datenträger]
301 [p [h3 Wir brauchen einen Computer ;-)]
302 [img "aqemu_1.jpg" "aQemu aus dem Menü starten"]
306 [slide [h2 Dateisysteme und Datenträger]
307 [p [h3 Wir brauchen einen Computer ;-)]
308 [img "aqemu_2.jpg" "eine neue Maschine anlegen"]
312 [slide [h2 Dateisysteme und Datenträger]
313 [p [h3 Wir brauchen einen Computer ;-)]
314 [img "aqemu_3.jpg" "Das CDROM-Laufwerk hinzufügen"]
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]
325 [slide [h2 Dateisysteme und Datenträger]
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]
335 [slide [h2 Dateisysteme und Datenträger]
338 [li Eine Partitionstabelle: gpt]
340 [li Ein Dateisystem: vfat]
341 [li Eine zweite Partition]
342 [li Ein zweites Dateisystem: ext4]
346 [slide [h2 Dateisysteme und Datenträger]
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, ...]
358 [slide [h2 Dateisysteme und Datenträger]
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, ...]
369 [slide [h2 Zusammenfassung]
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]
379 [slide [h2 Nächster Termin]
381 [li Nächster Termin: Do. 30.6. - morgen]
382 [li Themen: Prozessverwaltung, Netzwerke]