[html [head [title VHS Linuxkurs]] [body [footer Paul Hänsch | Linux Grundkurs | VHS Leipzig] [slide [h1 VHS Linux Grundkurs - Teil 2] ] [slide [h2 Themen] [ul [li Wiederholung + Syntax der Kommandozeile] [li Arbeit mit Dateien und Pfaden] [li Datenträger und Dateisysteme] ] ] [slide [h2 Nicht Vergessen!] [ul [li Achja, Die Tastaturbelegung...]] ] [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  ]] [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/live/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/live/ordner2]] ] ] [slide [h2 Arbeit mit Dateien und Pfaden] [pre ~$ cp datei1 "Name mit Leerzeichen"] ] [slide [h2 Arbeit mit Dateien und Pfaden] [ul .uncover [li [pre ~$ mv "Name mit Leerzeichen" Name_ohne_Leerzeichen]] [li auch möglich: [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/live/ordner2/datei3 .] ] [slide [h2 Arbeit mit Dateien und Pfaden] [pre ~$ cd /home/live ~$ 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 [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 [h1 Datenträger und Dateisysteme]] [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 live.iso]] ] ] [slide [h1 Dateisysteme]] [slide [h2 Dateisysteme] [ul .uncover [li [pre ~$ mkdir cdrom][br]] [li [pre ~$ sudo mount live.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 Computer ;-)] [img "aqemu_1.jpg" "aQemu aus dem Menü starten"] ] ] [slide [h2 Dateisysteme und Datenträger] [p [h3 Wir brauchen einen Computer ;-)] [img "aqemu_2.jpg" "eine neue Maschine anlegen"] ] ] [slide [h2 Dateisysteme und Datenträger] [p [h3 Wir brauchen einen Computer ;-)] [img "aqemu_3.jpg" "Das CDROM-Laufwerk hinzufügen"] ] ] [slide [h2 Dateisysteme und Datenträger] [p [h3 Alternativ auf der Kommandozeile ;-)] [pre ~$ dd bs=1M count=0 seek=2048 of=sparse.img] [pre ~$ kvm -m 1024 sparse.img -cdrom /dev/cdrom] ] ] [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 [em mounten] Dateisysteme um auf Dateien zuzugreifen] ] ] [slide [h2 Nächster Termin] [ul [li Nächster Termin: 2. Oktober] [li Themen: Prozessverwaltung, Netzwerke] ] ] ]