8468 lines
391 KiB
HTML
8468 lines
391 KiB
HTML
|
<!DOCTYPE html><html>
|
|||
|
<head>
|
|||
|
<title></title>
|
|||
|
<style type="text/css">
|
|||
|
<!--
|
|||
|
.xflip {
|
|||
|
-moz-transform: scaleX(-1);
|
|||
|
-webkit-transform: scaleX(-1);
|
|||
|
-o-transform: scaleX(-1);
|
|||
|
transform: scaleX(-1);
|
|||
|
filter: fliph;
|
|||
|
}
|
|||
|
.yflip {
|
|||
|
-moz-transform: scaleY(-1);
|
|||
|
-webkit-transform: scaleY(-1);
|
|||
|
-o-transform: scaleY(-1);
|
|||
|
transform: scaleY(-1);
|
|||
|
filter: flipv;
|
|||
|
}
|
|||
|
.xyflip {
|
|||
|
-moz-transform: scaleX(-1) scaleY(-1);
|
|||
|
-webkit-transform: scaleX(-1) scaleY(-1);
|
|||
|
-o-transform: scaleX(-1) scaleY(-1);
|
|||
|
transform: scaleX(-1) scaleY(-1);
|
|||
|
filter: fliph + flipv;
|
|||
|
}
|
|||
|
-->
|
|||
|
</style>
|
|||
|
</head>
|
|||
|
<body>
|
|||
|
<a name=1></a>linux v0.1.52<br/>
|
|||
|
tresix69@freenet.de<br/>
|
|||
|
15. Februar 2025<br/>
|
|||
|
betreut durch Thomas resiX<br/>
|
|||
|
<hr/>
|
|||
|
<a name=2></a><hr/>
|
|||
|
<a name=3></a>1. Vorwort<br/>
|
|||
|
Habe versucht alles so kurz wie möglich aber dennoch ausführlich zu Beschreiben und<br/>
|
|||
|
wie immer aus verschiedenen Anleitugen abgeschrieben ;-)<br/>
|
|||
|
3<br/>
|
|||
|
<hr/>
|
|||
|
<a name=4></a><hr/>
|
|||
|
<a name=5></a>Inhaltsverzeichnis<br/>
|
|||
|
<a href="linuxs.html#3">1. Vorwort</a><br/>
|
|||
|
3<br/>
|
|||
|
<a href="linuxs.html#5">Inhaltsverzeichnis</a><br/>
|
|||
|
5<br/>
|
|||
|
<a href="linuxs.html#15">I.</a><br/>
|
|||
|
<a href="linuxs.html#15">Linux</a><br/>
|
|||
|
15<br/>
|
|||
|
<a href="linuxs.html#17">2. Linux</a><br/>
|
|||
|
17<br/>
|
|||
|
<a href="linuxs.html#17">2.1.</a><br/>
|
|||
|
<a href="linuxs.html#17">Was ist Linux? </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br/>
|
|||
|
<a href="linuxs.html#17">2.2.</a><br/>
|
|||
|
<a href="linuxs.html#17">Kernel und Module </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br/>
|
|||
|
<a href="linuxs.html#17">2.2.1.</a><br/>
|
|||
|
<a href="linuxs.html#17">Kernel 2.4 </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br/>
|
|||
|
<a href="linuxs.html#17">2.2.2.</a><br/>
|
|||
|
<a href="linuxs.html#17">Kernel 2.6 (Debian 4.0 etch) </a>. . . . . . . . . . . . . . . . . . . 17<br/>
|
|||
|
<a href="linuxs.html#19">3. Befehle</a><br/>
|
|||
|
19<br/>
|
|||
|
<a href="linuxs.html#19">3.1.</a><br/>
|
|||
|
<a href="linuxs.html#19">Standartein-aus-gabe </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br/>
|
|||
|
<a href="linuxs.html#19">3.2.</a><br/>
|
|||
|
<a href="linuxs.html#19">Anmelden und Abmelden </a>. . . . . . . . . . . . . . . . . . . . . . . . . 19<br/>
|
|||
|
<a href="linuxs.html#19">3.3.</a><br/>
|
|||
|
<a href="linuxs.html#19">Anhalten des Systems und Booten </a>. . . . . . . . . . . . . . . . . . . . 19<br/>
|
|||
|
<a href="linuxs.html#20">3.4.</a><br/>
|
|||
|
<a href="linuxs.html#20">Die Runlevel </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br/>
|
|||
|
<a href="linuxs.html#20">3.4.1.</a><br/>
|
|||
|
<a href="linuxs.html#20">Upstart </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br/>
|
|||
|
<a href="linuxs.html#20">3.5.</a><br/>
|
|||
|
<a href="linuxs.html#20">SuSE-Linux </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br/>
|
|||
|
<a href="linuxs.html#20">3.6.</a><br/>
|
|||
|
<a href="linuxs.html#20">Zur Orientierung auf einem UNIX-Rechner </a>. . . . . . . . . . . . . . . . 20<br/>
|
|||
|
<a href="linuxs.html#21">3.7.</a><br/>
|
|||
|
<a href="linuxs.html#21">Datum und Uhrzeit </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21<br/>
|
|||
|
<a href="linuxs.html#22">3.8.</a><br/>
|
|||
|
<a href="linuxs.html#22">Auflisten </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22<br/>
|
|||
|
<a href="linuxs.html#22">3.9.</a><br/>
|
|||
|
<a href="linuxs.html#22">Dateinamen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22<br/>
|
|||
|
<a href="linuxs.html#22">3.10. Dateiendungen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22<br/>
|
|||
|
<a href="linuxs.html#22">3.11. Infos über Files </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22<br/>
|
|||
|
<a href="linuxs.html#23">3.12. Arbeiten(Verwüstungen) im und am Filesystem </a>. . . . . . . . . . . . . 23<br/>
|
|||
|
<a href="linuxs.html#23">3.13. Kopieren und Verschieben </a>. . . . . . . . . . . . . . . . . . . . . . . . . 23<br/>
|
|||
|
<a href="linuxs.html#23">3.14. Löschen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23<br/>
|
|||
|
<a href="linuxs.html#23">3.15. Ausgeben </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23<br/>
|
|||
|
<a href="linuxs.html#24">3.16. Der Texteditor vi/vim </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br/>
|
|||
|
<a href="linuxs.html#24">3.17. Suchen nach Dateien </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br/>
|
|||
|
<a href="linuxs.html#24">3.18. Suchen in Dateien </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br/>
|
|||
|
<a href="linuxs.html#25">3.19. Vergleichen von Dateien </a>. . . . . . . . . . . . . . . . . . . . . . . . . . 25<br/>
|
|||
|
<a href="linuxs.html#25">3.20. Drucken </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25<br/>
|
|||
|
<a href="linuxs.html#25">3.21. File-Inhalt bearbeiten </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . 25<br/>
|
|||
|
<a href="linuxs.html#25">3.22. TAR (tape archiver) verwaltet Dateiarchive </a>. . . . . . . . . . . . . . . 25<br/>
|
|||
|
<a href="linuxs.html#27">3.22.1. Packen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27<br/>
|
|||
|
5<br/>
|
|||
|
<hr/>
|
|||
|
<a name=6></a>Inhaltsverzeichnis<br/>
|
|||
|
<a href="linuxs.html#27">3.22.2. Entpacken </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27<br/>
|
|||
|
<a href="linuxs.html#27">3.23. Disketten/Festplatten </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . 27<br/>
|
|||
|
<a href="linuxs.html#28">3.23.1. Dateisystem verschlüsseln </a>. . . . . . . . . . . . . . . . . . . . . 28<br/>
|
|||
|
<a href="linuxs.html#28">3.24. Zugriffsrechte/Eigentümer/Gruppe </a>. . . . . . . . . . . . . . . . . . . . 28<br/>
|
|||
|
<a href="linuxs.html#30">3.25. Prozessbefehle </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br/>
|
|||
|
<a href="linuxs.html#31">3.26. Re-install Grub with Live CD </a>. . . . . . . . . . . . . . . . . . . . . . . 31<br/>
|
|||
|
<a href="linuxs.html#31">3.26.1. Chroot </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br/>
|
|||
|
<a href="linuxs.html#31">3.26.2. Grub </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br/>
|
|||
|
<a href="linuxs.html#31">3.27. Software installieren </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br/>
|
|||
|
<a href="linuxs.html#31">3.27.1. rpm-Format </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br/>
|
|||
|
<a href="linuxs.html#32">3.27.2. deb-Format </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32<br/>
|
|||
|
<a href="linuxs.html#33">3.27.3. Portage Gentoo </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . 33<br/>
|
|||
|
<a href="linuxs.html#34">3.27.4. Quelltexte </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34<br/>
|
|||
|
<a href="linuxs.html#34">3.27.5. Hilfe </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34<br/>
|
|||
|
<a href="linuxs.html#34">3.28. Im Netz </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34<br/>
|
|||
|
<a href="linuxs.html#35">3.29. SSH </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35<br/>
|
|||
|
<a href="linuxs.html#35">3.29.1. Generierung eines DSA Schlüsselpaares </a>. . . . . . . . . . . . . 35<br/>
|
|||
|
<a href="linuxs.html#35">3.29.2. Public-Key auf dem Zielrechner hinzufügen </a>. . . . . . . . . . . 35<br/>
|
|||
|
<a href="linuxs.html#35">3.29.3. Private-Key auf dem Qellrechner </a>. . . . . . . . . . . . . . . . . 35<br/>
|
|||
|
<a href="linuxs.html#36">3.29.4. Login nur mit SSH-Keys erlauben </a>. . . . . . . . . . . . . . . . 36<br/>
|
|||
|
<a href="linuxs.html#36">3.30. GnuPG </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36<br/>
|
|||
|
<a href="linuxs.html#36">3.30.1. Erzeugen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36<br/>
|
|||
|
<a href="linuxs.html#36">3.30.2. Hochladen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36<br/>
|
|||
|
<a href="linuxs.html#37">3.30.3. Löschen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br/>
|
|||
|
<a href="linuxs.html#37">3.30.4. Holen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br/>
|
|||
|
<a href="linuxs.html#37">3.30.5. Signatur erzeugen und prüfen </a>. . . . . . . . . . . . . . . . . . . 37<br/>
|
|||
|
<a href="linuxs.html#37">3.30.6. Verschlüsseln </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br/>
|
|||
|
<a href="linuxs.html#37">3.30.7. Entschlüsseln </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br/>
|
|||
|
<a href="linuxs.html#38">3.30.8. Schlüsselverwaltung </a>. . . . . . . . . . . . . . . . . . . . . . . . 38<br/>
|
|||
|
<a href="linuxs.html#38">3.30.9. Anzeigen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38<br/>
|
|||
|
<a href="linuxs.html#38">3.30.10. Exportieren </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38<br/>
|
|||
|
<a href="linuxs.html#38">3.31. X11 - Grafik </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38<br/>
|
|||
|
<a href="linuxs.html#39">3.31.1. Bildschirmschoner </a>. . . . . . . . . . . . . . . . . . . . . . . . . 39<br/>
|
|||
|
<a href="linuxs.html#39">3.31.2. X11 ohne Maus </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . 39<br/>
|
|||
|
<a href="linuxs.html#41">4. Verzeichnisse und Dateien</a><br/>
|
|||
|
41<br/>
|
|||
|
<a href="linuxs.html#41">4.1.</a><br/>
|
|||
|
<a href="linuxs.html#41">Dateibaum </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41<br/>
|
|||
|
<a href="linuxs.html#48">4.2.</a><br/>
|
|||
|
<a href="linuxs.html#48">/etc/fstab </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48<br/>
|
|||
|
<a href="linuxs.html#48">4.3.</a><br/>
|
|||
|
<a href="linuxs.html#48">/dev/ </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48<br/>
|
|||
|
<a href="linuxs.html#49">4.4.</a><br/>
|
|||
|
<a href="linuxs.html#49">Dateisystemtypen unter Linux </a>. . . . . . . . . . . . . . . . . . . . . . . 49<br/>
|
|||
|
<a href="linuxs.html#49">4.5.</a><br/>
|
|||
|
<a href="linuxs.html#49">/etc/group </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49<br/>
|
|||
|
<a href="linuxs.html#50">4.6.</a><br/>
|
|||
|
<a href="linuxs.html#50">/etc/hosts </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50<br/>
|
|||
|
<a href="linuxs.html#50">4.7.</a><br/>
|
|||
|
<a href="linuxs.html#50">/etc/inittab </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50<br/>
|
|||
|
<a href="linuxs.html#50">4.7.1.</a><br/>
|
|||
|
<a href="linuxs.html#50">Terminal </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50<br/>
|
|||
|
<a href="linuxs.html#50">4.7.2.</a><br/>
|
|||
|
<a href="linuxs.html#50">Termcapeintrag </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . 50<br/>
|
|||
|
6<br/>
|
|||
|
<hr/>
|
|||
|
<a name=7></a>Inhaltsverzeichnis<br/>
|
|||
|
<a href="linuxs.html#51">4.7.3.</a><br/>
|
|||
|
<a href="linuxs.html#51">Gettykommando </a>. . . . . . . . . . . . . . . . . . . . . . . . . . 51<br/>
|
|||
|
<a href="linuxs.html#51">4.7.4.</a><br/>
|
|||
|
<a href="linuxs.html#51">Kürzel </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51<br/>
|
|||
|
<a href="linuxs.html#51">4.7.5.</a><br/>
|
|||
|
<a href="linuxs.html#51">Arbeitsstufen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . 51<br/>
|
|||
|
<a href="linuxs.html#51">4.7.6.</a><br/>
|
|||
|
<a href="linuxs.html#51">Modus </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51<br/>
|
|||
|
<a href="linuxs.html#52">4.7.7.</a><br/>
|
|||
|
<a href="linuxs.html#52">Kommando </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52<br/>
|
|||
|
<a href="linuxs.html#53">4.8.</a><br/>
|
|||
|
<a href="linuxs.html#53">/etc/passwd </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53<br/>
|
|||
|
<a href="linuxs.html#55">5. Die Shells</a><br/>
|
|||
|
55<br/>
|
|||
|
<a href="linuxs.html#55">5.1.</a><br/>
|
|||
|
<a href="linuxs.html#55">Die Shells </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55<br/>
|
|||
|
<a href="linuxs.html#55">5.2.</a><br/>
|
|||
|
<a href="linuxs.html#55">Die Start-Scripts </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55<br/>
|
|||
|
<a href="linuxs.html#55">5.3.</a><br/>
|
|||
|
<a href="linuxs.html#55">Tastenkombinationen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . 55<br/>
|
|||
|
<a href="linuxs.html#56">5.4.</a><br/>
|
|||
|
<a href="linuxs.html#56">Die C-Shell </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56<br/>
|
|||
|
<a href="linuxs.html#57">5.5.</a><br/>
|
|||
|
<a href="linuxs.html#57">Bash rechnen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57<br/>
|
|||
|
<a href="linuxs.html#59">II. Programme</a><br/>
|
|||
|
59<br/>
|
|||
|
<a href="linuxs.html#61">6. Der Texteditor vi/vim</a><br/>
|
|||
|
61<br/>
|
|||
|
<a href="linuxs.html#61">6.1.</a><br/>
|
|||
|
<a href="linuxs.html#61">Aufruf </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br/>
|
|||
|
<a href="linuxs.html#61">6.2.</a><br/>
|
|||
|
<a href="linuxs.html#61">Eingabemodus (input mode) </a>. . . . . . . . . . . . . . . . . . . . . . . . 61<br/>
|
|||
|
<a href="linuxs.html#61">6.3.</a><br/>
|
|||
|
<a href="linuxs.html#61">Befehlsmodus (visual mode) </a>. . . . . . . . . . . . . . . . . . . . . . . . 61<br/>
|
|||
|
<a href="linuxs.html#61">6.3.1.</a><br/>
|
|||
|
<a href="linuxs.html#61">Eingeben: </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br/>
|
|||
|
<a href="linuxs.html#61">6.3.2.</a><br/>
|
|||
|
<a href="linuxs.html#61">Überschreiben: </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br/>
|
|||
|
<a href="linuxs.html#62">6.3.3.</a><br/>
|
|||
|
<a href="linuxs.html#62">Bewegen: </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62<br/>
|
|||
|
<a href="linuxs.html#63">6.3.4.</a><br/>
|
|||
|
<a href="linuxs.html#63">Löschen und Eingeben: </a>. . . . . . . . . . . . . . . . . . . . . . 63<br/>
|
|||
|
<a href="linuxs.html#63">6.3.5.</a><br/>
|
|||
|
<a href="linuxs.html#63">Löschen: </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63<br/>
|
|||
|
<a href="linuxs.html#63">6.3.6.</a><br/>
|
|||
|
<a href="linuxs.html#63">Aufheben: </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63<br/>
|
|||
|
<a href="linuxs.html#63">6.3.7.</a><br/>
|
|||
|
<a href="linuxs.html#63">Verschieben: </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . 63<br/>
|
|||
|
<a href="linuxs.html#64">6.3.8.</a><br/>
|
|||
|
<a href="linuxs.html#64">Zusammenfügen: </a>. . . . . . . . . . . . . . . . . . . . . . . . . . 64<br/>
|
|||
|
<a href="linuxs.html#64">6.3.9.</a><br/>
|
|||
|
<a href="linuxs.html#64">Markieren: </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br/>
|
|||
|
<a href="linuxs.html#64">6.3.10. Kopieren: </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br/>
|
|||
|
<a href="linuxs.html#64">6.3.11. Einfügen: </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br/>
|
|||
|
<a href="linuxs.html#64">6.3.12. Suchen: </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br/>
|
|||
|
<a href="linuxs.html#64">6.3.13. Wiederholen: </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br/>
|
|||
|
<a href="linuxs.html#65">6.3.14. Sonstige Kommandos: </a>. . . . . . . . . . . . . . . . . . . . . . . 65<br/>
|
|||
|
<a href="linuxs.html#65">6.4.</a><br/>
|
|||
|
<a href="linuxs.html#65">Kommandomodus (colon mode) </a>. . . . . . . . . . . . . . . . . . . . . . 65<br/>
|
|||
|
<a href="linuxs.html#65">6.4.1.</a><br/>
|
|||
|
<a href="linuxs.html#65">Texteingabe Kommandos </a>. . . . . . . . . . . . . . . . . . . . . 65<br/>
|
|||
|
<a href="linuxs.html#67">7. LaTeX</a><br/>
|
|||
|
67<br/>
|
|||
|
<a href="linuxs.html#67">7.1.</a><br/>
|
|||
|
<a href="linuxs.html#67">LATEX </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67<br/>
|
|||
|
<a href="linuxs.html#69">III. Linux im Netzwerk</a><br/>
|
|||
|
69<br/>
|
|||
|
<a href="linuxs.html#71">8. Netzwerk</a><br/>
|
|||
|
71<br/>
|
|||
|
7<br/>
|
|||
|
<hr/>
|
|||
|
<a name=8></a>Inhaltsverzeichnis<br/>
|
|||
|
<a href="linuxs.html#73">9. Apache</a><br/>
|
|||
|
73<br/>
|
|||
|
<a href="linuxs.html#73">9.1.</a><br/>
|
|||
|
<a href="linuxs.html#73">Einleitung </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73<br/>
|
|||
|
<a href="linuxs.html#73">9.2.</a><br/>
|
|||
|
<a href="linuxs.html#73">Kompilieren und Installieren </a>. . . . . . . . . . . . . . . . . . . . . . . . 73<br/>
|
|||
|
<a href="linuxs.html#73">9.2.1.</a><br/>
|
|||
|
<a href="linuxs.html#73">Anforderungen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . 73<br/>
|
|||
|
<a href="linuxs.html#73">9.2.2.</a><br/>
|
|||
|
<a href="linuxs.html#73">Vorbereitungen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . 73<br/>
|
|||
|
<a href="linuxs.html#74">9.2.3.</a><br/>
|
|||
|
<a href="linuxs.html#74">OpenSSL </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74<br/>
|
|||
|
<a href="linuxs.html#74">9.2.4.</a><br/>
|
|||
|
<a href="linuxs.html#74">Apache 1.3 und SSL </a>. . . . . . . . . . . . . . . . . . . . . . . . 74<br/>
|
|||
|
<a href="linuxs.html#76">9.2.5.</a><br/>
|
|||
|
<a href="linuxs.html#76">Apache2 </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76<br/>
|
|||
|
<a href="linuxs.html#76">9.2.6.</a><br/>
|
|||
|
<a href="linuxs.html#76">Testen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76<br/>
|
|||
|
<a href="linuxs.html#77">9.2.7.</a><br/>
|
|||
|
<a href="linuxs.html#77">Upgrade </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77<br/>
|
|||
|
<a href="linuxs.html#77">9.2.8.</a><br/>
|
|||
|
<a href="linuxs.html#77">PureFTPd </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77<br/>
|
|||
|
<a href="linuxs.html#78">9.3.</a><br/>
|
|||
|
<a href="linuxs.html#78">Apache starten </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78<br/>
|
|||
|
<a href="linuxs.html#78">9.3.1.</a><br/>
|
|||
|
<a href="linuxs.html#78">Apache starten </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . 78<br/>
|
|||
|
<a href="linuxs.html#78">9.3.2.</a><br/>
|
|||
|
<a href="linuxs.html#78">Wie der Apache startet </a>. . . . . . . . . . . . . . . . . . . . . . 78<br/>
|
|||
|
<a href="linuxs.html#79">9.3.3.</a><br/>
|
|||
|
<a href="linuxs.html#79">Fehler während des Hochfahrens </a>. . . . . . . . . . . . . . . . . 79<br/>
|
|||
|
<a href="linuxs.html#79">9.3.4.</a><br/>
|
|||
|
<a href="linuxs.html#79">Automatisch starten und beenden </a>. . . . . . . . . . . . . . . . 79<br/>
|
|||
|
<a href="linuxs.html#79">9.3.5.</a><br/>
|
|||
|
<a href="linuxs.html#79">Weitere Informationen </a>. . . . . . . . . . . . . . . . . . . . . . . 79<br/>
|
|||
|
<a href="linuxs.html#80">9.4.</a><br/>
|
|||
|
<a href="linuxs.html#80">Beenden und Neustarten </a>. . . . . . . . . . . . . . . . . . . . . . . . . . 80<br/>
|
|||
|
<a href="linuxs.html#80">9.4.1.</a><br/>
|
|||
|
<a href="linuxs.html#80">Einleitung </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80<br/>
|
|||
|
<a href="linuxs.html#80">9.4.2.</a><br/>
|
|||
|
<a href="linuxs.html#80">Beenden </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80<br/>
|
|||
|
<a href="linuxs.html#80">9.4.3.</a><br/>
|
|||
|
<a href="linuxs.html#80">Unterbrechungsfreier Neustart </a>. . . . . . . . . . . . . . . . . . 80<br/>
|
|||
|
<a href="linuxs.html#81">9.4.4.</a><br/>
|
|||
|
<a href="linuxs.html#81">Neustarten </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81<br/>
|
|||
|
<a href="linuxs.html#81">9.4.5.</a><br/>
|
|||
|
<a href="linuxs.html#81">Anhang: Syntax überprüfen </a>. . . . . . . . . . . . . . . . . . . . 81<br/>
|
|||
|
<a href="linuxs.html#82">9.5.</a><br/>
|
|||
|
<a href="linuxs.html#82">Anhang </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82<br/>
|
|||
|
<a href="linuxs.html#82">9.5.1.</a><br/>
|
|||
|
<a href="linuxs.html#82">Zu den Dateien </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . 82<br/>
|
|||
|
<a href="linuxs.html#82">9.6.</a><br/>
|
|||
|
<a href="linuxs.html#82">Benutzerhandbuch </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82<br/>
|
|||
|
<a href="linuxs.html#82">9.6.1.</a><br/>
|
|||
|
<a href="linuxs.html#82">httpd.conf </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82<br/>
|
|||
|
<a href="linuxs.html#85">9.6.2.</a><br/>
|
|||
|
<a href="linuxs.html#85">Access Control List File (.htaccess) </a>. . . . . . . . . . . . . . . . 85<br/>
|
|||
|
<a href="linuxs.html#86">9.6.3.</a><br/>
|
|||
|
<a href="linuxs.html#86">Gruppendatei (.htgroup) </a>. . . . . . . . . . . . . . . . . . . . . . 86<br/>
|
|||
|
<a href="linuxs.html#86">9.6.4.</a><br/>
|
|||
|
<a href="linuxs.html#86">Passwort-Datei (.htpasswd) </a>. . . . . . . . . . . . . . . . . . . . 86<br/>
|
|||
|
<a href="linuxs.html#86">9.6.5.</a><br/>
|
|||
|
<a href="linuxs.html#86">Erstellen eines SSL-Zertifikats </a>. . . . . . . . . . . . . . . . . . . 86<br/>
|
|||
|
<a href="linuxs.html#86">9.6.6.</a><br/>
|
|||
|
<a href="linuxs.html#86">LinkIcon (favicon.ico) </a>. . . . . . . . . . . . . . . . . . . . . . . 86<br/>
|
|||
|
<a href="linuxs.html#89">10. MySQL</a><br/>
|
|||
|
89<br/>
|
|||
|
<a href="linuxs.html#89">10.1. Einleitung </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89<br/>
|
|||
|
<a href="linuxs.html#89">10.2. Kompilieren und Installieren </a>. . . . . . . . . . . . . . . . . . . . . . . . 89<br/>
|
|||
|
<a href="linuxs.html#89">10.2.1. Anforderungen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . 89<br/>
|
|||
|
<a href="linuxs.html#89">10.2.2. Vorbereitungen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . 89<br/>
|
|||
|
<a href="linuxs.html#89">10.2.3. MySQL </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89<br/>
|
|||
|
<a href="linuxs.html#90">10.2.4. MySQL Testen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . 90<br/>
|
|||
|
<a href="linuxs.html#91">10.2.5. phpMyAdmin </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . 91<br/>
|
|||
|
<a href="linuxs.html#93">11. PHP</a><br/>
|
|||
|
93<br/>
|
|||
|
<a href="linuxs.html#93">11.1. Einleitung </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93<br/>
|
|||
|
8<br/>
|
|||
|
<hr/>
|
|||
|
<a name=9></a>Inhaltsverzeichnis<br/>
|
|||
|
<a href="linuxs.html#93">11.2. Kompilieren und Installieren </a>. . . . . . . . . . . . . . . . . . . . . . . . 93<br/>
|
|||
|
<a href="linuxs.html#93">11.2.1. Anforderungen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . 93<br/>
|
|||
|
<a href="linuxs.html#93">11.2.2. Vorbereitungen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . 93<br/>
|
|||
|
<a href="linuxs.html#94">11.2.3. Libraries für Zusatzfunktionen </a>. . . . . . . . . . . . . . . . . . 94<br/>
|
|||
|
<a href="linuxs.html#95">11.2.4. PHP </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95<br/>
|
|||
|
<a href="linuxs.html#96">11.3. Referenz </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96<br/>
|
|||
|
<a href="linuxs.html#96">11.3.1. Grundlagen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96<br/>
|
|||
|
<a href="linuxs.html#96">11.3.2. Funktionen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96<br/>
|
|||
|
<a href="linuxs.html#97">12. Squid</a><br/>
|
|||
|
97<br/>
|
|||
|
<a href="linuxs.html#97">12.1. Proxy </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97<br/>
|
|||
|
<a href="linuxs.html#97">12.2. Einfacher Cache </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97<br/>
|
|||
|
<a href="linuxs.html#97">12.3. Proxy Cache </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97<br/>
|
|||
|
<a href="linuxs.html#97">12.4. Aufgaben </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97<br/>
|
|||
|
<a href="linuxs.html#98">12.5. Eigenschaften </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98<br/>
|
|||
|
<a href="linuxs.html#98">12.6. Protokolle </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98<br/>
|
|||
|
<a href="linuxs.html#98">12.6.1. Client-Kommunikation </a>. . . . . . . . . . . . . . . . . . . . . . . 98<br/>
|
|||
|
<a href="linuxs.html#98">12.6.2. Kommunikation zwischen Proxy-Cache-Servern </a>. . . . . . . . . 98<br/>
|
|||
|
<a href="linuxs.html#99">12.7. Systemvoraussetzungen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . 99<br/>
|
|||
|
<a href="linuxs.html#99">12.8. SuSE Linux </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99<br/>
|
|||
|
<a href="linuxs.html#99">12.9. Automatische Starten von Squit </a>. . . . . . . . . . . . . . . . . . . . . . 99<br/>
|
|||
|
<a href="linuxs.html#99">12.10. Squiddateien </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99<br/>
|
|||
|
<a href="linuxs.html#99">12.11. squid.conf </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99<br/>
|
|||
|
<a href="linuxs.html#103">IV. Programmieren</a><br/>
|
|||
|
103<br/>
|
|||
|
<a href="linuxs.html#105">13. Bash</a><br/>
|
|||
|
105<br/>
|
|||
|
<a href="linuxs.html#105">13.1. Einleitung </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105<br/>
|
|||
|
<a href="linuxs.html#105">13.2. Referenz </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105<br/>
|
|||
|
<a href="linuxs.html#106">13.3. Steuer und Sonderzeichen der Bash </a>. . . . . . . . . . . . . . . . . . . . 106<br/>
|
|||
|
<a href="linuxs.html#107">14. git</a><br/>
|
|||
|
107<br/>
|
|||
|
<a href="linuxs.html#107">14.1. Dokumentation </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107<br/>
|
|||
|
<a href="linuxs.html#107">14.2. Konfiguration </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107<br/>
|
|||
|
<a href="linuxs.html#108">14.3. Konfigurationen über Umgebungsvariablen </a>. . . . . . . . . . . . . . . . 108<br/>
|
|||
|
<a href="linuxs.html#108">14.4. Der Index </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108<br/>
|
|||
|
<a href="linuxs.html#109">14.5. Repository </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109<br/>
|
|||
|
<a href="linuxs.html#109">14.6. Commit </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109<br/>
|
|||
|
<a href="linuxs.html#109">14.7. Dateien entfernen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109<br/>
|
|||
|
<a href="linuxs.html#109">14.8. Dateien verschieben </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109<br/>
|
|||
|
<a href="linuxs.html#109">14.9. Änderung an einer Datei rückgängig machen </a>. . . . . . . . . . . . . . . 109<br/>
|
|||
|
<a href="linuxs.html#110">14.10. Dateien ignorieren </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110<br/>
|
|||
|
<a href="linuxs.html#110">14.11. Mit externen Repositorys arbeiten </a>. . . . . . . . . . . . . . . . . . . . 110<br/>
|
|||
|
<a href="linuxs.html#111">14.12. Tags </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111<br/>
|
|||
|
9<br/>
|
|||
|
<hr/>
|
|||
|
<a name=10></a>Inhaltsverzeichnis<br/>
|
|||
|
<a href="linuxs.html#111">14.13. Branch </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111<br/>
|
|||
|
<a href="linuxs.html#111">14.14. Git Aliase </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111<br/>
|
|||
|
<a href="linuxs.html#112">14.15. Git auf einen Server bekommen </a>. . . . . . . . . . . . . . . . . . . . . . 112<br/>
|
|||
|
<a href="linuxs.html#112">14.16. Git auf dem SSH-Server einrichten </a>. . . . . . . . . . . . . . . . . . . . 112<br/>
|
|||
|
<a href="linuxs.html#113">14.17. Öffentlicher Webserver-Zugang </a>. . . . . . . . . . . . . . . . . . . . . . 113<br/>
|
|||
|
<a href="linuxs.html#114">14.18. Grundbegriffe </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114<br/>
|
|||
|
<a href="linuxs.html#117">15. C/C++</a><br/>
|
|||
|
117<br/>
|
|||
|
<a href="linuxs.html#117">15.1. Befehle und Grundelemente </a>. . . . . . . . . . . . . . . . . . . . . . . . 117<br/>
|
|||
|
<a href="linuxs.html#117">15.2. Steuersequenzen für ANSI-Bildschirme - Innerhalb von Texten </a>. . . . . 117<br/>
|
|||
|
<a href="linuxs.html#118">15.3. stdio.h -> Standard Ein- und Ausgabe </a>. . . . . . . . . . . . . . . . . . 118<br/>
|
|||
|
<a href="linuxs.html#119">15.4. ctype.h </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119<br/>
|
|||
|
<a href="linuxs.html#119">15.5. string.h </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119<br/>
|
|||
|
<a href="linuxs.html#120">15.6. Kontrollstrukturen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120<br/>
|
|||
|
<a href="linuxs.html#121">15.7. ASCII(American Standart Code for Information Interchange)-Tabelle </a>. 121<br/>
|
|||
|
<a href="linuxs.html#122">15.7.1. Unterteilung der Steuerzeichen: </a>. . . . . . . . . . . . . . . . . . 122<br/>
|
|||
|
<a href="linuxs.html#122">15.7.2. Bedeutung der Steuerzeichen: </a>. . . . . . . . . . . . . . . . . . . 122<br/>
|
|||
|
<a href="linuxs.html#123">15.8. Operatoren und Ausdrücke </a>. . . . . . . . . . . . . . . . . . . . . . . . 123<br/>
|
|||
|
<a href="linuxs.html#123">15.8.1. Arithmetische Operatoren: </a>. . . . . . . . . . . . . . . . . . . . 123<br/>
|
|||
|
<a href="linuxs.html#123">15.8.2. Vergleichsoperatoren: </a>. . . . . . . . . . . . . . . . . . . . . . . 123<br/>
|
|||
|
<a href="linuxs.html#123">15.8.3. Logische Operatoren: </a>. . . . . . . . . . . . . . . . . . . . . . . . 123<br/>
|
|||
|
<a href="linuxs.html#124">15.8.4. Zuweisungsoperatoren: </a>. . . . . . . . . . . . . . . . . . . . . . . 124<br/>
|
|||
|
<a href="linuxs.html#124">15.8.5. Post- und Prefix- Operatoren: </a>. . . . . . . . . . . . . . . . . . . 124<br/>
|
|||
|
<a href="linuxs.html#124">15.8.6. Zeigeroperatoren: </a>. . . . . . . . . . . . . . . . . . . . . . . . . . 124<br/>
|
|||
|
<a href="linuxs.html#124">15.8.7. Diverse Kategorien: </a>. . . . . . . . . . . . . . . . . . . . . . . . 124<br/>
|
|||
|
<a href="linuxs.html#125">15.9. Inkrementieren und Dekrementieren </a>. . . . . . . . . . . . . . . . . . . 125<br/>
|
|||
|
<a href="linuxs.html#125">15.10. Wertebereich und Genauigkeit elementarer Datentypen </a>. . . . . . . . . 125<br/>
|
|||
|
<a href="linuxs.html#125">15.11. Variableninitialisierung </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . 125<br/>
|
|||
|
<a href="linuxs.html#126">15.12. Konstanten </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126<br/>
|
|||
|
<a href="linuxs.html#126">15.12.1. Ganzzahlkonstanten </a>. . . . . . . . . . . . . . . . . . . . . . . . 126<br/>
|
|||
|
<a href="linuxs.html#126">15.12.2. Gleitkommakonstanten </a>. . . . . . . . . . . . . . . . . . . . . . 126<br/>
|
|||
|
<a href="linuxs.html#126">15.12.3. Zeichen- und Zeichenkettenkonstanten </a>. . . . . . . . . . . . . . 126<br/>
|
|||
|
<a href="linuxs.html#127">16. Tcl/Tk</a><br/>
|
|||
|
127<br/>
|
|||
|
<a href="linuxs.html#129">17. Perl</a><br/>
|
|||
|
129<br/>
|
|||
|
<a href="linuxs.html#131">18. CGI+Perl</a><br/>
|
|||
|
131<br/>
|
|||
|
<a href="linuxs.html#131">18.1. Einleitung </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131<br/>
|
|||
|
<a href="linuxs.html#131">18.2. Perl </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131<br/>
|
|||
|
<a href="linuxs.html#131">18.2.1. Texte und Strings </a>. . . . . . . . . . . . . . . . . . . . . . . . . 131<br/>
|
|||
|
<a href="linuxs.html#131">18.2.2. Rechenoperationen </a>. . . . . . . . . . . . . . . . . . . . . . . . . 131<br/>
|
|||
|
<a href="linuxs.html#132">18.2.3. Arrays (Listen) </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . 132<br/>
|
|||
|
<a href="linuxs.html#132">18.2.4. String- und Zahlenvergleichsoperratoren </a>. . . . . . . . . . . . . 132<br/>
|
|||
|
<a href="linuxs.html#132">18.2.5. if-Bedingung </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . 132<br/>
|
|||
|
10<br/>
|
|||
|
<hr/>
|
|||
|
<a name=11></a>Inhaltsverzeichnis<br/>
|
|||
|
<a href="linuxs.html#132">18.2.6. if-else-Bedingung </a>. . . . . . . . . . . . . . . . . . . . . . . . . . 132<br/>
|
|||
|
<a href="linuxs.html#133">18.2.7. if-elseif-Bedingung </a>. . . . . . . . . . . . . . . . . . . . . . . . . 133<br/>
|
|||
|
<a href="linuxs.html#133">18.3. Funktionen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133<br/>
|
|||
|
<a href="linuxs.html#133">18.3.1. String Funktionen </a>. . . . . . . . . . . . . . . . . . . . . . . . . 133<br/>
|
|||
|
<a href="linuxs.html#133">18.3.2. Rechen Funktionen </a>. . . . . . . . . . . . . . . . . . . . . . . . . 133<br/>
|
|||
|
<a href="linuxs.html#133">18.3.3. Array Funktionen </a>. . . . . . . . . . . . . . . . . . . . . . . . . 133<br/>
|
|||
|
<a href="linuxs.html#135">19. Java</a><br/>
|
|||
|
135<br/>
|
|||
|
<a href="linuxs.html#135">19.1. Funktion von Java </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135<br/>
|
|||
|
<a href="linuxs.html#135">19.2. Sprache und Syntax von Java </a>. . . . . . . . . . . . . . . . . . . . . . . 135<br/>
|
|||
|
<a href="linuxs.html#135">19.2.1. Kommentrare </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . 135<br/>
|
|||
|
<a href="linuxs.html#135">19.2.2. Datentypen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135<br/>
|
|||
|
<a href="linuxs.html#136">19.2.3. Variablen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136<br/>
|
|||
|
<a href="linuxs.html#136">19.3. Pakete und Verzeichnisstrukturen </a>. . . . . . . . . . . . . . . . . . . . . 136<br/>
|
|||
|
<a href="linuxs.html#136">19.3.1. Sichtbarkeit und Zugriffsrechte von Klassen und Methoden </a>. . 136<br/>
|
|||
|
<a href="linuxs.html#136">19.3.2. Klassen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136<br/>
|
|||
|
<a href="linuxs.html#137">19.3.3. Konstruktoren und Destruktoren </a>. . . . . . . . . . . . . . . . . 137<br/>
|
|||
|
<a href="linuxs.html#137">19.3.4. Methoden überladen </a>. . . . . . . . . . . . . . . . . . . . . . . . 137<br/>
|
|||
|
<a href="linuxs.html#137">19.3.5. Objekte </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137<br/>
|
|||
|
<a href="linuxs.html#138">19.3.6. Vererbung </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138<br/>
|
|||
|
<a href="linuxs.html#138">19.3.7. Schnittstellen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . 138<br/>
|
|||
|
<a href="linuxs.html#138">19.4. Elementare Syntax von Java </a>. . . . . . . . . . . . . . . . . . . . . . . . 138<br/>
|
|||
|
<a href="linuxs.html#138">19.4.1. Operratoren </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138<br/>
|
|||
|
<a href="linuxs.html#138">19.4.2. Verknüpfungsoperatoren </a>. . . . . . . . . . . . . . . . . . . . . . 138<br/>
|
|||
|
<a href="linuxs.html#138">19.4.3. Inkrement-Operator </a>. . . . . . . . . . . . . . . . . . . . . . . . 138<br/>
|
|||
|
<a href="linuxs.html#139">19.4.4. Dekrement-Operator </a>. . . . . . . . . . . . . . . . . . . . . . . . 139<br/>
|
|||
|
<a href="linuxs.html#139">19.4.5. Arithmetische Zuweisungsoperatoren </a>. . . . . . . . . . . . . . . 139<br/>
|
|||
|
<a href="linuxs.html#139">19.4.6. Bedingungen und Entscheidungen </a>. . . . . . . . . . . . . . . . 139<br/>
|
|||
|
<a href="linuxs.html#139">19.4.7. if - else - Bedingungen </a>. . . . . . . . . . . . . . . . . . . . . . . 139<br/>
|
|||
|
<a href="linuxs.html#139">19.4.8. Verschachtelte Bedingungen </a>. . . . . . . . . . . . . . . . . . . . 139<br/>
|
|||
|
<a href="linuxs.html#140">19.4.9. Fallunterscheidung mit switch - case </a>. . . . . . . . . . . . . . . 140<br/>
|
|||
|
<a href="linuxs.html#140">19.5. Schleifen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140<br/>
|
|||
|
<a href="linuxs.html#140">19.5.1. Die while - Schleife </a>. . . . . . . . . . . . . . . . . . . . . . . . . 140<br/>
|
|||
|
<a href="linuxs.html#140">19.5.2. Die do - while - Schleife </a>. . . . . . . . . . . . . . . . . . . . . . 140<br/>
|
|||
|
<a href="linuxs.html#140">19.5.3. Die for - Schleife </a>. . . . . . . . . . . . . . . . . . . . . . . . . . 140<br/>
|
|||
|
<a href="linuxs.html#140">19.5.4. Schleifen mit break verlassen </a>. . . . . . . . . . . . . . . . . . . 140<br/>
|
|||
|
<a href="linuxs.html#140">19.5.5. Schleife mit continue wiederholen </a>. . . . . . . . . . . . . . . . . 140<br/>
|
|||
|
<a href="linuxs.html#141">19.6. Komplexe Datentypen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . 141<br/>
|
|||
|
<a href="linuxs.html#141">19.6.1. Arrays </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141<br/>
|
|||
|
<a href="linuxs.html#141">19.7. Die Anweisung import </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . 141<br/>
|
|||
|
<a href="linuxs.html#141">19.8. Java eigene Klassen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141<br/>
|
|||
|
<a href="linuxs.html#141">19.8.1. Die Klasse Math </a>. . . . . . . . . . . . . . . . . . . . . . . . . . 141<br/>
|
|||
|
<a href="linuxs.html#141">19.9. Die Klasse Object </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141<br/>
|
|||
|
<a href="linuxs.html#141">19.9.1. Die Klasse Object </a>. . . . . . . . . . . . . . . . . . . . . . . . . 141<br/>
|
|||
|
<a href="linuxs.html#142">19.10. Die Klasse Runtime </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142<br/>
|
|||
|
11<br/>
|
|||
|
<hr/>
|
|||
|
<a name=12></a>Inhaltsverzeichnis<br/>
|
|||
|
<a href="linuxs.html#142">19.11. Die Klasse String </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142<br/>
|
|||
|
<a href="linuxs.html#142">19.12. Die Klasse Stringbuffer </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . 142<br/>
|
|||
|
<a href="linuxs.html#142">19.12.1. Die Klasse Stringbuffer </a>. . . . . . . . . . . . . . . . . . . . . . 142<br/>
|
|||
|
<a href="linuxs.html#142">19.13. Die Klasse System </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142<br/>
|
|||
|
<a href="linuxs.html#142">19.14. Das Paket java.util </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142<br/>
|
|||
|
<a href="linuxs.html#143">19.14.1. Die Klasse Date </a>. . . . . . . . . . . . . . . . . . . . . . . . . . 143<br/>
|
|||
|
<a href="linuxs.html#143">19.14.2. Die Klasse Random </a>. . . . . . . . . . . . . . . . . . . . . . . . 143<br/>
|
|||
|
<a href="linuxs.html#143">19.14.3. Die Klasse Stack </a>. . . . . . . . . . . . . . . . . . . . . . . . . . 143<br/>
|
|||
|
<a href="linuxs.html#143">19.15. Ausnahmen (Exceptions) </a>. . . . . . . . . . . . . . . . . . . . . . . . . . 143<br/>
|
|||
|
<a href="linuxs.html#144">19.15.1. Eigene Ausnahme erzeugen (throw) </a>. . . . . . . . . . . . . . . 144<br/>
|
|||
|
<a href="linuxs.html#144">19.16. Multitasking mit Threads </a>. . . . . . . . . . . . . . . . . . . . . . . . . 144<br/>
|
|||
|
<a href="linuxs.html#144">19.16.1. Arbeiten mit Threads </a>. . . . . . . . . . . . . . . . . . . . . . . 144<br/>
|
|||
|
<a href="linuxs.html#145">19.17. Applets </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145<br/>
|
|||
|
<a href="linuxs.html#145">19.17.1. Applets in eine Webseite einbinden </a>. . . . . . . . . . . . . . . . 145<br/>
|
|||
|
<a href="linuxs.html#145">19.17.2. Das erste Java Applet </a>. . . . . . . . . . . . . . . . . . . . . . . 145<br/>
|
|||
|
<a href="linuxs.html#145">19.17.3. Die Methoden eines Applets </a>. . . . . . . . . . . . . . . . . . . . 145<br/>
|
|||
|
<a href="linuxs.html#145">19.17.4. Ein Applet im Überblick </a>. . . . . . . . . . . . . . . . . . . . . . 145<br/>
|
|||
|
<a href="linuxs.html#146">19.17.5. Pakete </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146<br/>
|
|||
|
<a href="linuxs.html#146">19.17.6. Die Klasse Graphics </a>. . . . . . . . . . . . . . . . . . . . . . . . 146<br/>
|
|||
|
<a href="linuxs.html#146">19.17.7. Die Klasse Color </a>. . . . . . . . . . . . . . . . . . . . . . . . . . 146<br/>
|
|||
|
<a href="linuxs.html#147">19.17.8. Die Klasse Font </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . 147<br/>
|
|||
|
<a href="linuxs.html#147">19.17.9. Die Klasse Image </a>. . . . . . . . . . . . . . . . . . . . . . . . . . 147<br/>
|
|||
|
<a href="linuxs.html#147">19.17.10. Die Klasse Button </a>. . . . . . . . . . . . . . . . . . . . . . . . . 147<br/>
|
|||
|
<a href="linuxs.html#148">19.18. Eventhandling </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148<br/>
|
|||
|
<a href="linuxs.html#148">19.18.1. Mouse Events </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . 148<br/>
|
|||
|
<a href="linuxs.html#148">19.18.2. Action Events </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . 148<br/>
|
|||
|
<a href="linuxs.html#148">19.18.3. Parameter an ein Applet </a>. . . . . . . . . . . . . . . . . . . . . . 148<br/>
|
|||
|
<a href="linuxs.html#149">19.18.4. Weitere wichtige Pakete </a>. . . . . . . . . . . . . . . . . . . . . . 149<br/>
|
|||
|
<a href="linuxs.html#151">20. JavaScript</a><br/>
|
|||
|
151<br/>
|
|||
|
<a href="linuxs.html#151">20.1. Einbindung von JavaScript </a>. . . . . . . . . . . . . . . . . . . . . . . . 151<br/>
|
|||
|
<a href="linuxs.html#151">20.1.1. Einbindung in den Head </a>. . . . . . . . . . . . . . . . . . . . . . 151<br/>
|
|||
|
<a href="linuxs.html#151">20.1.2. Einbindung in den Body </a>. . . . . . . . . . . . . . . . . . . . . . 151<br/>
|
|||
|
<a href="linuxs.html#151">20.1.3. Ausführen bei bestimmten Aktionen </a>. . . . . . . . . . . . . . . 151<br/>
|
|||
|
<a href="linuxs.html#152">20.2. Variablen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152<br/>
|
|||
|
<a href="linuxs.html#152">20.3. Objekte </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152<br/>
|
|||
|
<a href="linuxs.html#152">20.3.1. Standardobjekte </a>. . . . . . . . . . . . . . . . . . . . . . . . . . 152<br/>
|
|||
|
<a href="linuxs.html#153">20.3.2. String-Objekt </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . 153<br/>
|
|||
|
<a href="linuxs.html#154">20.3.3. Eigene Objekte </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . 154<br/>
|
|||
|
<a href="linuxs.html#154">20.3.4. Arrays </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154<br/>
|
|||
|
<a href="linuxs.html#154">20.4. Mathematische Operationen </a>. . . . . . . . . . . . . . . . . . . . . . . . 154<br/>
|
|||
|
<a href="linuxs.html#154">20.5. Bedingte Ausführung </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . 154<br/>
|
|||
|
<a href="linuxs.html#154">20.6. Schleifen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154<br/>
|
|||
|
<a href="linuxs.html#155">20.7. Event-Handler </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155<br/>
|
|||
|
<a href="linuxs.html#155">20.8. Funktionen </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155<br/>
|
|||
|
12<br/>
|
|||
|
<hr/>
|
|||
|
<a name=13></a>Inhaltsverzeichnis<br/>
|
|||
|
<a href="linuxs.html#156">20.9. Reservierte Wörter </a>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156<br/>
|
|||
|
<a href="linuxs.html#159">V. Anhang</a><br/>
|
|||
|
159<br/>
|
|||
|
<a href="linuxs.html#161">21. Glossar</a><br/>
|
|||
|
161<br/>
|
|||
|
<a href="linuxs.html#163">Stichwortverzeichnis</a><br/>
|
|||
|
164<br/>
|
|||
|
13<br/>
|
|||
|
<hr/>
|
|||
|
<a name=14></a><hr/>
|
|||
|
<a name=15></a>Teil I.<br/>
|
|||
|
Linux<br/>
|
|||
|
15<br/>
|
|||
|
<hr/>
|
|||
|
<a name=16></a><hr/>
|
|||
|
<a name=17></a>2. Linux<br/>
|
|||
|
2.1. Was ist Linux?<br/>
|
|||
|
Der Kernel, eine Schnittstelle für die Software zur Hardware.<br/>
|
|||
|
2.2. Kernel und Module<br/>
|
|||
|
http://www.kernel.org/<br/>
|
|||
|
http-Adresse für den Kernel und Kernel-Patches<br/>
|
|||
|
http://www.de.kernel.org/pub/linux/kernel/<br/>
|
|||
|
Spiegel für den Kernel<br/>
|
|||
|
2.2.1. Kernel 2.4<br/>
|
|||
|
tar xvfj kernel.tar.bz2<br/>
|
|||
|
entpackt den Kernel<br/>
|
|||
|
tar xvfz kernel.tar.gz<br/>
|
|||
|
entpackt den Kernel<br/>
|
|||
|
cd kernel<br/>
|
|||
|
Verzeichnis wechseln<br/>
|
|||
|
bzip2 -dc ../patch-2.x.xx.bz2 | patch -p1<br/>
|
|||
|
Kernel patchen<br/>
|
|||
|
gzip -dc ../patch-2.x.xx.gz | patch -p1<br/>
|
|||
|
Kernel patchen<br/>
|
|||
|
zcat /proc/config.gz > /usr/src/linux/.config<br/>
|
|||
|
die aktuelle Konfiguration des<br/>
|
|||
|
laufenden Kernels auslesen<br/>
|
|||
|
make menuconfig<br/>
|
|||
|
Kernelkonfiguration im Textmodus<br/>
|
|||
|
make dep<br/>
|
|||
|
aktualisiert die Abhängigkeiten<br/>
|
|||
|
make clean<br/>
|
|||
|
löscht die temporären Dateien und Ausgabedateien<br/>
|
|||
|
make zImage<br/>
|
|||
|
übersetzt und komprimiert den Kernel<br/>
|
|||
|
make bzImage<br/>
|
|||
|
übersetzt und komprimiert den gossen Kernel<br/>
|
|||
|
make dep clean zImage<br/>
|
|||
|
aktualisiert,löscht und übersetzt<br/>
|
|||
|
make modules<br/>
|
|||
|
übersetzt Module<br/>
|
|||
|
make modules_install<br/>
|
|||
|
installiert Module<br/>
|
|||
|
make zlilo<br/>
|
|||
|
installiert den Kernel und den Boot-Loader LILO<br/>
|
|||
|
make bzlilo<br/>
|
|||
|
installiert den gossen Kernel und<br/>
|
|||
|
den Boot-Loader LILO<br/>
|
|||
|
make zdisk<br/>
|
|||
|
erzeugt eine Bootdiskette mit dem neuen Kernel<br/>
|
|||
|
make mrproper<br/>
|
|||
|
löscht alle erzeugten Dateien,<br/>
|
|||
|
auch die Konfiguration<br/>
|
|||
|
2.2.2. Kernel 2.6 (Debian 4.0 etch)<br/>
|
|||
|
sudo apt-get update<br/>
|
|||
|
Paket-Datenbank aktualisieren<br/>
|
|||
|
sudo apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 \<br/>
|
|||
|
17<br/>
|
|||
|
<hr/>
|
|||
|
<a name=18></a>2. Linux<br/>
|
|||
|
build-essential<br/>
|
|||
|
benötigte Pakete installieren<br/>
|
|||
|
cd /usr/src<br/>
|
|||
|
in das Verzeichnis zu den Quell-Paketen wechseln<br/>
|
|||
|
wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.1.tar.bz2<br/>
|
|||
|
den aktuellen Kernel downloaden<br/>
|
|||
|
wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.1.tar.bz2.sign<br/>
|
|||
|
die dazugehörige Signatur downloaden<br/>
|
|||
|
gpg --keyserver wwwkeys.de.pgp.net --recv-keys 0x517D0F0E<br/>
|
|||
|
Public-Key vom Key-Server holen<br/>
|
|||
|
gpg --verify linux-2.6.22.1.tar.bz2.sign<br/>
|
|||
|
Kernel-Signatur überprüfen<br/>
|
|||
|
tar xvfj linux-2.6.22.1.tar.bz2 Kernel entpacken<br/>
|
|||
|
ln -s linux-2.6.22.1 linux<br/>
|
|||
|
Soft-Link zu den Kernel-Quellen anlegen<br/>
|
|||
|
cd /usr/src/linux<br/>
|
|||
|
zu den aktuellen Kernel-Quellen wechseln<br/>
|
|||
|
bzip2 -dc /usr/src/patch.bz2 | patch -p1 --dry-run<br/>
|
|||
|
Aktualisieren prüfen<br/>
|
|||
|
bzip2 -dc /usr/src/patch.bz2 | patch -p1<br/>
|
|||
|
Kernel-Quellen aktualisieren wenn nötig<br/>
|
|||
|
make clean && make mrproper<br/>
|
|||
|
Kernel säubern und korigieren<br/>
|
|||
|
cp /boot/config-‘uname -r‘ ./.config<br/>
|
|||
|
laufende Konfiguration holen<br/>
|
|||
|
make menuconfig<br/>
|
|||
|
Konfigurations-Programm starten<br/>
|
|||
|
Load an Alternate Configuration File<br/>
|
|||
|
laufende Konfiguration laden und Kernel<br/>
|
|||
|
konfigurieren<br/>
|
|||
|
make-kpkg clean<br/>
|
|||
|
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image \<br/>
|
|||
|
kernel_headers<br/>
|
|||
|
Kernel-Pakete und Kernel-Headers herstellen<br/>
|
|||
|
sudo dpkg -i linux-image-2.6.22.1-custom_2.6.22.1-custom-10.00.Custom_i386.deb<br/>
|
|||
|
den neuen Kernel installieren<br/>
|
|||
|
sudo dpkg -i linux-headers-2.6.22.1-custom_2.6.22.1-custom-10.00.Custom_i386.deb<br/>
|
|||
|
die neuen Header installieren<br/>
|
|||
|
sudo shutdown -r now<br/>
|
|||
|
Neustart um den Kernel zu testen<br/>
|
|||
|
uname -a<br/>
|
|||
|
feststellen welcher Kernel gestartet ist<br/>
|
|||
|
dmesg<br/>
|
|||
|
Kernelmeldungen vom letzten Start anzeigen<br/>
|
|||
|
insmod Modul<br/>
|
|||
|
Modul laden<br/>
|
|||
|
modprobe Modul<br/>
|
|||
|
Modul eigenständig laden<br/>
|
|||
|
lsmod<br/>
|
|||
|
geladene Module anzeigen lassen<br/>
|
|||
|
rmmod Modul<br/>
|
|||
|
Modul entfernen<br/>
|
|||
|
18<br/>
|
|||
|
<hr/>
|
|||
|
<a name=19></a>3. Befehle<br/>
|
|||
|
3.1. Standartein-aus-gabe<br/>
|
|||
|
Jedes UNIX kennt 3 spezielle Files:<br/>stdin<br/>
|
|||
|
Standardeingabe, normalerweise die Tastatur<br/>
|
|||
|
stdout<br/>
|
|||
|
Standardausgabe, normalerweise der Bildschirm<br/>
|
|||
|
stderr<br/>
|
|||
|
Standardausgabe für Fehlermeldungen,<br/>
|
|||
|
normalerweise der Bildschirm<br/>
|
|||
|
All diese Files können umgelenkt werden<br/>
|
|||
|
setterm -blank 0<br/>
|
|||
|
Bildschirmschoner ausschalten<br/>
|
|||
|
3.2. Anmelden und Abmelden<br/>
|
|||
|
login: Benutzername<br/>
|
|||
|
1. zum Anmelden den Benutzernamen eingeben<br/>
|
|||
|
Passwort: Benutzerpasswort<br/>
|
|||
|
2. zum Anmelden das Benutzerpasswort eingeben<br/>
|
|||
|
logout<br/>
|
|||
|
zum Abmelden eingeben<br/>
|
|||
|
exit<br/>
|
|||
|
zum Abmelden eingeben<br/>
|
|||
|
[Strg]+[d]<br/>
|
|||
|
beendet die Shell (alle Shells)<br/>
|
|||
|
3.3. Anhalten des Systems und Booten<br/>
|
|||
|
Unter keinen Umständen darf während des Betriebs einfach der Strom abgeschaltet<br/>
|
|||
|
oder der Resetknopf betätigt werden. Da es sonst zu einer Beschädigung des Dateisy-<br/>
|
|||
|
stems mit Datenverlust kommen kann.<br/>
|
|||
|
root: shutdown -h now<br/>
|
|||
|
hält das System an<br/>
|
|||
|
root: halt<br/>
|
|||
|
hält das System an<br/>
|
|||
|
root: init 0<br/>
|
|||
|
hält das System an<br/>
|
|||
|
root: systemctl poweroff<br/>
|
|||
|
hält das System an<br/>
|
|||
|
root: shutdown -r now<br/>
|
|||
|
startet den Computer nach dem Herunterfahren neu<br/>
|
|||
|
root: reboot<br/>
|
|||
|
startet den Computer nach dem Herunterfahren neu<br/>
|
|||
|
root: init 6<br/>
|
|||
|
startet den Computer nach dem Herunterfahren neu<br/>
|
|||
|
root: systemctl reboot<br/>
|
|||
|
startet den Computer nach dem Herunterfahren neu<br/>
|
|||
|
root: systemctl suspend<br/>
|
|||
|
Bereitschaft<br/>
|
|||
|
root: systemctl hibernate<br/>
|
|||
|
Ruhezustand<br/>
|
|||
|
19<br/>
|
|||
|
<hr/>
|
|||
|
<a name=20></a>3. Befehle<br/>
|
|||
|
3.4. Die Runlevel<br/>
|
|||
|
root: init 0<br/>
|
|||
|
Systemhalt<br/>
|
|||
|
root: init S<br/>
|
|||
|
Einzelbenutzerbetrieb (Single User Mode)<br/>
|
|||
|
root: init 1<br/>
|
|||
|
Einzelbenutzerbetrieb (Single User Mode)<br/>
|
|||
|
root: init 2<br/>
|
|||
|
Lokaler Mehrbenutzerbetrieb ohne entferntes Netzwerk<br/>
|
|||
|
(Local multiuser without remote network)<br/>
|
|||
|
root: init 3<br/>
|
|||
|
Voller Mehrbenutzerbetrieb mit Netzwerk<br/>
|
|||
|
(Full multiuser with network)<br/>
|
|||
|
root: init 4<br/>
|
|||
|
Frei (Not used)<br/>
|
|||
|
root: init 5<br/>
|
|||
|
Voller Mehrbenutzerbetrieb mit Netzwerk und KDM, GDM oder XDM<br/>
|
|||
|
(Full multiuser with network and xdm)<br/>
|
|||
|
root: init 6<br/>
|
|||
|
Systemneustart (System reboot)<br/>
|
|||
|
root: init q<br/>
|
|||
|
Quit zum Neueinlesen der inittab<br/>
|
|||
|
3.4.1. Upstart<br/>
|
|||
|
Upstart sorgt dafür das Dienste ereignisbasiert parallel gestartet werden können /etc/inittab<br/>
|
|||
|
entfällt neu /etc/init/ (bzw. /etc/event.d/)<br/>
|
|||
|
initctl list<br/>
|
|||
|
Liste aller Init-Jobs<br/>
|
|||
|
sudo initctl start/stop<br/>
|
|||
|
Init-Jobs (zB. ssh)<br/>
|
|||
|
Im Header der Datei kann dann zum Starten und Beenden flogendes stehen:<br/>
|
|||
|
start on runlevel [2345]<br/>
|
|||
|
stop on runlevel [!2345]<br/>
|
|||
|
sudo initctl reload-configuration<br/>
|
|||
|
ließt die Konfiguration neu ein und<br/>
|
|||
|
startet/beendet die Dienste<br/>
|
|||
|
3.5. SuSE-Linux<br/>
|
|||
|
hilfe<br/>
|
|||
|
Hilfesystem starten<br/>
|
|||
|
yast<br/>
|
|||
|
Yet another Setup Tool -<br/>
|
|||
|
SuSE Administrationstool<br/>
|
|||
|
yast2<br/>
|
|||
|
Yet another Setup Tool 2 -<br/>
|
|||
|
SuSE Administrationstool<br/>
|
|||
|
SuSEconfig<br/>
|
|||
|
das Skript muss aufgerufen werden<br/>
|
|||
|
nachdem die /etc/rc.config und /etc/sysconfig/<br/>
|
|||
|
von Hand verändert wurden<br/>
|
|||
|
3.6. Zur Orientierung auf einem UNIX-Rechner<br/>
|
|||
|
date<br/>
|
|||
|
zeigt Datum und Uhrzeit an<br/>
|
|||
|
20<br/>
|
|||
|
<hr/>
|
|||
|
<a name=21></a>3.7. Datum und Uhrzeit<br/>
|
|||
|
df -k<br/>
|
|||
|
zeigt den feien Platten-Platz in kB an<br/>
|
|||
|
df -m<br/>
|
|||
|
zeigt den feien Platten-Platz in MB an<br/>
|
|||
|
df -h<br/>
|
|||
|
Ausgabe von Größen in Menschen-lesbarem Format<br/>
|
|||
|
du -h<br/>
|
|||
|
zeigt wie viel Platten-Platz in kB bestimmte Dateien einnehmen<br/>
|
|||
|
echo Text<br/>
|
|||
|
schreibt den Text auf stdout (Bildschirm)<br/>
|
|||
|
finger<br/>
|
|||
|
zeigt Infos über eingeloggte Benutzer an<br/>
|
|||
|
finger -l<br/>
|
|||
|
zeigt ausführliche Infos über eingeloggte Benutzer an<br/>
|
|||
|
free -t<br/>
|
|||
|
zeigt den feien Arbeitsspeicher in kB an<br/>
|
|||
|
last<br/>
|
|||
|
zeigt wer sich zuletzt von wo aus auf dem Rechner eingeloggt hat<br/>
|
|||
|
info Begriff<br/>
|
|||
|
Hilfe zu dem Begriff im Infoformat<br/>
|
|||
|
man Begriff<br/>
|
|||
|
Hilfe zu dem Begriff<br/>
|
|||
|
man -a Begriff alle Kapitel zu dem Begriff<br/>
|
|||
|
man -f Begriff listet die gefundenen Seiten zu dem Begriff auf<br/>
|
|||
|
man -k Begriff listet die Seiten in dem der Begriff vorkommt auf<br/>
|
|||
|
man n Begriff<br/>
|
|||
|
Hilfe zum Begriff mit der Sektion n<br/>
|
|||
|
Die Manual-Pages sind auf verschiedene Sektionen aufgeteilt:<br/>
|
|||
|
1 Shell-Kommandos<br/>
|
|||
|
2 System-Aufrufe<br/>
|
|||
|
3 Funktionen - C-Bibliotheksfunktionen.<br/>
|
|||
|
4 Die Beschreibung von Konfigurationsdateien.<br/>
|
|||
|
5 Die Syntax wichtiger Dateien.<br/>
|
|||
|
6 Beschreibung von Spielen.<br/>
|
|||
|
7 Alles was mit Text, Textformatierung und anderen Formaten zu<br/>
|
|||
|
tun hat.<br/>
|
|||
|
8 Die Befehle des Systemverwalters.<br/>
|
|||
|
9 Die Beschreibung der Linux-Kernelroutinen.<br/>
|
|||
|
n n kommt angeblich von neu, hier sind sonstige Manual-Pages<br/>
|
|||
|
aufgeführt, die in eine der oberen Sektionen gehören, aber<br/>
|
|||
|
traditionell hier stehen oder zu keiner Sektion genau passen.<br/>
|
|||
|
pwd<br/>
|
|||
|
Ausgabe des aktuellen Verzeichnisses<br/>
|
|||
|
w<br/>
|
|||
|
wer ist da und was ist los<br/>
|
|||
|
whatis Befehl<br/>
|
|||
|
zeigt Kurzerklärung eines Befehls<br/>
|
|||
|
which Befehl<br/>
|
|||
|
zeigt, wo Executable liegt, und eventual alias<br/>
|
|||
|
who<br/>
|
|||
|
zeigt Liste aller eingeloggten Benutzer<br/>
|
|||
|
whoami<br/>
|
|||
|
zeigt, wem die Shell gehört<br/>
|
|||
|
3.7. Datum und Uhrzeit<br/>
|
|||
|
date<br/>
|
|||
|
Datum und Uhrzeit abfragen<br/>
|
|||
|
date -s ’2000-01-29 20:00:00’ +’%Y-%m-%d %T’<br/>
|
|||
|
Datum und Uhrzeit einstellen<br/>
|
|||
|
netdate Rechnername<br/>
|
|||
|
Datum und Uhrzeit vom Rechner-<br/>
|
|||
|
name holen<br/>
|
|||
|
clock -u -w<br/>
|
|||
|
Datum und Uhrzeit in<br/>
|
|||
|
das BIOS schreiben<br/>
|
|||
|
21<br/>
|
|||
|
<hr/>
|
|||
|
<a name=22></a>3. Befehle<br/>
|
|||
|
timedatectl set-local-rtc 1<br/>
|
|||
|
locale Zeit einstellen<br/>
|
|||
|
timedatectl set-local-rtc 0<br/>
|
|||
|
UTC Zeit einstellen<br/>
|
|||
|
3.8. Auflisten<br/>
|
|||
|
ls<br/>
|
|||
|
Auflisten der Dateien im aktuellen Verzeichnis<br/>
|
|||
|
ls Verzeichnis<br/>
|
|||
|
Inhalt des Verzeichnisses ausgeben<br/>
|
|||
|
ls -la<br/>
|
|||
|
alles Auflisten im aktuellen Verzeichnis<br/>
|
|||
|
ls -laFi<br/>
|
|||
|
alles ausführlicher Auflisten<br/>
|
|||
|
ls | paste - - - -<br/>
|
|||
|
Dateien vierspaltig ausgeben<br/>
|
|||
|
ls -1<br/>
|
|||
|
untereinander ausgeben<br/>
|
|||
|
ls -F<br/>
|
|||
|
Verzeichnisse mit angehängtem / markieren<br/>
|
|||
|
ls -i<br/>
|
|||
|
inode-Nummer mit ausgeben<br/>
|
|||
|
ls -R<br/>
|
|||
|
alle Unterverzeichnisse mit ausgeben<br/>
|
|||
|
ls -r<br/>
|
|||
|
Auflisten der Dateien umkehren<br/>
|
|||
|
3.9. Dateinamen<br/>
|
|||
|
UNIX unterscheidet Groß- und Kleinschreibung! liesmich, Liesmich, LIESMICH sind<br/>
|
|||
|
verschiedene Dateinamen! max. 256 Zeichen, alle Zeichen sind erlaubt . am Namens-<br/>
|
|||
|
anfang versteckt Datei vor ls, cp, rm, mv<br/>
|
|||
|
alias<br/>
|
|||
|
gibt alle definierten Kurznamen aus<br/>
|
|||
|
alias la=’ls -la’<br/>
|
|||
|
definiert Kurznamen für ein Kommando<br/>
|
|||
|
aus ls -la wird ein la<br/>
|
|||
|
3.10. Dateiendungen<br/>
|
|||
|
.a<br/>
|
|||
|
Objektbibliotheken<br/>
|
|||
|
.c<br/>
|
|||
|
C-Quelltextdatei<br/>
|
|||
|
.cpp<br/>
|
|||
|
C++-Quellen<br/>
|
|||
|
.o<br/>
|
|||
|
Objektdatei<br/>
|
|||
|
.p<br/>
|
|||
|
Pascal-Quellen<br/>
|
|||
|
.s<br/>
|
|||
|
Assembler<br/>
|
|||
|
3.11. Infos über Files<br/>
|
|||
|
file Datei<br/>
|
|||
|
Anzeige des Dateitypes<br/>
|
|||
|
wc -lwc Datei<br/>
|
|||
|
Ausgabe der Zeilen, Worte und Buchstaben der Datei<br/>
|
|||
|
ls -a | wc -l<br/>
|
|||
|
alle Dateien im aktuellen Verzeichnis zählen<br/>
|
|||
|
22<br/>
|
|||
|
<hr/>
|
|||
|
<a name=23></a>3.12. Arbeiten(Verwüstungen) im und am Filesystem<br/>
|
|||
|
3.12. Arbeiten(Verwüstungen) im und am Filesystem<br/>
|
|||
|
cd Pfad<br/>
|
|||
|
Verzeichnis wechseln<br/>
|
|||
|
mkdir Name<br/>
|
|||
|
Verzeichnis erzeugen<br/>
|
|||
|
mkdir -p Name<br/>
|
|||
|
Verzeichnis erzeugen, fehlende Verzeichnisse mit anlegen<br/>
|
|||
|
3.13. Kopieren und Verschieben<br/>
|
|||
|
cp Dateien Ziel<br/>
|
|||
|
Dateien kopieren<br/>
|
|||
|
cp -i Dateien Ziel<br/>
|
|||
|
Dateien kopieren, vor dem Überschreiben<br/>
|
|||
|
einer Datei nachfragen<br/>
|
|||
|
cp -R Quelle* Ziel<br/>
|
|||
|
gesamten Inhalt eines Verzeichnises kopieren<br/>
|
|||
|
mv Quelle Ziel<br/>
|
|||
|
Datei verschieben oder umbenennen<br/>
|
|||
|
mv -f Quelle Ziel<br/>
|
|||
|
Schreibgeschützte Datei verschieben oder umbenennen<br/>
|
|||
|
mv -i Quelle Ziel<br/>
|
|||
|
Datei verschieben oder umbenennen,<br/>
|
|||
|
vor dem Überschreiben nachfragen<br/>
|
|||
|
ln Quelle Ziel<br/>
|
|||
|
Verknüpfung erzeugen (Hardlink),<br/>
|
|||
|
beide Dateien haben die gleiche inode<br/>
|
|||
|
ln -s Quelle Ziel<br/>
|
|||
|
Verknüpfung erzeugen (Softlink)<br/>
|
|||
|
ln -sf Quelle Ziel<br/>
|
|||
|
Verknüpfung erzeugen (Softlink)<br/>
|
|||
|
ohne Rückfrage überschreiben<br/>
|
|||
|
3.14. Löschen<br/>
|
|||
|
rm Datei<br/>
|
|||
|
löschen von Daten<br/>
|
|||
|
rm -r Dateien<br/>
|
|||
|
löschen von Dateien mit Verzeichnissen<br/>
|
|||
|
rmdir Verzeichnis<br/>
|
|||
|
löscht Verzeichnis wenn es leer ist,<br/>
|
|||
|
überflüssig rm -r geht auch<br/>
|
|||
|
3.15. Ausgeben<br/>
|
|||
|
cat Datei<br/>
|
|||
|
Inhalt der Datei auf dem Bildschirm ausgeben<br/>
|
|||
|
cat Datei1 Datei2 > Datei3<br/>
|
|||
|
Dateien1+2 zusammenfügen in die Datei3 schreiben<br/>
|
|||
|
strings Datei<br/>
|
|||
|
Druckbare Zeichen der Datei ausgeben<br/>
|
|||
|
more Datei<br/>
|
|||
|
Datei seitenweise ausgeben<br/>
|
|||
|
less Datei<br/>
|
|||
|
Datei ausgeben und mit den Curser scrollen<br/>
|
|||
|
j eine Zeile weiter<br/>
|
|||
|
k eine Zeile zurück<br/>
|
|||
|
u halbe Seite zurück<br/>
|
|||
|
/Text sucht den Text<br/>
|
|||
|
q less verlassen<br/>
|
|||
|
nl Datei<br/>
|
|||
|
Datei mit Zeilennummern ausgeben<br/>
|
|||
|
tail Datei<br/>
|
|||
|
zeigt die letzten 10 Zeilen einer Datei an<br/>
|
|||
|
23<br/>
|
|||
|
<hr/>
|
|||
|
<a name=24></a>3. Befehle<br/>
|
|||
|
tail -n Datei<br/>
|
|||
|
zeigt die letzten n Zeilen einer Datei an<br/>
|
|||
|
tail -f Datei<br/>
|
|||
|
zeigt ständig die letzten 10 Zeilen der Datei an<br/>
|
|||
|
tail -f /var/log/messages<br/>
|
|||
|
Systemmeldungen mitverfolgen<br/>
|
|||
|
head Datei<br/>
|
|||
|
zeigt die ersten 10 Zeilen einer Datei an<br/>
|
|||
|
head -n Datei<br/>
|
|||
|
zeigt die ersten n Zeilen einer Datei an<br/>
|
|||
|
od -b Datei<br/>
|
|||
|
Datei oktal ausgeben<br/>
|
|||
|
od -c Datei<br/>
|
|||
|
Datei als ASCII ausgeben<br/>
|
|||
|
od -x Datei<br/>
|
|||
|
Datei hexadezimal ausgeben<br/>
|
|||
|
ls | paste - - - -<br/>
|
|||
|
Dateien vierspaltig ausgeben<br/>
|
|||
|
recode ibmpc:lat1 Datei<br/>
|
|||
|
Konvertierung der Datei<br/>
|
|||
|
7 Bit DOS in das UNICODE/8 Bit Format<br/>
|
|||
|
3.16. Der Texteditor vi/vim<br/>
|
|||
|
vi<br/>
|
|||
|
Editor vi aufrufen<br/>
|
|||
|
vi Datei<br/>
|
|||
|
Editor vi aufrufen und Datei öffnen<br/>
|
|||
|
vi -r<br/>
|
|||
|
swap-Dateien anzeigen<br/>
|
|||
|
vi -r Datei<br/>
|
|||
|
Datei nach einem Stromausfall (oder Absturz) wieder herstellen<br/>
|
|||
|
vi -R Datei<br/>
|
|||
|
Datei schreibgeschützt öffnen<br/>
|
|||
|
3.17. Suchen nach Dateien<br/>
|
|||
|
find Pfad Bedingung<br/>
|
|||
|
nach Dateien suchen<br/>
|
|||
|
find Pfad | grep name<br/>
|
|||
|
nach Dateien suchen, hat sich bewährt<br/>
|
|||
|
find Pfad -name .profile<br/>
|
|||
|
nach dem Dateinamen .profile suchen<br/>
|
|||
|
find Pfad -user higi<br/>
|
|||
|
nach Dateien die dem Benutzer<br/>
|
|||
|
higi gehören suchen<br/>
|
|||
|
find Pfad -size +1024c<br/>
|
|||
|
nach Dateien die größer als 1024 Bytes<br/>
|
|||
|
sind suchen<br/>
|
|||
|
find Pfad -atime +7<br/>
|
|||
|
nach Dateien suchen die älter als 7 Tage sind<br/>
|
|||
|
find Pfad -print<br/>
|
|||
|
alle Dateien im Pfad ausgeben<br/>
|
|||
|
find -name *.txt<br/>
|
|||
|
alle Dateien im aktuellen Pfad<br/>
|
|||
|
mit der Endung .txt ausgeben<br/>
|
|||
|
find / -size +16000000c<br/>
|
|||
|
alle Dateien die mehr als 16MB haben ausgeben<br/>
|
|||
|
find / -fstype msdos -name *.zip<br/>
|
|||
|
sucht auf MS-DOS-Partition nach *.zip<br/>
|
|||
|
find / -fstype vfat -name *.txt<br/>
|
|||
|
sucht auf Windows-Partition nach *.txt<br/>
|
|||
|
3.18. Suchen in Dateien<br/>
|
|||
|
grep Ausdruck Datei<br/>
|
|||
|
sucht nach dem Ausdruck in der Datei<br/>
|
|||
|
grep -c Ausdruck Datei<br/>
|
|||
|
Anzahl der Zeilen, die den Begriff<br/>
|
|||
|
enthalten ausgeben<br/>
|
|||
|
grep -i Ausdruck Datei<br/>
|
|||
|
große und kleine Buchstaben nicht unterscheiden<br/>
|
|||
|
24<br/>
|
|||
|
<hr/>
|
|||
|
<a name=25></a>3.19. Vergleichen von Dateien<br/>
|
|||
|
grep -l Ausdruck Datei<br/>
|
|||
|
meldet die Dateien die den Ausdruck enthalten<br/>
|
|||
|
grep -n Ausdruck Datei<br/>
|
|||
|
sucht nach dem Ausdruck und<br/>
|
|||
|
gibt die Zeilennummer mit aus<br/>
|
|||
|
grep -v Ausdruck Datei<br/>
|
|||
|
Ausgabe der Zeilen die den Ausdruck<br/>
|
|||
|
nicht enthalten<br/>
|
|||
|
egrep Ausdruck Datei<br/>
|
|||
|
sucht nach dem Ausdruck in der Datei<br/>
|
|||
|
fgrep String Datei<br/>
|
|||
|
sucht nach dem String in der Datei<br/>
|
|||
|
fgrep -x String Datei<br/>
|
|||
|
sucht nach dem String in der Zeile einer Datei<br/>
|
|||
|
3.19. Vergleichen von Dateien<br/>
|
|||
|
diff Datei1 Datei2<br/>
|
|||
|
zeigt die Unterschiede zwischen zwei Dateien<br/>
|
|||
|
comm [-123] Datei1 Datei2<br/>
|
|||
|
zwei sortierte Textdateien vergleichen<br/>
|
|||
|
cmp -l Datei1 Datei2<br/>
|
|||
|
Binär-/Dateien vergleichen<br/>
|
|||
|
3.20. Drucken<br/>
|
|||
|
lpr Datei<br/>
|
|||
|
Datei auf dem Drucker ausgeben<br/>
|
|||
|
lpr -#n Datei<br/>
|
|||
|
Datei n mal auf dem Drucker ausgeben<br/>
|
|||
|
lpr -m Datei<br/>
|
|||
|
Datei auf dem Drucker ausgeben, nach dem Drucken<br/>
|
|||
|
bekommt man eine mail<br/>
|
|||
|
lpq<br/>
|
|||
|
Warteschlange anschauen<br/>
|
|||
|
lprm Jobnummer<br/>
|
|||
|
Druckauftrag/Job aus der Warteschlange löschen<br/>
|
|||
|
pr<br/>
|
|||
|
Dateien für das Drucken aufbereiten<br/>
|
|||
|
3.21. File-Inhalt bearbeiten<br/>
|
|||
|
compress Datei<br/>
|
|||
|
Datei komprimieren nach Datei.Z<br/>
|
|||
|
uncompress Datei.Z<br/>
|
|||
|
Datei.Z dekomprimieren<br/>
|
|||
|
expand Datei1 > Datei2<br/>
|
|||
|
Tabs aus der Datei1 entfernen und<br/>
|
|||
|
zur Datei2 schreiben<br/>
|
|||
|
unpack Datei.z<br/>
|
|||
|
Datei.z dekomprimieren<br/>
|
|||
|
sort Datei1 > Datei2<br/>
|
|||
|
die Zeilen der Datei1 in<br/>
|
|||
|
die Datei2 sortieren<br/>
|
|||
|
tr [A-Z] [a-z] < Datei1 > Datei2<br/>
|
|||
|
Klein durch Großbuchstaben ersetzen<br/>
|
|||
|
uniq Datei<br/>
|
|||
|
Datei ausgeben bis auf doppelte Zeilen<br/>
|
|||
|
3.22. TAR (tape archiver) verwaltet Dateiarchive<br/>
|
|||
|
Syntax:<br/>
|
|||
|
tar [-Acdrtux] [–delete] [-b n] [-BgGhijklmMoOpPPsSvwWz] [-C Verzeichnis] [-f Datei]<br/>
|
|||
|
[-F Datei] [-K Datei] [-L Länge] [-N Datum] [-T Datei] [-V Name] [-X Datei] [0-7] [lmh]<br/>
|
|||
|
25<br/>
|
|||
|
<hr/>
|
|||
|
<a name=26></a>3. Befehle<br/>
|
|||
|
Optionen:<br/>
|
|||
|
-A<br/>
|
|||
|
Archiv an ein Archiv anhängen<br/>
|
|||
|
-c<br/>
|
|||
|
erzeugt ein neues Archiv<br/>
|
|||
|
-d<br/>
|
|||
|
vergleicht das Archiv mit dem Dateisystem<br/>
|
|||
|
--delete Datei löscht die Datei aus dem Archiv (nicht für Magnetbänder)<br/>
|
|||
|
-r<br/>
|
|||
|
hängt Dateien an das Archiv an (nicht für Magnetbänder)<br/>
|
|||
|
-t<br/>
|
|||
|
zeigt den Inhalt des Archivs<br/>
|
|||
|
-u<br/>
|
|||
|
ersetzt neue Dateien oder fügt sie ein (nicht für Magnetbänder)<br/>
|
|||
|
-x<br/>
|
|||
|
kopiert/entpackt Datei-en aus dem Archiv<br/>
|
|||
|
--atime-preserve<br/>
|
|||
|
Zugriffszeit nach der Archivierung zurück setzen<br/>
|
|||
|
-b n<br/>
|
|||
|
setzt die Blockgröße n*512Bytes (Voreinstellung n=20)<br/>
|
|||
|
-B<br/>
|
|||
|
unterdrückt den Abbruch beim Lesen unvollständiger Blöcke<br/>
|
|||
|
zum Lesen von 4.2BSD Pipes<br/>
|
|||
|
-C Verzeichnis wechselt in das Verzeichnis, um dort weitere Dateien zu<br/>
|
|||
|
archivieren<br/>
|
|||
|
-f Datei<br/>
|
|||
|
benutzt Datei oder das Gerät als Archiv<br/>
|
|||
|
-F Datei<br/>
|
|||
|
bei -M führt das Shellscript Datei aus, wenn das Medium voll ist<br/>
|
|||
|
-G<br/>
|
|||
|
erzeugt am Anfang des Bandarchives einen speziellen Eintrag für<br/>
|
|||
|
jedes archivierte Verzeichnis; spezielles GNU Format<br/>
|
|||
|
-g Datei<br/>
|
|||
|
erzeugt eine Datei mit einer Liste der archivierten<br/>
|
|||
|
Verzeichnisse als Zeitmarke der Archivierung; wenn die Datei<br/>
|
|||
|
bereits existiert, werden nur die Dateien archiviert, die nach<br/>
|
|||
|
dieser Zeitmarke erzeugt oder verändert wurden (spezielles GNU<br/>
|
|||
|
Format: 1.Zeile=Zeitmarke, 1.Feld=Nr. der Partition,<br/>
|
|||
|
2.Feld=Inode des Verzeichnisses, 3.Feld=Name des Verzeichisses)<br/>
|
|||
|
-h<br/>
|
|||
|
archiviert die referenzierten Dateien anstelle der Links<br/>
|
|||
|
-i<br/>
|
|||
|
ignoriert Blöcke mit Nullbytes im Archiv<br/>
|
|||
|
-j<br/>
|
|||
|
erzeugt ein mit bzip2 komprimiertes Archiv<br/>
|
|||
|
-k<br/>
|
|||
|
existierende Dateien werden beim Auspacken von Archiven nicht<br/>
|
|||
|
überschrieben<br/>
|
|||
|
-K Datei<br/>
|
|||
|
beginnt eine Aktion bei Datei im Archiv<br/>
|
|||
|
-l<br/>
|
|||
|
verhindert Archivierung von Dateien aus anderen Dateisystemen<br/>
|
|||
|
-L Länge<br/>
|
|||
|
wartet auf Medienwechsel nach Länge Bytes<br/>
|
|||
|
-m<br/>
|
|||
|
das Datum der letzten Änderung wird nicht mit archiviert<br/>
|
|||
|
-M<br/>
|
|||
|
das Archiv ist auf mehrere Medien verteilt (Multi-Volume)<br/>
|
|||
|
-N Datum<br/>
|
|||
|
archiviert nur Dateien, die neuer sind als Datum<br/>
|
|||
|
-o<br/>
|
|||
|
benutzt das alte V7 tar-Format anstelle des ANSI Formates<br/>
|
|||
|
-O<br/>
|
|||
|
schreibt die Dateien in die Standardausgabe<br/>
|
|||
|
-p<br/>
|
|||
|
erhält die Zugriffsrechte der Dateien<br/>
|
|||
|
-P<br/>
|
|||
|
archiviert mit absoluten Dateinamen<br/>
|
|||
|
-R<br/>
|
|||
|
gibt zu jeder Meldung die Blocknummer des Archivblocks aus, von<br/>
|
|||
|
dem die Meldung verursacht wurde<br/>
|
|||
|
-s<br/>
|
|||
|
zeigt an, dass die Liste von Dateien im Argument die gleiche<br/>
|
|||
|
Reihenfolge hat wie die Dateien im Archiv<br/>
|
|||
|
-T Datei<br/>
|
|||
|
holt die Namen der zu archivierenden Dateien aus Datei<br/>
|
|||
|
26<br/>
|
|||
|
<hr/>
|
|||
|
<a name=27></a>3.23. Disketten/Festplatten<br/>
|
|||
|
-v<br/>
|
|||
|
meldet jede Aktion<br/>
|
|||
|
-V Name<br/>
|
|||
|
erzeugt ein Archiv mit dem (internen) Label Name<br/>
|
|||
|
-w<br/>
|
|||
|
erwartet interaktiv Bestätigung jeder Aktion<br/>
|
|||
|
-W<br/>
|
|||
|
verifiziert die geschriebenen Daten im Archiv<br/>
|
|||
|
-X Datei<br/>
|
|||
|
liest aus der Datei Namen oder reguläre Ausdrücke von bzw. für<br/>
|
|||
|
Dateien, die nicht archiviert werden soll<br/>
|
|||
|
-z<br/>
|
|||
|
erzeugt ein mit gzip komprimiertes Archiv<br/>
|
|||
|
-Z<br/>
|
|||
|
erzeugt ein mit compress komprimiertes Archiv<br/>
|
|||
|
-{0...7}{lmh}<br/>
|
|||
|
spezifiziert das Gerät und die Dichte des Speichermediums (für<br/>
|
|||
|
Diskettenarchive ohne Bedeutung); 0 ist der erste Streamer, 1<br/>
|
|||
|
1 der zweite und so weiter; die Dichte bestimmt den Bandtyp<br/>
|
|||
|
3.22.1. Packen<br/>
|
|||
|
tar rPvf name.tar /etc/<br/>
|
|||
|
Verzeichnis zum tar zufügen<br/>
|
|||
|
tar rPvf name.tar /etc/inittab* Datei-en zum tar zufügen<br/>
|
|||
|
tar cPvzf name.tgz name.tar<br/>
|
|||
|
tar -> tgz<br/>
|
|||
|
tar cPvMf /dev/fd0 name.tgz<br/>
|
|||
|
tgz auf Diskette sichern<br/>
|
|||
|
tar cvzf Datei.tgz Verzeichnis Packt Verzeichnis in Datei.tgz<br/>
|
|||
|
3.22.2. Entpacken<br/>
|
|||
|
tar xvfpM /dev/fd0<br/>
|
|||
|
tgz von Diskette holen<br/>
|
|||
|
tar xvfpz name.tgz<br/>
|
|||
|
tgz -> tar<br/>
|
|||
|
tar tvfp name.tar<br/>
|
|||
|
Inhalt des Tars anzeigen<br/>
|
|||
|
tar xvfp name.tar<br/>
|
|||
|
Tar entpacken<br/>
|
|||
|
3.23. Disketten/Festplatten<br/>
|
|||
|
dd if=/dev/zero of=/dev/sda bs=512 count=1<br/>
|
|||
|
überschreibt den MBR der ersten<br/>
|
|||
|
SCSI-Platte mit Nullen<br/>
|
|||
|
fdisk Gerätedatei<br/>
|
|||
|
Partitionstabelleneditor<br/>
|
|||
|
fdisk -l /dev/hda<br/>
|
|||
|
zeigt die Partitionstabelle der ersten<br/>
|
|||
|
Festplatte an<br/>
|
|||
|
fdisk -C 12416 -H 15 -S 63 /dev/hdb<br/>
|
|||
|
Partitionstabelle mit vorgegebenen<br/>
|
|||
|
C-Zylinder H-Köpfe S-Sektoren pro Spur<br/>
|
|||
|
bearbeiten<br/>
|
|||
|
cfdisk Gerätedatei<br/>
|
|||
|
Curses-Partitionstabelleneditor<br/>
|
|||
|
fdformat /dev/fd0u1440<br/>
|
|||
|
Diskette Low-Level-Formatieren<br/>
|
|||
|
mformat a:<br/>
|
|||
|
Dateisystem DOS-FAT anlegen<br/>
|
|||
|
mkdosfs -I /dev/sda<br/>
|
|||
|
Superfloppy-Format mit FAT16-Dateisystem<br/>
|
|||
|
27<br/>
|
|||
|
<hr/>
|
|||
|
<a name=28></a>3. Befehle<br/>
|
|||
|
für z.B. USB-Sticks anlegen<br/>
|
|||
|
mkdosfs -n Name /dev/sda1<br/>
|
|||
|
FAT16-Dateisystem mit Name anlegen<br/>
|
|||
|
mkfs -t minix /dev/fd0u1440 1440<br/>
|
|||
|
Dateisystem minix anlegen<br/>
|
|||
|
mke2fs /dev/fd0u1440<br/>
|
|||
|
Dateisystem ext2 anlegen<br/>
|
|||
|
mkfs -V -t ext2 /dev/sda7<br/>
|
|||
|
Dateisystem ext2 anlegen<br/>
|
|||
|
fsck -V -t ext2 /dev/sda7<br/>
|
|||
|
Dateisystem Prüfung und Reparatur<br/>
|
|||
|
tune2fs Optionen Gerät<br/>
|
|||
|
Einstellungen zum ext2 Dateisystem<br/>
|
|||
|
mount Gerät Verzeichnis<br/>
|
|||
|
Gerät im Verzeichnis anmelden<br/>
|
|||
|
mount -t minix /dev/fd0 /mnt<br/>
|
|||
|
Diskette im minix-Format anmelden<br/>
|
|||
|
mount -t ext2 /dev/fd0 /mnt<br/>
|
|||
|
Diskette im ext2-Format anmelden<br/>
|
|||
|
mount -t msdos /dev/fd0 /mnt<br/>
|
|||
|
Diskette im msdos-Format anmelden<br/>
|
|||
|
mount -o loop disk.img /mnt<br/>
|
|||
|
Datei als Diskette anmelden<br/>
|
|||
|
umount Verzeichnis<br/>
|
|||
|
Verzeichnis abmelden<br/>
|
|||
|
umount /mnt<br/>
|
|||
|
Diskette abmelden<br/>
|
|||
|
3.23.1. Dateisystem verschlüsseln<br/>
|
|||
|
modprobe loop_fish2<br/>
|
|||
|
Modul für die Verschlüssellung laden<br/>
|
|||
|
dd if=/dev/urandom of=datei bs=1024 count=10000<br/>
|
|||
|
10MB Datei anlegen<br/>
|
|||
|
losetup -e twofish /dev/loop0 datei<br/>
|
|||
|
Datei anmelden (Passwort anlegen)<br/>
|
|||
|
mkfs -t ext2 /dev/loop0<br/>
|
|||
|
Dateisystem anlegen<br/>
|
|||
|
mount -t ext2 /dev/loop0 /mnt<br/>
|
|||
|
Dateisystem anmelden<br/>
|
|||
|
umount /mnt/<br/>
|
|||
|
Dateisystem abmelden<br/>
|
|||
|
losetup -d /dev/loop0<br/>
|
|||
|
Datei abmelden<br/>
|
|||
|
/dev/loop0 /datei /mnt ext2 twofish defaults<br/>
|
|||
|
/etc/cryptotab<br/>
|
|||
|
/datei /mnt ext2 loop,encryption=twofish,noauto,user<br/>
|
|||
|
/etc/fstab<br/>
|
|||
|
3.24. Zugriffsrechte/Eigentümer/Gruppe<br/>
|
|||
|
ls -l /dev/fd0<br/>
|
|||
|
brw-rw-rw-<br/>
|
|||
|
1 root<br/>
|
|||
|
disk<br/>
|
|||
|
2,<br/>
|
|||
|
0 Feb 16 16:30 /dev/fd0<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
+----- Gerät<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
+------ Minor-Device-Nummer(Nebennummer)<br/>
|
|||
|
|<br/>
|
|||
|
+----------- Major-Device-Nummer(Hauptnummer)<br/>
|
|||
|
+-------------------- b-blockorientierte Geräte c-zeichenorientierte Geräte<br/>
|
|||
|
ls -laFi linux.txt<br/>
|
|||
|
1561 -rw-r----- 1 higi users 26419 Mar 13 19:19 linux.txt<br/>
|
|||
|
|<br/>
|
|||
|
|||||||||| | |<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
| |<br/>
|
|||
|
+----- Datei/Verzeichnisname<br/>
|
|||
|
28<br/>
|
|||
|
<hr/>
|
|||
|
<a name=29></a>3.24. Zugriffsrechte/Eigentümer/Gruppe<br/>
|
|||
|
|<br/>
|
|||
|
|||||||||| | |<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
| +----------- Uhrzeit<br/>
|
|||
|
|<br/>
|
|||
|
|||||||||| | |<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
+-------------- Tag<br/>
|
|||
|
|<br/>
|
|||
|
|||||||||| | |<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
+------------------ Monat<br/>
|
|||
|
|<br/>
|
|||
|
|||||||||| | |<br/>
|
|||
|
|<br/>
|
|||
|
+------------------------ Größe<br/>
|
|||
|
|<br/>
|
|||
|
|||||||||| | |<br/>
|
|||
|
+----------- Gruppe<br/>
|
|||
|
|<br/>
|
|||
|
|||||||||| | +----------------- Eigentümer<br/>
|
|||
|
|<br/>
|
|||
|
|||||||||| +------------------- Links<br/>
|
|||
|
|<br/>
|
|||
|
|||||||||+---- alle Anderen<br/>
|
|||
|
x-ausführen oder t-text mit x-bit<br/>
|
|||
|
|<br/>
|
|||
|
|||||||||<br/>
|
|||
|
T-text ohne x-bit<br/>
|
|||
|
|<br/>
|
|||
|
||||||||+----- alle Anderen<br/>
|
|||
|
w-schreiben<br/>
|
|||
|
|<br/>
|
|||
|
|||||||+------ alle Anderen<br/>
|
|||
|
r-lesen<br/>
|
|||
|
|<br/>
|
|||
|
||||||+------- Gruppe<br/>
|
|||
|
x-ausführen oder s-Gruppenkennung mit x-bit<br/>
|
|||
|
|<br/>
|
|||
|
||||||<br/>
|
|||
|
S-Gruppenkennung ohne x-bit<br/>
|
|||
|
|<br/>
|
|||
|
|||||+-------- Gruppe<br/>
|
|||
|
w-schreiben<br/>
|
|||
|
|<br/>
|
|||
|
||||+--------- Gruppe<br/>
|
|||
|
r-lesen<br/>
|
|||
|
|<br/>
|
|||
|
|||+---------- Eigentümer<br/>
|
|||
|
x-ausführen oder s-Benutzerkennung mit x-bit<br/>
|
|||
|
|<br/>
|
|||
|
|||<br/>
|
|||
|
S-Benutzerkennung ohne x-bit<br/>
|
|||
|
|<br/>
|
|||
|
||+----------- Eigentümer<br/>
|
|||
|
w-schreiben<br/>
|
|||
|
|<br/>
|
|||
|
|+------------ Eigentümer<br/>
|
|||
|
r-lesen<br/>
|
|||
|
|<br/>
|
|||
|
+------------- d-Verzeichnis l-Verknüpfung<br/>
|
|||
|
+------- inode<br/>
|
|||
|
chmod werwiewas Datei<br/>
|
|||
|
Zugriffsrechte einer Datei/Verzeichnis ändern<br/>
|
|||
|
wer: u-Eigentümer<br/>
|
|||
|
g-Gruppe<br/>
|
|||
|
o-alle Anderen a-alle 3 Benutzergruppen<br/>
|
|||
|
wie: +-hinzufügen --wegnehmen<br/>
|
|||
|
=-nachfolgendes Muster setzen<br/>
|
|||
|
was: r-lesen w-schreiben x-ausführen<br/>
|
|||
|
( s-Benutzerkennung oder Gruppenkennung<br/>
|
|||
|
t-text )<br/>
|
|||
|
chmod zahl Datei<br/>
|
|||
|
Zugriffsrechte einer Datei/Verzeichnis ändern<br/>
|
|||
|
zahl-> rwx rwx rwx -> 4+2 4 0 -> 640<br/>
|
|||
|
421 421 421<br/>
|
|||
|
640 -> Eigentümer lesen schreiben<br/>
|
|||
|
Gruppe<br/>
|
|||
|
lesen<br/>
|
|||
|
chmod nzahl Datei<br/>
|
|||
|
Zugriffsrechte und Kennung einer Datei/<br/>
|
|||
|
Verzeichnis ändern<br/>
|
|||
|
bit 4 von n, mit Benutzerkennung/<br/>
|
|||
|
Benutzerrechten ausführen<br/>
|
|||
|
bit 2 von n, mit Gruppenkennung/<br/>
|
|||
|
Gruppenrechten ausführen<br/>
|
|||
|
bit 1 von n, mit text werden die Dateien vor<br/>
|
|||
|
dem Löschen durch fremde Benutzer geschützt,<br/>
|
|||
|
macht nur bei Verzeichnissen sinn<br/>
|
|||
|
chown NeuerEigentümer Datei<br/>
|
|||
|
Eigentümer der Datei ändern<br/>
|
|||
|
29<br/>
|
|||
|
<hr/>
|
|||
|
<a name=30></a>3. Befehle<br/>
|
|||
|
chgrp NeueGruppe Datei<br/>
|
|||
|
Gruppenzugehörigkeit der Datei ändern<br/>
|
|||
|
passwd Benutzer<br/>
|
|||
|
Benutzerpasswort ändern<br/>
|
|||
|
useradd Optionen Benutzer<br/>
|
|||
|
Benutzer anlegen<br/>
|
|||
|
-u Benutzer-ID (-u 500)<br/>
|
|||
|
-g Primäre Gruppenzugehörigkeit (-g users)<br/>
|
|||
|
-G weitere Gruppenzugehörigkeit<br/>
|
|||
|
-d Homeverzeichnis (-d /home/user500)<br/>
|
|||
|
-s Shell (-s /bin/bash)<br/>
|
|||
|
-m legt das Homeverzeichnis an und kopiert die<br/>
|
|||
|
Dateien aus /etc/skel in das Homeverzeichnis<br/>
|
|||
|
-c Kommentar<br/>
|
|||
|
-p Passwort im Klartext!<br/>
|
|||
|
-e Auslaufdatum (-e 2002.12.24)<br/>
|
|||
|
-f Pufferzeit<br/>
|
|||
|
usermod Optionen Benutzer<br/>
|
|||
|
Benutzerdaten verändern<br/>
|
|||
|
userdel Benutzername<br/>
|
|||
|
Benutzer löschen<br/>
|
|||
|
userdel -r Benutzername<br/>
|
|||
|
Benutzer und Benutzerverzeichnis löschen<br/>
|
|||
|
vipw<br/>
|
|||
|
Benutzerdatenbank ändern<br/>
|
|||
|
su<br/>
|
|||
|
Shell mit root-Zugriffsrechten starten<br/>
|
|||
|
su -<br/>
|
|||
|
Shell im root-Homeverzeichnis<br/>
|
|||
|
mit root-Zugriffsrechten starten<br/>
|
|||
|
sux -<br/>
|
|||
|
Shell im root-Homeverzeichnis<br/>
|
|||
|
mit root-Zugriffsrechten starten und X-Variabeln<br/>
|
|||
|
su -l Benutzername<br/>
|
|||
|
Shell im Benutzer-Homeverzeichnis<br/>
|
|||
|
mit Benutzer-Rechten starten<br/>
|
|||
|
3.25. Prozessbefehle<br/>
|
|||
|
S=schlafend R=running(laufend) T=terminiert Z=Zombie<br/>[Strg]+[z]<br/>
|
|||
|
im Vordergrund laufendes Programm anhalten<br/>
|
|||
|
[1]+ Stopped<br/>
|
|||
|
|<br/>
|
|||
|
+----- schlafend<br/>
|
|||
|
+------------- Jobnummer<br/>
|
|||
|
bg %JOB<br/>
|
|||
|
Job im Hintergrund fortsetzen<br/>
|
|||
|
fg %JOB<br/>
|
|||
|
Job im Vordergrund fortsetzen<br/>
|
|||
|
Programm &<br/>
|
|||
|
Programm im eigenem Prozess starten<br/>
|
|||
|
[1] 819<br/>
|
|||
|
|<br/>
|
|||
|
+--------- Prozessnummer<br/>
|
|||
|
+------------- Jobnummer<br/>
|
|||
|
ps<br/>
|
|||
|
Überblick über die aktuell laufenden Prozesse<br/>
|
|||
|
ps aux<br/>
|
|||
|
gibt in den meisten Fällen eine ausreichende Auskunft<br/>
|
|||
|
pstree<br/>
|
|||
|
zeigt den kompletten Prozessbaum an<br/>
|
|||
|
30<br/>
|
|||
|
<hr/>
|
|||
|
<a name=31></a>3.26. Re-install Grub with Live CD<br/>
|
|||
|
jobs<br/>
|
|||
|
das Schellkommando gibt eine Liste der aktuellen Jobs aus<br/>
|
|||
|
top<br/>
|
|||
|
Programm, das die aktuellen Prozesse anzeigt<br/>
|
|||
|
htop<br/>
|
|||
|
Programm, das die aktuellen Prozesse anzeigt<br/>
|
|||
|
kill PID<br/>
|
|||
|
Prozess killen<br/>
|
|||
|
kill %JOB<br/>
|
|||
|
Job killen<br/>
|
|||
|
kill -1 PID<br/>
|
|||
|
Prozess initialisieren<br/>
|
|||
|
kill -1 %JOB<br/>
|
|||
|
Job initialisieren<br/>
|
|||
|
kill -9 PID<br/>
|
|||
|
Prozess killen<br/>
|
|||
|
kill -9 %JOB<br/>
|
|||
|
Job killen<br/>
|
|||
|
kill -15 PID<br/>
|
|||
|
Prozess beenden<br/>
|
|||
|
kill -15 %JOB<br/>
|
|||
|
Job beenden<br/>
|
|||
|
kill -HUP PID<br/>
|
|||
|
veranlasst die meisten Dämonen ihre Konfigurationsdateien<br/>
|
|||
|
erneut zu lesen<br/>
|
|||
|
3.26. Re-install Grub with Live CD<br/>
|
|||
|
3.26.1. Chroot<br/>
|
|||
|
sudo fdisk -l<br/>
|
|||
|
Patition für das chroot festellen<br/>
|
|||
|
sudo mount /dev/sdb3 /mnt/gentoo<br/>
|
|||
|
chroot z.B. /dev/sdb3 auf z.B. /mnt/gentoo mounten<br/>
|
|||
|
sudo mount -t proc none /mnt/gentoo/proc<br/>
|
|||
|
Mounten der /proc und /dev Dateisysteme<br/>
|
|||
|
sudo mount --rbind /dev /mnt/gentoo/dev<br/>
|
|||
|
sudo chroot /mnt/gentoo /bin/bash<br/>
|
|||
|
Betreten der neuen Umgebung<br/>
|
|||
|
env-update<br/>
|
|||
|
Umgebungsvariablen aktualisieren<br/>
|
|||
|
source /etc/profile<br/>
|
|||
|
Profil laden<br/>
|
|||
|
export PS1="(chroot) $PS1"<br/>
|
|||
|
Promt anpassen<br/>
|
|||
|
3.26.2. Grub<br/>
|
|||
|
sudo grub<br/>
|
|||
|
grub> find /boot/grub/stage1<br/>
|
|||
|
grub> root (hd0,1)<br/>
|
|||
|
grub> setup (hd0)<br/>
|
|||
|
grub> quit<br/>
|
|||
|
reboot<br/>
|
|||
|
3.27. Software installieren<br/>
|
|||
|
3.27.1. rpm-Format<br/>
|
|||
|
http://www.rpm.org/<br/>
|
|||
|
weiterführende Informationen<br/>
|
|||
|
http://www.rpmfind.net/<br/>
|
|||
|
Hilfe zu fehlenden rpms oder Merkmalen<br/>
|
|||
|
/var/lib/rpm/Packages<br/>
|
|||
|
rpm-Datenbank<br/>
|
|||
|
31<br/>
|
|||
|
<hr/>
|
|||
|
<a name=32></a>3. Befehle<br/>
|
|||
|
/var/lib/rpm/packages.rpm<br/>
|
|||
|
-> /var/lib/rpm/Packages<br/>
|
|||
|
Geänderte Konfigurationsdateien überschreibt rpm beim Update nicht, sondern hebt<br/>
|
|||
|
sie als Datei.rpmsave auf. diff hilft die Unterschiede anzuzeigen.<br/>
|
|||
|
rpm -i Paketname.rpm<br/>
|
|||
|
Installiert mit Prüfung auf Abhängigkeiten<br/>
|
|||
|
rpm -i --nodeps Paketname.rpm<br/>
|
|||
|
Installiert ohne Prüfung auf Abhängigkeiten<br/>
|
|||
|
rpm -i --test Paketname.rpm<br/>
|
|||
|
Testet die Installation ohne Daten zu verändern<br/>
|
|||
|
rpm -iv Paketname.rpm<br/>
|
|||
|
Installiert mit Prüfung auf Abhängigkeiten<br/>
|
|||
|
und Rückmeldung<br/>
|
|||
|
rpm -ivh Paketname.rpm<br/>
|
|||
|
Installiert, prüft, meldet und<br/>
|
|||
|
zeigt den Vorgang an<br/>
|
|||
|
rpm -Uvh Paketname.rpm<br/>
|
|||
|
Update eines rpm-Binärpaketes<br/>
|
|||
|
rpm -Fvh Paketname.rpm<br/>
|
|||
|
Aktualisiert rpm-Binärpaket<br/>
|
|||
|
rpm -Fvh *.rpm<br/>
|
|||
|
Aktualisiert alle rpm-Binärpakete im .<br/>
|
|||
|
rpm -e Paket<br/>
|
|||
|
Deinstalliert mit Prüfung auf Abhängigkeiten<br/>
|
|||
|
rpm -qa<br/>
|
|||
|
zeigt die installierten rpm-Pakete an<br/>
|
|||
|
rpm -qa | grep -i Paket<br/>
|
|||
|
zeigt ob das Paket installiert ist<br/>
|
|||
|
rpm -qi Paket<br/>
|
|||
|
zeigt Informationen über das installierte Paket<br/>
|
|||
|
rpm -qip Paketname.rpm<br/>
|
|||
|
zeigt Informationen über das rpm-Binärpaket<br/>
|
|||
|
rpm -ql Paket<br/>
|
|||
|
zeigt die enthaltenen Dateien des installierten<br/>
|
|||
|
Paketes an<br/>
|
|||
|
rpm -qlp Paketname.rpm<br/>
|
|||
|
zeigt die enthaltenen Dateien des<br/>
|
|||
|
rpm-Binärpaketes<br/>
|
|||
|
rpm -qf /Pfad/Datei<br/>
|
|||
|
zeigt das Paket aus dem die Datei stammt<br/>
|
|||
|
rpm -q --requires Paket<br/>
|
|||
|
zeigt die geforderten Merkmale des installierten<br/>
|
|||
|
Paketes an<br/>
|
|||
|
rpm -qp --requires Paketname.rpm<br/>
|
|||
|
zeigt die geforderten Merkmale des<br/>
|
|||
|
rpm-Binärpaketes<br/>
|
|||
|
3.27.2. deb-Format<br/>
|
|||
|
dpkg -i Paketname.deb<br/>
|
|||
|
Installation eines deb-Binärpaketes<br/>
|
|||
|
dpkg -P Paket<br/>
|
|||
|
Deinstalliert mit Prüfung auf Abhängigkeiten<br/>
|
|||
|
dpkg -l<br/>
|
|||
|
zeigt die installierten deb-Pakete an<br/>
|
|||
|
dpkg -l "*Paket*"<br/>
|
|||
|
zeigt ob das Paket installiert ist<br/>
|
|||
|
dpkg -p Paket<br/>
|
|||
|
zeigt Informationen über das installierte Paket<br/>
|
|||
|
dpkg -I Paketname.deb<br/>
|
|||
|
zeigt Informationen über das deb-Binärpaket<br/>
|
|||
|
dpkg -L Paket<br/>
|
|||
|
zeigt die enthaltenen Dateien des installierten<br/>
|
|||
|
Paketes an<br/>
|
|||
|
dpkg -c Paketname.deb<br/>
|
|||
|
zeigt die enthaltenen Dateien des<br/>
|
|||
|
32<br/>
|
|||
|
<hr/>
|
|||
|
<a name=33></a>3.27. Software installieren<br/>
|
|||
|
deb-Binärpaketes<br/>
|
|||
|
dpkg -S /Pfad/Datei<br/>
|
|||
|
zeigt das Paket aus dem die Datei stammt<br/>
|
|||
|
apt<br/>
|
|||
|
neue Alternative für apt-get<br/>
|
|||
|
apt-get autoclean<br/>
|
|||
|
Veraltete Pakete aus dem Cache löschen<br/>
|
|||
|
apt-get clean<br/>
|
|||
|
alle Pakete aus dem Cache löschen<br/>
|
|||
|
apt-get install Paket<br/>
|
|||
|
Installiert mit Prüfung auf Abhängigkeiten<br/>
|
|||
|
apt-get remove Paket<br/>
|
|||
|
Deinstalliert mit Prüfung auf Abhängigkeiten<br/>
|
|||
|
apt-get --purge remove Paket<br/>
|
|||
|
Deinstalliert vollständig<br/>
|
|||
|
apt-get autoremove<br/>
|
|||
|
Deinstalliert nicht benötigte Pakete<br/>
|
|||
|
apt-get dist-upgrade<br/>
|
|||
|
aktualisiert die gesamte Distribution<br/>
|
|||
|
apt-cache search Name<br/>
|
|||
|
durchsucht die gesamte Distribution<br/>
|
|||
|
apt-get update<br/>
|
|||
|
APT-Datenbank auf den aktuellen Stand bringen<br/>
|
|||
|
dpkg --get-selections > Paketliste<br/>
|
|||
|
Paketliste exportieren<br/>
|
|||
|
###sudo dpkg --set-selections < Paketliste<br/>
|
|||
|
Paketliste importieren geht nicht<br/>
|
|||
|
3.27.3. Portage Gentoo<br/>
|
|||
|
emerge --sync<br/>
|
|||
|
Aktualisieren des Portage-Tree mit rsync<br/>
|
|||
|
emerge --webrsync<br/>
|
|||
|
Aktualisieren mit dem Portage-Snapshots<br/>
|
|||
|
emerge --search Pragrammname<br/>
|
|||
|
Nach Software suchen<br/>
|
|||
|
emerge --searchdesc Name<br/>
|
|||
|
Suche nach Paketen im Zusammenhang mit dem Namen<br/>
|
|||
|
emerge Programmname<br/>
|
|||
|
Software installieren<br/>
|
|||
|
emerge -pv Programmname<br/>
|
|||
|
Installation von Programmen simulieren, USE-Flags anzeigen<br/>
|
|||
|
emerge --fetchonly Programmname Quellen herunterzuladen, noch nicht kompilieren<br/>
|
|||
|
emerge --unmerge Programmname<br/>
|
|||
|
Entfernung von Programm aus dem System<br/>
|
|||
|
emerge --update --ask world<br/>
|
|||
|
Aktualisierung des Systems<br/>
|
|||
|
emerge -f -u -a world<br/>
|
|||
|
Aktualisierung herunterzuladen, aber nicht<br/>
|
|||
|
kompilieren und installieren<br/>
|
|||
|
emerge --update --deep world<br/>
|
|||
|
Aktualisierung des gesamten Systems<br/>
|
|||
|
emerge --update --newuse world Neuerstellung des gesamten System<br/>
|
|||
|
emerge --depclean verweiste Abhängigkeiten entfernen<br/>
|
|||
|
revdep-rebuild<br/>
|
|||
|
reverse Abhängigkeiten neu erstellen<br/>
|
|||
|
etc-update<br/>
|
|||
|
Konfigurationsdateien zusammenzuführen<br/>
|
|||
|
equery belongs /Pfad/Datei<br/>
|
|||
|
zeigt das Paket aus dem die Datei stammt<br/>
|
|||
|
equery depends Programmname<br/>
|
|||
|
Abhängigkeiten anzeigen<br/>
|
|||
|
equery depgraph Programmname<br/>
|
|||
|
Abhängigkeiten als Baum anzeigen<br/>
|
|||
|
equery files Programmname<br/>
|
|||
|
Dateien auflisten, die zu einem Ebuild gehören<br/>
|
|||
|
33<br/>
|
|||
|
<hr/>
|
|||
|
<a name=34></a>3. Befehle<br/>
|
|||
|
equery hasuse USE-Flag<br/>
|
|||
|
Pakete suchen, die ein spezifisches USE-Flag<br/>
|
|||
|
benutzen<br/>
|
|||
|
equery size Programmname<br/>
|
|||
|
Paketgröße anzeigen<br/>
|
|||
|
equery uses Programmname<br/>
|
|||
|
Gesetzte und nicht gesetzte USE-Flags<br/>
|
|||
|
equery which Programmname<br/>
|
|||
|
Anzeigen des Ebuildpfads<br/>
|
|||
|
euse -a<br/>
|
|||
|
Alle aktiven USE-Flags anschauen<br/>
|
|||
|
euse -a -l<br/>
|
|||
|
Aktive lokale USE-Flags anschauen<br/>
|
|||
|
euse -E USE-Flag<br/>
|
|||
|
Setzen von USE-Flags<br/>
|
|||
|
euse -D USE-Flag<br/>
|
|||
|
Deaktivieren von USE-Flags<br/>
|
|||
|
3.27.4. Quelltexte<br/>
|
|||
|
tar xvfz Source.tgz<br/>
|
|||
|
Quelltext entpacken<br/>
|
|||
|
./configure<br/>
|
|||
|
Makefile konfigurieren<br/>
|
|||
|
make<br/>
|
|||
|
Programm übersetzen,<br/>
|
|||
|
wenn Makefile vorhanden<br/>
|
|||
|
make install<br/>
|
|||
|
Programm installieren<br/>
|
|||
|
make uninstall<br/>
|
|||
|
Programm deinstallieren<br/>
|
|||
|
3.27.5. Hilfe<br/>
|
|||
|
ldd Programm<br/>
|
|||
|
zeigt die zu ladenen Bibliotheken des Programms<br/>
|
|||
|
strace -eopen Programm<br/>
|
|||
|
zeigt die geladenen Bibliotheken des Programms<br/>
|
|||
|
3.28. Im Netz<br/>
|
|||
|
#ifconfig -a<br/>
|
|||
|
-> ip link<br/>
|
|||
|
ip link<br/>
|
|||
|
alle aktiven Netzwerkschnittstellen ausgeben<br/>
|
|||
|
ifconfig | grep eth0 | cut -c 39-55<br/>
|
|||
|
Ethernet-Adresse von eth0 ausgeben<br/>
|
|||
|
ftp Rechner<br/>
|
|||
|
Programm zur Übertragung von Files<br/>
|
|||
|
via Internet starten<br/>
|
|||
|
host www.suse.de<br/>
|
|||
|
befragt den DNS-Server nach<br/>
|
|||
|
der IP-Nummer des Rechners<br/>
|
|||
|
host 192.168.9.10<br/>
|
|||
|
fragt nach dem Namen des Rechners<br/>
|
|||
|
nslookup www.debian.de<br/>
|
|||
|
befragt den DNS-Server nach<br/>
|
|||
|
der IP-Nummer des Rechners<br/>
|
|||
|
nslookup 192.168.11.12<br/>
|
|||
|
fragt nach dem Namen des Rechners<br/>
|
|||
|
ping Rechner<br/>
|
|||
|
sendet Pakete an Rechner mit Echo<br/>
|
|||
|
rlogin Rechner<br/>
|
|||
|
auf anderen Rechner anmelden<br/>
|
|||
|
34<br/>
|
|||
|
<hr/>
|
|||
|
<a name=35></a>3.29. SSH<br/>
|
|||
|
scp Rechner:Pfad Rechner:Pfad<br/>
|
|||
|
Programm zur Übertragung von Files<br/>
|
|||
|
ssh Rechner<br/>
|
|||
|
auf anderen Rechner anmelden<br/>
|
|||
|
ssh Rechner -l root<br/>
|
|||
|
oder<br/>
|
|||
|
auf anderen Rechner als root anmelden<br/>
|
|||
|
ssh root@Rechner<br/>
|
|||
|
telnet Rechner<br/>
|
|||
|
Kommunikation ueber das TELNET-Protokoll<br/>
|
|||
|
nmap -sT -PT Rechner<br/>
|
|||
|
Scannt die Ports von Rechner<br/>
|
|||
|
nmap -sT -p 1-65535 -PT Rechner Scannt alle Ports von Rechner<br/>
|
|||
|
netcat ip port<br/>
|
|||
|
zeigt den angegebenen Port an<br/>
|
|||
|
3.29. SSH<br/>
|
|||
|
SSH(Secure shell) ist ein verschlüsseltes Netzwerkprotokoll auf TCP-Port 22, ermög-<br/>
|
|||
|
licht eine sichere authentifizierte und verschlüsselte Verbindung zwischen zwei Rech-<br/>
|
|||
|
nern über ein unsicheres Netzwerk.<br/>
|
|||
|
scp Rechner:Pfad Rechner:Pfad<br/>
|
|||
|
Programm zur Übertragung von Files<br/>
|
|||
|
ssh Rechner<br/>
|
|||
|
auf anderen Rechner anmelden<br/>
|
|||
|
ssh Rechner -l root<br/>
|
|||
|
oder<br/>
|
|||
|
auf anderen Rechner als root anmelden<br/>
|
|||
|
ssh root@Rechner<br/>
|
|||
|
3.29.1. Generierung eines DSA Schlüsselpaares<br/>
|
|||
|
ssh-keygen -t dsa -b 2048<br/>
|
|||
|
generiert DSA-Schlüsselpaar mit<br/>
|
|||
|
einer Bit-Tiefe von 2048<br/>
|
|||
|
~/.ssh/id_dsa<br/>
|
|||
|
- private-key mit <ENTER> bestätigen<br/>
|
|||
|
passphrase<br/>
|
|||
|
- Passwort für den private-key und der Anmeldung,<br/>
|
|||
|
für passwortlose SSH-Verbindungen weg lassen oder<br/>
|
|||
|
zu Beginn einer Sitzung mit ssh-add ~/.ssh/id_dsa<br/>
|
|||
|
abfragen lassen<br/>
|
|||
|
3.29.2. Public-Key auf dem Zielrechner hinzufügen<br/>
|
|||
|
cat ~/.ssh/id_dsa.pub | ssh zieluser@zielrechner \<br/>
|
|||
|
"mkdir -p .ssh; cat >> .ssh/authorized_keys"<br/>
|
|||
|
- public-key auf dem Zielrechner hinzufügen<br/>
|
|||
|
ssh zieluser@zielrechner "chmod 600 ~/.ssh/authorized_keys"<br/>
|
|||
|
- public-key auf dem Zielrechner schützen<br/>
|
|||
|
3.29.3. Private-Key auf dem Qellrechner<br/>
|
|||
|
~/.ssh/id_dsa<br/>
|
|||
|
- der Private-Key gehört auf dem Qellrechner in das<br/>
|
|||
|
~/.ssh/ Verzeichnis<br/>
|
|||
|
35<br/>
|
|||
|
<hr/>
|
|||
|
<a name=36></a>3. Befehle<br/>
|
|||
|
3.29.4. Login nur mit SSH-Keys erlauben<br/>
|
|||
|
/etc/ssh/sshd_config<br/>
|
|||
|
- folgendes in die Datei sshd_config<br/>
|
|||
|
PubkeyAuthentication yes<br/>
|
|||
|
eingetragen<br/>
|
|||
|
UsePAM no<br/>
|
|||
|
PasswordAuthentication no<br/>
|
|||
|
rcsshd restart<br/>
|
|||
|
- SSH-Dämon neu starten<br/>
|
|||
|
3.30. GnuPG<br/>
|
|||
|
Mit GnuPG kann man Daten signieren und verschlüsseln. GnuPG unterstüzt symme-<br/>
|
|||
|
trische und asymmetrische Verschlüsselung.<br/>
|
|||
|
http://www.gnupg.org/<br/>
|
|||
|
http-Adresse für GnuPG<br/>
|
|||
|
http://www.gnupg.org/related_software/gpa/<br/>
|
|||
|
Grafische Benutzereingabe<br/>
|
|||
|
http://www.heise.de/security/dienste/pgp/<br/>
|
|||
|
Krypto-Kampagne, bei der<br/>
|
|||
|
ein Abgleich zwischen<br/>
|
|||
|
Person, Personalausweis<br/>
|
|||
|
und Schlüssel erfolgt<br/>
|
|||
|
http://kmail.kde.org/<br/>
|
|||
|
Mailprogramme mit GnuPG<br/>
|
|||
|
http://www.mutt.org/<br/>
|
|||
|
Unterstützung<br/>
|
|||
|
http://www.ximian.com/products/evolution/<br/>
|
|||
|
3.30.1. Erzeugen<br/>
|
|||
|
gpg --gen-key<br/>
|
|||
|
Schlüssel-Paar erzeugen<br/>
|
|||
|
gpg --gen-revoke 0xKeyID<br/>
|
|||
|
Widerruf Zertifikat erzeugen<br/>
|
|||
|
> gpg-rev-Will_no_longer_use_it<br/>
|
|||
|
> gpg-rev-Lost_private_key<br/>
|
|||
|
> gpg-rev-Forgot_password<br/>
|
|||
|
> gpg-rev-Key_compromised<br/>
|
|||
|
3.30.2. Hochladen<br/>
|
|||
|
gpg --keyserver wwwkeys.de.pgp.net --send-keys 0xKeyID<br/>
|
|||
|
Public Key auf den Keyserver hochladen<br/>
|
|||
|
gpg -a --export 0xKeyID | mail -s "add" pgp-public-keys@keys.de.pgp.net<br/>
|
|||
|
Public Key an den Keyserver verschicken<br/>
|
|||
|
Keyserver:<br/>
|
|||
|
Land<br/>
|
|||
|
eMail-Adresse<br/>
|
|||
|
HTTP-Adresse<br/>
|
|||
|
----<br/>
|
|||
|
-------------<br/>
|
|||
|
------------<br/>
|
|||
|
Deutschland<br/>
|
|||
|
pgp-public-keys@keys.de.pgp.net http://wwwkeys.de.pgp.net/<br/>
|
|||
|
36<br/>
|
|||
|
<hr/>
|
|||
|
<a name=37></a>3.30. GnuPG<br/>
|
|||
|
Östereich<br/>
|
|||
|
pgp-public-keys@keys.at.pgp.net http://wwwkeys.at.pgp.net/<br/>
|
|||
|
Schweiz<br/>
|
|||
|
gp-public-keys@keys.ch.pgp.net http://wwwkeys.ch.pgp.net/<br/>
|
|||
|
3.30.3. Löschen<br/>
|
|||
|
gpg --recv-keys 0xKeyID<br/>
|
|||
|
Key vernichten<br/>
|
|||
|
gpg --import<br/>
|
|||
|
WiderrufZertifikat<br/>
|
|||
|
gpg --send-keys 0xKeyID<br/>
|
|||
|
gpg --delete-key 0xKeyID<br/>
|
|||
|
löscht einen öffentlichen Schlüssel<br/>
|
|||
|
cat gpg-rev-xxx | mail -s "add" pgp-public-keys@keys.de.pgp.net<br/>
|
|||
|
Widerruf Zertifikat an den Keyserver<br/>
|
|||
|
verschicken<br/>
|
|||
|
3.30.4. Holen<br/>
|
|||
|
gpg --keyserver wwwkeys.de.pgp.net --recv-keys 0xKeyID<br/>
|
|||
|
Public-Key vom Keyserver holen<br/>
|
|||
|
mail -s "get thomasb@trash.net" pgp-public-keys@keys.de.pgp.net<br/>
|
|||
|
Public-Key per E-Mail<br/>
|
|||
|
vom Keyserver holen<br/>
|
|||
|
gpg --import Key.txt<br/>
|
|||
|
Public-Key inportieren<br/>
|
|||
|
3.30.5. Signatur erzeugen und prüfen<br/>
|
|||
|
gpg -a --sign Datei<br/>
|
|||
|
einen Text signieren, erzeugt Datei.asc<br/>
|
|||
|
gpg --verify Datei.asc Datei<br/>
|
|||
|
eine Signatur prüfen<br/>
|
|||
|
gpg --clearsign Datei<br/>
|
|||
|
einen Text signieren,<br/>
|
|||
|
erzeugt neue Datei.asc<br/>
|
|||
|
gpg --verify Datei.asc<br/>
|
|||
|
eine Signatur prüfen<br/>
|
|||
|
3.30.6. Verschlüsseln<br/>
|
|||
|
gpg -a -r Empfänger0xKeyID -e Datei<br/>
|
|||
|
einen Text verschlüsseln,<br/>
|
|||
|
erzeugt Datei.asc<br/>
|
|||
|
3.30.7. Entschlüsseln<br/>
|
|||
|
gpg Datei.asc<br/>
|
|||
|
einen verschüsselten und signierten Text<br/>
|
|||
|
entschlüsseln und die Signatur prüfen,<br/>
|
|||
|
erzeugt Datei<br/>
|
|||
|
37<br/>
|
|||
|
<hr/>
|
|||
|
<a name=38></a>3. Befehle<br/>
|
|||
|
3.30.8. Schlüsselverwaltung<br/>
|
|||
|
gpg --edit 0xKeyID<br/>
|
|||
|
Schlüsselverwaltung<br/>
|
|||
|
help - Anzeige aller Befehle<br/>
|
|||
|
quit - Das Menu beenden<br/>
|
|||
|
3.30.9. Anzeigen<br/>
|
|||
|
gpg --list-keys<br/>
|
|||
|
zeigt alle öffentlichen Schlüssel<br/>
|
|||
|
gpg --list-sigs<br/>
|
|||
|
zeigt alle Unterschriften<br/>
|
|||
|
gpg --fingerprint<br/>
|
|||
|
zeigt alle Fingerabdrücke<br/>
|
|||
|
3.30.10. Exportieren<br/>
|
|||
|
gpg -a --export 0xKeyID > Datei exportiert den Schlüssel 0xKeyID<br/>
|
|||
|
in Datei<br/>
|
|||
|
gpg -a --export > Datei<br/>
|
|||
|
exportiert alle Schlüssel in Datei<br/>
|
|||
|
3.31. X11 - Grafik<br/>
|
|||
|
/etc/XF86Config<br/>
|
|||
|
bis XFree86.3.3.x Konfigurationsdatei<br/>
|
|||
|
/etc/X11/XF86Config<br/>
|
|||
|
ab XFree86.4.x Konfigurationsdatei<br/>
|
|||
|
[Alt]+[F1] bis [F6]<br/>
|
|||
|
Umschalten zwischen Textkonsolen alle Shells<br/>
|
|||
|
[AltGr]+[Fn]<br/>
|
|||
|
Umschalten zwischen den Textkonsolen n+12<br/>
|
|||
|
[Alt]+[Pfeil links oder rechts] um durch die benutzten Konsolen zu stöbern<br/>
|
|||
|
[Strg]+[Alt]+[F1] bis<br/>
|
|||
|
Umschalten zu Textkonsolen<br/>
|
|||
|
alle Shells<br/>
|
|||
|
[Strg]+[Alt]+[F6]<br/>
|
|||
|
aus X11 heraus<br/>
|
|||
|
[Strg]+[Alt]+[F7]<br/>
|
|||
|
Umschalten zu X11 aus Textkonsole alle Shells<br/>
|
|||
|
bei Caldera 2.2 [Alt]+[F8]<br/>
|
|||
|
[Strg]+[Alt]+[<--]<br/>
|
|||
|
X-Server sofort beenden<br/>
|
|||
|
[Strg]+[Alt]+[+]<br/>
|
|||
|
verschiedene Auflösungen im laufenden<br/>
|
|||
|
[Strg]+[Alt]+[-]<br/>
|
|||
|
Betrieb wechseln<br/>
|
|||
|
xf86config<br/>
|
|||
|
Shell-Konfigurationsprogramm für X 3+4<br/>
|
|||
|
XF86Setup<br/>
|
|||
|
X-Konfigurationsprogramm bis XFree86.3.3.x<br/>
|
|||
|
sax<br/>
|
|||
|
X-SuSE-Konfigurationsprogramm bis XFree86.3.3.x<br/>
|
|||
|
sax2<br/>
|
|||
|
X-SuSE-Konfigurationsprogramm ab XFree86.4.x<br/>
|
|||
|
startx<br/>
|
|||
|
X-Server starten<br/>
|
|||
|
startx -- -bpp 16<br/>
|
|||
|
X-Server mit 16 Bit starten<br/>
|
|||
|
startx - -- :0 vt07<br/>
|
|||
|
X-Server auf F7 starten<br/>
|
|||
|
startx - -- :1 vt08<br/>
|
|||
|
2. X-Server auf F8 starten<br/>
|
|||
|
export WINDOWMANAGER=WM<br/>
|
|||
|
X-Umgebungsvariable auf WM(kde, gnome,<br/>
|
|||
|
38<br/>
|
|||
|
<hr/>
|
|||
|
<a name=39></a>3.31. X11 - Grafik<br/>
|
|||
|
fvwm, olwm ...) ändern<br/>
|
|||
|
3.31.1. Bildschirmschoner<br/>
|
|||
|
xset s<br/>
|
|||
|
auf Standardeinstellungen zurücksetzen<br/>
|
|||
|
xset s 60<br/>
|
|||
|
nach 1 Minute aktivieren<br/>
|
|||
|
xset s blank<br/>
|
|||
|
schwarzen Bildschirm verwenden<br/>
|
|||
|
xset s noblank<br/>
|
|||
|
X-Logo statt schwarzen Bildschirm anzeigen<br/>
|
|||
|
xset s 60 3<br/>
|
|||
|
X-Logo alle 3 Sekunden neu platzieren<br/>
|
|||
|
xset s off<br/>
|
|||
|
Bildschirmschoner deaktivieren<br/>
|
|||
|
xset s on<br/>
|
|||
|
Bildschirmschoner einschalten<br/>
|
|||
|
xset s activate<br/>
|
|||
|
Bildschirmschoner sofort aktivieren<br/>
|
|||
|
xset q<br/>
|
|||
|
aktuelle Einstellungen anzeigen<br/>
|
|||
|
xsetroot -solid blue<br/>
|
|||
|
Hintergrund<br/>
|
|||
|
3.31.2. X11 ohne Maus<br/>
|
|||
|
[Umschalt]+[Strg]+[Num]<br/>
|
|||
|
Maussteuerung am Ziffernblock ein/ausschalten<br/>
|
|||
|
[4],[6],[8],[8]<br/>
|
|||
|
links, rechts, oben, unten<br/>
|
|||
|
[*],[-]<br/>
|
|||
|
auf linke, rechte Maustaste umschalten<br/>
|
|||
|
[5],[+],[0],[5]<br/>
|
|||
|
Maustaste, Doppelklick, gerückt halen, lösen<br/>
|
|||
|
39<br/>
|
|||
|
<hr/>
|
|||
|
<a name=40></a><hr/>
|
|||
|
<a name=41></a>4. Verzeichnisse und Dateien<br/>
|
|||
|
4.1. Dateibaum<br/>
|
|||
|
/<br/>
|
|||
|
oberste Verzeichnis<br/>
|
|||
|
im Dateisystem (Root/Wurzel)<br/>
|
|||
|
.<br/>
|
|||
|
Verweis auf sich selbst<br/>
|
|||
|
..<br/>
|
|||
|
Verweis auf das übergeordnete Verzeichnis<br/>
|
|||
|
/bin/<br/>
|
|||
|
ausführbare Dateien der wichtigsten Befehle<br/>
|
|||
|
#/bin/init<br/>
|
|||
|
-> /sbin/init<br/>
|
|||
|
/boot/<br/>
|
|||
|
enthält die Dateien des LILO Bootloaders und<br/>
|
|||
|
kann Kernel-Images enthalten<br/>
|
|||
|
/boot/boot.b<br/>
|
|||
|
der LILO-Maschinencode<br/>
|
|||
|
/boot/map<br/>
|
|||
|
Informationen für LILO<br/>
|
|||
|
um den Betriebssystemkern zu starten<br/>
|
|||
|
/boot/message<br/>
|
|||
|
wird vor der LILO-Bootauswahl ausgegeben<br/>
|
|||
|
/boot/vmlinuz<br/>
|
|||
|
der Betriebssystemkern kann auch im / liegen<br/>
|
|||
|
/cdrom/<br/>
|
|||
|
dient zur CDROM-Einbindung<br/>
|
|||
|
/dev/<br/>
|
|||
|
Sammlung der Gerätedateien<br/>
|
|||
|
/dev/audio<br/>
|
|||
|
ähnlich wie /dev/dsp, Daten werden y-Law codiert<br/>
|
|||
|
/dev/cdrom<br/>
|
|||
|
Link auf den CD-Rom Treiber oft /dev/hdc<br/>
|
|||
|
/dev/console<br/>
|
|||
|
reale Console<br/>
|
|||
|
/dev/dsp<br/>
|
|||
|
Link auf den A/D-W. der Soundk. (-> /dev/dsp0)<br/>
|
|||
|
/dev/dsp0<br/>
|
|||
|
Analog/Digital-Wandler der Soundkarte<br/>
|
|||
|
/dev/fd0<br/>
|
|||
|
erstes Diskettenlaufwerk<br/>
|
|||
|
/dev/fd1<br/>
|
|||
|
zweites Diskettenlaufwerk<br/>
|
|||
|
/dev/full<br/>
|
|||
|
beim Schreiben wird der Fehler ENOSPC erzeugt<br/>
|
|||
|
/dev/hda<br/>
|
|||
|
erstes (E)IDE Gerät<br/>
|
|||
|
/dev/hda1 -> /dev/hda4<br/>
|
|||
|
primäre Partitionen<br/>
|
|||
|
/dev/hda5 -> /dev/hda?<br/>
|
|||
|
logische Partitionen<br/>
|
|||
|
/dev/hdb<br/>
|
|||
|
zweites (E)IDE Gerät<br/>
|
|||
|
/dev/hdc<br/>
|
|||
|
drittes (E)IDE Gerät<br/>
|
|||
|
/dev/hdd<br/>
|
|||
|
viertes (E)IDE Gerät<br/>
|
|||
|
/dev/initrd<br/>
|
|||
|
zusätzliche RAM-Disk mit Kernelmodulen und<br/>
|
|||
|
Bootsystem zur Initialisierung des Kernels<br/>
|
|||
|
/dev/kmem<br/>
|
|||
|
virtueller Arbeitsspeicher<br/>
|
|||
|
/dev/loop*<br/>
|
|||
|
ermöglicht eine Datei wie eine Diskette oder<br/>
|
|||
|
Festplattenpartition zu mounten<br/>
|
|||
|
/dev/lp0<br/>
|
|||
|
erste parallele Schnittstelle<br/>
|
|||
|
41<br/>
|
|||
|
<hr/>
|
|||
|
<a name=42></a>4. Verzeichnisse und Dateien<br/>
|
|||
|
/dev/lp1<br/>
|
|||
|
zweite parallele Schnittstelle<br/>
|
|||
|
/dev/lp2<br/>
|
|||
|
dritte parallele Schnittstelle<br/>
|
|||
|
/dev/md*<br/>
|
|||
|
zusammengelegte Festplatten linear,Raid0 oder 1<br/>
|
|||
|
/dev/mem<br/>
|
|||
|
physikalischer Arbeitsspeicher<br/>
|
|||
|
/dev/midi00<br/>
|
|||
|
direkte Kommunikation mit einem MIDI-Gerät<br/>
|
|||
|
/dev/mixer<br/>
|
|||
|
Link auf den Mixer (-> /dev/mixer0)<br/>
|
|||
|
/dev/mixer0<br/>
|
|||
|
Mischpult der 1. Soundkarte<br/>
|
|||
|
/dev/modem<br/>
|
|||
|
Link auf den Modemtreiber (-> /dev/ttyS0)<br/>
|
|||
|
/dev/mouse<br/>
|
|||
|
Link auf den Maustreiber (-> /dev/psaux)<br/>
|
|||
|
/dev/music<br/>
|
|||
|
eine andere Art von Sequencer, speziell für die<br/>
|
|||
|
MIDI-Schnittstelle<br/>
|
|||
|
/dev/nst*<br/>
|
|||
|
SCSI-Streamer (No Rewind On Close)<br/>
|
|||
|
/dev/null<br/>
|
|||
|
Mülleimer des Systems<br/>
|
|||
|
/dev/port<br/>
|
|||
|
zum ansprechen einzelner IO Ports<br/>
|
|||
|
/dev/psaux<br/>
|
|||
|
PS/2-Maus<br/>
|
|||
|
/dev/pts/<br/>
|
|||
|
Unix98 PTY slaves<br/>
|
|||
|
/dev/ram<br/>
|
|||
|
Link auf die RAM-Disk (-> /dev/ram0)<br/>
|
|||
|
/dev/random<br/>
|
|||
|
zur Erzeugung kryptografisch hochwertiger<br/>
|
|||
|
Zufallszahlen<br/>
|
|||
|
/dev/rmt*<br/>
|
|||
|
QIC-02-Streamer<br/>
|
|||
|
/dev/rtc<br/>
|
|||
|
batteriegepufferte CMOS-Uhr<br/>
|
|||
|
/dev/sd*<br/>
|
|||
|
SCSI-Festplatten<br/>
|
|||
|
/dev/sequencer<br/>
|
|||
|
Synthesizer der Soundkarte oder ein am MIDI-Port<br/>
|
|||
|
angeschlossenes Gerät<br/>
|
|||
|
/dev/sndstat<br/>
|
|||
|
Informationen über den Status des Soundtreibers<br/>
|
|||
|
/dev/st*<br/>
|
|||
|
SCSI-Streamer<br/>
|
|||
|
/dev/tty<br/>
|
|||
|
aktive virtuelle Console<br/>
|
|||
|
/dev/tty1<br/>
|
|||
|
1. virtuelle Console<br/>
|
|||
|
/dev/tty2<br/>
|
|||
|
2. virtuelle Console<br/>
|
|||
|
/dev/ttyS0<br/>
|
|||
|
erste serielle Schnittstelle COM1<br/>
|
|||
|
/dev/ttyS1<br/>
|
|||
|
zeite serielle Schnittstelle COM2<br/>
|
|||
|
/dev/ttyS2<br/>
|
|||
|
dritte serielle Schnittstelle<br/>
|
|||
|
/dev/ttyS3<br/>
|
|||
|
vierte serielle Schnittstelle<br/>
|
|||
|
/dev/urandom<br/>
|
|||
|
zur Erzeugung von Zufallszahlen<br/>
|
|||
|
/dev/xd*<br/>
|
|||
|
8-Bit XT-Festplattencontroller<br/>
|
|||
|
/dev/zero<br/>
|
|||
|
zum Lesen beliebig vieler Nullbytes<br/>
|
|||
|
/etc/<br/>
|
|||
|
Konfigurationsdateien<br/>
|
|||
|
/etc/adjtime<br/>
|
|||
|
zur Korrektur der batteriegepufferten CMOS-Uhr<br/>
|
|||
|
(clock)<br/>
|
|||
|
/etc/bash.bashrc<br/>
|
|||
|
globale bash konfiguration<br/>
|
|||
|
#/etc/conf.modules<br/>
|
|||
|
-> /etc/modules.conf<br/>
|
|||
|
/etc/cryptotab<br/>
|
|||
|
/etc/fstab für Krypto-Filesystem<br/>
|
|||
|
/etc/csh.login<br/>
|
|||
|
Startdatei für die C-Shell<br/>
|
|||
|
/etc/diphosts<br/>
|
|||
|
eine Art /etc/passwd für SLIP Login<br/>
|
|||
|
/etc/DIR_COLORS<br/>
|
|||
|
festlegen der Farben für ls<br/>
|
|||
|
42<br/>
|
|||
|
<hr/>
|
|||
|
<a name=43></a>4.1. Dateibaum<br/>
|
|||
|
/etc/exports<br/>
|
|||
|
Verzeichnisse und Rchnernamen, die diese<br/>
|
|||
|
Verzeichnisse per NFS mounten dürfen<br/>
|
|||
|
wird hier eingetragen<br/>
|
|||
|
/etc/fdprm<br/>
|
|||
|
Parameter von Diskettenformaten<br/>
|
|||
|
/etc/fstab<br/>
|
|||
|
um Benutzern das An- und Abmelden<br/>
|
|||
|
von Dateisystemen zu erlauben<br/>
|
|||
|
/etc/ftpaccess<br/>
|
|||
|
Woher ? Wann ? Was ? ...<br/>
|
|||
|
/etc/ftpusers<br/>
|
|||
|
... und Wer NICHT ?<br/>
|
|||
|
/etc/gateways<br/>
|
|||
|
Rechner des lokalen Netzes die Kontakt mit<br/>
|
|||
|
anderen Netzen haben<br/>
|
|||
|
/etc/gettydefs<br/>
|
|||
|
Beschreibung der seriellen Terminals<br/>
|
|||
|
/etc/group<br/>
|
|||
|
Benutzergruppen und ihre Mitglieder<br/>
|
|||
|
/etc/host<br/>
|
|||
|
auflösen von Netzwerknamen<br/>
|
|||
|
über die resolver-Bibliothek<br/>
|
|||
|
/etc/host.allow<br/>
|
|||
|
Rechner und Netze mit denen Verbindung aufgebaut<br/>
|
|||
|
werden darf<br/>
|
|||
|
/etc/host.conf<br/>
|
|||
|
eine der Konfig. den Domain Name Service<br/>
|
|||
|
/etc/host.deny<br/>
|
|||
|
Rechner und Netze die sich nicht mit diesem<br/>
|
|||
|
Rechner verbinden dürfen<br/>
|
|||
|
/etc/host.equiv<br/>
|
|||
|
Rechner die "gleichartig" behandelt werden<br/>
|
|||
|
/etc/HOSTNAME<br/>
|
|||
|
hier steht der Name des Rechners<br/>
|
|||
|
ohne den Domainnamen<br/>
|
|||
|
/etc/hosts<br/>
|
|||
|
ordnet IP-Adressen Hostnamen zu<br/>
|
|||
|
/etc/inetd.conf<br/>
|
|||
|
welche Services gestartet werden (inetd)<br/>
|
|||
|
/etc/init<br/>
|
|||
|
-> /sbin/init<br/>
|
|||
|
/etc/init/ Dateien für Upstart<br/>
|
|||
|
/etc/init.d/<br/>
|
|||
|
Dateien für die Init-Levels<br/>
|
|||
|
/etc/init.d/inetd<br/>
|
|||
|
startet den inetd, z.B. zum Anmelden<br/>
|
|||
|
vom Netzwerk<br/>
|
|||
|
/etc/init.d/network<br/>
|
|||
|
startet die Konfiguration<br/>
|
|||
|
der Netzwerk Hard- und Software<br/>
|
|||
|
/etc/init.d/portmap<br/>
|
|||
|
starte den Portmapper,<br/>
|
|||
|
um den RPC-Server verwenden zu können<br/>
|
|||
|
/etc/init.d/route<br/>
|
|||
|
setzt die statischen Routen im Netzwerk<br/>
|
|||
|
/etc/init.d/sendmail<br/>
|
|||
|
kontrolliert den sendmail-Prozess<br/>
|
|||
|
in Abhängigkeit<br/>
|
|||
|
/etc/init.d/rc0.d/ bis rc6.d/<br/>
|
|||
|
init 0 bis 6<br/>
|
|||
|
/etc/init.d/rcS.d/<br/>
|
|||
|
init S<br/>
|
|||
|
/etc/initscript<br/>
|
|||
|
init führt die Kommandos durch dieses Script<br/>
|
|||
|
ondemand und respawn aus<br/>
|
|||
|
#/etc/inittab<br/>
|
|||
|
Grunteinstellung der Init-Levels und Terminals<br/>
|
|||
|
(/sbin/init)<br/>
|
|||
|
/etc/isdn/<br/>
|
|||
|
ISDN-Konfigurationen<br/>
|
|||
|
/etc/issue<br/>
|
|||
|
Begrüßungstext beim Login (getty)<br/>
|
|||
|
/etc/ld.so.cache<br/>
|
|||
|
zur Shared Libraries identifizierung (ldconfig)<br/>
|
|||
|
43<br/>
|
|||
|
<hr/>
|
|||
|
<a name=44></a>4. Verzeichnisse und Dateien<br/>
|
|||
|
/etc/ld.so.conf<br/>
|
|||
|
Verzeichnisse zu neuen Shared Libraries<br/>
|
|||
|
(ldconfig)<br/>
|
|||
|
/etc/lilo.conf<br/>
|
|||
|
Konfigurationsdatei des LILO<br/>
|
|||
|
/etc/login.defs<br/>
|
|||
|
Login Einstllungen (login)<br/>
|
|||
|
/etc/magic<br/>
|
|||
|
Magic Numbers zum Erkennen von Dateien (file)<br/>
|
|||
|
#/etc/man.config<br/>
|
|||
|
-> /etc/manpath.config<br/>
|
|||
|
/etc/manpath.config<br/>
|
|||
|
Verzeichnisse in den Manualpages gesucht werden<br/>
|
|||
|
/etc/minicom.users<br/>
|
|||
|
Benutzer die minicom benutzen dürfen<br/>
|
|||
|
/etc/modules.conf<br/>
|
|||
|
Modulinformationen ((für den Kerneld(Dämon)))<br/>
|
|||
|
/etc/motd<br/>
|
|||
|
Begrüßung nach dem Anmelden<br/>
|
|||
|
/etc/mtab<br/>
|
|||
|
Liste der aktuell zu Verfügung<br/>
|
|||
|
stehenden Dateisystemen<br/>
|
|||
|
/etc/mtools.conf<br/>
|
|||
|
(un)logische Laufwerksbuchstaben<br/>
|
|||
|
von MS-DOS für die M-Befehle<br/>
|
|||
|
/etc/named.boot<br/>
|
|||
|
für den named Dämon des DNS<br/>
|
|||
|
/etc/networks<br/>
|
|||
|
die Namen und IP der lokalen Netze<br/>
|
|||
|
/etc/nntpserver<br/>
|
|||
|
der Name und die IP des Newsrechners<br/>
|
|||
|
/etc/nologin<br/>
|
|||
|
macht jedes "normale" Einloggen unmöglich, nur<br/>
|
|||
|
die root kann sich anmelden, sonst wird der<br/>
|
|||
|
Inhalt von nologin ausgegeben (login)<br/>
|
|||
|
/etc/nscd.conf<br/>
|
|||
|
Konfiguration des Name Service Cache Dämon<br/>
|
|||
|
/etc/nsswitch.conf<br/>
|
|||
|
in welcher Reihenfolge bestimmte<br/>
|
|||
|
Informationen abgefragt werden<br/>
|
|||
|
/etc/opt/<br/>
|
|||
|
Rechner-spezifische Konfigurationsdateien<br/>
|
|||
|
der Pakete<br/>
|
|||
|
/etc/passwd<br/>
|
|||
|
Liste aller Benutzer mit Informationen<br/>
|
|||
|
/etc/powerstatus<br/>
|
|||
|
Zustand der Stromversorgung<br/>
|
|||
|
/etc/printcap<br/>
|
|||
|
Beschreibung des oder der Drucker des Systems<br/>
|
|||
|
(lpd)<br/>
|
|||
|
/etc/profile<br/>
|
|||
|
Globale Benutzerprofile<br/>
|
|||
|
/etc/prtocols<br/>
|
|||
|
Liste aller Internetprotokolle die vom Kernel<br/>
|
|||
|
unterstützt werden<br/>
|
|||
|
/etc/psdatabase<br/>
|
|||
|
enthält kernelabhängige Daten für procps<br/>
|
|||
|
/etc/rc*<br/>
|
|||
|
Systeminitialisierungsdateien (init)<br/>
|
|||
|
/etc/rc.config<br/>
|
|||
|
zentrale Konfigurationsdatei -> /etc/sysconfig/<br/>
|
|||
|
/etc/rc.config.d/<br/>
|
|||
|
weitere Dateien mit rc.config Variablen<br/>
|
|||
|
/etc/resolv.conf<br/>
|
|||
|
bestimmt ob und wo ein Nameserver erreicht<br/>
|
|||
|
werden kann<br/>
|
|||
|
/etc/rpc<br/>
|
|||
|
enthält die Zuordnung der durch den rpc-Service<br/>
|
|||
|
bereitgestellten Netzdienste zu Socketnummern<br/>
|
|||
|
/etc/securetty<br/>
|
|||
|
Terminals von den sich der Benutzer<br/>
|
|||
|
root anmelden darf (login)<br/>
|
|||
|
/etc/services<br/>
|
|||
|
ordnet Portnummern Servicenamen zu<br/>
|
|||
|
/etc/shadow<br/>
|
|||
|
hier sind die Shadow-Passwörter gespeichert<br/>
|
|||
|
/etc/shells<br/>
|
|||
|
Liste aller Shells<br/>
|
|||
|
44<br/>
|
|||
|
<hr/>
|
|||
|
<a name=45></a>4.1. Dateibaum<br/>
|
|||
|
/etc/shutdown.allow<br/>
|
|||
|
Liste der Benutzer die zum Herunterfahren des<br/>
|
|||
|
Systems berechtigt sind<br/>
|
|||
|
/etc/skel/<br/>
|
|||
|
Dateien die beim Anlegen<br/>
|
|||
|
eines Benutzers in das ~ kopiert werden<br/>
|
|||
|
/etc/SuSE-release<br/>
|
|||
|
Angaben zur installierten SuSE Linux version<br/>
|
|||
|
/etc/sysconfig/<br/>
|
|||
|
zentrale Konfigurationsdateien -> /etc/rc.config<br/>
|
|||
|
/etc/syslogd.conf<br/>
|
|||
|
legt fest wohin Meldungen geschrieben werden<br/>
|
|||
|
(syslogd)<br/>
|
|||
|
/etc/termcap<br/>
|
|||
|
Beschreibungen für Terminaleigenschaften (getty)<br/>
|
|||
|
/etc/ttytype<br/>
|
|||
|
legt den voreingestellten Terminaltyp<br/>
|
|||
|
für die Terminals fest<br/>
|
|||
|
/etc/XF86Config<br/>
|
|||
|
bis XFree86.3.3.x Konfigurationsdatei<br/>
|
|||
|
/etc/X11/XF86Config<br/>
|
|||
|
ab XFree86.4.x Konfigurationsdatei<br/>
|
|||
|
/floppy/<br/>
|
|||
|
dient zur Floppy-Einbindung<br/>
|
|||
|
/home/<br/>
|
|||
|
Heimatverzeichnisse der Benutzer<br/>
|
|||
|
/home/~/.bash_history<br/>
|
|||
|
gespeicherte Eingaben der bash<br/>
|
|||
|
/home/~/.bashrc<br/>
|
|||
|
Konfiguration der bash<br/>
|
|||
|
/home/~/.ctwmrc<br/>
|
|||
|
Konfiguration des ctwm-Fenstermanagers<br/>
|
|||
|
/home/~/.exrc<br/>
|
|||
|
Konfiguration des vi, ex<br/>
|
|||
|
/home/~/.fvwmrc<br/>
|
|||
|
Konfiguration des fvwm-Fenstermanagers<br/>
|
|||
|
/home/~/.openwin-menu<br/>
|
|||
|
Konfiguration des olvwm und olwm-Fenstermanagers<br/>
|
|||
|
/home/~/.profile<br/>
|
|||
|
wird nach dem User-Anmelden in der bash<br/>
|
|||
|
ausgeführt<br/>
|
|||
|
/home/~/.rhosts<br/>
|
|||
|
erlaubt die r-Kommandos<br/>
|
|||
|
/home/~/.X.err<br/>
|
|||
|
Meldungen des X-Servers<br/>
|
|||
|
/home/~/.xinitrc<br/>
|
|||
|
diese Datei wird von .xsession ausgeführt<br/>
|
|||
|
/home/~/.xsession<br/>
|
|||
|
diese Datei wird nach dem Befehl<br/>
|
|||
|
startx ausgeführt<br/>
|
|||
|
/lib/<br/>
|
|||
|
gemeinsam genutzte Bibliotheken Shared Libraries<br/>
|
|||
|
/lib/modules/<br/>
|
|||
|
nachladbare Module<br/>
|
|||
|
/lost+found/<br/>
|
|||
|
verlorene Daten, ist in jeder Wurzel<br/>
|
|||
|
des EXT2-Dateisystems<br/>
|
|||
|
/media/cdrom/<br/>
|
|||
|
dient zur CDROM-Einbindung, ist oft im /<br/>
|
|||
|
/media/floppy/<br/>
|
|||
|
dient zur Floppy-Einbindung, ist oft im /<br/>
|
|||
|
/mnt/<br/>
|
|||
|
für temporär einzuhängende Dateisysteme<br/>
|
|||
|
/mnt/cdrom/<br/>
|
|||
|
dient zur CDROM-Einbindung, ist oft im /<br/>
|
|||
|
/mnt/floppy/<br/>
|
|||
|
dient zur Floppy-Einbindung, ist oft im /<br/>
|
|||
|
/opt/<br/>
|
|||
|
kommerzielle Systemerweiterungen<br/>
|
|||
|
/opt/kde/<br/>
|
|||
|
grafische Benutzeroberfläche KDE<br/>
|
|||
|
/proc/<br/>
|
|||
|
virtuelles Filesystem über laufende Prozesse<br/>
|
|||
|
/proc/cpuinfo<br/>
|
|||
|
Informationen zur CPU<br/>
|
|||
|
/proc/devices<br/>
|
|||
|
Liste der wichtigsten Gerätetreiber<br/>
|
|||
|
/proc/dma<br/>
|
|||
|
Liste der verwendeten DMA-Kanäle<br/>
|
|||
|
/proc/filesystems<br/>
|
|||
|
Liste der bekannten Dateisystemtypen<br/>
|
|||
|
/proc/interrupts<br/>
|
|||
|
Liste der Interrupts<br/>
|
|||
|
45<br/>
|
|||
|
<hr/>
|
|||
|
<a name=46></a>4. Verzeichnisse und Dateien<br/>
|
|||
|
/proc/ioports<br/>
|
|||
|
bekannte und definierte EA-Schnittstellen<br/>
|
|||
|
/proc/kcore<br/>
|
|||
|
Gerätedatei für den Zugang<br/>
|
|||
|
zum physikalischen Hauptspeicher<br/>
|
|||
|
/proc/kmsg<br/>
|
|||
|
hier können Systemfehlermeldungen<br/>
|
|||
|
ausgelesen werden<br/>
|
|||
|
/proc/ksyms<br/>
|
|||
|
Liste der Kernel-Symbole und<br/>
|
|||
|
ihrer Speicheradressen<br/>
|
|||
|
/proc/loadavg<br/>
|
|||
|
durchschnittliche Systembelastung<br/>
|
|||
|
in den letzten 1, 5 und 10 Min.<br/>
|
|||
|
/proc/meminfo<br/>
|
|||
|
Beschreibung der aktuellen Speicherauslastung<br/>
|
|||
|
/proc/modules<br/>
|
|||
|
Liste der geladenen Module und<br/>
|
|||
|
Anzahl der aktuellen Nutzungen<br/>
|
|||
|
/proc/mounts<br/>
|
|||
|
Liste der eingehängten Dateisysteme<br/>
|
|||
|
/proc/net/<br/>
|
|||
|
Informationen zur Netzwerkauslastung<br/>
|
|||
|
/proc/pci<br/>
|
|||
|
Liste der gefundenen Geräte am PCI-Bus<br/>
|
|||
|
/proc/scsi/<br/>
|
|||
|
Informationen über SCSI-Geräte<br/>
|
|||
|
/proc/stat<br/>
|
|||
|
Liste allgemeiner Statistiken zum System<br/>
|
|||
|
/proc/uptime<br/>
|
|||
|
Sekunden seit dem Systemstart und<br/>
|
|||
|
der Leerlaufzeit<br/>
|
|||
|
/proc/version<br/>
|
|||
|
aktuelle Version des Linux-Kernels<br/>
|
|||
|
/root/<br/>
|
|||
|
Heimatverzeichnis des Systemverwalters root<br/>
|
|||
|
/sbin/<br/>
|
|||
|
Administrationskommandos<br/>
|
|||
|
/sbin/init<br/>
|
|||
|
Nach dem Kernelstart wird versucht das<br/>
|
|||
|
Programm init zu starten<br/>
|
|||
|
#/sbin/init.d/<br/>
|
|||
|
-> /etc/init.d/<br/>
|
|||
|
/tmp/<br/>
|
|||
|
temporäre Dateien<br/>
|
|||
|
/usr/<br/>
|
|||
|
ausführbare Dateien, Libraries, X Window u.s.w<br/>
|
|||
|
/usr/bin/<br/>
|
|||
|
allgemein verfügbare Programmdateien<br/>
|
|||
|
#/usr/doc/<br/>
|
|||
|
-> /usr/share/doc/<br/>
|
|||
|
/usr/games/<br/>
|
|||
|
Spiele :-)<br/>
|
|||
|
/usr/include/<br/>
|
|||
|
Headerdateien für den C-Compiler<br/>
|
|||
|
/usr/include/g++/<br/>
|
|||
|
Headerdateien für den C++-Compiler<br/>
|
|||
|
/usr/info/<br/>
|
|||
|
Infosystem fur GNU-Kommandos<br/>
|
|||
|
/usr/lib/<br/>
|
|||
|
Programmbibliotheken<br/>
|
|||
|
/usr/lib/terminfo/<br/>
|
|||
|
Verzeichnis mit Beschreibungen<br/>
|
|||
|
für Terminaleigenschaften<br/>
|
|||
|
/usr/local/<br/>
|
|||
|
Ablage von Dateien und Kommandos die nicht<br/>
|
|||
|
zur Distribution gehören<br/>
|
|||
|
/usr/man/<br/>
|
|||
|
Linux Handbuch<br/>
|
|||
|
/usr/sbin/<br/>
|
|||
|
Superuser Programmdateien<br/>
|
|||
|
/usr/share/doc/<br/>
|
|||
|
Dokumentationen<br/>
|
|||
|
/usr/share/doc/packages/<br/>
|
|||
|
Dokumentation der Programme<br/>
|
|||
|
/usr/src/<br/>
|
|||
|
Quellcode für den Kernel und weitere Programme<br/>
|
|||
|
/usr/src/linux/<br/>
|
|||
|
Kernel-Source<br/>
|
|||
|
/usr/src/linux/arch/<br/>
|
|||
|
Hardwarearchitektur-abhängige<br/>
|
|||
|
46<br/>
|
|||
|
<hr/>
|
|||
|
<a name=47></a>4.1. Dateibaum<br/>
|
|||
|
Bestandteile des Kerns<br/>
|
|||
|
/usr/src/linux/arch/alpha/<br/>
|
|||
|
DEC-Alpha-Prozessoren<br/>
|
|||
|
/usr/src/linux/arch/i386/<br/>
|
|||
|
386-Prozessoren<br/>
|
|||
|
/usr/src/linux/arch/m68k/<br/>
|
|||
|
Motorola 68k-Prozessoren<br/>
|
|||
|
/usr/src/linux/arch/mips/<br/>
|
|||
|
MIPS-Prozessoren R3000, R4000 bis R10000<br/>
|
|||
|
/usr/src/linux/arch/ppc/<br/>
|
|||
|
Power-PC-Prozessor (ursprünglich IBM)<br/>
|
|||
|
/usr/src/linux/arch/sparc/<br/>
|
|||
|
SPARC-Prozessoren der Firma SUN<br/>
|
|||
|
/usr/src/linux/Documentation/devices.txt<br/>
|
|||
|
offizielle Liste der<br/>
|
|||
|
registrierten Devices mit ihren Gerätenummern<br/>
|
|||
|
/usr/src/linux/drivers/<br/>
|
|||
|
Zeichen-, Block-orientierte,<br/>
|
|||
|
Netz-,Soundkarten-Gerätetreiber<br/>
|
|||
|
/usr/src/linux/drivers/block/<br/>
|
|||
|
Treiber für blockorientierte Ein-/Ausgabegeräte<br/>
|
|||
|
wie Festplatten<br/>
|
|||
|
/usr/src/linux/drivers/cdrom/<br/>
|
|||
|
Treiber für CD-ROM Laufwerke<br/>
|
|||
|
außer Atapi/IDE und SCSI<br/>
|
|||
|
/usr/src/linux/drivers/char/<br/>
|
|||
|
Zeichen. Treiber serielle Schnittstellen,<br/>
|
|||
|
Bildschirm, Tastatur usw.<br/>
|
|||
|
/usr/src/linux/drivers/net/<br/>
|
|||
|
Treiber für die Netzwerkkarten<br/>
|
|||
|
/usr/src/linux/drivers/pci/<br/>
|
|||
|
Spezielle Treiber für PCI-Bus-Bausteine<br/>
|
|||
|
/usr/src/linux/drivers/sound/<br/>
|
|||
|
Soundkartentreiber<br/>
|
|||
|
/usr/src/linux/drivers/scsi/<br/>
|
|||
|
SCSI-Treiber<br/>
|
|||
|
/usr/src/linux/fs/<br/>
|
|||
|
Dateisysteme<br/>
|
|||
|
/usr/src/linux/ipc/<br/>
|
|||
|
InterProzessKommunikation,<br/>
|
|||
|
z.B. Shared Memory, Semaphoren<br/>
|
|||
|
/usr/src/linux/include/<br/>
|
|||
|
Header-Dateien mit Struktur- und<br/>
|
|||
|
Konstantendefinitionen<br/>
|
|||
|
/usr/src/linux/init/<br/>
|
|||
|
Initialisierungscode beim Starten des Systems<br/>
|
|||
|
/usr/src/linux/kernel/<br/>
|
|||
|
zentrale Aufgaben, z.B. Prozessverwaltung und<br/>
|
|||
|
Schedulimg usw.<br/>
|
|||
|
/usr/src/linux/mm/<br/>
|
|||
|
Speicherverwaltung<br/>
|
|||
|
/usr/src/linux/modules/<br/>
|
|||
|
nachladbarer Teil des Kerns<br/>
|
|||
|
/usr/src/linux/net/<br/>
|
|||
|
Implementierung der Protokolltreiber<br/>
|
|||
|
für TCP/IP,SPX/IPX usw.<br/>
|
|||
|
/usr/src/linux/README<br/>
|
|||
|
Installationsbeschreibung für den Kernel<br/>
|
|||
|
/usr/X11R6/<br/>
|
|||
|
für Daten zum X-Window-System<br/>
|
|||
|
/usr/X11R6/bin/<br/>
|
|||
|
Programmdateien die mit X-Window-System arbeiten<br/>
|
|||
|
/usr/X11R6/lib/X11/<br/>
|
|||
|
Fenstermanager<br/>
|
|||
|
/usr/X11R6/lib/X11/app-defaults/<br/>
|
|||
|
voreingestellte Konfigurationen der<br/>
|
|||
|
Anwendungen<br/>
|
|||
|
/var/<br/>
|
|||
|
sich schnell oder häufig ändernde Daten<br/>
|
|||
|
/var/adm/inst-log/<br/>
|
|||
|
Protokolldateien zur installation<br/>
|
|||
|
/var/lib/rpm/Packages<br/>
|
|||
|
rpm-Datenbank<br/>
|
|||
|
/var/lib/rpm/packages.rpm<br/>
|
|||
|
-> /var/lib/rpm/Packages<br/>
|
|||
|
/var/log/<br/>
|
|||
|
Protokolldateien<br/>
|
|||
|
/var/log/boot.msg<br/>
|
|||
|
Kernelmeldungen vom letzten Start<br/>
|
|||
|
47<br/>
|
|||
|
<hr/>
|
|||
|
<a name=48></a>4. Verzeichnisse und Dateien<br/>
|
|||
|
/var/log/messages<br/>
|
|||
|
Datei in der die Kernel Meldungen<br/>
|
|||
|
gespeichert werden<br/>
|
|||
|
/var/log/syslog<br/>
|
|||
|
zeit an welches Modul fehlt<br/>
|
|||
|
/var/tmp/<br/>
|
|||
|
für große temporäre Dateien<br/>
|
|||
|
/vmlinuz<br/>
|
|||
|
der Defaultkernel kann auch in /boot/ liegen<br/>
|
|||
|
4.2. /etc/fstab<br/>
|
|||
|
#Device<br/>
|
|||
|
Mountpunkt Typ<br/>
|
|||
|
Optionen<br/>
|
|||
|
Dump Check<br/>
|
|||
|
/dev/hdd1 /<br/>
|
|||
|
reiserfs defaults<br/>
|
|||
|
1<br/>
|
|||
|
1<br/>
|
|||
|
/dev/hda1 /boot<br/>
|
|||
|
ext2<br/>
|
|||
|
defaults<br/>
|
|||
|
1<br/>
|
|||
|
2<br/>
|
|||
|
/dev/sda1 swap<br/>
|
|||
|
swap<br/>
|
|||
|
defaults<br/>
|
|||
|
0<br/>
|
|||
|
0<br/>
|
|||
|
none<br/>
|
|||
|
/proc<br/>
|
|||
|
proc<br/>
|
|||
|
defaults<br/>
|
|||
|
0<br/>
|
|||
|
0<br/>
|
|||
|
/dev/hda3 /temp<br/>
|
|||
|
vfat<br/>
|
|||
|
defaults,umask=7000,uid=500,gid=100 0<br/>
|
|||
|
0<br/>
|
|||
|
/dev/hda2 /windows<br/>
|
|||
|
vfat<br/>
|
|||
|
defaults<br/>
|
|||
|
0<br/>
|
|||
|
0<br/>
|
|||
|
/dev/hdc /cdrom<br/>
|
|||
|
auto<br/>
|
|||
|
ro,noauto,user,exec<br/>
|
|||
|
0<br/>
|
|||
|
0<br/>
|
|||
|
/dev/fd0 /floppy<br/>
|
|||
|
auto<br/>
|
|||
|
noauto,user<br/>
|
|||
|
0<br/>
|
|||
|
0<br/>
|
|||
|
/dev/hda3 /save<br/>
|
|||
|
reiserfs loop,encryption=twofish,noauto,users 0<br/>
|
|||
|
0<br/>
|
|||
|
server:/ /server<br/>
|
|||
|
nfs<br/>
|
|||
|
rw,noauto,user,exec<br/>
|
|||
|
0<br/>
|
|||
|
0<br/>
|
|||
|
4.3. /dev/<br/>
|
|||
|
ls -l /dev/fd0<br/>
|
|||
|
brw-rw-rw- 1 root disk<br/>
|
|||
|
2,<br/>
|
|||
|
0 Feb 16 16:30 /dev/fd0<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
+----- Gerät<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
+------ Minor-Device-Nummer(Nebennummer)<br/>
|
|||
|
|<br/>
|
|||
|
+----------- Major-Device-Nummer(Hauptnummer)<br/>
|
|||
|
+----------------- b-blockorientierte Geräte c-zeichenorientierte Geräte<br/>
|
|||
|
Die Verbindung zum Kernel wird über Slots oder Kanäle hergestellt, die nummeriert<br/>
|
|||
|
sind und hinter denen sich die Treiber verbergen. Die Nummer des Gerätetreibers wird<br/>
|
|||
|
als Haupgerätenummer(Major Device Number) bezeichnet. Ein Treiber kann mehrere<br/>
|
|||
|
Geräte des gleichen Typs verwalten. Um die einzelnen Geräte zu unterscheiden, wird<br/>
|
|||
|
dem Treiber eine zweite Zahl, die Untergerätenummer (Minor Device Number), über-<br/>
|
|||
|
geben. Diese beiden Zahlen charakterisieren jede Datei im /dev Verzeichnis. Zusätzlich<br/>
|
|||
|
werden noch zwei Arten von Geräten unterschieden :<br/>
|
|||
|
Die blockorientierten Geräte mit direktem Zugriff, wie z.B. Disketten oder Festplatten,<br/>
|
|||
|
und die zeichenorientierten squentiellen Geräte, wie Drucker, Terminal oder Maus.<br/>
|
|||
|
Damit hat jede Gerätedatei drei “Koordinaten“, mit der sie vom Kernel, unabhängig<br/>
|
|||
|
von ihrem Namen, eindeutig identifiziert werden kann. Die offizielle Liste der regi-<br/>
|
|||
|
strierten Devices mit ihren Gerätenummern ist bei den Kernelsourcen in der Datei<br/>
|
|||
|
/usr/src/linux/Documentation/devices.txt zu finden.<br/>
|
|||
|
48<br/>
|
|||
|
<hr/>
|
|||
|
<a name=49></a>4.4. Dateisystemtypen unter Linux<br/>
|
|||
|
4.4. Dateisystemtypen unter Linux<br/>
|
|||
|
affs<br/>
|
|||
|
Ein auf dem Amiga verwendetes Dateisystem (engl. Amiga Fast Filesystem).<br/>
|
|||
|
ext2<br/>
|
|||
|
Das Standard-Dateisystem unter Linux (engl. Second extended Filesystem).<br/>
|
|||
|
ext3<br/>
|
|||
|
Journaling Filesystem<br/>
|
|||
|
hpfs<br/>
|
|||
|
Standard-Dateisystem von IBM OS/2 (engl. High Performance Filesystem).<br/>
|
|||
|
Dieses wird von Linux nur mit Lesezugriff unterstüzt.<br/>
|
|||
|
iso9660 Standard-Dateisystem auf CD-ROMs.<br/>
|
|||
|
minix<br/>
|
|||
|
Dieses Dateisystem hat seinen Ursprung in akademischen Lehrprojekten<br/>
|
|||
|
über Betriebssysteme und war das erste Dateisystem, welches für Linux<br/>
|
|||
|
verwendet wurde. Heute wird es unter Linux vornehmlich als Dateisystem<br/>
|
|||
|
für Disketten verwendet.<br/>
|
|||
|
msdos<br/>
|
|||
|
Ursprünglich von DOS verwendetes Dateisystem, welches aber bis heute von<br/>
|
|||
|
diversen Betriebssystemen genutzt wird.<br/>
|
|||
|
ncpfs<br/>
|
|||
|
Dateisystem für das Novell-Volumes.<br/>
|
|||
|
nfs<br/>
|
|||
|
Hier sind die Daten auf der Festplatte eines anderen Rechners und<br/>
|
|||
|
werden über das Netzwerk zugänglich gemacht (engl. Network Filesystem).<br/>
|
|||
|
proc<br/>
|
|||
|
Prozess-Dateisystem (virtuell).<br/>
|
|||
|
reiserfs<br/>
|
|||
|
Das ReiserFS ist ein hochperformantes "’Journaling Filesystem"’;<br/>
|
|||
|
seit SuSE Linux 6.4 auf x86-Architekturen verfügbar.<br/>
|
|||
|
smbfs<br/>
|
|||
|
SMB (engl. Server Message Block) ist ein Protokoll, das von WfW,<br/>
|
|||
|
Windoofs NT und LAN Manager verwendet wird, um Dateien über ein Netzwerk<br/>
|
|||
|
verfügbar zu machen.<br/>
|
|||
|
sysv<br/>
|
|||
|
Von SCO-Unix, Xenix und Coherent (kommerzielle UNIX-Systeme für PCs)<br/>
|
|||
|
verwendetes Dateisystem.<br/>
|
|||
|
ufs<br/>
|
|||
|
Von BSD, SunOS und NeXTstep verwendetes Dateisystem; dies Dateisystem<br/>
|
|||
|
wird von Linux nur mit Lesezugriff unterstützt.<br/>
|
|||
|
umsdos Setzt auf einem gewöhnlichen fat-Dateisystem auf (engl. UNIX on MSDOS)<br/>
|
|||
|
und erreicht durch Anlegen spezieller Dateien die notwendige UNIX-<br/>
|
|||
|
Funktionalität (Rechte, Links, lange Dateinamen); es ist jedoch sehr<br/>
|
|||
|
langsamm.<br/>
|
|||
|
vfat<br/>
|
|||
|
Erweiterung des fat-Dateisystems hinsichtlich der Länge der Dateinamen<br/>
|
|||
|
(engl. Virtual FAT).<br/>
|
|||
|
ntfs<br/>
|
|||
|
Windows NT-Dateisystem.<br/>
|
|||
|
4.5. /etc/group<br/>
|
|||
|
#Gruppenname:Paßwort:Gruppennummer:Mitgliederliste<br/>
|
|||
|
root:x:0:root<br/>
|
|||
|
bin:x:1:root,bin,daemon<br/>
|
|||
|
daemon:x:2:<br/>
|
|||
|
sys:x:3:<br/>
|
|||
|
tty:x:5:<br/>
|
|||
|
disk:x:6:higi<br/>
|
|||
|
49<br/>
|
|||
|
<hr/>
|
|||
|
<a name=50></a>4. Verzeichnisse und Dateien<br/>
|
|||
|
lp:x:7:<br/>
|
|||
|
shadow:x:15:root,gdm<br/>
|
|||
|
audio:x:17:root,higi<br/>
|
|||
|
public:x:32:<br/>
|
|||
|
video:x:33:higi<br/>
|
|||
|
game:x:40:higi<br/>
|
|||
|
modem:x:43:<br/>
|
|||
|
users:x:100:<br/>
|
|||
|
nogroup:x:65534:root<br/>
|
|||
|
4.6. /etc/hosts<br/>
|
|||
|
# IP-Adresse #Aliasnamen<br/>
|
|||
|
127.0.0.1 localhost<br/>
|
|||
|
127.0.1.1 latex<br/>
|
|||
|
::1<br/>
|
|||
|
localhost ip6-localhost ip6-loopback<br/>
|
|||
|
ff02::1<br/>
|
|||
|
ip6-allnodes<br/>
|
|||
|
ff02::2<br/>
|
|||
|
ip6-allrouters<br/>
|
|||
|
192.168.0.10 rechner rechner.loc www.rechner.loc<br/>
|
|||
|
4.7. /etc/inittab<br/>
|
|||
|
Nach dem Kernelstart wird versucht das Programm init zu starten. Dabei werden<br/>
|
|||
|
nacheinander die Verzeichnisse /etc/, /bin/ und /sbin/ nach init abgesucht. Kann init<br/>
|
|||
|
/dev/console nicht öffnen wird im Einzelbenutzerbetrieb (Single User Mode) gestartet.<br/>
|
|||
|
Beim LILO-Bootpromt kann init=/bin/sh angegeben werden um die Shell anstelle<br/>
|
|||
|
von init zu laden. Das Programm init liest die Datei /etc/inittab und wird durch<br/>
|
|||
|
die Datei das System konfigurieren. /etc/inittab wird vom Kommando init Zeile für<br/>
|
|||
|
Zeile abgearbeitet. In jeder Zeile seht jeweils eine Anweisung. Jede Zeile wird durch<br/>
|
|||
|
Doppelpunkte unterteilt. Der Aufbau sieht wie folgt aus:<br/>
|
|||
|
Terminal:Termcapeintrag:Gettykommando<br/>
|
|||
|
Simpleinit von Peter Orbaek mit<br/>
|
|||
|
Erweiterung von Werner Almesberger<br/>
|
|||
|
4.7.1. Terminal<br/>
|
|||
|
Bezeichnet das Terminal (tty1, tty2, ttyS0 ...)<br/>
|
|||
|
4.7.2. Termcapeintrag<br/>
|
|||
|
Wird in die TERM Variable der Shell geschrieben und sollte mit einem Eintrag in der<br/>
|
|||
|
Datei /etc/termcap übereinstimmen.<br/>
|
|||
|
50<br/>
|
|||
|
<hr/>
|
|||
|
<a name=51></a>4.7. /etc/inittab<br/>
|
|||
|
4.7.3. Gettykommando<br/>
|
|||
|
Pfad und Optionen zum Getty-Kommando<br/>
|
|||
|
# Beispiel einer inittab für simpleinit # Format: Terminal:Termcapeintrag:Gettykommando<br/>
|
|||
|
tty1:linux:/sbin/getty 9600 tty1 tty2:console:/sbin/getty 9600 tty2 tty5:con100x40:/sbin/getty<br/>
|
|||
|
9600 tty5 ttyS1:vt102:/sbin/getty 9600 ttyS1<br/>
|
|||
|
Kürzel:Arbeitsstufen:Modus:Kommando<br/>
|
|||
|
Sysvinit von Mike Jagdis und<br/>
|
|||
|
Miquel van Smoorenburg<br/>
|
|||
|
4.7.4. Kürzel<br/>
|
|||
|
Jede Aktion muß mit einem eindeutigen (maximal vierstelligen, a.out oder Librari-<br/>
|
|||
|
es<5.2.18 maximal zweistelligen) Kürzel versehen werden, das bei Einträgen in Logfiles<br/>
|
|||
|
und bei Fehlermeldungen ausgegeben wird.<br/>
|
|||
|
4.7.5. Arbeitsstufen<br/>
|
|||
|
Es werden hier die Arbeitsstufen (Runlevel) eingetragen. Zulässige Arbeitsstufen sind<br/>
|
|||
|
0 - 9 und s. Es können auch die Pseudoarbeitsstufen(ondemand) a, b, c und q für<br/>
|
|||
|
einmalig auszuführende Kommandos verwendet werden. Es wird ohne Groß und Klein-<br/>
|
|||
|
schreibung bezeichnet. In einer Zeile können bis zu 11 Runlevel zugeordnet werden.<br/>
|
|||
|
Wenn das Feld für den Runlevel leer ist, wird die Aktion bei jedem Moduswechsel<br/>
|
|||
|
ausgeführt.<br/>0<br/>
|
|||
|
Systemhalt<br/>
|
|||
|
S<br/>
|
|||
|
Einzelbenutzerbetrieb (Single User Mode)<br/>
|
|||
|
1<br/>
|
|||
|
Einzelbenutzerbetrieb (Single User Mode)<br/>
|
|||
|
2<br/>
|
|||
|
Lokaler Mehrbenutzerbetrieb ohne entferntes Netzwerk<br/>
|
|||
|
(Local multiuser without remote network)<br/>
|
|||
|
3<br/>
|
|||
|
Voller Mehrbenutzerbetrieb mit Netzwerk<br/>
|
|||
|
(Full multiuser with network)<br/>
|
|||
|
4<br/>
|
|||
|
Frei (Not used)<br/>
|
|||
|
5<br/>
|
|||
|
Voller Mehrbenutzerbetrieb mit Netzwerk und KDM, GDM oder XDM<br/>
|
|||
|
(Full multiuser with network and xdm)<br/>
|
|||
|
6<br/>
|
|||
|
Systemneustart (System reboot)<br/>
|
|||
|
Q<br/>
|
|||
|
Quit zum Neueinlesen der inittab<br/>
|
|||
|
4.7.6. Modus<br/>
|
|||
|
Gibt an wie das Kommando im letzten Feld ausgeführt werden soll.<br/>initdefault<br/>
|
|||
|
Bestimmt den Runlevel beim Systemstart.<br/>
|
|||
|
sysinit<br/>
|
|||
|
Wird einmal nach dem Kernelstart ausgeführt.<br/>
|
|||
|
bootwait<br/>
|
|||
|
Wird einmal ausgefürt, wenn in einem Mehrbenutzerbetrieb<br/>
|
|||
|
gestartet wird und wartet bis das Kommando beendet ist.<br/>
|
|||
|
boot<br/>
|
|||
|
Wie bootwait nur das nicht gewartet wird.<br/>
|
|||
|
51<br/>
|
|||
|
<hr/>
|
|||
|
<a name=52></a>4. Verzeichnisse und Dateien<br/>
|
|||
|
respawn<br/>
|
|||
|
Überwacht das laufende Kommando und startet es neu, wenn es<br/>
|
|||
|
beendet wurde. Wird es in zwei Minuten 10 mal neu gestartet,<br/>
|
|||
|
setzt init das Kommando für fünf Minuten aus.<br/>
|
|||
|
ondemand<br/>
|
|||
|
Wie respawn, um mit Buchstaben gekennzeichnete Level einzelne<br/>
|
|||
|
Kommandos mit telinit zu starten.<br/>
|
|||
|
wait<br/>
|
|||
|
Wartet bis das Kommando beendet ist.<br/>
|
|||
|
once<br/>
|
|||
|
Wird einmal ausgefürt, es wird nicht gewartet.<br/>
|
|||
|
off<br/>
|
|||
|
Wenn das Kommando läuft, wird es angehalten.<br/>
|
|||
|
ctrlaltdel<br/>
|
|||
|
Kommando (Signal SIGINT, [Strg]+[Alt]+[Entf]) z.B. Rebooten des<br/>
|
|||
|
Systems.<br/>
|
|||
|
kbrequest<br/>
|
|||
|
Kommando wird ausgeführt, wenn das Signal SIGWINCH<br/>
|
|||
|
[Alt]+[Pfeil hoch] von der Tastatur kommt.<br/>
|
|||
|
powerwait<br/>
|
|||
|
Wenn init sich in einem passenden Runlevel befindet, das<br/>
|
|||
|
Signal SIGPWR erhält oder über Pipeline /dev/initctrl den<br/>
|
|||
|
entsprechenden Befehl erhält und wartet auf Beendigung des<br/>
|
|||
|
Kommandows. Das Signal kann mit Hilfe eines Dämons von einer USV<br/>
|
|||
|
erzeugt werden.<br/>
|
|||
|
powerfail<br/>
|
|||
|
Wie powerwait wartet jedoch nicht.<br/>
|
|||
|
powerfailnow<br/>
|
|||
|
Wie powerwait es muß die Datei /etc/powerstatus zusätzlich das<br/>
|
|||
|
Wort Low enthalten. So kann das APM eines Notebooks mit Hilfe<br/>
|
|||
|
eines Dämons das System herrunterfahren.<br/>
|
|||
|
powerokwait<br/>
|
|||
|
Wie powerwait es muß die Datei /etc/powerstatus zusätzlich das<br/>
|
|||
|
Wort OK enthalten. Auf diese weise kann das System in den<br/>
|
|||
|
normalen Zustand gebracht werden, nachdem die Stromversorgung<br/>
|
|||
|
wieder hergestellt ist.<br/>
|
|||
|
4.7.7. Kommando<br/>
|
|||
|
Pfad und Optionen zum Kommando, wird durch die Bourne-Again-Shell abgearbeitet.<br/>
|
|||
|
Bei jedem Kommandostart wird versucht die Datei /etc/initscript abzuarbeiten, die<br/>
|
|||
|
dann das Kommando startet.<br/>
|
|||
|
# Beispiel einer inittab für sysvinit<br/>
|
|||
|
# Format: Kürzel:Arbeitsstufen:Modus:Kommando<br/>
|
|||
|
# Bestimmt den Runlevel beim Systemstart<br/>
|
|||
|
id:5:initdefault:<br/>
|
|||
|
# Erstes Script, wenn nicht im Notfallsystem (-b) gestartet wird.<br/>
|
|||
|
si::bootwait:/etc/init.d/boot<br/>
|
|||
|
# /etc/init.d/rc übernimmt die Runlevel Behandlung<br/>
|
|||
|
l0:0:wait:/etc/init.d/rc 0<br/>
|
|||
|
l1:1:wait:/etc/init.d/rc 1<br/>
|
|||
|
l2:2:wait:/etc/init.d/rc 2<br/>
|
|||
|
52<br/>
|
|||
|
<hr/>
|
|||
|
<a name=53></a>4.8. /etc/passwd<br/>
|
|||
|
l3:3:wait:/etc/init.d/rc 3<br/>
|
|||
|
#l4:4:wait:/etc/init.d/rc 4<br/>
|
|||
|
l5:5:wait:/etc/init.d/rc 5<br/>
|
|||
|
l6:6:wait:/etc/init.d/rc 6<br/>
|
|||
|
# Bestimmt den Einzelbenutzerbetrieb (Single User Mode)<br/>
|
|||
|
ls:S:wait:/etc/init.d/rc S<br/>
|
|||
|
~~:S:respawn:/sbin/sulogin<br/>
|
|||
|
# Aktion bei Signal SIGINT, [Strg]+[Alt]+[Entf]<br/>
|
|||
|
ca::ctrlaltdel:/sbin/shutdown -r -t 4 now<br/>
|
|||
|
# Aktion bei Signal SIGWINCH [Alt]+[Pfeil hoch]<br/>
|
|||
|
kb::kbrequest:/bin/echo "’Keyboard Request -- edit /etc/inittab to let this work."’<br/>
|
|||
|
# Aktion bei Stormausfall und Wiederherstellung<br/>
|
|||
|
pf::powerwait:/etc/init.d/powerfail start<br/>
|
|||
|
pn::powerfailnow:/etc/init.d/powerfail now<br/>
|
|||
|
#pn::powerfail:/etc/init.d/powerfail now<br/>
|
|||
|
po::powerokwait:/etc/init.d/powerfail stop<br/>
|
|||
|
# getty-Programme für die normalen Runlevels<br/>
|
|||
|
1:2345:respawn:/sbin/mingetty --noclear tty1<br/>
|
|||
|
2:2345:respawn:/sbin/mingetty tty2<br/>
|
|||
|
3:2345:respawn:/sbin/mingetty tty3<br/>
|
|||
|
4:2345:respawn:/sbin/mingetty tty4<br/>
|
|||
|
5:2345:respawn:/sbin/mingetty tty5<br/>
|
|||
|
6:2345:respawn:/sbin/mingetty tty6<br/>
|
|||
|
#S0:12345:respawn:/sbin/agetty -L 9600 ttyS0 vt102<br/>
|
|||
|
4.8. /etc/passwd<br/>
|
|||
|
#Benutzername:Paßwort:Benutzernummer:Gruppennummer:GCOS:Heimat:Shell<br/>
|
|||
|
root:x:0:0:root:/root:/bin/bash<br/>
|
|||
|
bin:x:1:1:bin:/bin:/bin/bash<br/>
|
|||
|
daemon:x:2:2:daemon:/sbin:/bin/bash<br/>
|
|||
|
lp:x:4:7:lp daemon:/var/spool/lpd:/bin/bash<br/>
|
|||
|
games:x:12:100::/var/games:/bin/bash<br/>
|
|||
|
man:x:13:2::/var/cache/man:/bin/bash<br/>
|
|||
|
ftp:x:40:2:ftp account:/usr/local/ftp:/bin/bash<br/>
|
|||
|
nobody:x:65534:65534:nobody:/var/lib/nobody:/bin/bash<br/>
|
|||
|
higi:x:500:100:Higi:/home/higi:/bin/bash<br/>
|
|||
|
gast:x:501:100:Gast:/home/gast:/bin/bash<br/>
|
|||
|
53<br/>
|
|||
|
<hr/>
|
|||
|
<a name=54></a><hr/>
|
|||
|
<a name=55></a>5. Die Shells<br/>
|
|||
|
5.1. Die Shells<br/>
|
|||
|
Eine Shell ist ein Kommando-Interpreter, ein Programm das durch ein anderes ersetzt<br/>
|
|||
|
werden kann. Es zerlegt die Kommandozeile, führt Sonderzeichen durch und reicht das<br/>
|
|||
|
Kommando an UNIX weiter. Ohne Shell gibt es keinen Zugang zum Betriebssystem.<br/>
|
|||
|
/bin/sh<br/>
|
|||
|
Bourne-Shell<br/>
|
|||
|
zum programmieren<br/>
|
|||
|
/bin/ksh<br/>
|
|||
|
Korn-Shell<br/>
|
|||
|
Mischung aus C-und Bourne-Shell<br/>
|
|||
|
/bin/csh<br/>
|
|||
|
C-Shell<br/>
|
|||
|
zum interaktiven Arbeiten<br/>
|
|||
|
/bin/bash<br/>
|
|||
|
Bourne-Again-Shell<br/>
|
|||
|
/bin/tcsh<br/>
|
|||
|
TC-Shell<br/>
|
|||
|
export<br/>
|
|||
|
Setzt Umgebungsvariablen, Variablen exportieren<br/>
|
|||
|
locate<br/>
|
|||
|
Findet Dateien anhand einer Datenbank<br/>
|
|||
|
setenv<br/>
|
|||
|
Setzt Umgebungsvariablen unter Nicht-Bash Shells, z.B. csh<br/>
|
|||
|
unset<br/>
|
|||
|
Variable löschen in ksh, bsh und bash<br/>
|
|||
|
unsetenv<br/>
|
|||
|
Variable löschen in csh<br/>
|
|||
|
5.2. Die Start-Scripts<br/>
|
|||
|
~/.bashrc<br/>
|
|||
|
bash<br/>
|
|||
|
5.3. Tastenkombinationen<br/>
|
|||
|
[Strg]+[l]<br/>
|
|||
|
Bildschirm löschen<br/>
|
|||
|
bash und csh<br/>
|
|||
|
[Strg]+[a] oder [Pos 1]<br/>
|
|||
|
Zeilenanfang<br/>
|
|||
|
bash und csh<br/>
|
|||
|
[Strg]+[e] oder [Ende]<br/>
|
|||
|
Zeilenende<br/>
|
|||
|
bash und csh<br/>
|
|||
|
[Alt]+[f]<br/>
|
|||
|
Wort vorwäts<br/>
|
|||
|
bash und csh<br/>
|
|||
|
[Alt]+[b]<br/>
|
|||
|
Wort rückwärts<br/>
|
|||
|
bash und csh<br/>
|
|||
|
[Strg]+[c]<br/>
|
|||
|
Befehlseingabe verwerfen<br/>
|
|||
|
alle Shells<br/>
|
|||
|
[Strg]+[c]<br/>
|
|||
|
Programm abbrechen<br/>
|
|||
|
[Pfeil rechts] und [Pfeil links]<br/>
|
|||
|
Cursor bewegen<br/>
|
|||
|
bash und csh<br/>
|
|||
|
[Pfeil hoch] und [Pfeil runter]<br/>
|
|||
|
History-Scrolling<br/>
|
|||
|
bash und csh<br/>
|
|||
|
[Strg]+[r]<br/>
|
|||
|
in der History suchen<br/>
|
|||
|
bash<br/>
|
|||
|
[Tab]<br/>
|
|||
|
Komplettierung<br/>
|
|||
|
bash und csh<br/>
|
|||
|
[Strg]+[d]<br/>
|
|||
|
beendet die Shell<br/>
|
|||
|
alle Shells<br/>
|
|||
|
55<br/>
|
|||
|
<hr/>
|
|||
|
<a name=56></a>5. Die Shells<br/>
|
|||
|
[Strg]+[d] oder [Entf]<br/>
|
|||
|
ein Zeichen löschen<br/>
|
|||
|
[Strg]+[h] oder [Backspace]<br/>
|
|||
|
Zeichen rückwärts löschen<br/>
|
|||
|
[Strg]+[k]<br/>
|
|||
|
Zeile ab Cursor löschen<br/>
|
|||
|
[Alt Gr]+[Umschalt]<br/>
|
|||
|
zwei folgende Zeichen vereinen<br/>
|
|||
|
ae -> AE, co -> \texteuro<br/>
|
|||
|
[Strg]+[z]<br/>
|
|||
|
im Vordergrund laufendes Programm anhalten<br/>
|
|||
|
Fortsetzung mit fg<br/>
|
|||
|
[Umschalt]+[Bild hoch] und<br/>
|
|||
|
vorherige Textausgabe<br/>
|
|||
|
alle Shells<br/>
|
|||
|
[Umschalt]+[Bild runter]<br/>
|
|||
|
zurückholen<br/>
|
|||
|
[Alt]+[F1] bis [F6]<br/>
|
|||
|
Umschalten zwischen Textkonsolen alle Shells<br/>
|
|||
|
[AltGr]+[Fn]<br/>
|
|||
|
Umschalten zwischen den Textkonsolen n+12<br/>
|
|||
|
[Alt]+[Pfeil links oder rechts]<br/>
|
|||
|
um durch die benutzten Konsolen zu stöbern<br/>
|
|||
|
[Strg]+[Alt]+[F1] bis<br/>
|
|||
|
Umschalten zu Textkonsolen<br/>
|
|||
|
alle Shells<br/>
|
|||
|
[Strg]+[Alt]+[F6]<br/>
|
|||
|
aus X11 heraus<br/>
|
|||
|
[Strg]+[Alt]+[F7]<br/>
|
|||
|
Umschalten zu X11 aus Textkonsole alle Shells<br/>
|
|||
|
bei Caldera 2.2 [Alt]+[F8]<br/>
|
|||
|
[Strg]+[Alt]+[<--]<br/>
|
|||
|
X-Server sofort beenden<br/>
|
|||
|
[Strg]+[Alt]+[+]<br/>
|
|||
|
verschiedene Auflösungen im laufenden Betrieb<br/>
|
|||
|
[Strg]+[Alt]+[-]<br/>
|
|||
|
wechseln<br/>
|
|||
|
[Strg]+[Alt]+[Entf]<br/>
|
|||
|
Signal SIGINT z.B. reboot<br/>
|
|||
|
Shell<br/>
|
|||
|
5.4. Die C-Shell<br/>
|
|||
|
~<br/>
|
|||
|
Home-Verzeichnis<br/>
|
|||
|
~user<br/>
|
|||
|
Home-Verzeichnis des Benutzers user<br/>
|
|||
|
*<br/>
|
|||
|
beliebige Zeichen-kette<br/>
|
|||
|
?<br/>
|
|||
|
genau Zeichen<br/>
|
|||
|
{a,b,c}<br/>
|
|||
|
a oder b oder c<br/>
|
|||
|
[aceg]<br/>
|
|||
|
genau eines der Zeichen<br/>
|
|||
|
[a-z]<br/>
|
|||
|
a bis z<br/>
|
|||
|
[!adfh]<br/>
|
|||
|
kein a, d, f, h<br/>
|
|||
|
´´<br/>
|
|||
|
maskiert alles<br/>
|
|||
|
\<br/>
|
|||
|
maskiert das nachfolgende Zeichen<br/>
|
|||
|
""<br/>
|
|||
|
maskiert $ ‘ \ nicht<br/>
|
|||
|
> Datei<br/>
|
|||
|
Ausgabe in die Datei, stdout<br/>
|
|||
|
>& Datei<br/>
|
|||
|
Ausgabe in die Datei, stdout und stderr<br/>
|
|||
|
>>Datei<br/>
|
|||
|
Unlenkung in die Datei, stdout umgelenkt<br/>
|
|||
|
< Datei<br/>
|
|||
|
von der Datei lesen, anstatt von stdin zu lesen<br/>
|
|||
|
set noclobber<br/>
|
|||
|
Überschreiben einer vorhandenen Datei verhindern<br/>
|
|||
|
|<br/>
|
|||
|
Ausgabekanal eines Kommandos direkt in den Eingabekanal eines<br/>
|
|||
|
anderen Kommandos leiten<br/>
|
|||
|
#!Programm<br/>
|
|||
|
so beginnt eine Datei die vom Progamm ausgeführt wird<br/>
|
|||
|
$HISTSIZE<br/>
|
|||
|
History-Größe<br/>
|
|||
|
$LS_OPTIONS<br/>
|
|||
|
ls Funktionen<br/>
|
|||
|
56<br/>
|
|||
|
<hr/>
|
|||
|
<a name=57></a>5.5. Bash rechnen<br/>
|
|||
|
$PATH<br/>
|
|||
|
Pfad zu den Programmdateien<br/>
|
|||
|
Programm &<br/>
|
|||
|
Programm im eigenem Prozess starten<br/>
|
|||
|
5.5. Bash rechnen<br/>
|
|||
|
echo $((1+1))<br/>
|
|||
|
gibt 1 aus<br/>
|
|||
|
a=4<br/>
|
|||
|
b=5<br/>
|
|||
|
echo $((a*b))<br/>
|
|||
|
gibt 20 aus<br/>
|
|||
|
echo $((a-b))<br/>
|
|||
|
gibt -1 aus<br/>
|
|||
|
57<br/>
|
|||
|
<hr/>
|
|||
|
<a name=58></a><hr/>
|
|||
|
<a name=59></a>Teil II.<br/>
|
|||
|
Programme<br/>
|
|||
|
59<br/>
|
|||
|
<hr/>
|
|||
|
<a name=60></a><hr/>
|
|||
|
<a name=61></a>6. Der Texteditor vi/vim<br/>
|
|||
|
Der vi-Editor ist auf UNIX/Linux(neben Emacs) der meistverwendete Texteditor. Die<br/>
|
|||
|
Bedienung erfolgt über den Befehls- und Kommando-modus. Da es nicht gerade ein-<br/>
|
|||
|
fach ist sich diese Optionen zu merken, folgt eine Auflistung der meist gebrauchten<br/>
|
|||
|
Optionen.<br/>
|
|||
|
6.1. Aufruf<br/>
|
|||
|
vi<br/>
|
|||
|
Editor vi aufrufen<br/>
|
|||
|
vi Datei<br/>
|
|||
|
Editor vi aufrufen und Datei öffnen<br/>
|
|||
|
vi -r<br/>
|
|||
|
swap-Dateien anzeigen<br/>
|
|||
|
vi -r Datei<br/>
|
|||
|
Datei nach einem Stromausfall oder Absturz wieder herstellen<br/>
|
|||
|
vi -R Datei<br/>
|
|||
|
Datei schreibgeschützt öffnen<br/>
|
|||
|
6.2. Eingabemodus (input mode)<br/>
|
|||
|
Um in den Eingabemodus zu gelangen muss A, C, I, O, R, S, a, i, o oder s eingegeben<br/>
|
|||
|
werden. i ist eine gute Wahl. Mit <Esc> wird der Eingabemodus verlassen.<br/>
|
|||
|
6.3. Befehlsmodus (visual mode)<br/>
|
|||
|
6.3.1. Eingeben:<br/>
|
|||
|
(n)i eingeben<br/>
|
|||
|
fügt den eingeben Text (n mal) vor dem Cursor ein<br/>
|
|||
|
(n)a eingeben<br/>
|
|||
|
fügt den eingeben Text (n mal) hinter dem Cursor ein<br/>
|
|||
|
(n)I eingeben<br/>
|
|||
|
fügt den eingeben Text (n mal) am Zeilenanfang ein<br/>
|
|||
|
(n)A eingeben<br/>
|
|||
|
fügt den eingeben Text (n mal) am Zeilenende ein<br/>
|
|||
|
(n)o eingeben<br/>
|
|||
|
fügt unter der aktuellen Zeile (n neue Zeilen)<br/>
|
|||
|
mit den eingeben Text ein<br/>
|
|||
|
(n)O eingeben<br/>
|
|||
|
fügt über der aktuellen Zeile (n neue Zeilen)<br/>
|
|||
|
mit den eingeben Text ein<br/>
|
|||
|
6.3.2. Überschreiben:<br/>
|
|||
|
(n)R eingeben<br/>
|
|||
|
überschreibt den Text mit eingeben<br/>
|
|||
|
<Einf><br/>
|
|||
|
wechselt zwischen INSERT und REPLACE<br/>
|
|||
|
(n)r Taste<br/>
|
|||
|
überschreibt den Text mit (n mal) Taste<br/>
|
|||
|
61<br/>
|
|||
|
<hr/>
|
|||
|
<a name=62></a>6. Der Texteditor vi/vim<br/>
|
|||
|
von dem Cursor nach rechts<br/>
|
|||
|
6.3.3. Bewegen:<br/>
|
|||
|
(n)h<br/>
|
|||
|
Cursor um (n) Zeichen nach links bewegen<br/>
|
|||
|
(n)<Strg>+h<br/>
|
|||
|
Cursor um (n) Zeichen nach links bewegen<br/>
|
|||
|
(n)l<br/>
|
|||
|
Cursor um (n) Zeichen nach rechts bewegen<br/>
|
|||
|
(n)<SPACE><br/>
|
|||
|
Cursor um (n) Zeichen nach rechts bewegen<br/>
|
|||
|
(n)|<br/>
|
|||
|
Cursor zur Spalte (n) bewegen<br/>
|
|||
|
(n)t Taste<br/>
|
|||
|
Cursor vor das (n) Zeichen Taste nach rechts bewegen<br/>
|
|||
|
(n)f Taste<br/>
|
|||
|
Cursor auf das (n) Zeichen Taste nach rechts bewegen<br/>
|
|||
|
(n)T Taste<br/>
|
|||
|
Cursor vor das (n) Zeichen Taste nach links bewegen<br/>
|
|||
|
(n)F Taste<br/>
|
|||
|
Cursor auf das (n) Zeichen Taste nach links bewegen<br/>
|
|||
|
(n)j<br/>
|
|||
|
Cursor um (n) Zeilen abwärts bewegen<br/>
|
|||
|
(n)k<br/>
|
|||
|
Cursor um (n) Zeilen aufwärts bewegen<br/>
|
|||
|
(n)w<br/>
|
|||
|
Cursor um (n) Wörter nach rechts bewegen<br/>
|
|||
|
(n)W<br/>
|
|||
|
Cursor um (n) Wörter(Space) nach rechts bewegen<br/>
|
|||
|
(n)b<br/>
|
|||
|
Cursor um (n) Wörter nach links bewegen<br/>
|
|||
|
(n)B<br/>
|
|||
|
Cursor um (n) Wörter(Space) nach links bewegen<br/>
|
|||
|
(n)e<br/>
|
|||
|
Cursor an das (n) Wortende nach rechts bewegen<br/>
|
|||
|
(n)E<br/>
|
|||
|
Cursor an das (n) Wortende(Space) nach rechts bewegen<br/>
|
|||
|
^<br/>
|
|||
|
Cursor auf das erste Zeilenzeichen stellen<br/>
|
|||
|
0<br/>
|
|||
|
Cursor vor das erste Zeilenzeichen stellen<br/>
|
|||
|
(n)_<br/>
|
|||
|
Cursor auf das erste Zeilenzeichen stellen und<br/>
|
|||
|
(n-1) Zeilen nach unten bewegen<br/>
|
|||
|
$<br/>
|
|||
|
Cursor zum Zeilenende bewegen<br/>
|
|||
|
(n)+<br/>
|
|||
|
Cursor auf das erste Zeilenzeichen stellen und<br/>
|
|||
|
(n) Zeilen abwärts bewegen<br/>
|
|||
|
(n)-<br/>
|
|||
|
Cursor auf das erste Zeilenzeichen stellen und<br/>
|
|||
|
(n) Zeilen aufwärts bewegen<br/>
|
|||
|
(n))<br/>
|
|||
|
Cursor um (n) Sätze abwärts bewegen<br/>
|
|||
|
(n)(<br/>
|
|||
|
Cursor um (n) Sätze aufwärts bewegen<br/>
|
|||
|
(n)}<br/>
|
|||
|
Cursor um (n) Absätze abwärts bewegen<br/>
|
|||
|
(n){<br/>
|
|||
|
Cursor um (n) Absätze aufwärts bewegen<br/>
|
|||
|
(n)<Strg>+u<br/>
|
|||
|
Cursor um 1/2 Bildschirm oder (n Zeilen)<br/>
|
|||
|
aufwärts bewegen<br/>
|
|||
|
(n)<Strg>+d<br/>
|
|||
|
Cursor um 1/2 Bildschirm oder (n Zeilen)<br/>
|
|||
|
abwärts bewegen<br/>
|
|||
|
<Strg>+f<br/>
|
|||
|
Cursor um 1 Bildschirm abwärts bewegen<br/>
|
|||
|
<Bild runter><br/>
|
|||
|
Cursor um 1 Bildschirm abwärts bewegen<br/>
|
|||
|
<Strg>+b<br/>
|
|||
|
Cursor um 1 Bildschirm aufwärts bewegen<br/>
|
|||
|
<Bild hoch><br/>
|
|||
|
Cursor um 1 Bildschirm aufwärts bewegen<br/>
|
|||
|
(n)<Strg>+e<br/>
|
|||
|
scrollt den Cursor (n) Zeilen abwärts<br/>
|
|||
|
(n)<Strg>+y<br/>
|
|||
|
scrollt den Cursor (n) Zeilen aufwärts<br/>
|
|||
|
’<br/>
|
|||
|
Taste<br/>
|
|||
|
Cursor zu der mit Taste markierten Zeile bewegen<br/>
|
|||
|
62<br/>
|
|||
|
<hr/>
|
|||
|
<a name=63></a>6.3. Befehlsmodus (visual mode)<br/>
|
|||
|
‘<br/>
|
|||
|
Taste<br/>
|
|||
|
Cursor zu dem mit Taste markierten Zeichen bewegen<br/>
|
|||
|
gg<br/>
|
|||
|
Cursor zum Textanfang bewegen<br/>
|
|||
|
(n)G<br/>
|
|||
|
Cursor zur Zeile (n) bewegen<br/>
|
|||
|
G<br/>
|
|||
|
Cursor zum Textende bewegen<br/>
|
|||
|
H<br/>
|
|||
|
Cursor an den Anfang der Bildschirmseite setzen<br/>
|
|||
|
(n)H<br/>
|
|||
|
Cursor zur Zeile (n) auf den Bildschirm bewegen<br/>
|
|||
|
M<br/>
|
|||
|
Cursor auf den Anfang der mittleren<br/>
|
|||
|
Bildschirmzeile bewegen<br/>
|
|||
|
L<br/>
|
|||
|
Cursor an das Ende der Bildschirmseite setzen<br/>
|
|||
|
(n)L<br/>
|
|||
|
Cursor vom Ende zur Zeile (n) auf den Bildschirm bewegen<br/>
|
|||
|
z<br/>
|
|||
|
Taste<br/>
|
|||
|
bewegt die aktuelle Zeile zum Anfang(+), Ende(-) oder<br/>
|
|||
|
zur Mitte(.) des Bildschirms<br/>
|
|||
|
6.3.4. Löschen und Eingeben:<br/>
|
|||
|
(n)s eingeben<br/>
|
|||
|
löscht (n) Zeichen von dem Cursor nach rechts und<br/>
|
|||
|
fügt den eingeben Text ein<br/>
|
|||
|
c Bereich eingeben<br/>
|
|||
|
löscht den markierten Bereich und<br/>
|
|||
|
fügt den eingeben Text ein<br/>
|
|||
|
cc<br/>
|
|||
|
eingeben<br/>
|
|||
|
löscht den Zeilentext und fügt den eingeben Text ein<br/>
|
|||
|
cw<br/>
|
|||
|
eingeben<br/>
|
|||
|
löscht bis zum ende des Wortes und<br/>
|
|||
|
fügt den eingeben Text ein<br/>
|
|||
|
C<br/>
|
|||
|
eingeben<br/>
|
|||
|
löscht den Text bis Zeilenende und<br/>
|
|||
|
fügt den eingeben Text ein<br/>
|
|||
|
(n)S eingeben<br/>
|
|||
|
löscht (n) Zeilen nach unten und<br/>
|
|||
|
fügt den eingeben Text ein ( wie (n)cc )<br/>
|
|||
|
6.3.5. Löschen:<br/>
|
|||
|
d<br/>
|
|||
|
Bereich<br/>
|
|||
|
löscht den markierten Bereich<br/>
|
|||
|
dd<br/>
|
|||
|
löscht die ganze Zeile<br/>
|
|||
|
D<br/>
|
|||
|
löscht den Text bis Zeilenende<br/>
|
|||
|
dw<br/>
|
|||
|
löscht bis zum Ende des Wortes<br/>
|
|||
|
(n)x<br/>
|
|||
|
löscht (n) Zeichen auf den sich der Cursor befindet<br/>
|
|||
|
<Entf><br/>
|
|||
|
löscht das Zeichen auf den sich der Cursor befindet<br/>
|
|||
|
(n)X<br/>
|
|||
|
löscht (n) Zeichen links vom Cursor<br/>
|
|||
|
6.3.6. Aufheben:<br/>
|
|||
|
u<br/>
|
|||
|
macht die letzte Änderung rückgängig<br/>
|
|||
|
U<br/>
|
|||
|
macht die letzte Änderung der ganzen Zeile rückgängig<br/>
|
|||
|
6.3.7. Verschieben:<br/>
|
|||
|
><br/>
|
|||
|
Bereich<br/>
|
|||
|
schiebt die markierten Zeilen nach rechts<br/>
|
|||
|
63<br/>
|
|||
|
<hr/>
|
|||
|
<a name=64></a>6. Der Texteditor vi/vim<br/>
|
|||
|
>><br/>
|
|||
|
schiebt die Zeile auf den sich der Cursor befindet<br/>
|
|||
|
nach rechts<br/>
|
|||
|
<<br/>
|
|||
|
Bereich<br/>
|
|||
|
schiebt die markierten Zeilen nach links<br/>
|
|||
|
<<<br/>
|
|||
|
schiebt die Zeile auf den sich der Cursor befindet<br/>
|
|||
|
nach links<br/>
|
|||
|
6.3.8. Zusammenfügen:<br/>
|
|||
|
(n)J<br/>
|
|||
|
hängt (n) Zeilen nach unten aneinander<br/>
|
|||
|
6.3.9. Markieren:<br/>
|
|||
|
m<br/>
|
|||
|
Taste<br/>
|
|||
|
markiert eine Zeile oder Zeichen<br/>
|
|||
|
v<br/>
|
|||
|
setzt den Anfang einer Markierung<br/>
|
|||
|
V<br/>
|
|||
|
setzt den Anfang einer Zeilenmarkierung<br/>
|
|||
|
6.3.10. Kopieren:<br/>
|
|||
|
y<br/>
|
|||
|
Bereich<br/>
|
|||
|
kopiert den mit Bereich angegebenen Text in einen Puffer<br/>
|
|||
|
(n)Y<br/>
|
|||
|
kopiert die aktuelle und (n) Zeilen in einen Puffer<br/>
|
|||
|
"<br/>
|
|||
|
Taste<br/>
|
|||
|
legt den nächsten Zwischenpuffer fest<br/>
|
|||
|
@<br/>
|
|||
|
Taste<br/>
|
|||
|
interpretiert den Inhalt des Zwischenspeichers als<br/>
|
|||
|
vi Befehle und führt sie aus<br/>
|
|||
|
6.3.11. Einfügen:<br/>
|
|||
|
p<br/>
|
|||
|
fügt den aktuellen Puffer hinter dem Cursor ein<br/>
|
|||
|
P<br/>
|
|||
|
fügt den aktuellen Puffer vor dem Cursor ein<br/>
|
|||
|
6.3.12. Suchen:<br/>
|
|||
|
(n)%<br/>
|
|||
|
platziert den Cursor auf die zugehörige () {} [], oder<br/>
|
|||
|
platziert den Cursor auf (n) Prozent der Datei<br/>
|
|||
|
/<br/>
|
|||
|
Text<br/>
|
|||
|
sucht den Text vorwärts<br/>
|
|||
|
?<br/>
|
|||
|
Text<br/>
|
|||
|
sucht den Text rückwärts<br/>
|
|||
|
6.3.13. Wiederholen:<br/>
|
|||
|
.<br/>
|
|||
|
wiederholt das letzte EDIT Kommando<br/>
|
|||
|
n<br/>
|
|||
|
wiederholt das letzte Suchen<br/>
|
|||
|
N<br/>
|
|||
|
wiederholt das letzte Suchen in umgekehrter Richtung<br/>
|
|||
|
(n);<br/>
|
|||
|
wiederholt das vorgehende f, F, t, T Kommando<br/>
|
|||
|
(n),<br/>
|
|||
|
wiederholt das vorgehende f, F, t, T Kommando in<br/>
|
|||
|
umgekehrter Richtung<br/>
|
|||
|
(n)&<br/>
|
|||
|
wiederholt den letzten :s// Befehl an der momentanen<br/>
|
|||
|
Position<br/>
|
|||
|
64<br/>
|
|||
|
<hr/>
|
|||
|
<a name=65></a>6.4. Kommandomodus (colon mode)<br/>
|
|||
|
6.3.14. Sonstige Kommandos:<br/>
|
|||
|
<Strg>G<br/>
|
|||
|
zeigt den Dateistatus und die momentane Zeilennummer<br/>
|
|||
|
ZZ<br/>
|
|||
|
speichert die Datei und beendet vi<br/>
|
|||
|
<Strg>L<br/>
|
|||
|
erneuert den Bildschirm<br/>
|
|||
|
6.4. Kommandomodus (colon mode)<br/>
|
|||
|
Um in den Kommandomodus zu gelangen muss : eingegeben werden.<br/>
|
|||
|
6.4.1. Texteingabe Kommandos<br/>
|
|||
|
q(!)<br/>
|
|||
|
Editor verlassen<br/>
|
|||
|
wq<br/>
|
|||
|
Editor mit speichern verlassen<br/>
|
|||
|
xit<br/>
|
|||
|
arbeitet wie wq, speichert nur bei einer Änderung<br/>
|
|||
|
x(!)<br/>
|
|||
|
Editor mit speichern verlassen<br/>
|
|||
|
w(!) Name<br/>
|
|||
|
Datei mit Namen speichern<br/>
|
|||
|
h<br/>
|
|||
|
Hilfe anfordern<br/>
|
|||
|
args Dateien<br/>
|
|||
|
Liste der Dateien anlegen<br/>
|
|||
|
args<br/>
|
|||
|
Dateien auflisten<br/>
|
|||
|
next(!)<br/>
|
|||
|
schaltet zur nächsten Datei<br/>
|
|||
|
previous(!)<br/>
|
|||
|
schaltet zur vorhergehenden Datei<br/>
|
|||
|
rewind(!)<br/>
|
|||
|
schaltet zur ersten Datei<br/>
|
|||
|
edit(!) Datei<br/>
|
|||
|
dient zum wechseln der Datei<br/>
|
|||
|
!Befehl<br/>
|
|||
|
externen Befehl ausführen<br/>
|
|||
|
65<br/>
|
|||
|
<hr/>
|
|||
|
<a name=66></a><hr/>
|
|||
|
<a name=67></a>7. LaTeX<br/>
|
|||
|
7.1. LATEX<br/>LATEX<br/>
|
|||
|
67<br/>
|
|||
|
<hr/>
|
|||
|
<a name=68></a><hr/>
|
|||
|
<a name=69></a>Teil III.<br/>
|
|||
|
Linux im Netzwerk<br/>
|
|||
|
69<br/>
|
|||
|
<hr/>
|
|||
|
<a name=70></a><hr/>
|
|||
|
<a name=71></a>8. Netzwerk<br/>
|
|||
|
Rechnername<br/>
|
|||
|
Name den der Rechner im Netzwerk hat,<br/>
|
|||
|
sollte nicht mehr als acht Zeichen haben,<br/>
|
|||
|
darf im lokalen Netzwerk noch nicht vergeben sein<br/>
|
|||
|
Domainname<br/>
|
|||
|
Name zur Gliederung von Netzwerken<br/>
|
|||
|
Top-Level-Domain<br/>
|
|||
|
umfasst höchstens vier Buchstaben<br/>
|
|||
|
Beispiel: Rechnername.Domainname.Top-Level-Domain -><br/>
|
|||
|
voyager.startrek.foe<br/>
|
|||
|
IP-Adresse<br/>
|
|||
|
Adresse des Rechners im Netzwerk,<br/>
|
|||
|
jede Netzwerkschnittstelle(z.B. Netzwerk- oder<br/>
|
|||
|
ISDN-Karte) hat im Netzwerk mindestens eine Adresse<br/>
|
|||
|
die eindeutig ist, die Adresse besteht derzeit aus<br/>
|
|||
|
einer Sequenz von vier Bytes die durch Punkte getrennt<br/>
|
|||
|
sind z.B. 192.168.20.40 , für private Netze sind durch<br/>
|
|||
|
das Arbeitspapier RFC 1597 drei Adressbereiche<br/>
|
|||
|
vorgesehen die nicht geroutet werden:<br/>
|
|||
|
10.0.0.0<br/>
|
|||
|
-> 10.255.255.255 (Class A-Netz)<br/>
|
|||
|
172.16.0.0 -> 172.31.255.255 (Class B-Netz)<br/>
|
|||
|
192.168.0.0 -> 192.168.255.255 (Class C-Netz)<br/>
|
|||
|
Gatewayadresse<br/>
|
|||
|
IP-Adresse des Gerätes die das Weiterleiten<br/>
|
|||
|
von Netzwerkpaketen in das fremde Netz übernimmt<br/>
|
|||
|
Netzwerkmaske<br/>
|
|||
|
sagt aus welcher Teil der IP-Adresse<br/>
|
|||
|
zum lokale Netzwerk gehört z.B. 255.255.255.0<br/>
|
|||
|
#### in arbeit #######################################<br/>
|
|||
|
OSI<br/>
|
|||
|
Open System Interconnektion<br/>
|
|||
|
IEEE<br/>
|
|||
|
ISO<br/>
|
|||
|
MAC-Adresse<br/>
|
|||
|
006097 370cae<br/>
|
|||
|
------ ------<br/>
|
|||
|
Herstellerabhängig<br/>
|
|||
|
laufendeNr.<br/>
|
|||
|
Ethernet-adresse<br/>
|
|||
|
Node-Addresse<br/>
|
|||
|
NIC-Adresse<br/>
|
|||
|
udp<br/>
|
|||
|
tcp/ip<br/>
|
|||
|
nfs<br/>
|
|||
|
ftp<br/>
|
|||
|
Portnummer/Kanalnummer<br/>
|
|||
|
71<br/>
|
|||
|
<hr/>
|
|||
|
<a name=72></a>8. Netzwerk<br/>
|
|||
|
16Bit 65535 pro udp pro tcp/ip<br/>
|
|||
|
/etc/services<br/>
|
|||
|
0-1023 well known Ports IANA<br/>
|
|||
|
1024-49151 registrierte Ports<br/>
|
|||
|
->65535 dynamische, privat<br/>
|
|||
|
######################################################<br/>
|
|||
|
72<br/>
|
|||
|
<hr/>
|
|||
|
<a name=73></a>9. Apache<br/>
|
|||
|
9.1. Einleitung<br/>
|
|||
|
Der Apache Webserver ist ein Programm das im Netzwerk(WWW), bei Anfragen mit<br/>
|
|||
|
einem Webbrowser, Websites(HTTP-Protokoll) ausgeben kann.<br/>
|
|||
|
Die Anfragen werden als URL angegeben. Beispiel: Schema://Hostname:Port/Server-<br/>
|
|||
|
Pfad -> http://www.apache.org:80/manual/<br/>
|
|||
|
9.2. Kompilieren und Installieren<br/>
|
|||
|
9.2.1. Anforderungen<br/>
|
|||
|
• Apache-Quellcode 1.3, erhältlich bei http://www.apache.org/<br/>
|
|||
|
• mod_ssl 1.3, erhältlich bei http://www.modssl.org/<br/>
|
|||
|
• Apache-Quellcode 2.0, erhältlich bei http://www.apache.org/<br/>
|
|||
|
• OpenSSL-Quellcode 0.9.x, erhältlich bei http://www.openssl.org/<br/>
|
|||
|
• Linux ab 2.4.xx(z.B.Debian Sarge 3.1), libgdbm2-devel(ndbm.h -> gdbm-ndbm.h)<br/>
|
|||
|
• ANSI-C-Compiler und Generierungswerkzeuge, GNU C Compiler (GCC) ab Ver-<br/>
|
|||
|
sion 2.7.2, wesentliche Generierungswerkzeuge wie make<br/>
|
|||
|
• Zeitgenauigkeit bewahren, ntpdate oder xntpd(NTP)<br/>
|
|||
|
• Perl 5(optional), Version ab 5.003 http://www.perl.com/<br/>
|
|||
|
• PureFTPd(optional), Version ab 5.003 http://www.perl.com/<br/>
|
|||
|
9.2.2. Vorbereitungen<br/>
|
|||
|
su<br/>
|
|||
|
als root anmelden<br/>
|
|||
|
mkdir /usr/local/src<br/>
|
|||
|
das Verzeichnis /usr/local/src anlegen,<br/>
|
|||
|
wenn es noch nicht vorhanden ist<br/>
|
|||
|
chmod 777 /usr/local/src<br/>
|
|||
|
Verzeichnis-Rechte setzen<br/>
|
|||
|
ln -s /usr/include/gdbm-ndbm.h /usr/include/ndbm.h<br/>
|
|||
|
Link zu ndbm.h<br/>
|
|||
|
exit<br/>
|
|||
|
root abmelden<br/>
|
|||
|
cp Quelldateien /usr/local/src<br/>
|
|||
|
Quelldateien kopieren<br/>
|
|||
|
73<br/>
|
|||
|
<hr/>
|
|||
|
<a name=74></a>9. Apache<br/>
|
|||
|
9.2.3. OpenSSL<br/>
|
|||
|
cd /usr/local/src<br/>
|
|||
|
Verzeichnis wechseln<br/>
|
|||
|
tar xvfz openssl-0.9.7d.tar.gz<br/>
|
|||
|
Quelldateien entpacken<br/>
|
|||
|
cd openssl-0.9.7d<br/>
|
|||
|
in das Quelldatei-Verzeichnis wechseln<br/>
|
|||
|
./config --help<br/>
|
|||
|
Hilfe zu den möglichen Optionen<br/>
|
|||
|
./config --prefix=/usr/local/openssl/0.9.7d<br/>
|
|||
|
Codebaum konfigurieren und<br/>
|
|||
|
Installations-Verzeichnis angeben<br/>
|
|||
|
make<br/>
|
|||
|
Programm herstellen<br/>
|
|||
|
make test<br/>
|
|||
|
Programm testen<br/>
|
|||
|
su<br/>
|
|||
|
als root anmelden<br/>
|
|||
|
make install<br/>
|
|||
|
Programm installieren<br/>
|
|||
|
ln -s /usr/local/openssl/0.9.7d /usr/local/openssl/current<br/>
|
|||
|
Link zu OpenSSL<br/>
|
|||
|
exit<br/>
|
|||
|
root abmelden<br/>
|
|||
|
9.2.4. Apache 1.3 und SSL<br/>
|
|||
|
cd /usr/local/src<br/>
|
|||
|
Verzeichnis wechseln<br/>
|
|||
|
tar xvfz apache_1.3.31.tar.gz<br/>
|
|||
|
Quelldateien entpacken<br/>
|
|||
|
tar xvfz mod_ssl-2.8.19-1.3.31.tar.gz<br/>
|
|||
|
Quelldateien entpacken<br/>
|
|||
|
cd apache_1.3.31<br/>
|
|||
|
in das Quelldatei-Verzeichnis wechseln<br/>
|
|||
|
./configure --help<br/>
|
|||
|
Hilfe zu den möglichen Optionen<br/>
|
|||
|
cd ../mod_ssl-2.8.19-1.3.31<br/>
|
|||
|
./configure --help<br/>
|
|||
|
Hilfe zu den möglichen Optionen<br/>
|
|||
|
./configure --with-apache=../apache_1.3.31<br/>
|
|||
|
--with-ssl=../openssl-0.9.7d<br/>
|
|||
|
--prefix=/usr/local/apache/1.3.31<br/>
|
|||
|
--datadir=/srv/www<br/>
|
|||
|
--enable-module=most<br/>
|
|||
|
--enable-shared=max<br/>
|
|||
|
--enable-module=ssl<br/>
|
|||
|
cd ../apache_1.3.31<br/>
|
|||
|
in das Quelldatei-Verzeichnis wechseln<br/>
|
|||
|
make<br/>
|
|||
|
Programm herstellen<br/>
|
|||
|
make certificate TYPE=custom<br/>
|
|||
|
Zertifikat erzeugen<br/>
|
|||
|
Angaben zu der Certificate Authority<br/>
|
|||
|
Signature Algorithm ((R)SA or (D)SA) [R]:R<br/>
|
|||
|
1. Country Name<br/>
|
|||
|
(2 letter code) [XY]:DE<br/>
|
|||
|
2. State or Province Name<br/>
|
|||
|
(full name)<br/>
|
|||
|
[Snake Desert]:Niedersachsen<br/>
|
|||
|
3. Locality Name<br/>
|
|||
|
(eg, city)<br/>
|
|||
|
[Snake Town]:Salzgitter<br/>
|
|||
|
4. Organization Name<br/>
|
|||
|
(eg, company)<br/>
|
|||
|
[Snake Oil, Ltd]:Komtek<br/>
|
|||
|
5. Organizational Unit Name (eg, section)<br/>
|
|||
|
[Certificate Authority]:CA<br/>
|
|||
|
74<br/>
|
|||
|
<hr/>
|
|||
|
<a name=75></a>9.2. Kompilieren und Installieren<br/>
|
|||
|
6. Common Name<br/>
|
|||
|
(eg, CA name)<br/>
|
|||
|
[Snake Oil CA]:Komtek CA<br/>
|
|||
|
7. Email Address<br/>
|
|||
|
(eg, name@FQDN) [ca@snakeoil.dom]:ca@komtek.de<br/>
|
|||
|
8. Certificate Validity<br/>
|
|||
|
(days)<br/>
|
|||
|
[365]:365<br/>
|
|||
|
Certificate Version (1 or 3) [3]:3<br/>
|
|||
|
Angaben zum Serverzertifikat<br/>
|
|||
|
1. Country Name<br/>
|
|||
|
(2 letter code) [XY]:DE<br/>
|
|||
|
2. State or Province Name<br/>
|
|||
|
(full name)<br/>
|
|||
|
[Snake Desert]:Niedersachsen<br/>
|
|||
|
3. Locality Name<br/>
|
|||
|
(eg, city)<br/>
|
|||
|
[Snake Town]:Salzgitter<br/>
|
|||
|
4. Organization Name<br/>
|
|||
|
(eg, company)<br/>
|
|||
|
[Snake Oil, Ltd]:Komtek<br/>
|
|||
|
5. Organizational Unit Name (eg, section)<br/>
|
|||
|
[Webserver Team]:Webmaster<br/>
|
|||
|
6. Common Name<br/>
|
|||
|
(eg, FQDN)<br/>
|
|||
|
[www.snakeoil.dom]:www.komtek.de<br/>
|
|||
|
7. Email Address<br/>
|
|||
|
(eg, name@fqdn) [www@snakeoil.dom]:www@www.komtek.de<br/>
|
|||
|
8. Certificate Validity<br/>
|
|||
|
(days)<br/>
|
|||
|
[365]:365<br/>
|
|||
|
Certificate Version (1 or 3) [3]:3<br/>
|
|||
|
Schlüssel verschlüsseln<br/>
|
|||
|
Encrypt the private key now? [Y/n]: n<br/>
|
|||
|
Encrypt the private key now? [Y/n]: n<br/>
|
|||
|
su<br/>
|
|||
|
als root anmelden<br/>
|
|||
|
make install<br/>
|
|||
|
groupadd wwwadmin<br/>
|
|||
|
Gruppe wwwadmin anlegen<br/>
|
|||
|
chown -R nobody:wwwadmin /srv/www<br/>
|
|||
|
Rechte für das www-Verzeichnis setzen<br/>
|
|||
|
ln -s /usr/local/apache/1.3.31 /usr/local/apache/current<br/>
|
|||
|
Link zu Apache 1.3<br/>
|
|||
|
ln -s /usr/local/apache/current/conf /etc/apache<br/>
|
|||
|
Link zu den Konfigurationen<br/>
|
|||
|
ln -s /usr/local/apache/current/logs /var/log/apache<br/>
|
|||
|
Link zu den Logdateien<br/>
|
|||
|
ln -s /usr/local/apache/current/bin/apachectl /usr/local/bin<br/>
|
|||
|
Link zu apachectl<br/>
|
|||
|
ln -s /usr/local/apache/current/bin/apachectl /etc/init.d/apache<br/>
|
|||
|
Link zu den Startdateien<br/>
|
|||
|
cd /etc/rc5.d<br/>
|
|||
|
in den Start-Runlevel wechseln<br/>
|
|||
|
ln -s ../init.d/apache S20apache<br/>
|
|||
|
Link zum automatischen Starten<br/>
|
|||
|
cd ../rc0.d<br/>
|
|||
|
in den Stopp-Runlevel wechseln<br/>
|
|||
|
ln -s ../init.d/apache K20apache<br/>
|
|||
|
Link zum automatischen Beenden<br/>
|
|||
|
cd ../rc6.d<br/>
|
|||
|
in den Start-Runlevel wechseln<br/>
|
|||
|
ln -s ../init.d/apache K20apache<br/>
|
|||
|
Link zum automatischen Beenden<br/>
|
|||
|
exit<br/>
|
|||
|
root abmelden<br/>
|
|||
|
75<br/>
|
|||
|
<hr/>
|
|||
|
<a name=76></a>9. Apache<br/>
|
|||
|
9.2.5. Apache2<br/>
|
|||
|
cd /usr/local/src<br/>
|
|||
|
Verzeichnis wechseln<br/>
|
|||
|
tar xvfz httpd-2.0.51.tar.gz<br/>
|
|||
|
Quelldateien entpacken<br/>
|
|||
|
cd httpd-2.0.51<br/>
|
|||
|
in das Quelldatei-Verzeichnis wechseln<br/>
|
|||
|
./configure --help<br/>
|
|||
|
Hilfe zu den möglichen Optionen<br/>
|
|||
|
./configure --prefix=/usr/local/apache2/2.0.51<br/>
|
|||
|
--with-ssl=../openssl-0.9.7d<br/>
|
|||
|
--datadir=/srv/www2<br/>
|
|||
|
--enable-module=most<br/>
|
|||
|
--enable-shared=max<br/>
|
|||
|
--enable-module=ssl<br/>
|
|||
|
--with-port=81<br/>
|
|||
|
da auf 80 schon der Apache 1.3 läuft<br/>
|
|||
|
make<br/>
|
|||
|
Programm herstellen<br/>
|
|||
|
su<br/>
|
|||
|
als root anmelden<br/>
|
|||
|
make install<br/>
|
|||
|
Programm installieren (als root!)<br/>
|
|||
|
groupadd wwwadmin<br/>
|
|||
|
Gruppe wwwadmin anlegen<br/>
|
|||
|
chown -R nobody:wwwadmin /srv/www2<br/>
|
|||
|
Rechte für das www-Verzeichnis setzen<br/>
|
|||
|
ln -s /usr/local/apache2/2.0.51 /usr/local/apache2/current<br/>
|
|||
|
Link zu Apache 2<br/>
|
|||
|
ln -s /usr/local/apache2/current/conf /etc/apache2<br/>
|
|||
|
Link zu den Konfigurationen<br/>
|
|||
|
ln -s /usr/local/apache2/current/logs /var/log/apache2<br/>
|
|||
|
Link zu den Logdateien<br/>
|
|||
|
ln -s /usr/local/apache2/current/bin/apachectl /usr/local/bin/apachectl2<br/>
|
|||
|
Link zu apachectl<br/>
|
|||
|
ln -s /usr/local/apache2/current/bin/apachectl /etc/init.d/apache2<br/>
|
|||
|
Link zu den Startdateien<br/>
|
|||
|
cd /etc/rc5.d<br/>
|
|||
|
in den Start-Runlevel wechseln<br/>
|
|||
|
ln -s ../init.d/apache2 S20apache2<br/>
|
|||
|
Link zum automatischen Starten<br/>
|
|||
|
cd ../rc0.d<br/>
|
|||
|
in den Stopp-Runlevel wechseln<br/>
|
|||
|
ln -s ../init.d/apache2 K20apache2<br/>
|
|||
|
Link zum automatischen Beenden<br/>
|
|||
|
cd ../rc6.d<br/>
|
|||
|
in den Start-Runlevel wechseln<br/>
|
|||
|
ln -s ../init.d/apache2 K20apache2<br/>
|
|||
|
Link zum automatischen Beenden<br/>
|
|||
|
exit<br/>
|
|||
|
root abmelden<br/>
|
|||
|
9.2.6. Testen<br/>
|
|||
|
/etc/init.d/apache start<br/>
|
|||
|
Apache1.3 starten<br/>
|
|||
|
/etc/init.d/apache2 start<br/>
|
|||
|
Apache2 starten<br/>
|
|||
|
Browser http://localhost/<br/>
|
|||
|
Apache1.3 testen<br/>
|
|||
|
Browser http://localhost:81/<br/>
|
|||
|
Apache2 testen<br/>
|
|||
|
/etc/init.d/apache stop<br/>
|
|||
|
Apache1.3 beenden<br/>
|
|||
|
/etc/init.d/apache2 stop<br/>
|
|||
|
Apache2 beenden<br/>
|
|||
|
76<br/>
|
|||
|
<hr/>
|
|||
|
<a name=77></a>9.2. Kompilieren und Installieren<br/>
|
|||
|
9.2.7. Upgrade<br/>
|
|||
|
./config.nice<br/>
|
|||
|
aus der letzten Installation entnehmen,<br/>
|
|||
|
Apache2<br/>
|
|||
|
9.2.8. PureFTPd<br/>
|
|||
|
cd /usr/local/src<br/>
|
|||
|
Verzeichnis wechseln<br/>
|
|||
|
tar xvfz pure-ftpd-1.0.20.tar.gz<br/>
|
|||
|
Quelldateien entpacken<br/>
|
|||
|
cd pure-ftpd-1.0.20<br/>
|
|||
|
Verzeichnis wechseln<br/>
|
|||
|
./configure --prefix=/usr/local/pure-ftpd/1.0.20 --with-language=german<br/>
|
|||
|
Makefile herstellen<br/>
|
|||
|
make<br/>
|
|||
|
Programm herstellen<br/>
|
|||
|
make check<br/>
|
|||
|
Programm prüfen<br/>
|
|||
|
su<br/>
|
|||
|
als root anmelden<br/>
|
|||
|
make install<br/>
|
|||
|
Programm installieren<br/>
|
|||
|
ln -s /usr/local/pure-ftpd/1.0.20 /usr/local/pure-ftpd/current<br/>
|
|||
|
Link zu pure-ftpd<br/>
|
|||
|
mkdir /usr/local/pure-ftpd/current/etc Verzeichnis etc anlegen<br/>
|
|||
|
cp configuration-file/pure-ftpd.conf /usr/local/pure-ftpd/current/etc<br/>
|
|||
|
Konfiguration kopieren<br/>
|
|||
|
cp pureftpd-*.conf /usr/local/pure-ftpd/current/etc<br/>
|
|||
|
Konfigurationen kopieren<br/>
|
|||
|
ln -s /usr/local/pure-ftpd/current/etc /etc/pure-ftpd<br/>
|
|||
|
Link zu den Konfigurationen<br/>
|
|||
|
vi /etc/init.d/pure-ftpd<br/>
|
|||
|
Startdatei für pure-ftpd anlegen<br/>
|
|||
|
#!/bin/bash<br/>
|
|||
|
case "$1" in<br/>
|
|||
|
start)<br/>
|
|||
|
echo "pureftpd wird gestartet ..."<br/>
|
|||
|
cd /usr/local/pure-ftpd/current<br/>
|
|||
|
./sbin/pure-ftpd &<br/>
|
|||
|
;;<br/>
|
|||
|
stop)<br/>
|
|||
|
echo "pureftpd wird heruntergefahren ..."<br/>
|
|||
|
kill -TERM ‘cat /var/run/pure-ftpd.pid‘<br/>
|
|||
|
;;<br/>
|
|||
|
*)<br/>
|
|||
|
echo "Usage: $0 {start|stop}"<br/>
|
|||
|
exit 1<br/>
|
|||
|
;;<br/>
|
|||
|
esac<br/>
|
|||
|
exit 0<br/>
|
|||
|
77<br/>
|
|||
|
<hr/>
|
|||
|
<a name=78></a>9. Apache<br/>
|
|||
|
chmod 755 /etc/init.d/pure-ftpd<br/>
|
|||
|
Rechte setzen<br/>
|
|||
|
cd /etc/rc5.d<br/>
|
|||
|
Verzechnis wechseln<br/>
|
|||
|
ln -s ../init.d/pure-ftpd S20pure-ftpd Link zum automatischen Starten<br/>
|
|||
|
cd /etc/rc0.d<br/>
|
|||
|
Verzechnis wechseln<br/>
|
|||
|
ln -s ../init.d/pure-ftpd K20pure-ftpd Link zum automatischen Beenden<br/>
|
|||
|
cd /etc/rc6.d<br/>
|
|||
|
Verzechnis wechseln<br/>
|
|||
|
ln -s ../init.d/pure-ftpd K20pure-ftpd Link zum automatischen Beenden<br/>
|
|||
|
useradd -g wwwadmin -d /srv -s /bin/false wwwadmin<br/>
|
|||
|
Benutzer wwwadmin anlegen<br/>
|
|||
|
passwd wwwadmin<br/>
|
|||
|
Passwort setzen<br/>
|
|||
|
NoAnonymous<br/>
|
|||
|
yes<br/>
|
|||
|
UnixAuthentication<br/>
|
|||
|
yes<br/>
|
|||
|
MinUID<br/>
|
|||
|
1000<br/>
|
|||
|
MinUID<br/>
|
|||
|
1000<br/>
|
|||
|
TrustedGID<br/>
|
|||
|
1002<br/>
|
|||
|
exit<br/>
|
|||
|
root abmelden<br/>
|
|||
|
9.3. Apache starten<br/>
|
|||
|
9.3.1. Apache starten<br/>
|
|||
|
Unter UNIX/Linux wird das httpd-Progamm als Daemon ausgeführt.<br/>
|
|||
|
apachectl start<br/>
|
|||
|
Apache starten<br/>
|
|||
|
rcapache start<br/>
|
|||
|
Apache starten(SuSE-Linux)<br/>
|
|||
|
9.3.2. Wie der Apache startet<br/>
|
|||
|
• apachectl ist die empfohlene Methode, das httpd-Programm zu starten<br/>
|
|||
|
• apachectl setzt verschiedene Umgebungsvariablen und startet das httpd-Programm<br/>
|
|||
|
• apachectl reicht alle Kommandozeilenargumente durch<br/>
|
|||
|
• als erstes liest der httpd die Konfigurationsdatei httpd.conf ein, die beim Kom-<br/>
|
|||
|
pilieren festgelegt wurde<br/>
|
|||
|
• zur Laufzeit kann der Ablageort geändert werden, z.B. apachectl -f /etc/apache2/httpd.conf<br/>
|
|||
|
• beim erfolgreicehn Start, trennt sich der Server vom Terminal ab<br/>
|
|||
|
• bis zum Port 1024 muss der Apache root-Berechtigung besitzen<br/>
|
|||
|
• der Haupt-httpd-Prozess läuft unter dem Benutzer root weiter<br/>
|
|||
|
78<br/>
|
|||
|
<hr/>
|
|||
|
<a name=79></a>9.3. Apache starten<br/>
|
|||
|
• ist der Server gestartet, öffnet er seine Log-Dateien<br/>
|
|||
|
• der Apache startet mehrere Kind-Prozesse<br/>
|
|||
|
• die Kind-Prozesse werden unter weniger privilegierten Benutzerkennungen aus-<br/>
|
|||
|
geführt(z.B. nobody, wwwrun ...)<br/>
|
|||
|
• die Kind-Prozesse lauschen und beantworten Anfragen von Clients<br/>
|
|||
|
• die Kind-Prozesse werden von dem ausgewählten Multi-Processing-Modul(Apache-<br/>
|
|||
|
MPM prefork UNIX/Linux) gesteuert<br/>
|
|||
|
9.3.3. Fehler während des Hochfahrens<br/>
|
|||
|
• wird während des Hochfahrens einen schwerer Fehler feststellt, schreibt der Apa-<br/>
|
|||
|
che eine Nachricht auf die Konsole oder ins ErrorLog, bevor er sich selbst beendet<br/>
|
|||
|
• eine der häufigsten Fehlermeldungen ist Ünable to bind to Port ...", der Server<br/>
|
|||
|
läuft schon oder hat keine root-Berechtigung<br/>
|
|||
|
9.3.4. Automatisch starten und beenden<br/>
|
|||
|
• apachectl zu den Startdateien des Systems hinzufügen (rc.local, rc.x-Verzeichnis)<br/>
|
|||
|
z.B. SuSE-Linux:<br/>
|
|||
|
cd /etc/rc.d/rc3.d/<br/>
|
|||
|
ln -s ../apache S16apache<br/>
|
|||
|
Link zum automatischen Starten<br/>
|
|||
|
in Runlevel 3 anlegen<br/>
|
|||
|
ln -s ../apache K06apache<br/>
|
|||
|
Link zum automatischen Beenden<br/>
|
|||
|
in Runlevel 3 anlegen<br/>
|
|||
|
z.B. Debian:<br/>
|
|||
|
cd /etc/rc3.d/<br/>
|
|||
|
ln -s ../init.d/apache2 S20apachectl<br/>
|
|||
|
Link zum automatischen Starten in Runlevel 5 anlegen<br/>
|
|||
|
cd /etc/rc0.d/<br/>
|
|||
|
ln -s ../init.d/apache2 K20apachectl<br/>
|
|||
|
Link zum automatischen Beenden in Runlevel 0 anlegen<br/>
|
|||
|
9.3.5. Weitere Informationen<br/>
|
|||
|
http://localhost/manual/programs/httpd.html<br/>
|
|||
|
http://localhost/manual/de/programs/httpd.html<br/>
|
|||
|
http://localhost/manual/programs/apachectl.html<br/>
|
|||
|
http://localhost/manual/de/programs/apachectl.html<br/>
|
|||
|
79<br/>
|
|||
|
<hr/>
|
|||
|
<a name=80></a>9. Apache<br/>
|
|||
|
9.4. Beenden und Neustarten<br/>
|
|||
|
9.4.1. Einleitung<br/>
|
|||
|
• um den Apache zu stoppen oder neu zu starten, muss ein Signal an den laufenden<br/>
|
|||
|
httpd-Prozess gesendet werden<br/>
|
|||
|
• es gibt zwei Möglichkeiten Signale zu senden, kill und apachectl<br/>• auf dem System laufen mehrere httpd-Programme<br/>• nur an den Elternprozess sollte ein Signal gesendet werden, /var/log/apache2/httpd.pid<br/>• es gibt drei Signale die an den Elternprozess gesendet werden können, TERM -<br/>
|
|||
|
beenden, HUP - neustarten, USR1 - unterbrechungsfreier Neustart<br/>
|
|||
|
• es wird empfohlen apachectl zu benutzen<br/>• mit tail -f /var/log/apache2/error_log"kann die Signalisierung beobachtet wer-<br/>
|
|||
|
den<br/>
|
|||
|
9.4.2. Beenden<br/>
|
|||
|
Signal: TERM<br/>
|
|||
|
apachectl stop<br/>
|
|||
|
sendet das TERM(stop) signal an<br/>
|
|||
|
den Elternprozess<br/>
|
|||
|
rcapache stop<br/>
|
|||
|
Apache stoppen<br/>
|
|||
|
bei SuSE-Linux<br/>
|
|||
|
kill -TERM ‘cat /var/log/apache2/httpd.pid‘<br/>
|
|||
|
sendet das TERM(stop) signal an<br/>
|
|||
|
den Elternprozess<br/>
|
|||
|
• das Senden des TERM(stop)-Signals an den Elternprozess veranlasst alle seine<br/>
|
|||
|
Kindprozesse sich zu beenden<br/>
|
|||
|
• es dauert etwas bis alle Kindprozesse beendet sind<br/>• danach beendet sich der Elternprozess<br/>• alle gerade bearbeiteten Anfragen werden abgebrochen<br/>• es werden keine weiteren Anfragen mehr bedient<br/>
|
|||
|
9.4.3. Unterbrechungsfreier Neustart<br/>
|
|||
|
Signal: USR1<br/>
|
|||
|
apachectl graceful<br/>
|
|||
|
sendet das USR1 signal an<br/>
|
|||
|
den Elternprozess<br/>
|
|||
|
kill -USR1 ‘cat /var/log/apache2/httpd.pid‘<br/>
|
|||
|
sendet das USR1 signal an<br/>
|
|||
|
den Elternprozess<br/>
|
|||
|
80<br/>
|
|||
|
<hr/>
|
|||
|
<a name=81></a>9.4. Beenden und Neustarten<br/>
|
|||
|
• das Senden des USR1-Signals an den Elternprozess veranlasst alle seine Kind-<br/>
|
|||
|
prozesse sich zu beenden<br/>
|
|||
|
• die Kindprozesse bearbeiten noch die letzten Anfragen und beenden sich dann<br/>
|
|||
|
• der Elternprozess liest, wärend die Kindprozesse noch laufen, seine Konfigurati-<br/>
|
|||
|
onsdateien erneut ein und öffnet seine Logdateien neu<br/>
|
|||
|
• die Kindprozesse werden wieder gestartet<br/>
|
|||
|
• die Serverstatistiken(mod_status) werden nicht auf Null zurückgesetzt<br/>
|
|||
|
• ist die Konfigurationsdatei fehlerhaft, wird der Elternprozess nicht neu gestartet<br/>
|
|||
|
• die Kindprozesse bearbeiten noch die letzten Anfragen und beenden sich dann<br/>
|
|||
|
• wäred noch die letzten Anfragen bearbeitet werden kann der httpd nicht gestartet<br/>
|
|||
|
werden<br/>
|
|||
|
9.4.4. Neustarten<br/>
|
|||
|
Signal: HUP<br/>
|
|||
|
apachectl restart<br/>
|
|||
|
sendet das HUP signal an<br/>
|
|||
|
den Elternprozess<br/>
|
|||
|
rcapache restart<br/>
|
|||
|
Apache stoppen und dann starten<br/>
|
|||
|
bei SuSE-Linux<br/>
|
|||
|
kill -HUP ‘cat /var/log/apache2/httpd.pid‘<br/>
|
|||
|
sendet das HUP signal an<br/>
|
|||
|
den Elternprozess<br/>
|
|||
|
• das Senden des HUP(wie TERM)-Signals an den Elternprozess veranlasst alle<br/>
|
|||
|
seine Kindprozesse sich zu beenden<br/>
|
|||
|
• der Elternprozess liest seine Konfigurationsdateien erneut ein und öffnet seine<br/>
|
|||
|
Logdateien neu<br/>
|
|||
|
• die Kindprozesse werden wieder gestartet und setzen die Bedienung von Zugriffen<br/>
|
|||
|
fort<br/>
|
|||
|
• die Serverstatistiken(mod_status) werden auf Null zurückgesetzt<br/>
|
|||
|
• ist die Konfigurationsdatei fehlerhaft, wird der Elternprozess nicht neu gestartet<br/>
|
|||
|
9.4.5. Anhang: Syntax überprüfen<br/>
|
|||
|
apachectl -t<br/>
|
|||
|
überprüft den Syntax der Konfigurationsdatei, so kann<br/>
|
|||
|
vermieden werden das der Apache nicht neu startet<br/>
|
|||
|
81<br/>
|
|||
|
<hr/>
|
|||
|
<a name=82></a>9. Apache<br/>
|
|||
|
9.5. Anhang<br/>
|
|||
|
9.5.1. Zu den Dateien<br/>
|
|||
|
/etc/apache/<br/>
|
|||
|
/etc/apache2/<br/>
|
|||
|
/etc/httpd/<br/>
|
|||
|
/etc/httpd2/<br/>
|
|||
|
access.conf<br/>
|
|||
|
Zugriffs-Konfiguration<br/>
|
|||
|
httpd.conf<br/>
|
|||
|
Apache Konfigurationsdatei<br/>
|
|||
|
mime.types<br/>
|
|||
|
Zuweisung von Dateiendungen<br/>
|
|||
|
srm.conf<br/>
|
|||
|
Resource-Konfiguration<br/>
|
|||
|
/var/log/apache/<br/>
|
|||
|
/var/log/apach2/<br/>
|
|||
|
/var/log/httpd/<br/>
|
|||
|
/var/log/httpd2/access_log<br/>
|
|||
|
Zugriffsmeldungen<br/>
|
|||
|
error_log<br/>
|
|||
|
Fehlermeldungen<br/>
|
|||
|
httpd.pid<br/>
|
|||
|
Hauptprozessnummer<br/>
|
|||
|
9.6. Benutzerhandbuch<br/>
|
|||
|
9.6.1. httpd.conf<br/>
|
|||
|
ServerType standalone<br/>
|
|||
|
Apache nicht ueber den inetd starten.<br/>
|
|||
|
ServerRoot "/www/"<br/>
|
|||
|
Diese Einstellung sorgt dafür, dass der Apache<br/>
|
|||
|
ausgehend von diesem Verzeichnis die<br/>
|
|||
|
Verzeichnisse fuer Dokumente, Logfiles und<br/>
|
|||
|
Konfigurationsdateien sucht.<br/>
|
|||
|
LockFile /var/lock/subsys/httpd/httpd.accept.lock<br/>
|
|||
|
Spezifizert das Lock<br/>
|
|||
|
File.<br/>
|
|||
|
PidFile /var/run/httpd.pid<br/>
|
|||
|
Datei, in der sich die Prozess ID des Httpd-<br/>
|
|||
|
Daemons befindet.<br/>
|
|||
|
ResourceConfig /etc/httpd/srm.conf<br/>
|
|||
|
Diese Datei enthaelt Angaben zur<br/>
|
|||
|
Formatierung und dem Aussehen der<br/>
|
|||
|
automatisch erzeugten Verzeichnisindizes<br/>
|
|||
|
(FancyIndexing) sowie Angaben zu den einzelnen<br/>
|
|||
|
Dateitypen.<br/>
|
|||
|
AccessConfig /etc/httpd/access.conf<br/>
|
|||
|
Datei zur Definition der Funktionen und<br/>
|
|||
|
82<br/>
|
|||
|
<hr/>
|
|||
|
<a name=83></a>9.6. Benutzerhandbuch<br/>
|
|||
|
Zugriffsrechte bestimmter Verzeichnisse<br/>
|
|||
|
Timeout 300<br/>
|
|||
|
Zeitlimit fuer Client-Anfragen in Sekunden.<br/>
|
|||
|
KeepAlive On<br/>
|
|||
|
Unterstuezung der HTTP/1.1 Persistent<br/>
|
|||
|
Connections. Dardurch koennen ueber eine TCP-<br/>
|
|||
|
Verbindung mehrere Anfragen an den Server<br/>
|
|||
|
geschickt werden.<br/>
|
|||
|
MaxKeepAliveRequests 10<br/>
|
|||
|
Es werden 10 aufeinanderfolgende Anfragen<br/>
|
|||
|
innerhalb einer Keep-Alive-Verbindung erlaubt.<br/>
|
|||
|
KeepAliveTimeout 15<br/>
|
|||
|
Der Server wartet maximal 15 Sekunden auf<br/>
|
|||
|
weitere Anfragen des Clients bei einer Keep-<br/>
|
|||
|
Alive-Verbindung.<br/>
|
|||
|
MinSpareServers 5<br/>
|
|||
|
Es existieren immer mindestens 5 und hoechstens<br/>
|
|||
|
MaxSpareServers 10<br/>
|
|||
|
10 leerlaufende Prozesse.<br/>
|
|||
|
StartServers 5<br/>
|
|||
|
Es werden automatisch 5 Kindprozesse des Apache<br/>
|
|||
|
gestartet.<br/>
|
|||
|
MaxClients 150<br/>
|
|||
|
Maximum von gleichzeitig laufenden<br/>
|
|||
|
Server-Prozessen.<br/>
|
|||
|
MaxRequestsPerChild 30<br/>
|
|||
|
Nach 30 Anfragen wird der Kindprozess beendet<br/>
|
|||
|
und gegebenfalls ein neuer gestartet.<br/>
|
|||
|
Listen 12.34.56.78:80<br/>
|
|||
|
Falls mehrere Interfaces bzw. IP Adressen fuer<br/>
|
|||
|
den Rechner vorhanden sind, kann mit Listen<br/>
|
|||
|
festgelegt werden, welche Ports fuer welche<br/>
|
|||
|
Adresse abgehoert werden sollen.<br/>
|
|||
|
Port 80<br/>
|
|||
|
Standalone Server Port 80<br/>
|
|||
|
User wwwrun<br/>
|
|||
|
Nach dem Oeffnen des Ports (als root), wechselt<br/>
|
|||
|
Group nogroup<br/>
|
|||
|
Apache zu der als User und Group angegebenen<br/>
|
|||
|
UID bzw. GID. Die Zuweisung kann entweder durch<br/>
|
|||
|
angeben des Namens oder durch # gefolgt von der<br/>
|
|||
|
ID erfolgen.<br/>
|
|||
|
ServerAdmin dv@mynet.loc<br/>
|
|||
|
Bei Fehlermeldungen wird diese Adresse dem<br/>
|
|||
|
Client zurueckgeliefert.<br/>
|
|||
|
ServerName www.mynet.loc<br/>
|
|||
|
Wird bei Redirects benoetigt (wenn man<br/>
|
|||
|
83<br/>
|
|||
|
<hr/>
|
|||
|
<a name=84></a>9. Apache<br/>
|
|||
|
beispielsweise durch Eingabe von<br/>
|
|||
|
http://www.mynet.loc/main auf das Verzeichnis<br/>
|
|||
|
main zugreifen will, erzeugt der Apache einen<br/>
|
|||
|
Redirect auf http://www.mynet.loc/main/ . Ohne<br/>
|
|||
|
ServerName würde der richtige Hostname des<br/>
|
|||
|
Rechners zurückgeliefert werden.<br/>
|
|||
|
DocumentRoot "/www/htdocs/"<br/>
|
|||
|
Hier werden die HTML Seiten abgelegt.<br/>
|
|||
|
AllowOverride All<br/>
|
|||
|
Konfigurationsanweisungen in der .htaccess<br/>
|
|||
|
beachten<br/>
|
|||
|
UserDir public_html<br/>
|
|||
|
Homepage-Directory der Benutzer<br/>
|
|||
|
http://server/~benutzer/<br/>
|
|||
|
DirectoryIndex index.html index.htm index.php<br/>
|
|||
|
Wird nur ein Directory<br/>
|
|||
|
angegeben, wird automatisch die<br/>
|
|||
|
angegebene Datei gesucht und angezeigt.<br/>
|
|||
|
AccessFileName .htaccess<br/>
|
|||
|
Name der .htaccess<br/>
|
|||
|
DefaultType text/plain<br/>
|
|||
|
Dateien ohne Endung werden wie Text-Files<br/>
|
|||
|
behandelt.<br/>
|
|||
|
HostnameLookups Off<br/>
|
|||
|
Es sollen keine DNS-Lookups ausgefuert werden.<br/>
|
|||
|
ErrorLog /var/log/httpd/error_log<br/>
|
|||
|
Datei zur Aufnahme von Fehlermeldungen<br/>
|
|||
|
und sonstigen Info Meldungen<br/>
|
|||
|
(mod_log_config).<br/>
|
|||
|
LogLevel warn<br/>
|
|||
|
LogLevel :-) debug, info, notice, warn, error,<br/>
|
|||
|
crit,alert,emerg.<br/>
|
|||
|
LogFormat ...<br/>
|
|||
|
Legt das Format der Logdatei(en) fest.<br/>
|
|||
|
CustomLog /var/log/httpd/access_log common<br/>
|
|||
|
Erzeugt die Datei http.access im<br/>
|
|||
|
Common Log Format.<br/>
|
|||
|
ServerSignature Off<br/>
|
|||
|
ServerSignature kann man auf "Off" stellen,<br/>
|
|||
|
damit ein Zugriff auf eine nichtexistente Seite<br/>
|
|||
|
nicht Software und Versionsnummer anzeigt,<br/>
|
|||
|
jedoch bringt das nicht allzuviel, da im HTTP<br/>
|
|||
|
Header diese und wesentlich mehr Informationen<br/>
|
|||
|
zu finden sind.<br/>
|
|||
|
84<br/>
|
|||
|
<hr/>
|
|||
|
<a name=85></a>9.6. Benutzerhandbuch<br/>
|
|||
|
Alias /icons/ "/www/icons/"<br/>
|
|||
|
Alias-Namen fuer bestimmte Verzeichnisse. Diese<br/>
|
|||
|
werden anschliessend behandelt, als wenn sie<br/>
|
|||
|
sich unter Document-Root befinden wuerden.<br/>
|
|||
|
Achtung! Die Einstellungen gelten auch fuer<br/>
|
|||
|
virtuelle Hosts.<br/>
|
|||
|
IndexOptions FancyIndexing<br/>
|
|||
|
Als Optionen sind angebbar:<br/>
|
|||
|
Fancyindexing - ausführliche Verzeichnisliste<br/>
|
|||
|
(Icons, Name, Größe, Kurzbeschreibung etc.)<br/>
|
|||
|
SuppressLastModified - keine Angabe der letzten<br/>
|
|||
|
Modifikationszeit<br/>
|
|||
|
SuppressSize - keine Angabe der Filegröße<br/>
|
|||
|
SuppressDescription - keine Angabe einer<br/>
|
|||
|
Kurzbeschreibung<br/>
|
|||
|
ScanHTMLTitles - HTML-Titel als Kurzbeschreibung<br/>
|
|||
|
(Achtung: Rechnerlast!)<br/>
|
|||
|
ReadmeName README<br/>
|
|||
|
Die Datei README wird bei der Ausgabe des<br/>
|
|||
|
Verzeichnisbaums angezeigt.<br/>
|
|||
|
HeaderName HEADER<br/>
|
|||
|
Die Datei HEADER wird am Anfangs-Tag in den<br/>
|
|||
|
Verzeichnisbaums angezeigt.<br/>
|
|||
|
IndexIgnore .??* *~ *#<br/>
|
|||
|
RCS CVS *,v *,t<br/>
|
|||
|
Diese Dateien werden nicht durch<br/>
|
|||
|
FancyIndexing angezeigt.<br/>
|
|||
|
TypesConfig /etc/httpd/mime.types<br/>
|
|||
|
Enthaelt die Zuweisungen Dateiendung<br/>
|
|||
|
zu Mime-Typ<br/>
|
|||
|
BrowserMatch "Mozilla/2" nokeepalive<br/>
|
|||
|
Hiermit wird der Apache angewiesen, auf<br/>
|
|||
|
bestimmte Browser unterschiedlich zu<br/>
|
|||
|
reagieren.<br/>
|
|||
|
9.6.2. Access Control List File (.htaccess)<br/>
|
|||
|
Die Datei .htaccess muß in dem zu schützenden Ordner angelegt werden.<br/>
|
|||
|
AuthUserFile /www/.htpasswd<br/>
|
|||
|
Pfad zu einer Passwortdatei<br/>
|
|||
|
AuthGroupFile /dev/null<br/>
|
|||
|
AuthName "Tux ;-)"<br/>
|
|||
|
AuthType Basic<br/>
|
|||
|
<Limit GET POST PUT><br/>
|
|||
|
require user webmaster<br/>
|
|||
|
</Limit><br/>
|
|||
|
85<br/>
|
|||
|
<hr/>
|
|||
|
<a name=86></a>9. Apache<br/>
|
|||
|
AuthUserFile /www/.htpasswd<br/>
|
|||
|
Pfad zu einer Passwortdatei<br/>
|
|||
|
AuthGroupFile /www/.htgroup<br/>
|
|||
|
Pfad zu einer Gruppendatei<br/>
|
|||
|
AuthName "Tux ;-)"<br/>
|
|||
|
AuthType Basic<br/>
|
|||
|
<Limit GET><br/>
|
|||
|
require group logins<br/>
|
|||
|
</Limit><br/>
|
|||
|
9.6.3. Gruppendatei (.htgroup)<br/>
|
|||
|
cat .htgroup --><br/>
|
|||
|
logins: benutzer1 benutzer2 ...<br/>
|
|||
|
9.6.4. Passwort-Datei (.htpasswd)<br/>
|
|||
|
htpasswd -c Passwortdatei Benutzername<br/>
|
|||
|
erzeugt eine neue Passwortdatei<br/>
|
|||
|
und ein Benutzer<br/>
|
|||
|
htpasswd Passwortdatei Benutzername<br/>
|
|||
|
erzeugt ein Benutzer<br/>
|
|||
|
9.6.5. Erstellen eines SSL-Zertifikats<br/>
|
|||
|
openssl req -new > firma.csr<br/>
|
|||
|
openssl rsa -in privkey.pem -out firma.key<br/>
|
|||
|
openssl x509 -in firma.csr -out firma.crt -req -signkey firma.key -days 10000<br/>
|
|||
|
cp firma.key /etc/httpd/ssl.key/server.key<br/>
|
|||
|
cp firma.crt /etc/httpd/ssl.crt/server.crt<br/>
|
|||
|
cp firma.csr /etc/httpd/ssl.csr/server.csr<br/>
|
|||
|
chown root privkey.pem<br/>
|
|||
|
chmod 400 privkey.pem<br/>
|
|||
|
9.6.6. LinkIcon (favicon.ico)<br/>
|
|||
|
Was ist ein favicon.ico?<br/>
|
|||
|
Immer wenn ein IE5 Benutzer eine Seite seinen Favoriten hinzufügt, sucht der IE5<br/>
|
|||
|
nach einem Icon das er anstatt des Standardicons in der Favoritenliste anzeigen kann.<br/>
|
|||
|
Er sucht zuerst im aktuellen ’Verzeichnis’ und geht dann Ebene für Ebene weiter bis<br/>
|
|||
|
zum Wurzelverzeichnis. Nehmen wir mal an, das aktuelle Dokument befindet sich un-<br/>
|
|||
|
ter http://www.bjoernsworld.de/suchmaschinen/ optimieren/aufraeumen.html, dann<br/>
|
|||
|
wird der IE 5 so nach dem Icon suchen:<br/>
|
|||
|
http://www.bjoernsworld.de/suchmaschinen/optimieren/favicon.ico<br/>
|
|||
|
http://www.bjoernsworld.de/suchmaschinen/favicon.ico<br/>
|
|||
|
http://www.bjoernsworld.de/favicon.ico<br/>
|
|||
|
86<br/>
|
|||
|
<hr/>
|
|||
|
<a name=87></a>9.6. Benutzerhandbuch<br/>
|
|||
|
Er sucht solange, bis er eines gefunden hat oder bei /favicon.ico angekommen ist.<br/>
|
|||
|
Das gilt nur für den Internet Explorer Version 5.0 und 5.01; Version 5.5 sucht nur noch<br/>
|
|||
|
nach /favicon.ico selbstständig. Hat er eins gefunden, zeigt er es in der Favoritenliste<br/>
|
|||
|
an und beim erneuten Besuch der Seite auch links neben der URL in der Adresszeile:<br/>
|
|||
|
Welches Format hat das favicon.ico?<br/>
|
|||
|
Das favicon.ico ist ein Icon im Microsoft Windows Icon File Format. Windows Be-<br/>
|
|||
|
nutzer sehen täglich solche Icons auf ihrem Desktop, in ihrem Startmenü, etc. In der<br/>
|
|||
|
Favoritenliste wird dieses Icon in der Größe 16x16 Pixel dargestellt, daher sollte man<br/>
|
|||
|
das Icon auch in dieser Größe erstellen. Die Farbzahl beschränkt sich auf 16 bzw. 256<br/>
|
|||
|
Farben, wobei eine als transparente Farbe gilt.<br/>
|
|||
|
Welchen MIME-Type hat das favicon.ico?<br/>
|
|||
|
Der korrekte MIME-Type für das favicon.ico ist image/x-icon. Beim Apache Webserver<br/>
|
|||
|
kann man das in einer .htaccess mit der Zeile:<br/>
|
|||
|
AddType image/x-icon .ico<br/>
|
|||
|
konfigurieren.<br/>
|
|||
|
Wie erstelle ich ein favicon.ico?<br/>
|
|||
|
Man braucht dafür einen Icon Editor wie man sie zuhauf bei Tucows oder Winfiles. com<br/>
|
|||
|
finden kann. Mit z.B. dem Freeware Tool Irfan View ist es ohne Probleme möglich,<br/>
|
|||
|
eine Gifdatei in das Icon Format zu konvertieren. Macintosh Benutzer können den<br/>
|
|||
|
GraphicConverter von Thorsten Lemke oder den Iconographer von MscapeSoftware<br/>
|
|||
|
benutzen um das Icon zu erstellen. Bei favicon.com gibt es einen Online Editor in<br/>
|
|||
|
Java, mit dem man online sein eigenes favicon.ico erstellen kann.<br/>
|
|||
|
Wohin muss das favicon.ico?<br/>
|
|||
|
Wie oben schon gesagt, sucht der IE5, vor Version 5.5, zuerst im aktuellen ’Verzeichnis’<br/>
|
|||
|
und geht dann Ebene um Ebene nach oben, bis er unter http://host/favicon.ico ein<br/>
|
|||
|
Icon findet oder eben nicht. Man kann entweder in jedes Verzeichnis ein favicon.ico<br/>
|
|||
|
plazieren, oder im <HEAD> einer jeden HTML Datei auf ein Icon verweisen:<br/>
|
|||
|
<link rel="SHORTCUT ICON" href="/favicon.ico" title="external:/favicon.ico"><br/>
|
|||
|
Wenn der Apache Webserver mit mod_rewrite benutzt wird, kann man mit dieser<br/>
|
|||
|
Regel:<br/>
|
|||
|
RewriteEngine on<br/>
|
|||
|
RewriteRule ^(.+)/favicon\.ico$ /favicon.ico [R=permanent] [L]<br/>
|
|||
|
87<br/>
|
|||
|
<hr/>
|
|||
|
<a name=88></a>9. Apache<br/>
|
|||
|
(z.B. in der .htaccess) alle Anfragen für favicons in Unterverzeichnissen auf das<br/>
|
|||
|
favicon.ico im Root-Verzeichnis der Domain umleiten.<br/>
|
|||
|
Wenn mod_rewrite nicht zur Verfügung steht, wohl aber Zugriff auf die Konfigu-<br/>
|
|||
|
rationsdateien Apache Web Servers, kann man in z.B. der <VirtualHost> Sektion<br/>
|
|||
|
folgenden Befehl einfügen:<br/>
|
|||
|
RedirectMatch Permanent ^(.+)/favicon\.ico$ http://server.de/favicon.ico<br/>
|
|||
|
Wie kann man diese Funktion abstellen?<br/>
|
|||
|
Es gibt meines Wissens nach keine Möglichkeit den IE5 dazu zu bringen, nicht nach<br/>
|
|||
|
dem favicon.ico zu suchen.<br/>
|
|||
|
Links zum Thema:<br/>
|
|||
|
http://www.favicon.de/<br/>
|
|||
|
http://www.favicon.com/<br/>
|
|||
|
http://wdvl.com/Authoring/Design/Images/Favicon/index.html<br/>
|
|||
|
http://msdn.microsoft.com/workshop/essentials/versions/ICPIE5.asp<br/>
|
|||
|
http://msdn.microsoft.com/workshop/Author/dhtml/howto/ShortcutIcon.asp<br/>
|
|||
|
http://www.winfiles.com/apps/98/icons-edit.html<br/>
|
|||
|
http://web.cip.com.br/flaviovs/sec/favicon/privacy.html<br/>
|
|||
|
http://web.cip.com.br/flaviovs/sec/favicon/index.html<br/>
|
|||
|
http://www.bjoernsworld.de/ie/398da66c.24234236@news.bjoern.hoehrmann.de.txt<br/>
|
|||
|
88<br/>
|
|||
|
<hr/>
|
|||
|
<a name=89></a>10. MySQL<br/>
|
|||
|
10.1. Einleitung<br/>
|
|||
|
MySQL ist eine Datenbank und phpMyAdmin eine Web-Oberfläche, um MySQL zu<br/>
|
|||
|
konfigurieren.<br/>
|
|||
|
10.2. Kompilieren und Installieren<br/>
|
|||
|
10.2.1. Anforderungen<br/>
|
|||
|
• MySQL-Quellcode 4.x.xx, erhältlich bei http://www.mysql.com/<br/>
|
|||
|
• Linux 2.x.xx<br/>
|
|||
|
• ANSI-C-Compiler und Generierungswerkzeuge, GNU C Compiler (GCC) ab Ver-<br/>
|
|||
|
sion 2.95.4, wesentliche Generierungswerkzeuge wie make<br/>
|
|||
|
• phpMyAdmin 2.x.x(optional), erhältlich bei http://www.phpmyadmin.net/, Web-<br/>
|
|||
|
Server, Apache 1 oder 2 mit PHP 4 oder 5<br/>
|
|||
|
10.2.2. Vorbereitungen<br/>
|
|||
|
su<br/>
|
|||
|
als root anmelden<br/>
|
|||
|
mkdir /usr/local/src<br/>
|
|||
|
das Verzeichnis /usr/local/src anlegen,<br/>
|
|||
|
wenn es noch nicht vorhanden ist<br/>
|
|||
|
chmod 777 /usr/local/src<br/>
|
|||
|
Verzeichnis-Rechte setzen<br/>
|
|||
|
exit<br/>
|
|||
|
root abmelden<br/>
|
|||
|
cp Quelldateien /usr/local/src<br/>
|
|||
|
Quelldateien kopieren<br/>
|
|||
|
10.2.3. MySQL<br/>
|
|||
|
cd /usr/local/src<br/>
|
|||
|
Verzeichnis wechseln<br/>
|
|||
|
tar xvfz mysql-4.0.21.tar.gz<br/>
|
|||
|
Quelldateien entpacken<br/>
|
|||
|
cd mysql-4.0.21<br/>
|
|||
|
in das Quelldatei-Verzeichnis wechseln<br/>
|
|||
|
./configure --help<br/>
|
|||
|
Hilfe zu den miöglichen Optionen<br/>
|
|||
|
./configure --prefix=/usr/local/mysql/4.0.21 --localstatedir=/var/mysql/data<br/>
|
|||
|
prefix: Installations-Verzeichnis<br/>
|
|||
|
localstatedir: Daten-Verzeichnis<br/>
|
|||
|
make<br/>
|
|||
|
Programm herstellen<br/>
|
|||
|
89<br/>
|
|||
|
<hr/>
|
|||
|
<a name=90></a>10. MySQL<br/>
|
|||
|
su<br/>
|
|||
|
als root anmelden<br/>
|
|||
|
make install<br/>
|
|||
|
Programm installieren (als root!)<br/>
|
|||
|
ln -s /usr/local/mysql/4.0.21 /usr/local/mysql/current<br/>
|
|||
|
Link zu MySQL<br/>
|
|||
|
cp support-files/mysql.server /etc/init.d/mysql<br/>
|
|||
|
Startdatei kopieren<br/>
|
|||
|
chmod 755 /etc/init.d/mysql<br/>
|
|||
|
Dateirechte einstellen<br/>
|
|||
|
ln -s /etc/init.d/mysql /etc/rc5.d/S20mysql<br/>
|
|||
|
Link zum Starten in Runlevel5 anlegen<br/>
|
|||
|
ln -s /etc/init.d/mysql /etc/rc6.d/K20mysql<br/>
|
|||
|
Link zum Beenden in Runlevel6 anlegen<br/>
|
|||
|
ln -s /etc/init.d/mysql /etc/rc0.d/K20mysql<br/>
|
|||
|
Link zum Beenden in Runlevel0 anlegen<br/>
|
|||
|
groupadd mysql<br/>
|
|||
|
Gruppe mysql anlegen<br/>
|
|||
|
useradd -g mysql -d /usr/local/mysql/current -s /bin/false mysql<br/>
|
|||
|
Benutzer mysql anlengen<br/>
|
|||
|
mkdir -p /var/mysql/data<br/>
|
|||
|
Daten-Verzeichnis anlegen<br/>
|
|||
|
./scripts/mysql_install_db --user=mysql initiale Datenbank installieren<br/>
|
|||
|
cd /usr/local/mysql/current<br/>
|
|||
|
in das mysql Verzeichnis wechseln<br/>
|
|||
|
cp share/mysql/my-medium.cnf /var/mysql/data/my.cnf<br/>
|
|||
|
Konfiguration anlegen<br/>
|
|||
|
chown -R root:mysql .<br/>
|
|||
|
Benutzer-Gruppen-Rechte setzen<br/>
|
|||
|
chown -R mysql:mysql /var/mysql/data<br/>
|
|||
|
Rechte für das Daten-Verzeichnis setzen<br/>
|
|||
|
/etc/init.d/mysql start<br/>
|
|||
|
mysql starten<br/>
|
|||
|
./bin/mysqladmin -u root password ’geheim’<br/>
|
|||
|
Datenbank-Passwort setzen<br/>
|
|||
|
Achtung ! das Passwort steht danach in<br/>
|
|||
|
der ~/.bash_history<br/>
|
|||
|
10.2.4. MySQL Testen<br/>
|
|||
|
./bin/mysql -D mysql -u root -p<br/>
|
|||
|
Client starten und zugriff auf die<br/>
|
|||
|
Steuerungs-Datenbank nehmen<br/>
|
|||
|
mysql> show tables;<br/>
|
|||
|
Tabelle anzeigen<br/>
|
|||
|
+-----------------+<br/>
|
|||
|
| Tables_in_mysql |<br/>
|
|||
|
+-----------------+<br/>
|
|||
|
| columns_priv<br/>
|
|||
|
|<br/>
|
|||
|
| db<br/>
|
|||
|
|<br/>
|
|||
|
| func<br/>
|
|||
|
|<br/>
|
|||
|
| host<br/>
|
|||
|
|<br/>
|
|||
|
| tables_priv<br/>
|
|||
|
|<br/>
|
|||
|
| user<br/>
|
|||
|
|<br/>
|
|||
|
90<br/>
|
|||
|
<hr/>
|
|||
|
<a name=91></a>10.2. Kompilieren und Installieren<br/>
|
|||
|
+-----------------+<br/>
|
|||
|
6 rows in set (0.00 sec)<br/>
|
|||
|
mysql> exit;<br/>
|
|||
|
Client beenden<br/>
|
|||
|
Bye<br/>
|
|||
|
exit<br/>
|
|||
|
root abmelden<br/>
|
|||
|
10.2.5. phpMyAdmin<br/>
|
|||
|
su<br/>
|
|||
|
als root anmelden<br/>
|
|||
|
cd /srv/www/htdocs<br/>
|
|||
|
in das Apache1.3-Verzeichnis wechseln<br/>
|
|||
|
cd /srv/www2/htdocs<br/>
|
|||
|
in das Apache2-Verzeichnis wechseln<br/>
|
|||
|
tar xvfj /usr/local/src/phpMyAdmin-2.5.7-pl1.tar.bz2<br/>
|
|||
|
Dateien entpacken<br/>
|
|||
|
ln -s phpMyAdmin-2.5.7-pl1 phpMyAdmin<br/>
|
|||
|
Link zu phpMyAdmin anlegen<br/>
|
|||
|
vi phpMyAdmin/config.inc.php<br/>
|
|||
|
phpMyAdmin anpassen<br/>
|
|||
|
$cfg[’PmaAbsoluteUri’] = ’http://localhost/phpMyAdmin/’;<br/>
|
|||
|
URL zu Apache1.3<br/>
|
|||
|
$cfg[’PmaAbsoluteUri’] = ’http://localhost:81/phpMyAdmin/’;<br/>
|
|||
|
URL zu Apache2<br/>
|
|||
|
$cfg[’Servers’][$i][’user’]<br/>
|
|||
|
= ’root’;<br/>
|
|||
|
// MySQL user<br/>
|
|||
|
$cfg[’Servers’][$i][’password’]<br/>
|
|||
|
= ’geheim’; // MySQL password<br/>
|
|||
|
vi phpMyAdmin/.htaccess<br/>
|
|||
|
htaccess anlegen<br/>
|
|||
|
AuthType Basic<br/>
|
|||
|
AuthName "PhpMyAdmin"<br/>
|
|||
|
AuthUserFile /srv/www/htdocs/phpMyAdmin/.htpasswd<br/>
|
|||
|
Apache1.3<br/>
|
|||
|
AuthUserFile /srv/www2/htdocs/phpMyAdmin/.htpasswd<br/>
|
|||
|
Apache2<br/>
|
|||
|
AuthGroupFile /dev/null<br/>
|
|||
|
<Limit GET POST><br/>
|
|||
|
require valid-user<br/>
|
|||
|
</Limit><br/>
|
|||
|
cd /usr/local/apache/current/bin<br/>
|
|||
|
Verzeichnis wechseln, Apache1.3<br/>
|
|||
|
cd /usr/local/apache2/current/bin<br/>
|
|||
|
Verzeichnis wechseln, Apache2<br/>
|
|||
|
./htpasswd --help<br/>
|
|||
|
Hilfe zu htpasswd<br/>
|
|||
|
./htpasswd -c /srv/www/htdocs/phpMyAdmin/.htpasswd root<br/>
|
|||
|
Apache1.3<br/>
|
|||
|
./htpasswd -c /srv/www2/htdocs/phpMyAdmin/.htpasswd root<br/>
|
|||
|
Apache2<br/>
|
|||
|
vi /etc/apache/httpd.conf<br/>
|
|||
|
Apache1.3 anpassen<br/>
|
|||
|
91<br/>
|
|||
|
<hr/>
|
|||
|
<a name=92></a>10. MySQL<br/>
|
|||
|
vi /etc/apache2/httpd.conf<br/>
|
|||
|
Apache2 anpassen<br/>
|
|||
|
<Directory "/srv/www/htdocs"><br/>
|
|||
|
Options Indexes FollowSymLinks MultiViews<br/>
|
|||
|
AllowOverride AuthConfig<br/>
|
|||
|
None -> AuthConfig<br/>
|
|||
|
Order allow,deny<br/>
|
|||
|
Allow from all<br/>
|
|||
|
</Directory><br/>
|
|||
|
/etc/init.d/apache graceful<br/>
|
|||
|
Einstellungen neu einlesen, Apache1.3<br/>
|
|||
|
/etc/init.d/apache2 graceful<br/>
|
|||
|
Einstellungen neu einlesen, Apache2<br/>
|
|||
|
exit<br/>
|
|||
|
root abmelden<br/>
|
|||
|
92<br/>
|
|||
|
<hr/>
|
|||
|
<a name=93></a>11. PHP<br/>
|
|||
|
11.1. Einleitung<br/>
|
|||
|
Wer hat PHP erfunden ?<br/>
|
|||
|
Der Kanada-Däne Rasmus Lerdorf !<br/>
|
|||
|
Was heist PHP ?<br/>
|
|||
|
Personal Home Page Tools<br/>
|
|||
|
Was ist PHP ?<br/>
|
|||
|
Eine einfache Skriptsprache. Sie wird direkt<br/>
|
|||
|
in HTML-Seiten eingefügt und vom Webserver<br/>
|
|||
|
interpretiert.<br/>
|
|||
|
Wie funktioniert PHP ?<br/>
|
|||
|
Der Browser schickt einen HTTP-Request an den<br/>
|
|||
|
Webserver. Der Server reagiert, liest die<br/>
|
|||
|
PHP-Seite ein, und führt die Skripte aus und<br/>
|
|||
|
schickt erst das fertig zusammengesetzte<br/>
|
|||
|
Dokument zurück an den Browser !<br/>
|
|||
|
LAMP - Linux-Apache-MySQL-PHP<br/>
|
|||
|
WAMP - Windows-Apache-MySQL-PHP<br/>
|
|||
|
11.2. Kompilieren und Installieren<br/>
|
|||
|
11.2.1. Anforderungen<br/>
|
|||
|
• PHP 4 oder 5, erhältlich bei http://www.php.net/<br/>
|
|||
|
• Linux ab 2.4.xx(z.B.Debian Sarge 3.1)<br/>
|
|||
|
• ANSI-C-Compiler und Generierungswerkzeuge, GNU C Compiler (GCC) ab Ver-<br/>
|
|||
|
sion 2.7.2, wesentliche Generierungswerkzeuge wie make<br/>
|
|||
|
• Webserver z.B. Apache 1.3 oder 2<br/>
|
|||
|
• GD-Library ab 2.x.x, erhältlich bei http://www.boutell.com/gd/, Freetype ab<br/>
|
|||
|
2.x.x, erhältlich bei http://www.freetype.org/, Zlib ab 1.x.x, erhältlich bei http://www.gzip.org/zlib/,<br/>
|
|||
|
IJG JPEG, erhältlich bei http://www.ijg.org/<br/>
|
|||
|
11.2.2. Vorbereitungen<br/>
|
|||
|
su<br/>
|
|||
|
als root anmelden<br/>
|
|||
|
mkdir /usr/local/src<br/>
|
|||
|
das Verzeichnis /usr/local/src anlegen,<br/>
|
|||
|
wenn es noch nicht vorhanden ist<br/>
|
|||
|
93<br/>
|
|||
|
<hr/>
|
|||
|
<a name=94></a>11. PHP<br/>
|
|||
|
chmod 777 /usr/local/src<br/>
|
|||
|
Verzeichnis-Rechte setzen<br/>
|
|||
|
exit<br/>
|
|||
|
root abmelden<br/>
|
|||
|
cp Quelldateien /usr/local/src<br/>
|
|||
|
Quelldateien kopieren<br/>
|
|||
|
11.2.3. Libraries für Zusatzfunktionen<br/>
|
|||
|
Freetype<br/>
|
|||
|
cd /usr/local/src<br/>
|
|||
|
Verzeichnis wechseln<br/>
|
|||
|
tar xvfj freetype-2.1.9.tar.bz2<br/>
|
|||
|
Quelldateien entpacken<br/>
|
|||
|
cd freetype-2.1.9<br/>
|
|||
|
in das Quelldatei-Verzeichnis wechseln<br/>
|
|||
|
./configure<br/>
|
|||
|
Codebaum konfigurieren<br/>
|
|||
|
make<br/>
|
|||
|
Programm herstellen<br/>
|
|||
|
su<br/>
|
|||
|
als root anmelden<br/>
|
|||
|
make install<br/>
|
|||
|
Programm installieren<br/>
|
|||
|
exit<br/>
|
|||
|
root abmelden<br/>
|
|||
|
Zlib<br/>
|
|||
|
cd /usr/local/src<br/>
|
|||
|
Verzeichnis wechseln<br/>
|
|||
|
tar xvfz zlib-1.2.1.tar.gz<br/>
|
|||
|
Quelldateien entpacken<br/>
|
|||
|
cd zlib-1.2.1<br/>
|
|||
|
in das Quelldatei-Verzeichnis wechseln<br/>
|
|||
|
./configure<br/>
|
|||
|
Codebaum konfigurieren<br/>
|
|||
|
make<br/>
|
|||
|
Programm herstellen<br/>
|
|||
|
su<br/>
|
|||
|
als root anmelden<br/>
|
|||
|
make install<br/>
|
|||
|
Programm installieren<br/>
|
|||
|
exit<br/>
|
|||
|
root abmelden<br/>
|
|||
|
IJG JPEG<br/>
|
|||
|
cd /usr/local/src<br/>
|
|||
|
Verzeichnis wechseln<br/>
|
|||
|
tar xvfz jpegsrc.v6b.tar.gz<br/>
|
|||
|
Quelldateien entpacken<br/>
|
|||
|
cd jpeg-6b<br/>
|
|||
|
in das Quelldatei-Verzeichnis wechseln<br/>
|
|||
|
./configure --help<br/>
|
|||
|
Hilfe zu den möglichen Optionen<br/>
|
|||
|
./configure --enable-shared<br/>
|
|||
|
--enable-static<br/>
|
|||
|
--prefix=/usr/local<br/>
|
|||
|
make<br/>
|
|||
|
Programm herstellen<br/>
|
|||
|
make test<br/>
|
|||
|
Programm testen<br/>
|
|||
|
su<br/>
|
|||
|
als root anmelden<br/>
|
|||
|
make install<br/>
|
|||
|
Programm installieren<br/>
|
|||
|
exit<br/>
|
|||
|
root abmelden<br/>
|
|||
|
GD-Library<br/>
|
|||
|
cd /usr/local/src<br/>
|
|||
|
Verzeichnis wechseln<br/>
|
|||
|
94<br/>
|
|||
|
<hr/>
|
|||
|
<a name=95></a>11.2. Kompilieren und Installieren<br/>
|
|||
|
tar xvfz gd-2.0.28.tar.gz<br/>
|
|||
|
Quelldateien entpacken<br/>
|
|||
|
cd gd-2.0.28<br/>
|
|||
|
in das Quelldatei-Verzeichnis wechseln<br/>
|
|||
|
./configure<br/>
|
|||
|
Codebaum konfigurieren<br/>
|
|||
|
make<br/>
|
|||
|
Programm herstellen<br/>
|
|||
|
su<br/>
|
|||
|
als root anmelden<br/>
|
|||
|
make install<br/>
|
|||
|
Programm installieren<br/>
|
|||
|
exit<br/>
|
|||
|
root abmelden<br/>
|
|||
|
11.2.4. PHP<br/>
|
|||
|
cd /usr/local/src<br/>
|
|||
|
Verzeichnis wechseln<br/>
|
|||
|
tar xvfj php-5.0.1.tar.bz2<br/>
|
|||
|
Quelldateien entpacken<br/>
|
|||
|
cd php-5.0.1<br/>
|
|||
|
in das Quelldatei-Verzeichnis wechseln<br/>
|
|||
|
./configure --help<br/>
|
|||
|
Hilfe zu den möglichen Optionen<br/>
|
|||
|
./configure --with-apxs=/usr/local/apache/current/bin/apxs<br/>
|
|||
|
Apache 1.3 oder<br/>
|
|||
|
--with-apxs2=/usr/local/apache2/current/bin/apxs<br/>
|
|||
|
Apache 2<br/>
|
|||
|
--with-mysql=/usr/local/mysql/current<br/>
|
|||
|
--with-zlib<br/>
|
|||
|
--with-ftp<br/>
|
|||
|
--with-gd<br/>
|
|||
|
--with-jpeg-dir=/usr/local/lib<br/>
|
|||
|
--enable-versioning<br/>
|
|||
|
--enable-track-vars=yes<br/>
|
|||
|
--enable-url-includes<br/>
|
|||
|
--enable-sysvshm=yes<br/>
|
|||
|
--enable-sysvsem=yes<br/>
|
|||
|
--with-config-file-path=/etc<br/>
|
|||
|
make<br/>
|
|||
|
Programm herstellen<br/>
|
|||
|
su<br/>
|
|||
|
als root anmelden<br/>
|
|||
|
make install<br/>
|
|||
|
Programm installieren<br/>
|
|||
|
cp php.ini-dist /etc/php.ini<br/>
|
|||
|
PHP-Konfiguration kopieren<br/>
|
|||
|
vi /etc/apache/httpd.conf<br/>
|
|||
|
Apache1.3 anpassen<br/>
|
|||
|
vi /etc/apache2/httpd.conf<br/>
|
|||
|
Apache2 anpassen<br/>
|
|||
|
LoadModule php5_module<br/>
|
|||
|
modules/libphp5.so<br/>
|
|||
|
Apache2<br/>
|
|||
|
LoadModule php5_module<br/>
|
|||
|
libexec/libphp5.so<br/>
|
|||
|
Apache1.3<br/>
|
|||
|
AddModule mod_php5.c<br/>
|
|||
|
Apache1.3<br/>
|
|||
|
DirectoryIndex index.html index.htm index.html.var index.php index.phtml<br/>
|
|||
|
AddType application/x-httpd-php .php<br/>
|
|||
|
AddType application/x-httpd-php-source .phps<br/>
|
|||
|
exit<br/>
|
|||
|
root abmelden<br/>
|
|||
|
95<br/>
|
|||
|
<hr/>
|
|||
|
<a name=96></a>11. PHP<br/>
|
|||
|
11.3. Referenz<br/>
|
|||
|
11.3.1. Grundlagen<br/>
|
|||
|
<?php , <? oder <%<br/>
|
|||
|
Beginn des PHP-Abschnitts<br/>
|
|||
|
?> oder %><br/>
|
|||
|
Ende des PHP-Abschnitts<br/>
|
|||
|
;<br/>
|
|||
|
Zeilenende<br/>
|
|||
|
// Kommentartext<br/>
|
|||
|
Einzeiliger Kommentartext<br/>
|
|||
|
/* Kommentartext<br/>
|
|||
|
Einleitung, mehrzeiliger Kommentartext<br/>
|
|||
|
Kommentartext */<br/>
|
|||
|
Abschluss, mehrzeiliger Kommentartext<br/>
|
|||
|
$<br/>
|
|||
|
Variablen anfang<br/>
|
|||
|
echo "Text" ;<br/>
|
|||
|
Text ausgeben<br/>
|
|||
|
echo "Text $Variable Text" ;<br/>
|
|||
|
Variable ausgeben<br/>
|
|||
|
echo "Text".$Variable."Text" ; . Verketten von Zeichenfolgen<br/>
|
|||
|
echo "Text\n" ;<br/>
|
|||
|
\n Erzeugt eine neue Zeile<br/>
|
|||
|
echo "Text\r" ;<br/>
|
|||
|
\r Erzeugt einen neuen Absatz (return)<br/>
|
|||
|
echo "Text\tText" ;<br/>
|
|||
|
\t Erzeugt ein Tabulatorschritt<br/>
|
|||
|
echo "\"Text\"" ;<br/>
|
|||
|
\" Gänsefüßchen ausgeben<br/>
|
|||
|
echo "\’Text\’" ;<br/>
|
|||
|
\’ Einfache Anführungszeichen ausgeben<br/>
|
|||
|
echo "\$Text\$" ;<br/>
|
|||
|
\$ Dollar-Zeichen ausgeben<br/>
|
|||
|
echo "\\Text\\" ;<br/>
|
|||
|
\\ Backslash ausgeben<br/>
|
|||
|
$Array[Indexwert]="Wert" ;<br/>
|
|||
|
Wert einer Array-Variable zuweisen (Langform)<br/>
|
|||
|
$Array=array("W0","W1") ;<br/>
|
|||
|
Werte einer Array-Variable zuweisen (Kurzform)<br/>
|
|||
|
echo $Array[Indexwert] ;<br/>
|
|||
|
Wert einer Array-Variable ausgeben<br/>
|
|||
|
$Array[Index-Ersatz]="Wert" ;<br/>
|
|||
|
Wert eines Assoziativen-Arrays zuweisen (Langf.)<br/>
|
|||
|
$Array=array("I-E0"=>"W0","I-E1"=>"W1") ;<br/>
|
|||
|
Werte eines Assoziativen-Arrays zuweisen(Kurzf.)<br/>
|
|||
|
echo $Array[Index-Ersatz] ;<br/>
|
|||
|
Wert eines Assoziativen-Arrays ausgeben<br/>
|
|||
|
$a=$b+$c ;<br/>
|
|||
|
Addition von $b und $c gleich $a<br/>
|
|||
|
$a=$b-$c ;<br/>
|
|||
|
Subtraktion von $b minus $c gleich $a<br/>
|
|||
|
$a=$b*$c ;<br/>
|
|||
|
Multiplikation von $b mal $c gleich $a<br/>
|
|||
|
$a=$b/$c ;<br/>
|
|||
|
Division $b geteilt durch $c gleich $a<br/>
|
|||
|
$a++ ;<br/>
|
|||
|
$a=$a+1 ;<br/>
|
|||
|
$a-- ;<br/>
|
|||
|
$a=$a-1 ;<br/>
|
|||
|
$a=3.1415 ;<br/>
|
|||
|
. Dezimaltrenner<br/>
|
|||
|
11.3.2. Funktionen<br/>
|
|||
|
phpinfo() ;<br/>
|
|||
|
PHP-Informationen ausgeben<br/>
|
|||
|
$Wochentag=date("w") ;<br/>
|
|||
|
Wochentag ermitteln 0-So bis 6-Sa<br/>
|
|||
|
$Monatszahl=date("m") ;<br/>
|
|||
|
Monatszahl ermitteln<br/>
|
|||
|
$Anzahl=count($Array) ;<br/>
|
|||
|
Elemet-Anzahl eines Arrays ermitteln<br/>
|
|||
|
$Wert=round($Wert,Nachkommastellen) ;<br/>
|
|||
|
Rundet den Wert mit Nachkommastellen<br/>
|
|||
|
$Wert=sprintf("%01.2f",$Wert) ; Rundet den Wert auf 2 :Nachkommastellen<br/>
|
|||
|
96<br/>
|
|||
|
<hr/>
|
|||
|
<a name=97></a>12. Squid<br/>
|
|||
|
12.1. Proxy<br/>
|
|||
|
Squid = Proxy-Cache = Stellvertreter-Zwischenspeicher<br/>
|
|||
|
12.2. Einfacher Cache<br/>
|
|||
|
*---------------*<br/>
|
|||
|
*------------* | *---------* | *------------*<br/>
|
|||
|
| lokaler Cache |<--->| WWW-Client |<--->| Intenet |<--->| WWW-Server |<br/>
|
|||
|
*---------------*<br/>
|
|||
|
*------------* | *---------* | *------------*<br/>
|
|||
|
Die einfachste form des Caches<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
12.3. Proxy Cache<br/>
|
|||
|
*------------*<br/>
|
|||
|
| WWW-Client |<-+<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
*------------* |<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
*------------* | *-------------* | *---------* | *------------*<br/>
|
|||
|
| WWW-Client |<-+->| Proxy Cache |<--->| Intenet |<--->| WWW-Server |<br/>
|
|||
|
*------------* | *-------------* | *---------* | *------------*<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
*------------* |<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
| WWW-Client |<-+<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
*------------*<br/>
|
|||
|
12.4. Aufgaben<br/>
|
|||
|
• Zwischenspeichern von Internetseitten -> Beschleunigter Zugriff auf Internetin-<br/>
|
|||
|
halte<br/>
|
|||
|
• Abkoppelung vom direkten Zugriff auf das Internet -> Erhöte Sicherheit im<br/>
|
|||
|
lokalem Netz<br/>
|
|||
|
• Filterung von Interrnetseiten<br/>
|
|||
|
• Protokollierung des Internetverkehrs<br/>
|
|||
|
97<br/>
|
|||
|
<hr/>
|
|||
|
<a name=98></a>12. Squid<br/>
|
|||
|
12.5. Eigenschaften<br/>
|
|||
|
• Größe des Cache kann frei definiert werden<br/>
|
|||
|
• Aufbau von Cache-Hierarchien<br/>
|
|||
|
• Eigener DNS-Cache<br/>
|
|||
|
• Authentifizierung über zusätzliche Module möglich<br/>
|
|||
|
• Für Win, OS/2, Linux, BSD, Solaris verfügbar<br/>
|
|||
|
• Ausfilterung und Anonymisierung der Anfragen<br/>
|
|||
|
• Sehr flexible Zugriffskontrolle<br/>
|
|||
|
• Filterung über externe Programme (Squid-Guard)<br/>
|
|||
|
12.6. Protokolle<br/>
|
|||
|
12.6.1. Client-Kommunikation<br/>
|
|||
|
• Hyper Text Transfer Protocol (HTTP)<br/>
|
|||
|
• File Transfer Protocol (FTP)<br/>
|
|||
|
• Gopher<br/>
|
|||
|
• Wide Area Information Service (WAIS)<br/>
|
|||
|
• Secure Socket Layer (SSL)<br/>
|
|||
|
12.6.2. Kommunikation zwischen Proxy-Cache-Servern<br/>
|
|||
|
• HyperText Transfer Protocol (HTTP)<br/>
|
|||
|
• Internet Cache Protocol (ICP(3130))<br/>
|
|||
|
• Cache Digests (Index von anderen Caches abfragen)<br/>
|
|||
|
• Simple Network Management Protocol (SNMP)<br/>
|
|||
|
• HyperText Caching Protocol (HTCP(4837))<br/>
|
|||
|
• Web Cache Coordination Protocol (WCCP)<br/>
|
|||
|
98<br/>
|
|||
|
<hr/>
|
|||
|
<a name=99></a>12.7. Systemvoraussetzungen<br/>
|
|||
|
12.7. Systemvoraussetzungen<br/>
|
|||
|
• Langsamme CPU<br/>
|
|||
|
• Viel RAM<br/>
|
|||
|
• Schnelle Festplatte(n)<br/>
|
|||
|
• Große Festplatte(n)<br/>
|
|||
|
12.8. SuSE Linux<br/>
|
|||
|
rcsquid start<br/>
|
|||
|
Squid starten<br/>
|
|||
|
rcsquid stop<br/>
|
|||
|
Squid stoppen<br/>
|
|||
|
rcsquid restart<br/>
|
|||
|
Squid stoppen und dann starten<br/>
|
|||
|
rcsquid status<br/>
|
|||
|
Squid info<br/>
|
|||
|
12.9. Automatische Starten von Squit<br/>
|
|||
|
cd /etc/rc.d/rc5.d/<br/>
|
|||
|
ln -s ../squid S22squid<br/>
|
|||
|
Link zum automatischen Starten in Runlevel 5<br/>
|
|||
|
anlegen.<br/>
|
|||
|
ln -s ../squid K02squid<br/>
|
|||
|
Link zum automatischen Beenden in Runlevel 5<br/>
|
|||
|
anlegen.<br/>
|
|||
|
12.10. Squiddateien<br/>
|
|||
|
/etc/squid.conf<br/>
|
|||
|
Squid Konfigurationsdatei<br/>
|
|||
|
/usr/share/squid/errors/<br/>
|
|||
|
Fehlermeldungen die der Squid ausgibt<br/>
|
|||
|
/var/cache/squid/<br/>
|
|||
|
Squid-Cache<br/>
|
|||
|
/var/log/squid/access.log<br/>
|
|||
|
Log-Datei mit allen Zugriffen<br/>
|
|||
|
/var/log/squid/cache.log<br/>
|
|||
|
Cache-Aktivitaeten<br/>
|
|||
|
12.11. squid.conf<br/>
|
|||
|
http_port: Proxy-Portnummer<br/>
|
|||
|
# http_port 3128<br/>
|
|||
|
http_port 8080<br/>
|
|||
|
cache_mem: Hauptspeicherverbrauch (x3)<br/>
|
|||
|
# cache_mem 8 MB<br/>
|
|||
|
maximum_object_size: maximale groeße einer Datei die der Proxy speichert<br/>
|
|||
|
# maximum_object_size 4096 KB<br/>
|
|||
|
99<br/>
|
|||
|
<hr/>
|
|||
|
<a name=100></a>12. Squid<br/>
|
|||
|
minimum_object_size: minimale groeße einer Datei die der Proxy speichert<br/>
|
|||
|
# minimum_object_size 0 KB<br/>
|
|||
|
cache_dir: Verzeichnisname GroeßeMByte Ebene1 Ebene2<br/>
|
|||
|
# cache_dir ufs /var/cache/squid 100 16 256<br/>
|
|||
|
cache_dir ufs /var/cache/squid 400 16 256<br/>
|
|||
|
cache_access_log: Log-Datei mit allen Zugriffen<br/>
|
|||
|
# cache_access_log /var/log/squid/access.log<br/>
|
|||
|
cache_log: Log-Datei fuer alle Cache-Aktivitaeten<br/>
|
|||
|
# cache_log /var/log/squid/cache.log<br/>
|
|||
|
debug_options: ALL,1-normal 9-maximal<br/>
|
|||
|
# debug_options ALL,1<br/>
|
|||
|
log_fqdn: Bei on wird der Name und bei off wird die IP-Nummer<br/>
|
|||
|
in der access.log speichert<br/>
|
|||
|
# log_fqdn off<br/>
|
|||
|
log_fqdn off<br/>
|
|||
|
client_netmask: Zum Anonymisieren<br/>
|
|||
|
255.255.255.255 volle IP-Nr.,<br/>
|
|||
|
255.255.255.0 ersten 3 Stellen<br/>
|
|||
|
# client_netmask 255.255.255.255<br/>
|
|||
|
ftp_user: Anonymer FTP-Name<br/>
|
|||
|
# ftp_user Squid@<br/>
|
|||
|
ftp_user Anonymous@<br/>
|
|||
|
dns_children: maximale Anzahl der DNS Prozesse<br/>
|
|||
|
# dns_children 5<br/>
|
|||
|
dns_nameservers: Eintrag fuer DNS-Server<br/>
|
|||
|
#dns_nameservers 194.25.2.129 192.168.6.66<br/>
|
|||
|
reference_age: maximale Alter der Cachefiles (0.0 week/days/months/hours)<br/>
|
|||
|
# reference_age 1 year<br/>
|
|||
|
negative_ttl: gibt an wie lange eine negative DNS Aufloesung gueltig ist<br/>
|
|||
|
# negative_ttl 5 minutes<br/>
|
|||
|
http_access: Zugriffsrechte fuer den Cache<br/>
|
|||
|
100<br/>
|
|||
|
<hr/>
|
|||
|
<a name=101></a>12.11. squid.conf<br/>
|
|||
|
# acl - aclname acltype string - definiert eine Zuganskontrolle und Sperrliste<br/>
|
|||
|
# src - Client IP-Adresse/Adressbereich<br/>
|
|||
|
# dst - Zielserver IP-Adresse/Adressbereich<br/>
|
|||
|
# srcdomain - Client (Domain-)Name<br/>
|
|||
|
# dstdomain - Zielserver (Domain-)Name<br/>
|
|||
|
# srcdom_regex - Cient (Domain-)Name als RegEx<br/>
|
|||
|
# dstdom_regex - Zielserver (Domain-)Name als RegEx<br/>
|
|||
|
# port - Port oder -bereich für Verbindungen<br/>
|
|||
|
# proto - Protokoll (z.B. HTTP, FTP ...) für die Verbindung<br/>
|
|||
|
# method - Methode der Verbindung (z.B. GET, POST ...)<br/>
|
|||
|
# proxy_auth - Benutzernamen bei Authentifizierung<br/>
|
|||
|
# urlpath_regex Teil einer URL als RegEx<br/>
|
|||
|
acl all src 0.0.0.0/0.0.0.0<br/>
|
|||
|
acl rotten dstdomain www.rotten.com<br/>
|
|||
|
http_access deny rotten<br/>
|
|||
|
http_access allow all<br/>
|
|||
|
cache_mgr: E-Mail bei einen Fehler an: E-Mail oder Alias(/etc/aliases)<br/>
|
|||
|
# cache_mgr webmaster<br/>
|
|||
|
cache_effective_user: BenutzerName/ID<br/>
|
|||
|
# cache_effective_user squid<br/>
|
|||
|
cache_effective_group: GruppenName/ID<br/>
|
|||
|
# cache_effective_group nogroup<br/>
|
|||
|
visible_hostname: ServerName bei Fehlermeldungen<br/>
|
|||
|
# none<br/>
|
|||
|
visible_hostname proxy.gelbdmz.loc<br/>
|
|||
|
logfile_rotate: Zeit der Logdateien in Wochen<br/>
|
|||
|
# logfile_rotate 0<br/>
|
|||
|
append_domain: Kein Punkt in der URL ? Dann diesen Domainnamen anhaengen<br/>
|
|||
|
# none<br/>
|
|||
|
append_domain .meak.de<br/>
|
|||
|
error_directory: Verzeichnis zu den Fehlermeldungen die der Squid ausgibt<br/>
|
|||
|
#error_directory /usr/share/squid/errors<br/>
|
|||
|
101<br/>
|
|||
|
<hr/>
|
|||
|
<a name=102></a><hr/>
|
|||
|
<a name=103></a>Teil IV.<br/>
|
|||
|
Programmieren<br/>
|
|||
|
103<br/>
|
|||
|
<hr/>
|
|||
|
<a name=104></a><hr/>
|
|||
|
<a name=105></a>13. Bash<br/>
|
|||
|
13.1. Einleitung<br/>
|
|||
|
Was heist BASH ?<br/>
|
|||
|
Bourne-Again SHell<br/>
|
|||
|
Was ist die BASH ?<br/>
|
|||
|
Standard-Shell der meisten Linux-Distributionen<br/>
|
|||
|
Eine fast komplette Programmiersprache<br/>
|
|||
|
BASH-Programme werden auch SScripte"(Protokolle) genannt !<br/>
|
|||
|
13.2. Referenz<br/>
|
|||
|
#!/bin/bash<br/>
|
|||
|
Pfad zur Shell die das Programm ausführen soll<br/>
|
|||
|
chmod u+x Script<br/>
|
|||
|
Macht das Script ausführbar<br/>
|
|||
|
bash Script oder sh Script<br/>
|
|||
|
so gehts auch<br/>
|
|||
|
#<br/>
|
|||
|
Kommentar bis Zeilenende<br/>
|
|||
|
:<br/>
|
|||
|
Null-Funktion. Ein Befehl, der nichts tut.<br/>
|
|||
|
(( oder [<br/>
|
|||
|
)) oder ]<br/>
|
|||
|
echo Text<br/>
|
|||
|
Gibt den Text aus<br/>
|
|||
|
echo "Text"<br/>
|
|||
|
Gibt den Text aus<br/>
|
|||
|
echo Text<br/>
|
|||
|
Text<br/>
|
|||
|
Gibt den Text mit nur einer Leerstelle aus<br/>
|
|||
|
echo "Text<br/>
|
|||
|
Text"<br/>
|
|||
|
Gibt den Text mit allen Leerstellen aus<br/>
|
|||
|
echo Text\ \ \ Text<br/>
|
|||
|
Gibt den Text mit allen Leerstellen aus<br/>
|
|||
|
Variable=7<br/>
|
|||
|
Speichert 7 in der Variable<br/>
|
|||
|
Variable=z<br/>
|
|||
|
Speichert z in der Variable<br/>
|
|||
|
echo $Variable<br/>
|
|||
|
Gibt den Inhalt der Variable aus<br/>
|
|||
|
echo ${Variable}<br/>
|
|||
|
Gibt den Inhalt der Variable aus<br/>
|
|||
|
Wert=$[$Wert+1]<br/>
|
|||
|
Wert=Wert+1<br/>
|
|||
|
Wert=$(($Wert+1))<br/>
|
|||
|
Wert=Wert+1<br/>
|
|||
|
: $[Wert+=1]<br/>
|
|||
|
Wert=Wert+1<br/>
|
|||
|
: $((Wert+=1))<br/>
|
|||
|
Wert=Wert+1<br/>
|
|||
|
105<br/>
|
|||
|
<hr/>
|
|||
|
<a name=106></a>13. Bash<br/>
|
|||
|
13.3. Steuer und Sonderzeichen der Bash<br/>
|
|||
|
Zeichen<br/>
|
|||
|
Funktion<br/>
|
|||
|
-------<br/>
|
|||
|
--------<br/>
|
|||
|
Leerzeichen (space)<br/>
|
|||
|
Trenner zwischen Programm-Parametern<br/>
|
|||
|
Tabulator (tab)<br/>
|
|||
|
Trenner zwischen Programm-Parametern<br/>
|
|||
|
Return (newline)<br/>
|
|||
|
Befehlseingabe<br/>
|
|||
|
\ (backslash)<br/>
|
|||
|
Escape-Zeichen<br/>
|
|||
|
| (pipe)<br/>
|
|||
|
Verkettung der Ein-/Ausgabe mehrerer Programme<br/>
|
|||
|
& (ampersand)<br/>
|
|||
|
Programm als Hintergrund-Prozess starten,<br/>
|
|||
|
Ein-/Ausgabeumleitung<br/>
|
|||
|
; (semikolon)<br/>
|
|||
|
Trenner zwischen zwei Programmaufrufen<br/>
|
|||
|
( ) (braces)<br/>
|
|||
|
Gruppierung, Berechnung<br/>
|
|||
|
106<br/>
|
|||
|
<hr/>
|
|||
|
<a name=107></a>14. git<br/>
|
|||
|
14.1. Dokumentation<br/>
|
|||
|
git help status<br/>
|
|||
|
Manpage von git status anzeigen<br/>
|
|||
|
git status --help<br/>
|
|||
|
Manpage von git status anzeigen<br/>
|
|||
|
man git-status<br/>
|
|||
|
Manpage von git status anzeigen<br/>
|
|||
|
14.2. Konfiguration<br/>
|
|||
|
git config --global ...<br/>
|
|||
|
Speichern im Homeverzeichnis .gitconfig<br/>
|
|||
|
git config --system ...<br/>
|
|||
|
/etc/gitconfig konfigurieren unueblich<br/>
|
|||
|
git config ...<br/>
|
|||
|
Arbeitsverzeichnis .git/config<br/>
|
|||
|
git config user.name "Max Mustermann"<br/>
|
|||
|
Name konfigurieren<br/>
|
|||
|
git config user.email "max.mustermann@examle.com"<br/>
|
|||
|
E-Mail konfigurieren<br/>
|
|||
|
git config --unset user.name<br/>
|
|||
|
Name löschen<br/>
|
|||
|
git config alias.st status<br/>
|
|||
|
Alias status -> st herstellen<br/>
|
|||
|
[alias]<br/>
|
|||
|
nützliche Abkürzungen<br/>
|
|||
|
st = status<br/>
|
|||
|
ci = commit<br/>
|
|||
|
br = branch<br/>
|
|||
|
co = checkout<br/>
|
|||
|
df = diff<br/>
|
|||
|
he = help<br/>
|
|||
|
cl = clone<br/>
|
|||
|
git config -e<br/>
|
|||
|
startet Editor auf der Konfiguration<br/>
|
|||
|
git config color.ui auto<br/>
|
|||
|
Farben einstellen<br/>
|
|||
|
git config core.eol lf,crlf oder native Zeilenende lf-Linux crlf-Windows<br/>
|
|||
|
native-System-Default<br/>
|
|||
|
git config core.safecrlf<br/>
|
|||
|
Verbietet Commit bei vermischung<br/>
|
|||
|
git config core.autocrlf input<br/>
|
|||
|
sichere Einstellung bei älteren<br/>
|
|||
|
Git-Versionen unter Windows<br/>
|
|||
|
git config il8n.commitEncoding ISO-8859-1Zeichenkodierung ISO-8859-1<br/>
|
|||
|
Standart UTF-8<br/>
|
|||
|
git config core.pager ’env LESSCHARSET=iso8859 less’<br/>
|
|||
|
Zeichenkodierung für den Pager<br/>
|
|||
|
git config core.editor vim<br/>
|
|||
|
Vim als Editor einstellen<br/>
|
|||
|
107<br/>
|
|||
|
<hr/>
|
|||
|
<a name=108></a>14. git<br/>
|
|||
|
git config core.browser ...<br/>
|
|||
|
Browser einstellen<br/>
|
|||
|
git config help.autocorrect n<br/>
|
|||
|
beim Vertippen ähnliches Subkommando<br/>
|
|||
|
ausführen, n Zentelsekunden bis zum<br/>
|
|||
|
Ausführen, -1 für sofort aus, 0 zeigt<br/>
|
|||
|
nur Möglichkeiten an<br/>
|
|||
|
git config --list<br/>
|
|||
|
alle Einstellungen anzeigen<br/>
|
|||
|
14.3. Konfigurationen über Umgebungsvariablen<br/>
|
|||
|
GIT_EDITOR<br/>
|
|||
|
Editor den Git verwendet<br/>
|
|||
|
sonst greift die Variable EDITOR<br/>
|
|||
|
GIT_PAGER<br/>
|
|||
|
der wert cat schaltet den Pager aus<br/>
|
|||
|
GIT_AUTHOR_EMAIL<br/>
|
|||
|
E-Mail für den Autor des Commits<br/>
|
|||
|
GIT_COMMITTER_EMAIL<br/>
|
|||
|
E-Mail für das Commiter-Feld des Commits<br/>
|
|||
|
GIT_AUTHOR_NAME<br/>
|
|||
|
Name für den Autor des Commits<br/>
|
|||
|
GIT_COMMITTER_NAME<br/>
|
|||
|
Name für das Commiter-Feld des Commits<br/>
|
|||
|
GIT_DIR<br/>
|
|||
|
Verzeichnis, in dem sich das Git-Repository befindet<br/>
|
|||
|
macht nur sinn bei einem Git-Repository<br/>
|
|||
|
14.4. Der Index<br/>
|
|||
|
Der Inhalt von Dateinen liegt für Git auf drei Ebenen, den Working Tree, dem Index<br/>
|
|||
|
und dem Repository.<br/>
|
|||
|
clone/fetch/pull<br/>
|
|||
|
+----------+ --------------------------------------------------> +<br/>
|
|||
|
|Repository|<br/>
|
|||
|
|<br/>
|
|||
|
--bare init |(origin) | push<br/>
|
|||
|
|<br/>
|
|||
|
----------> +----------+ <--------------------------------------- +<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
status<br/>
|
|||
|
add<br/>
|
|||
|
status<br/>
|
|||
|
commit/--amend<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
+------------+ ---------> +--------------+ ---------------------> +----------+<br/>
|
|||
|
|Working Tree| diff<br/>
|
|||
|
|Index<br/>
|
|||
|
| diff --staged/--cached |Repository|<br/>
|
|||
|
|<br/>
|
|||
|
| <--------> |(Staging Area)| <--------------------> |<br/>
|
|||
|
|<br/>
|
|||
|
+------------+ <--------- +--------------+ <--------------------- +----------+<br/>
|
|||
|
| reset HEAD<br/>
|
|||
|
reset HEAD --<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
+ -------------------------------------------------> +<br/>
|
|||
|
|<br/>
|
|||
|
checkout --<br/>
|
|||
|
|<br/>
|
|||
|
init<br/>
|
|||
|
|<br/>
|
|||
|
---------------------------------------------------------------------------> +<br/>
|
|||
|
git diff<br/>
|
|||
|
zeigt den Unterschied zwischen Working Tree<br/>
|
|||
|
und Index an<br/>
|
|||
|
git diff --color-words<br/>
|
|||
|
Änderugen Fablich anzeigen<br/>
|
|||
|
108<br/>
|
|||
|
<hr/>
|
|||
|
<a name=109></a>14.5. Repository<br/>
|
|||
|
grün-hinzugekommen rot-entfernt<br/>
|
|||
|
git diff --word-diff --no-color ohne Frabe mit Zeichen<br/>
|
|||
|
git diff --staged<br/>
|
|||
|
zeigt den Unterschied zwischen<br/>
|
|||
|
Index(Staging Area) und Repository an<br/>
|
|||
|
git diff --cached<br/>
|
|||
|
zeigt den Unterschied zwischen<br/>
|
|||
|
Index(Staging Area) und Repository an<br/>
|
|||
|
14.5. Repository<br/>
|
|||
|
git init Beispiel<br/>
|
|||
|
Neues Repository herstellen, legt Verzeichnis Beispiel<br/>
|
|||
|
an wenn nicht schon vorhanden<br/>
|
|||
|
git status<br/>
|
|||
|
zeigt den aktuellen Zustand an<br/>
|
|||
|
git log<br/>
|
|||
|
die Commit Historie anzeigen<br/>
|
|||
|
14.6. Commit<br/>
|
|||
|
git add Datei<br/>
|
|||
|
Datei zum Index hinzufügen<br/>
|
|||
|
git add -u oder --update<br/>
|
|||
|
Alle Veränderungen in den Index übertragen<br/>
|
|||
|
git reset HEAD Datei<br/>
|
|||
|
aus der Staging Area zu entfernen<br/>
|
|||
|
git commit -m "Erste Version"<br/>
|
|||
|
Index zum Working Tree hinzufügen<br/>
|
|||
|
git add forgotten_file<br/>
|
|||
|
Datei zum Index hinzufügen<br/>
|
|||
|
git commit --amend<br/>
|
|||
|
den letzten Commit ändern<br/>
|
|||
|
git show<br/>
|
|||
|
Commit einsehen<br/>
|
|||
|
git log<br/>
|
|||
|
Commits anzeigen<br/>
|
|||
|
14.7. Dateien entfernen<br/>
|
|||
|
git rm Datei<br/>
|
|||
|
Datei in deinem Arbeitsverzeichnis behalten,<br/>
|
|||
|
aber aus der Staging Area nehmen<br/>
|
|||
|
git rm -f Datei<br/>
|
|||
|
Datei aus dem Arbeitsverzeichis und Index löschen<br/>
|
|||
|
git reset HEAD Datei<br/>
|
|||
|
Datei in Deinem Arbeitsverzeichnis behalten,<br/>
|
|||
|
aber aus der Staging Area nehmen<br/>
|
|||
|
14.8. Dateien verschieben<br/>
|
|||
|
git mv Datei_alt Datei_neu<br/>
|
|||
|
Datei verschieben<br/>
|
|||
|
14.9. Änderung an einer Datei rückgängig machen<br/>
|
|||
|
git checkout -- Datei<br/>
|
|||
|
Datei zurückversetzen auf den letzten Commit oder Klone<br/>
|
|||
|
109<br/>
|
|||
|
<hr/>
|
|||
|
<a name=110></a>14. git<br/>
|
|||
|
14.10. Dateien ignorieren<br/>
|
|||
|
Dateien im Projektverzeichnis die nicht versioniert im Repository sein sollen<br/>
|
|||
|
kommen in die Datei .gitignore.<br/>
|
|||
|
.gitignore#<br/>
|
|||
|
Zeile mit # oder leere wird ignoriert<br/>
|
|||
|
*.o<br/>
|
|||
|
ignoriert alle Dateien die mit .o enden<br/>
|
|||
|
!lib.o<br/>
|
|||
|
wird nicht ignoriert<br/>
|
|||
|
/TODO<br/>
|
|||
|
ignoriert den Ordner TODO<br/>
|
|||
|
build/<br/>
|
|||
|
ignoriert alle Dateien im build Verzeichnis<br/>
|
|||
|
doc/*.txt<br/>
|
|||
|
ignoriert alle .txt Dateien im doc Verzeichnis<br/>
|
|||
|
doc/**/*.txt<br/>
|
|||
|
ignoriert alle .txt Dateien unterhalb des doc<br/>
|
|||
|
Verzeichnis<br/>
|
|||
|
14.11. Mit externen Repositorys arbeiten<br/>
|
|||
|
git clone git://git.kernel.org/pub/scm/git/git.git<br/>
|
|||
|
git Repository herunterladen, Port 9418<br/>
|
|||
|
git clone file:///home/git/project.git<br/>
|
|||
|
Repository herunterladen, legt harte<br/>
|
|||
|
Links an wenn möglich<br/>
|
|||
|
git clone ssh://user@server/project.git ssh Repository herunterladen, Port 22<br/>
|
|||
|
git clone http(s)://example.com/gitproject.git<br/>
|
|||
|
http(s) Repository herunterladen,<br/>
|
|||
|
Port 80(443)<br/>
|
|||
|
git remote -v<br/>
|
|||
|
zeigt an, welche externen Server für<br/>
|
|||
|
das Projekt lokal konfiguriert sind<br/>
|
|||
|
git remote add Name URL<br/>
|
|||
|
Remote Repository hinzufügen<br/>
|
|||
|
git remote add origin ssh://git@sonne:/srv/git/linux.git<br/>
|
|||
|
Beispiel<br/>
|
|||
|
git fetch Name<br/>
|
|||
|
Informationen aus dem Remote Repository<br/>
|
|||
|
herunterladen<br/>
|
|||
|
git pull Name<br/>
|
|||
|
entspricht git fetch git merge<br/>
|
|||
|
git checkout -b Branch origin/Branch<br/>
|
|||
|
erstellt einen lokalen bearbeitbaren<br/>
|
|||
|
Branch<br/>
|
|||
|
git push origin master<br/>
|
|||
|
Änderungen in ein Remote Repository<br/>
|
|||
|
hochladen<br/>
|
|||
|
git push Remote Branch<br/>
|
|||
|
Brauch auf Remote hochladen<br/>
|
|||
|
git push Remote :Branch<br/>
|
|||
|
löschen entfernter Branches<br/>
|
|||
|
git remote show Name<br/>
|
|||
|
zeigt die URL für das Remote<br/>
|
|||
|
Repository, die Information welche<br/>
|
|||
|
Branches verfolgt werden und welcher<br/>
|
|||
|
Branch aus dem Remote Repository mit<br/>
|
|||
|
dem eigenen Master zusammengeführt<br/>
|
|||
|
wird, wenn Du git pull ausführst<br/>
|
|||
|
110<br/>
|
|||
|
<hr/>
|
|||
|
<a name=111></a>14.12. Tags<br/>
|
|||
|
git remote rename Name_alt Name_neu<br/>
|
|||
|
Name des Remote Repository lokal ändern<br/>
|
|||
|
git remote rm Name<br/>
|
|||
|
Remote Repository entfernen<br/>
|
|||
|
14.12. Tags<br/>
|
|||
|
git tag<br/>
|
|||
|
vorhandene Tags anzeigen<br/>
|
|||
|
git tag -a v1.4 -m ’my version 1.4’<br/>
|
|||
|
einen kommentierten Tag anlegen<br/>
|
|||
|
git tag -s v1.5 -m ’my signed 1.5 tag’<br/>
|
|||
|
einen kommentierten und signierten Tag anlegen<br/>
|
|||
|
git tag -v v1.4.2.1<br/>
|
|||
|
einen signierten Tag zu verifizieren<br/>
|
|||
|
git tag -a v1.2 -m ’version 1.2’ Checksumme<br/>
|
|||
|
im Nachhinein taggen, Checksumme des Commits<br/>
|
|||
|
oder einen Teil davon angeben<br/>
|
|||
|
git log --pretty=oneline<br/>
|
|||
|
Commit Historie mit Checksumme<br/>
|
|||
|
git push origin v1.5<br/>
|
|||
|
Tag veröffentlichen<br/>
|
|||
|
git push origin --tags<br/>
|
|||
|
Tags veröffentlichen<br/>
|
|||
|
git tag -d v1.5<br/>
|
|||
|
Tag löschen<br/>
|
|||
|
git push origin :refs/tags/v1.5 veröffentlichen Tag löschen<br/>
|
|||
|
14.13. Branch<br/>
|
|||
|
Was ist ein Branch? Ein Zeiger, der auf den gleichen Commit zeigt, auf dem Du gerade<br/>
|
|||
|
arbeitest.<br/>
|
|||
|
git branch testing<br/>
|
|||
|
erstellt einen neuen Branch mit dem Namen testing<br/>
|
|||
|
git checkout testing<br/>
|
|||
|
um zu einem anderen Branch zu wechseln<br/>
|
|||
|
git branch -b testing<br/>
|
|||
|
erstellt und wechselt zu dem Branch<br/>
|
|||
|
git merge testing<br/>
|
|||
|
führt testing mit dem Master-Branch zusammen<br/>
|
|||
|
git branch -d testing<br/>
|
|||
|
entfernt testing<br/>
|
|||
|
git merge master<br/>
|
|||
|
Deinem Zweig mit dem master kombinieren<br/>
|
|||
|
git rebase master<br/>
|
|||
|
alle Änderungen auf einem Branch, auf einen anderen<br/>
|
|||
|
Branch erneut anwenden (nur mit unveröffendlichen<br/>
|
|||
|
Branch machen)<br/>
|
|||
|
git mergetool<br/>
|
|||
|
grafischen Tool zur Bereinigung von Merge-Konflikten<br/>
|
|||
|
git branch<br/>
|
|||
|
Liste aller Branches anzeigen<br/>
|
|||
|
git branch -v<br/>
|
|||
|
für jeden Branch den letzten Commit anzeigen lassen<br/>
|
|||
|
git branch --merged<br/>
|
|||
|
Liste gemergter Branches<br/>
|
|||
|
git branch --no-merged<br/>
|
|||
|
Liste nicht gemergter Branches<br/>
|
|||
|
14.14. Git Aliase<br/>
|
|||
|
git config --global alias.co checkout<br/>
|
|||
|
co anstelle von checkout schreiben<br/>
|
|||
|
111<br/>
|
|||
|
<hr/>
|
|||
|
<a name=112></a>14. git<br/>
|
|||
|
git config --global alias.br branch<br/>
|
|||
|
br anstelle von branch schreiben<br/>
|
|||
|
git config --global alias.ci commit<br/>
|
|||
|
ci anstelle von commit schreiben<br/>
|
|||
|
git config --global alias.st status<br/>
|
|||
|
st anstelle von status schreiben<br/>
|
|||
|
14.15. Git auf einen Server bekommen<br/>
|
|||
|
git clone --bare my_project my_project.git<br/>
|
|||
|
Projekt zu Projekt.git klonen<br/>
|
|||
|
scp -r my_project.git user@git.example.com:/opt/git<br/>
|
|||
|
Projekt per ssh hochladen<br/>
|
|||
|
git clone user@git.example.com:/opt/git/my_project.git<br/>
|
|||
|
Projekt per ssh zum Arbeiten herunterladen<br/>
|
|||
|
ssh user@git.example.com<br/>
|
|||
|
auf dem Server anmelden<br/>
|
|||
|
cd /opt/git/my_project.git<br/>
|
|||
|
Projektverzeichnis betreten<br/>
|
|||
|
git init --bare --shared<br/>
|
|||
|
Gruppenschreibrechte zu einem Repository<br/>
|
|||
|
hinzufügen<br/>
|
|||
|
14.16. Git auf dem SSH-Server einrichten<br/>
|
|||
|
Einrichtung des SSH-Zugangs auf dem Server mit der Authorized-Keys-Methode zur<br/>
|
|||
|
Authentifizierung der Benutzer.<br/>
|
|||
|
sudo adduser git<br/>
|
|||
|
Benutzer git anlegen<br/>
|
|||
|
su git<br/>
|
|||
|
Rechte von User git erlagen<br/>
|
|||
|
cd<br/>
|
|||
|
ins Home ~ Verzeichnis des Users wechseln<br/>
|
|||
|
mkdir .ssh<br/>
|
|||
|
Verzeichnis .ssh anlegen<br/>
|
|||
|
- öffentliche SSH-Schlüssel der Entwickler zu der Authorized-Keys-Datei des Benut-<br/>
|
|||
|
zers git hinzuzufügen.<br/>cat /tmp/id_rsa.user1.pub > ~/.ssh/authorized_keys<br/>
|
|||
|
authorized_keys erstellen und User1 einfügen<br/>
|
|||
|
cat /tmp/id_rsa.user2.pub >> ~/.ssh/authorized_keys<br/>
|
|||
|
User2 einfügen<br/>
|
|||
|
cat /tmp/id_rsa.user3.pub >> ~/.ssh/authorized_keys<br/>
|
|||
|
User3 einfügen<br/>
|
|||
|
- Leeren Ordner anlegen und mit der Option –bare ein Repository ohne ein Arbeits-<br/>
|
|||
|
verzeichnis erzeugen.<br/>cd /srv<br/>
|
|||
|
in den Ordner srv wechseln<br/>
|
|||
|
mkdir git<br/>
|
|||
|
git Ordner anlegen<br/>
|
|||
|
cd git<br/>
|
|||
|
in den Ordner git wechseln<br/>
|
|||
|
mkdir project.git<br/>
|
|||
|
project.git Ordner anlegen<br/>
|
|||
|
cd project.git<br/>
|
|||
|
in den Ordner project.git wechseln<br/>
|
|||
|
git --bare init<br/>
|
|||
|
Repository ohne ein Arbeitsverzeichnis erzeugen<br/>
|
|||
|
112<br/>
|
|||
|
<hr/>
|
|||
|
<a name=113></a>14.17. Öffentlicher Webserver-Zugang<br/>
|
|||
|
- Die erste Version des Projektes in das Repository hochladen<br/>
|
|||
|
cd project<br/>
|
|||
|
in das Projekt wechseln<br/>
|
|||
|
git init<br/>
|
|||
|
Projekt Repository herstellen<br/>
|
|||
|
git add .<br/>
|
|||
|
alle Dateien um Index hinzufügen<br/>
|
|||
|
git commit -m ’initial commit’<br/>
|
|||
|
Index zum Working Tree hinzufügen<br/>
|
|||
|
git remote add origin git@gitserver:/srv/git/project.git<br/>
|
|||
|
Server hinzufügen<br/>
|
|||
|
git push origin master<br/>
|
|||
|
Commits und Referenzen auf den Server hochladen<br/>
|
|||
|
- Repository klonen und Änderungen hochladen<br/>
|
|||
|
git clone git@gitserver:/srv/git/project.git<br/>
|
|||
|
Repository klonen<br/>
|
|||
|
cd project<br/>
|
|||
|
ins Projekt wechseln<br/>
|
|||
|
vim README<br/>
|
|||
|
Projekt bearbeiten<br/>
|
|||
|
git commit -am ’fix for the README file’<br/>
|
|||
|
Änderung speichern<br/>
|
|||
|
git push origin master<br/>
|
|||
|
Änderung hochladen<br/>
|
|||
|
- Git-Zugang absichen<br/>
|
|||
|
/etc/passwd<br/>
|
|||
|
git:x:1000:1000::/home/git:/bin/sh<br/>
|
|||
|
/bin/sh auf<br/>
|
|||
|
git:x:1000:1000::/home/git:/usr/bin/git-shell<br/>
|
|||
|
/usr/bin/git-shell ändern<br/>
|
|||
|
14.17. Öffentlicher Webserver-Zugang<br/>
|
|||
|
Anonymen Lese-Zugriff zu Deinem Projekt ermöglichen, per git clone http://git.gitserver.loc/project.git.<br/>
|
|||
|
- Hook aktivieren<br/>
|
|||
|
cd project.git<br/>
|
|||
|
in das Projekt wechseln<br/>
|
|||
|
mv hooks/post-update.sample hooks/post-update<br/>
|
|||
|
post-update umbenennen<br/>
|
|||
|
chmod a+x hooks/post-update<br/>
|
|||
|
post-update ausfürbar machen<br/>
|
|||
|
- VirtualHost Eintrag zur Apache-Konfiguration hinzufügen<br/>
|
|||
|
<VirtualHost *:80><br/>
|
|||
|
ServerName git.gitserver.loc<br/>
|
|||
|
ServerAdmin webmaster@localhost<br/>
|
|||
|
DocumentRoot /srv/git<br/>
|
|||
|
#<br/>
|
|||
|
<Directory /srv/git/><br/>
|
|||
|
#<br/>
|
|||
|
Order allow, deny<br/>
|
|||
|
#<br/>
|
|||
|
allow from all<br/>
|
|||
|
#<br/>
|
|||
|
</Directory><br/>
|
|||
|
<Directory /srv/git/><br/>
|
|||
|
Options Indexes FollowSymLinks<br/>
|
|||
|
AllowOverride None<br/>
|
|||
|
113<br/>
|
|||
|
<hr/>
|
|||
|
<a name=114></a>14. git<br/>
|
|||
|
Require all granted<br/>
|
|||
|
</Directory><br/>
|
|||
|
ErrorLog ${APACHE_LOG_DIR}/git.gitserver.loc-error.log<br/>
|
|||
|
CustomLog ${APACHE_LOG_DIR}/git.gitserver.loc-access.log combined<br/>
|
|||
|
</VirtualHost><br/>
|
|||
|
Nach dem nächsten push kann per "git clone http://git.gitserver.loc/project.git"das<br/>
|
|||
|
Projekt anonym herunter geladen werden.<br/>
|
|||
|
14.18. Grundbegriffe<br/>
|
|||
|
Versionkontrollsystem (Version Control System, VCS)<br/>
|
|||
|
Eine Versionsverwaltung ist ein System, das zur Erfassung von Änderungen<br/>
|
|||
|
an Dokumenten oder Dateien verwendet wird.<br/>
|
|||
|
Zum Beispiel:<br/>
|
|||
|
Zentrale Systeme - zentraler Server<br/>
|
|||
|
RCS-Revision Control System, CVS-Concurrent Versions System,<br/>
|
|||
|
SVN-Subversion<br/>
|
|||
|
Verteilte Systeme - Kein zentraler Server<br/>
|
|||
|
Bazaar, Darcs, Fossil, Git, GNU arch, Mercurial, Monotone<br/>
|
|||
|
Repository<br/>
|
|||
|
Nutzt Git als Dantenbank in der die verschiedenen Zustände jeder Datei<br/>
|
|||
|
eines Projektes über die Zeit hinweg ablegt. Jede Änderrung wird als<br/>
|
|||
|
Commit verpackt und abgespeichert.<br/>
|
|||
|
Working Tree<br/>
|
|||
|
Das Arbeitsverzeichnis von Git, oft auch Working Directory genannt.<br/>
|
|||
|
Commit Das speichern der veränderten Dateien im Repository.<br/>
|
|||
|
HEAD<br/>
|
|||
|
Eine symbolische Referenz auf den neusten Commit im aktuellen Branch.<br/>
|
|||
|
SHA-1<br/>
|
|||
|
Der Secure Hash Algorithm erstellt eine eindeutige, 160 Bit lange<br/>
|
|||
|
Prüfsumme. Alle Commits in Git werden nach ihrer SHA-1-Summe benannt,<br/>
|
|||
|
die aus dem Inhalt und den Metadaten des Commits errechnet wird.<br/>
|
|||
|
Objektmodell<br/>
|
|||
|
Ein Git-Repository lässt sich als Graph von Commits modellieren, der<br/>
|
|||
|
durch Git-Kommandos manipuliert wird.<br/>
|
|||
|
Index<br/>
|
|||
|
Der Index ist eine Zwischenstufe zwischen Working Tree und Repository,<br/>
|
|||
|
in der Sie einen Commit vorbereiten. Enthält also die Dateien für den<br/>
|
|||
|
nästen Commit.<br/>
|
|||
|
Clone<br/>
|
|||
|
Wenn Sie sich ein Git-Repository aus dem Internet herrunterladen.<br/>
|
|||
|
Enthält die gesamte Versionsgeschichte einschließlich aller Commits.<br/>
|
|||
|
114<br/>
|
|||
|
<hr/>
|
|||
|
<a name=115></a>14.18. Grundbegriffe<br/>
|
|||
|
Branch Eine Abzweigung in der Entwicklung. Zum Beispiel für neue Featurs,<br/>
|
|||
|
Release vorbereitung oder alte Versionen mit Bugfixes zu versorgen.<br/>
|
|||
|
master Beim Initialisieren eines neuen Repositorys wird der Branch master<br/>
|
|||
|
erstellt analog trunk in anderen Systemen.<br/>
|
|||
|
Tag<br/>
|
|||
|
Tags sind symbolische Namen für schwer zu merkende SHA-1-Summen.<br/>
|
|||
|
Wichtige Commits, wie zum Beispiel Releases v1.2.3. oder können<br/>
|
|||
|
zusätzliche Metadateien wie Autor, Beschreibung und GPG-Signatur<br/>
|
|||
|
enthalten.<br/>
|
|||
|
115<br/>
|
|||
|
<hr/>
|
|||
|
<a name=116></a><hr/>
|
|||
|
<a name=117></a>15. C/C++<br/>
|
|||
|
15.1. Befehle und Grundelemente<br/>
|
|||
|
gcc Datei.c<br/>
|
|||
|
Programm übersetzen -> a.out<br/>
|
|||
|
g++ Datei.cpp<br/>
|
|||
|
Programm übersetzen -> a.out (C++)<br/>
|
|||
|
gcc -c Datei.c<br/>
|
|||
|
Objektdatei herstellen -> Datei.o<br/>
|
|||
|
g++ -c Datei.cpp<br/>
|
|||
|
Objektdatei herstellen -> Datei.o (C++)<br/>
|
|||
|
gcc -o Programmname Datei1.o Datei2.o<br/>
|
|||
|
Datei1.o+Datei2.o -> Programmname<br/>
|
|||
|
g++ -o Programmname Datei1.o Datei2.o<br/>
|
|||
|
Datei1.o+Datei2.o -> Programmname (C++)<br/>
|
|||
|
gcc -o Programmname Datei.c<br/>
|
|||
|
Programm übersetzen -> Programmname<br/>
|
|||
|
g++ -o Programmname Datei.cpp<br/>
|
|||
|
Programm übersetzen -> Programmname(C++)<br/>
|
|||
|
Programmname<br/>
|
|||
|
Programm starten<br/>
|
|||
|
configure<br/>
|
|||
|
Makefile konfigurieren<br/>
|
|||
|
make<br/>
|
|||
|
Programm übersetzen,<br/>
|
|||
|
wenn Makefile vorhanden<br/>
|
|||
|
make install<br/>
|
|||
|
Programm installieren<br/>
|
|||
|
/*<br/>
|
|||
|
Kommentar einleiten<br/>
|
|||
|
*/<br/>
|
|||
|
Kommentar abschließen<br/>
|
|||
|
//<br/>
|
|||
|
Kommentar einleiten bis zum Zeilenende (C++)<br/>
|
|||
|
{<br/>
|
|||
|
Blockbeginn<br/>
|
|||
|
}<br/>
|
|||
|
Blockende<br/>
|
|||
|
,<br/>
|
|||
|
mehrere Variablen vom gleichen Typ deklarieren z.B. int a, b, c;<br/>
|
|||
|
;<br/>
|
|||
|
Funktions-,Operations- und Zeilen-ende (leere Anweisung)<br/>
|
|||
|
#include<Datei> Datei aus /usr/include/ bei UNIX einlesen<br/>
|
|||
|
#include"Datei" Datei aus dem aktuellen Verzeichnis einlesen<br/>
|
|||
|
char<br/>
|
|||
|
Variablentyp character - Zeichen<br/>
|
|||
|
int<br/>
|
|||
|
Variablentyp integer - ganzzahlig mit Vorzeichen<br/>
|
|||
|
main()<br/>
|
|||
|
Hauptfunktion<br/>
|
|||
|
return()<br/>
|
|||
|
Wert aus einer Funktion zurückliefern<br/>
|
|||
|
15.2. Steuersequenzen für ANSI-Bildschirme -<br/>
|
|||
|
Innerhalb von Texten<br/>
|
|||
|
\a<br/>
|
|||
|
BEL<br/>
|
|||
|
bell<br/>
|
|||
|
Alarm/Piepton<br/>
|
|||
|
117<br/>
|
|||
|
<hr/>
|
|||
|
<a name=118></a>15. C/C++<br/>
|
|||
|
\b<br/>
|
|||
|
BS<br/>
|
|||
|
backspace<br/>
|
|||
|
Rücksetzen um ein Zeichen<br/>
|
|||
|
\f<br/>
|
|||
|
FF<br/>
|
|||
|
formfeed<br/>
|
|||
|
Seitenvorschub<br/>
|
|||
|
\n<br/>
|
|||
|
NL<br/>
|
|||
|
new line<br/>
|
|||
|
Zeilenvorschub<br/>
|
|||
|
\r<br/>
|
|||
|
CR<br/>
|
|||
|
carriage return<br/>
|
|||
|
Wagenrücklauf<br/>
|
|||
|
\t<br/>
|
|||
|
HT<br/>
|
|||
|
horizontal tabulation<br/>
|
|||
|
horizontaler Tabulator<br/>
|
|||
|
\v<br/>
|
|||
|
VT<br/>
|
|||
|
vertical tabulation<br/>
|
|||
|
vertikaler Tabulator<br/>
|
|||
|
\0<br/>
|
|||
|
NULL<br/>
|
|||
|
null<br/>
|
|||
|
kein Zeichen Textende<br/>
|
|||
|
\?<br/>
|
|||
|
?<br/>
|
|||
|
Fragezeichen (kein Dreierzeichen)<br/>
|
|||
|
\’<br/>
|
|||
|
’<br/>
|
|||
|
Hochkomma<br/>
|
|||
|
\"<br/>
|
|||
|
"<br/>
|
|||
|
Anführungszeichen<br/>
|
|||
|
\\<br/>
|
|||
|
\<br/>
|
|||
|
umgekehrter Schrägstrich<br/>
|
|||
|
\ddd<br/>
|
|||
|
Zeichencode in oktaler Notation<br/>
|
|||
|
\xdd<br/>
|
|||
|
Zeichencode in hexadezimaler Notation<br/>
|
|||
|
\e[1;1H<br/>
|
|||
|
Cursor auf x1 und y1 setzen<br/>
|
|||
|
\e[1;1f<br/>
|
|||
|
-> \e[1;1H<br/>
|
|||
|
\e[5A<br/>
|
|||
|
Cursor 5 Zeilen aufwärts bewegen<br/>
|
|||
|
\e[5B<br/>
|
|||
|
Cursor 5 Zeilen abwärts bewegen<br/>
|
|||
|
\e[5C<br/>
|
|||
|
Cursor 5 Spalten vorwärts(rechts) bewegen<br/>
|
|||
|
\e[5D<br/>
|
|||
|
Cursor 5 Spalten rückwärts(links) bewegen<br/>
|
|||
|
\e[2J<br/>
|
|||
|
Bildschirm löschen<br/>
|
|||
|
\e[6n<br/>
|
|||
|
Ausgabe der Cursor position z.B. ^[[32;6R<br/>
|
|||
|
\e[s<br/>
|
|||
|
merkt die aktuelle Cursor Position<br/>
|
|||
|
\e[u<br/>
|
|||
|
Cursor auf gemerkte Position setzen<br/>
|
|||
|
\e[Schrift;Vordergrund;Hintergrundmerkmale<br/>
|
|||
|
setzt Bildschirmmerkmale<br/>
|
|||
|
Schrift<br/>
|
|||
|
Vordergrund Hintergrund<br/>
|
|||
|
0 normal<br/>
|
|||
|
30 schwarz 40<br/>
|
|||
|
1 grell<br/>
|
|||
|
31 rot<br/>
|
|||
|
41<br/>
|
|||
|
4 unterstrichen 32 grün<br/>
|
|||
|
42<br/>
|
|||
|
5 blinken<br/>
|
|||
|
33 gelb<br/>
|
|||
|
43 braun<br/>
|
|||
|
7 reverse<br/>
|
|||
|
34 blau<br/>
|
|||
|
44<br/>
|
|||
|
35 magenta 45<br/>
|
|||
|
36 cyan<br/>
|
|||
|
46<br/>
|
|||
|
37 weiß<br/>
|
|||
|
47 grau<br/>
|
|||
|
15.3. stdio.h -> Standard Ein- und Ausgabe<br/>
|
|||
|
c=getchar();<br/>
|
|||
|
Eingabe eines Zeichens, ohne Wagenrücklauf<br/>
|
|||
|
putchar(’a’);<br/>
|
|||
|
Ausgabe eines Zeichens, ohne Wagenrücklauf<br/>
|
|||
|
puts("Text");<br/>
|
|||
|
Zeichenkette ausgeben, mit Wagenrücklauf<br/>
|
|||
|
fputs("Text",stdount); Zeichenkette ausgeben, ohne Wagenrücklauf<br/>
|
|||
|
fputs("Text",stderr);<br/>
|
|||
|
Zeichenkette ausgeben, ohne Wagenrücklauf<br/>
|
|||
|
printf("Text %d",Zahl); Zeichenkette formatiert ausgeben, ohne Wagenrücklauf<br/>
|
|||
|
% F Z1 . Z2 L U<br/>
|
|||
|
| | | | | | + Umwandlungszeichen: %d-dezimal<br/>
|
|||
|
%u-unsigned<br/>
|
|||
|
118<br/>
|
|||
|
<hr/>
|
|||
|
<a name=119></a>15.4. ctype.h<br/>
|
|||
|
| | | | | |<br/>
|
|||
|
%o-oktal<br/>
|
|||
|
%s-Text %c-Zeichen<br/>
|
|||
|
| | | | | |<br/>
|
|||
|
%f-Flieskomma<br/>
|
|||
|
%e-Expotential<br/>
|
|||
|
| | | | | |<br/>
|
|||
|
%x-hexadezimal %p-pointer<br/>
|
|||
|
| | | | | +-- Long-Ausgabe: notwendig für long int<br/>
|
|||
|
| | | | +----- Nachkommastellen: z.B 3 für drei stellen<br/>
|
|||
|
| | | +------- Trenzeichen, falls Z1 und Z2<br/>
|
|||
|
| | +---------- Größe des Ausgabefensters: z.B 7 für sieben stellen<br/>
|
|||
|
| +------------ Ausrichtung: ohne Angabe rechtsbündig,<br/>
|
|||
|
|<br/>
|
|||
|
mit Minuszeichen linksbündig<br/>
|
|||
|
+-------------- Fluchtsymbol<br/>
|
|||
|
scanf("%c",&text);<br/>
|
|||
|
Zeichen in &text einlesen<br/>
|
|||
|
% * Z L U<br/>
|
|||
|
| | | | +------ Umwandlungszeichen<br/>
|
|||
|
| | | +-------- Long-Ausgabe<br/>
|
|||
|
| | +---------- Größe des Eingabefensters<br/>
|
|||
|
| +------------ Wegwerfen<br/>
|
|||
|
+-------------- Fluchtsymbol<br/>
|
|||
|
15.4. ctype.h<br/>
|
|||
|
if(isascii(zeichen))<br/>
|
|||
|
überprüft ob es sich um ein ASCII-Zeichen handelt<br/>
|
|||
|
if(isxdigit(zeichen))<br/>
|
|||
|
überprüft ob es sich um ein Hex-Zeichen handelt<br/>
|
|||
|
15.5. string.h<br/>
|
|||
|
char *strcat(char text1, char text2) ; hängt Text2(mit \0) an Text1<br/>
|
|||
|
char *strchr(const char *text,<br/>
|
|||
|
int zeichen) ;<br/>
|
|||
|
sucht das erste vorkommende<br/>
|
|||
|
Zeichen im Text, liefert Adresse<br/>
|
|||
|
oder NULL<br/>
|
|||
|
char *strcpy(char text1, char text2) ; kopiert Text2(mit \0) zum Text1<br/>
|
|||
|
sitze_t strlen(const char *text) ;<br/>
|
|||
|
liefert die Länge von Text(ohne \0)<br/>
|
|||
|
char *strncat(char *text1,<br/>
|
|||
|
const char *text2, sitze_t n) ;<br/>
|
|||
|
hängt Text2 mit n Zeichen<br/>
|
|||
|
an Text1(mit \0)<br/>
|
|||
|
char *strtok(char *text,<br/>
|
|||
|
const char *kette) ;<br/>
|
|||
|
1.Aufruf: sucht im Text das erste<br/>
|
|||
|
Zeichen das nicht in Kette vorkommt<br/>
|
|||
|
(wird kein Zeichen gefunden gibt strtok<br/>
|
|||
|
einen NULL-Zeiger zurück), wird ein<br/>
|
|||
|
Zeichen gefunden gibt strtok den Zeiger<br/>
|
|||
|
zurück, dann sucht strtok ab Zeiger das<br/>
|
|||
|
erste Zeichen das in der Kette vorkommt<br/>
|
|||
|
119<br/>
|
|||
|
<hr/>
|
|||
|
<a name=120></a>15. C/C++<br/>
|
|||
|
und überschreibt es mit \0, strtok merkt<br/>
|
|||
|
sich den Zeiger auf das nächste Zeichen<br/>
|
|||
|
char *strtok(NULL, const char *kette) ; 2.-n.Aufruf: wie 1.Aufruf ab gemerkten<br/>
|
|||
|
Zeiger<br/>
|
|||
|
15.6. Kontrollstrukturen<br/>
|
|||
|
if(Ausdruck)<br/>
|
|||
|
wenn der Ausdruck stimmt,<br/>
|
|||
|
{<br/>
|
|||
|
Anweisung-en1;<br/>
|
|||
|
Anweisung-en1<br/>
|
|||
|
}<br/>else<br/>
|
|||
|
sonst<br/>
|
|||
|
{<br/>
|
|||
|
Anweisung-en2;<br/>
|
|||
|
Anweisung-en2<br/>
|
|||
|
}<br/>
|
|||
|
switch(Ausdruck)<br/>
|
|||
|
gehe zum Ausdruck<br/>
|
|||
|
{<br/>
|
|||
|
case 1: Anweisung-en1; Ausdruck1:<br/>
|
|||
|
Anweisung-en1<br/>
|
|||
|
case 2: Anweisung-en2; Ausdruck2:<br/>
|
|||
|
Anweisung-en2<br/>
|
|||
|
break;<br/>
|
|||
|
Anweisungen beenden<br/>
|
|||
|
case n: Anweisung-enn; Ausdruckn:<br/>
|
|||
|
Anweisung-enn<br/>
|
|||
|
break;<br/>
|
|||
|
Anweisungen beenden<br/>
|
|||
|
default: Anweisung-en;<br/>
|
|||
|
Ausdruck nicht vorhanden:<br/>
|
|||
|
Aneisung-en<br/>
|
|||
|
}<br/>
|
|||
|
continue;<br/>
|
|||
|
unterbricht die Abarbeitung und geht zur Ausdrucksbedingung<br/>
|
|||
|
break;<br/>
|
|||
|
verlässt die Schleife oder Verbundsanweisung<br/>
|
|||
|
for(Ausdruck1;Ausdruck2;Ausdruck3)<br/>
|
|||
|
Ausdruck1 einmal ausführen<br/>
|
|||
|
{<br/>
|
|||
|
so lange der Ausdruck2 stimmt,<br/>
|
|||
|
vorher noch Ausdruck3<br/>
|
|||
|
Anweisug-en;<br/>
|
|||
|
Anweisung-en<br/>
|
|||
|
}<br/>
|
|||
|
while(Ausdruck)<br/>
|
|||
|
so lange der Ausdruck stimmt,<br/>
|
|||
|
{<br/>
|
|||
|
Anweisung-en;<br/>
|
|||
|
Anweisung-en<br/>
|
|||
|
}<br/>
|
|||
|
do<br/>
|
|||
|
mach<br/>
|
|||
|
{<br/>
|
|||
|
Anweisung-en;<br/>
|
|||
|
Anweisung-en<br/>
|
|||
|
}<br/>
|
|||
|
120<br/>
|
|||
|
<hr/>
|
|||
|
<a name=121></a>15.7. ASCII(American Standart Code for Information Interchange)-Tabelle<br/>
|
|||
|
while(Ausdruck);<br/>
|
|||
|
so lange der Ausdruck stimmt<br/>
|
|||
|
15.7. ASCII(American Standart Code for Information<br/>
|
|||
|
Interchange)-Tabelle<br/>
|
|||
|
654<br/>
|
|||
|
000<br/>
|
|||
|
001<br/>
|
|||
|
010<br/>
|
|||
|
011<br/>
|
|||
|
100<br/>
|
|||
|
101<br/>
|
|||
|
110<br/>
|
|||
|
111<br/>
|
|||
|
Bit<br/>
|
|||
|
3210<br/>
|
|||
|
NUL<br/>
|
|||
|
DLE<br/>
|
|||
|
SP<br/>
|
|||
|
0<br/>
|
|||
|
@<br/>
|
|||
|
P<br/>
|
|||
|
‘<br/>
|
|||
|
p<br/>
|
|||
|
0000<br/>
|
|||
|
$0 0<br/>
|
|||
|
$10 16 $20 32 $30 48 $40 64 $50 80 $60 96 $70 112<br/>
|
|||
|
SOH<br/>
|
|||
|
DC1<br/>
|
|||
|
!<br/>
|
|||
|
1<br/>
|
|||
|
A<br/>
|
|||
|
Q<br/>
|
|||
|
a<br/>
|
|||
|
q<br/>
|
|||
|
0001<br/>
|
|||
|
$1 1<br/>
|
|||
|
$11 17 $21 33 $31 49 $41 65 $51 81 $61 97 $71 113<br/>
|
|||
|
STX<br/>
|
|||
|
DC2<br/>
|
|||
|
"<br/>
|
|||
|
2<br/>
|
|||
|
B<br/>
|
|||
|
R<br/>
|
|||
|
b<br/>
|
|||
|
r<br/>
|
|||
|
0010<br/>
|
|||
|
$2 2<br/>
|
|||
|
$12 18 $22 34 $32 50 $42 66 $52 82 $62 98 $72 114<br/>
|
|||
|
ETX<br/>
|
|||
|
DC3<br/>
|
|||
|
#<br/>
|
|||
|
3<br/>
|
|||
|
C<br/>
|
|||
|
S<br/>
|
|||
|
c<br/>
|
|||
|
s<br/>
|
|||
|
0011<br/>
|
|||
|
$3 3<br/>
|
|||
|
$13 19 $23 35 $33 51 $43 67 $53 83 $63 99 $73 115<br/>
|
|||
|
EOT<br/>
|
|||
|
DC4<br/>
|
|||
|
$<br/>
|
|||
|
4<br/>
|
|||
|
D<br/>
|
|||
|
T<br/>
|
|||
|
d<br/>
|
|||
|
t<br/>
|
|||
|
0100<br/>
|
|||
|
$4 4<br/>
|
|||
|
$14 20 $24 36 $34 52 $44 68 $54 84 $64 100 $74 116<br/>
|
|||
|
ENQ<br/>
|
|||
|
NAK<br/>
|
|||
|
%<br/>
|
|||
|
5<br/>
|
|||
|
E<br/>
|
|||
|
U<br/>
|
|||
|
e<br/>
|
|||
|
u<br/>
|
|||
|
0101<br/>
|
|||
|
$5 5<br/>
|
|||
|
$15 21 $25 37 $35 53 $45 69 $55 85 $65 101 $75 117<br/>
|
|||
|
ACK<br/>
|
|||
|
SYN<br/>
|
|||
|
&<br/>
|
|||
|
6<br/>
|
|||
|
F<br/>
|
|||
|
V<br/>
|
|||
|
f<br/>
|
|||
|
v<br/>
|
|||
|
0110<br/>
|
|||
|
$6 6<br/>
|
|||
|
$16 22 $26 38 $36 54 $46 70 $56 86 $66 102 $76 118<br/>
|
|||
|
BEL<br/>
|
|||
|
ETB<br/>
|
|||
|
’<br/>
|
|||
|
7<br/>
|
|||
|
G<br/>
|
|||
|
W<br/>
|
|||
|
g<br/>
|
|||
|
w<br/>
|
|||
|
0111<br/>
|
|||
|
$7 7<br/>
|
|||
|
$17 23 $27 39 $37 55 $47 71 $57 87 $67 103 $77 119<br/>
|
|||
|
BS<br/>
|
|||
|
CAN<br/>
|
|||
|
(<br/>
|
|||
|
8<br/>
|
|||
|
H<br/>
|
|||
|
X<br/>
|
|||
|
h<br/>
|
|||
|
x<br/>
|
|||
|
1000<br/>
|
|||
|
$8 8<br/>
|
|||
|
$18 24 $28 40 $38 56 $48 72 $58 88 $68 104 $78 120<br/>
|
|||
|
HT<br/>
|
|||
|
EM<br/>
|
|||
|
)<br/>
|
|||
|
9<br/>
|
|||
|
I<br/>
|
|||
|
Y<br/>
|
|||
|
i<br/>
|
|||
|
y<br/>
|
|||
|
1001<br/>
|
|||
|
$9 9<br/>
|
|||
|
$19 25 $29 41 $39 57 $49 73 $59 89 $69 105 $79 121<br/>
|
|||
|
LF<br/>
|
|||
|
SUB<br/>
|
|||
|
*<br/>
|
|||
|
:<br/>
|
|||
|
J<br/>
|
|||
|
Z<br/>
|
|||
|
j<br/>
|
|||
|
z<br/>
|
|||
|
1010<br/>
|
|||
|
$A 10<br/>
|
|||
|
$1A 26 $2A 42 $3A 58 $4A 74 $5A 90 $6A 106 $7A 122<br/>
|
|||
|
VT<br/>
|
|||
|
ESC<br/>
|
|||
|
+<br/>
|
|||
|
;<br/>
|
|||
|
K<br/>
|
|||
|
[Ä<br/>
|
|||
|
k<br/>
|
|||
|
{ä<br/>
|
|||
|
1011<br/>
|
|||
|
$B 11<br/>
|
|||
|
$1B 27 $2B 43 $3B 59 $4B 75 $5B 91 $6B 107 $7B 123<br/>
|
|||
|
121<br/>
|
|||
|
<hr/>
|
|||
|
<a name=122></a>15. C/C++<br/>
|
|||
|
FF<br/>
|
|||
|
FS<br/>
|
|||
|
,<br/>
|
|||
|
<<br/>
|
|||
|
L<br/>
|
|||
|
\ö<br/>
|
|||
|
l<br/>
|
|||
|
|ö<br/>
|
|||
|
1100<br/>
|
|||
|
$C 12<br/>
|
|||
|
$1C 28 $2C 44 $3C 60 $4C 76 $5C 92 $6C 108 $7C 124<br/>
|
|||
|
CR<br/>
|
|||
|
GS<br/>
|
|||
|
-<br/>
|
|||
|
=<br/>
|
|||
|
M<br/>
|
|||
|
]Ü<br/>
|
|||
|
m<br/>
|
|||
|
}ü<br/>
|
|||
|
1101<br/>
|
|||
|
$D 13<br/>
|
|||
|
$1D 29 $2D 45 $3D 61 $4D 77 $5D 93 $7D 109 $7D 125<br/>
|
|||
|
SO<br/>
|
|||
|
RS<br/>
|
|||
|
.<br/>
|
|||
|
><br/>
|
|||
|
N<br/>
|
|||
|
^<br/>
|
|||
|
n<br/>
|
|||
|
~ß<br/>
|
|||
|
1110<br/>
|
|||
|
$E 14<br/>
|
|||
|
$1E 30 $2E 46 $3E 62 $4E 78 $5E 94 $7E 110 $7E 126<br/>
|
|||
|
SI<br/>
|
|||
|
US<br/>
|
|||
|
/<br/>
|
|||
|
?<br/>
|
|||
|
O<br/>
|
|||
|
_<br/>
|
|||
|
o<br/>
|
|||
|
DEL<br/>
|
|||
|
1111<br/>
|
|||
|
$F 15<br/>
|
|||
|
$1F 31 $2F 47 $3F 63 $4F 79 $5F 95 $7F 111 $7F 127<br/>
|
|||
|
15.7.1. Unterteilung der Steuerzeichen:<br/>
|
|||
|
TC<br/>
|
|||
|
transmission control<br/>
|
|||
|
Übertragungssteuerzeichen<br/>
|
|||
|
FE<br/>
|
|||
|
format effects<br/>
|
|||
|
Formatsteuerzeichen<br/>
|
|||
|
IS<br/>
|
|||
|
information separators Informationstrennzeichen<br/>
|
|||
|
DC<br/>
|
|||
|
device control<br/>
|
|||
|
Gerätesteuerzeichen<br/>
|
|||
|
15.7.2. Bedeutung der Steuerzeichen:<br/>
|
|||
|
NUL<br/>
|
|||
|
null<br/>
|
|||
|
kein Zeichen<br/>
|
|||
|
SOH<br/>
|
|||
|
TC<br/>
|
|||
|
start of heading<br/>
|
|||
|
Anfang des Kopfes<br/>
|
|||
|
STX<br/>
|
|||
|
TC<br/>
|
|||
|
start of text<br/>
|
|||
|
Anfang des Textes<br/>
|
|||
|
ETX<br/>
|
|||
|
TC<br/>
|
|||
|
end of text<br/>
|
|||
|
Ende des Textes<br/>
|
|||
|
EOT<br/>
|
|||
|
TC<br/>
|
|||
|
end of transmission<br/>
|
|||
|
Ende der Übertragung<br/>
|
|||
|
ENQ<br/>
|
|||
|
TC<br/>
|
|||
|
enquiry<br/>
|
|||
|
Stationsaufforderung<br/>
|
|||
|
ACK<br/>
|
|||
|
TC<br/>
|
|||
|
acknowledge<br/>
|
|||
|
positive Rückmeldung<br/>
|
|||
|
BEL<br/>
|
|||
|
bell<br/>
|
|||
|
Alarm / Piepton<br/>
|
|||
|
BS<br/>
|
|||
|
FE<br/>
|
|||
|
backspace<br/>
|
|||
|
Rückwärtsschritt<br/>
|
|||
|
HT<br/>
|
|||
|
FE<br/>
|
|||
|
horizontal tabulation<br/>
|
|||
|
horizontaler Tabulator<br/>
|
|||
|
LF<br/>
|
|||
|
FE<br/>
|
|||
|
line feed<br/>
|
|||
|
Zeilenvorschub<br/>
|
|||
|
VT<br/>
|
|||
|
FE<br/>
|
|||
|
vertical tabulation<br/>
|
|||
|
vertikaler Tabulator<br/>
|
|||
|
FF<br/>
|
|||
|
FE<br/>
|
|||
|
form feed<br/>
|
|||
|
Seitenvorschub<br/>
|
|||
|
CR<br/>
|
|||
|
FE<br/>
|
|||
|
carriage return<br/>
|
|||
|
Wagenrücklauf<br/>
|
|||
|
SO<br/>
|
|||
|
shift out<br/>
|
|||
|
Dauerumschaltung<br/>
|
|||
|
SI<br/>
|
|||
|
shift in<br/>
|
|||
|
Rückschaltung<br/>
|
|||
|
DLE<br/>
|
|||
|
TC<br/>
|
|||
|
data link escape<br/>
|
|||
|
Datenübertragungsumschaltung<br/>
|
|||
|
DCn<br/>
|
|||
|
DC<br/>
|
|||
|
device control<br/>
|
|||
|
Gerätesteuerzeichen<br/>
|
|||
|
NAK<br/>
|
|||
|
TC<br/>
|
|||
|
negative acknowledge<br/>
|
|||
|
negative Rückmeldung<br/>
|
|||
|
SYN<br/>
|
|||
|
TC<br/>
|
|||
|
synchronous idle<br/>
|
|||
|
Synchronisierung<br/>
|
|||
|
ETB<br/>
|
|||
|
TC<br/>
|
|||
|
end of transmission block<br/>
|
|||
|
Ende des Übertragungsblocks<br/>
|
|||
|
CAN<br/>
|
|||
|
cancel<br/>
|
|||
|
ungültig<br/>
|
|||
|
EM<br/>
|
|||
|
end of medium<br/>
|
|||
|
Ende der Aufzeichnung<br/>
|
|||
|
122<br/>
|
|||
|
<hr/>
|
|||
|
<a name=123></a>15.8. Operatoren und Ausdrücke<br/>
|
|||
|
SUB<br/>
|
|||
|
substitute character<br/>
|
|||
|
Substitution<br/>
|
|||
|
ESC<br/>
|
|||
|
escape<br/>
|
|||
|
Umschaltung<br/>
|
|||
|
FS<br/>
|
|||
|
IS<br/>
|
|||
|
file separator<br/>
|
|||
|
Hauptgruppentrennung<br/>
|
|||
|
GS<br/>
|
|||
|
IS<br/>
|
|||
|
group separator<br/>
|
|||
|
Gruppentrennung<br/>
|
|||
|
RS<br/>
|
|||
|
IS<br/>
|
|||
|
record separator<br/>
|
|||
|
Untergruppentrennung<br/>
|
|||
|
US<br/>
|
|||
|
IS<br/>
|
|||
|
unit separator<br/>
|
|||
|
Teilgruppentrennung<br/>
|
|||
|
SP<br/>
|
|||
|
space<br/>
|
|||
|
Leerzeichen<br/>
|
|||
|
DEL<br/>
|
|||
|
delete<br/>
|
|||
|
löschen<br/>
|
|||
|
15.8. Operatoren und Ausdrücke<br/>
|
|||
|
15.8.1. Arithmetische Operatoren:<br/>
|
|||
|
Operator<br/>
|
|||
|
Bedeutung<br/>
|
|||
|
Assoziativität Rang<br/>
|
|||
|
Beispiel<br/>
|
|||
|
--------<br/>
|
|||
|
---------<br/>
|
|||
|
-------------- ----<br/>
|
|||
|
--------<br/>
|
|||
|
+<br/>
|
|||
|
Addition<br/>
|
|||
|
><br/>
|
|||
|
5<br/>
|
|||
|
a+b<br/>
|
|||
|
-<br/>
|
|||
|
Subtraktion<br/>
|
|||
|
><br/>
|
|||
|
5<br/>
|
|||
|
a-b<br/>
|
|||
|
*<br/>
|
|||
|
Multiplikation<br/>
|
|||
|
><br/>
|
|||
|
4<br/>
|
|||
|
a*b<br/>
|
|||
|
/<br/>
|
|||
|
Division<br/>
|
|||
|
><br/>
|
|||
|
4<br/>
|
|||
|
a/b<br/>
|
|||
|
%<br/>
|
|||
|
Modulo<br/>
|
|||
|
><br/>
|
|||
|
4<br/>
|
|||
|
a%b<br/>
|
|||
|
15.8.2. Vergleichsoperatoren:<br/>
|
|||
|
Operator<br/>
|
|||
|
Bedeutung<br/>
|
|||
|
Assoziativität Rang<br/>
|
|||
|
Beispiel<br/>
|
|||
|
--------<br/>
|
|||
|
---------<br/>
|
|||
|
-------------- ----<br/>
|
|||
|
--------<br/>
|
|||
|
<<br/>
|
|||
|
kleiner als<br/>
|
|||
|
><br/>
|
|||
|
7<br/>
|
|||
|
a<b<br/>
|
|||
|
<=<br/>
|
|||
|
kleiner oder gleich<br/>
|
|||
|
><br/>
|
|||
|
7<br/>
|
|||
|
a<=b<br/>
|
|||
|
><br/>
|
|||
|
größer<br/>
|
|||
|
><br/>
|
|||
|
7<br/>
|
|||
|
a>b<br/>
|
|||
|
>=<br/>
|
|||
|
größer oder gleich<br/>
|
|||
|
><br/>
|
|||
|
7<br/>
|
|||
|
a>=b<br/>
|
|||
|
==<br/>
|
|||
|
gleich<br/>
|
|||
|
><br/>
|
|||
|
8<br/>
|
|||
|
a==b<br/>
|
|||
|
!=<br/>
|
|||
|
ungleich<br/>
|
|||
|
><br/>
|
|||
|
8<br/>
|
|||
|
a!=b<br/>
|
|||
|
15.8.3. Logische Operatoren:<br/>
|
|||
|
Operator<br/>
|
|||
|
Bedeutung<br/>
|
|||
|
Assoziativität Rang<br/>
|
|||
|
Beispiel<br/>
|
|||
|
--------<br/>
|
|||
|
---------<br/>
|
|||
|
-------------- ----<br/>
|
|||
|
--------<br/>
|
|||
|
&<br/>
|
|||
|
bitweises AND<br/>
|
|||
|
><br/>
|
|||
|
9<br/>
|
|||
|
a&b<br/>
|
|||
|
|<br/>
|
|||
|
bitweises OR<br/>
|
|||
|
><br/>
|
|||
|
11<br/>
|
|||
|
a|b<br/>
|
|||
|
^<br/>
|
|||
|
bitweises XOR<br/>
|
|||
|
><br/>
|
|||
|
10<br/>
|
|||
|
a^b<br/>
|
|||
|
<<<br/>
|
|||
|
bitweises Linksschieben<br/>
|
|||
|
><br/>
|
|||
|
6<br/>
|
|||
|
a<<n<br/>
|
|||
|
>><br/>
|
|||
|
bitweises Rechtsschieben<br/>
|
|||
|
><br/>
|
|||
|
6<br/>
|
|||
|
a>>n<br/>
|
|||
|
~<br/>
|
|||
|
Einerkomplement<br/>
|
|||
|
<<br/>
|
|||
|
2<br/>
|
|||
|
~a<br/>
|
|||
|
&&<br/>
|
|||
|
logisches AND<br/>
|
|||
|
><br/>
|
|||
|
12<br/>
|
|||
|
a&&b<br/>
|
|||
|
||<br/>
|
|||
|
logisches OR<br/>
|
|||
|
><br/>
|
|||
|
13<br/>
|
|||
|
a||b<br/>
|
|||
|
!<br/>
|
|||
|
logische Negation<br/>
|
|||
|
<<br/>
|
|||
|
2<br/>
|
|||
|
!a<br/>
|
|||
|
123<br/>
|
|||
|
<hr/>
|
|||
|
<a name=124></a>15. C/C++<br/>
|
|||
|
15.8.4. Zuweisungsoperatoren:<br/>
|
|||
|
Operator<br/>
|
|||
|
Bedeutung<br/>
|
|||
|
Assoziativität Rang<br/>
|
|||
|
Beispiel<br/>
|
|||
|
--------<br/>
|
|||
|
---------<br/>
|
|||
|
-------------- ----<br/>
|
|||
|
--------<br/>
|
|||
|
=<br/>
|
|||
|
Zuweisung<br/>
|
|||
|
<<br/>
|
|||
|
15<br/>
|
|||
|
a=b<br/>
|
|||
|
+=<br/>
|
|||
|
Zuweisung nach Addition<br/>
|
|||
|
<<br/>
|
|||
|
15<br/>
|
|||
|
a+=b<br/>
|
|||
|
-=<br/>
|
|||
|
Zuweisung nach Subtraktion<br/>
|
|||
|
<<br/>
|
|||
|
15<br/>
|
|||
|
a-=b<br/>
|
|||
|
*=<br/>
|
|||
|
Zuweisung nach Multiplikation<br/>
|
|||
|
<<br/>
|
|||
|
15<br/>
|
|||
|
a*=b<br/>
|
|||
|
/=<br/>
|
|||
|
Zuweisung nach Division<br/>
|
|||
|
<<br/>
|
|||
|
15<br/>
|
|||
|
a/=b<br/>
|
|||
|
%=<br/>
|
|||
|
Zuweisung nach Modulo<br/>
|
|||
|
<<br/>
|
|||
|
15<br/>
|
|||
|
a%=b<br/>
|
|||
|
<<=<br/>
|
|||
|
Zuweisung nach bitweisem<br/>
|
|||
|
<<br/>
|
|||
|
15<br/>
|
|||
|
a<<=b<br/>
|
|||
|
Linksschieben<br/>
|
|||
|
>>=<br/>
|
|||
|
Zuweisung nach bitweisem<br/>
|
|||
|
<<br/>
|
|||
|
15<br/>
|
|||
|
a>>=b<br/>
|
|||
|
Rechtsschieben<br/>
|
|||
|
&=<br/>
|
|||
|
Zuweisung nach bitweisem AND<br/>
|
|||
|
<<br/>
|
|||
|
15<br/>
|
|||
|
a&=b<br/>
|
|||
|
|=<br/>
|
|||
|
Zuweisung nach bitweisem OR<br/>
|
|||
|
<<br/>
|
|||
|
15<br/>
|
|||
|
a|=b<br/>
|
|||
|
^=<br/>
|
|||
|
Zuweisung nach bitweisem XOR<br/>
|
|||
|
<<br/>
|
|||
|
15<br/>
|
|||
|
a^=b<br/>
|
|||
|
15.8.5. Post- und Prefix- Operatoren:<br/>
|
|||
|
Operator<br/>
|
|||
|
Bedeutung<br/>
|
|||
|
Assoziativität Rang<br/>
|
|||
|
Beispiel<br/>
|
|||
|
--------<br/>
|
|||
|
---------<br/>
|
|||
|
-------------- ----<br/>
|
|||
|
--------<br/>
|
|||
|
++<br/>
|
|||
|
Inkrement<br/>
|
|||
|
> <<br/>
|
|||
|
1 2<br/>
|
|||
|
a++ ++a<br/>
|
|||
|
--<br/>
|
|||
|
Dekrement<br/>
|
|||
|
> <<br/>
|
|||
|
1 2<br/>
|
|||
|
a-- --a<br/>
|
|||
|
()<br/>
|
|||
|
Funktionsaufruf<br/>
|
|||
|
><br/>
|
|||
|
1<br/>
|
|||
|
sqrt(a)<br/>
|
|||
|
[]<br/>
|
|||
|
Arrayelement<br/>
|
|||
|
><br/>
|
|||
|
1<br/>
|
|||
|
feld[a]<br/>
|
|||
|
.<br/>
|
|||
|
Feld einer structur oder union ><br/>
|
|||
|
1<br/>
|
|||
|
tag.dat<br/>
|
|||
|
-><br/>
|
|||
|
Zeiger auf structur<br/>
|
|||
|
><br/>
|
|||
|
1<br/>
|
|||
|
zeig->ele<br/>
|
|||
|
( type )<br/>
|
|||
|
expl. Typenumwandlung<br/>
|
|||
|
<<br/>
|
|||
|
2<br/>
|
|||
|
double(a)<br/>
|
|||
|
15.8.6. Zeigeroperatoren:<br/>
|
|||
|
Operator<br/>
|
|||
|
Bedeutung<br/>
|
|||
|
Assoziativität Rang<br/>
|
|||
|
Beispiel<br/>
|
|||
|
--------<br/>
|
|||
|
---------<br/>
|
|||
|
-------------- ----<br/>
|
|||
|
--------<br/>
|
|||
|
&<br/>
|
|||
|
Adresse von<br/>
|
|||
|
<<br/>
|
|||
|
2<br/>
|
|||
|
&a<br/>
|
|||
|
*<br/>
|
|||
|
Indirektion<br/>
|
|||
|
<<br/>
|
|||
|
2<br/>
|
|||
|
*a<br/>
|
|||
|
.*<br/>
|
|||
|
Dereferenzzeiger<br/>
|
|||
|
><br/>
|
|||
|
3<br/>
|
|||
|
tag.*dat<br/>
|
|||
|
->*<br/>
|
|||
|
Dereferenzzeiger<br/>
|
|||
|
><br/>
|
|||
|
3<br/>
|
|||
|
tag->dat<br/>
|
|||
|
15.8.7. Diverse Kategorien:<br/>
|
|||
|
Operator<br/>
|
|||
|
Bedeutung<br/>
|
|||
|
Assoziativität Rang<br/>
|
|||
|
Beispiel<br/>
|
|||
|
--------<br/>
|
|||
|
---------<br/>
|
|||
|
-------------- ----<br/>
|
|||
|
--------<br/>
|
|||
|
?:<br/>
|
|||
|
Bedinung<br/>
|
|||
|
<<br/>
|
|||
|
14<br/>
|
|||
|
a?b:c<br/>
|
|||
|
i = x<y ? 6 : k+1 ;<br/>
|
|||
|
x kleiner y dann 6 sonst k+1<br/>
|
|||
|
124<br/>
|
|||
|
<hr/>
|
|||
|
<a name=125></a>15.9. Inkrementieren und Dekrementieren<br/>
|
|||
|
,<br/>
|
|||
|
Aufzählungsoperator<br/>
|
|||
|
><br/>
|
|||
|
16<br/>
|
|||
|
a,b, ...<br/>
|
|||
|
-<br/>
|
|||
|
unäres Minus<br/>
|
|||
|
<<br/>
|
|||
|
2<br/>
|
|||
|
-n<br/>
|
|||
|
+<br/>
|
|||
|
unäres Plus<br/>
|
|||
|
<<br/>
|
|||
|
2<br/>
|
|||
|
+n<br/>
|
|||
|
sizeof(typ)<br/>
|
|||
|
Größe des Types in Byte<br/>
|
|||
|
<<br/>
|
|||
|
2<br/>
|
|||
|
sizeof(a)<br/>
|
|||
|
new<br/>
|
|||
|
dynam. Objekt erzeugen<br/>
|
|||
|
<<br/>
|
|||
|
2<br/>
|
|||
|
b = new float[a]<br/>
|
|||
|
delete<br/>
|
|||
|
dynam. Objekt löschen<br/>
|
|||
|
<<br/>
|
|||
|
2<br/>
|
|||
|
delete b<br/>
|
|||
|
::<br/>
|
|||
|
Zugiffs-/Bereichsoperator<br/>
|
|||
|
<<br/>
|
|||
|
2<br/>
|
|||
|
adr::nam<br/>
|
|||
|
15.9. Inkrementieren und Dekrementieren<br/>
|
|||
|
i++ ;<br/>
|
|||
|
i = i + 1<br/>
|
|||
|
++i ;<br/>
|
|||
|
i = i + 1<br/>
|
|||
|
x = i++ ;<br/>
|
|||
|
1. x = i<br/>
|
|||
|
2. i = i + 1<br/>
|
|||
|
x = ++i ;<br/>
|
|||
|
1. i = i + 1<br/>
|
|||
|
2. x = i<br/>
|
|||
|
i-- ;<br/>
|
|||
|
i = i - 1<br/>
|
|||
|
--i ;<br/>
|
|||
|
i = i - 1<br/>
|
|||
|
x = i-- ;<br/>
|
|||
|
1. x = i<br/>
|
|||
|
2. i = i - 1<br/>
|
|||
|
x = --i ;<br/>
|
|||
|
2. i = i - 1<br/>
|
|||
|
2. x = i<br/>
|
|||
|
15.10. Wertebereich und Genauigkeit elementarer<br/>
|
|||
|
Datentypen<br/>
|
|||
|
Datentyp<br/>
|
|||
|
Bit<br/>
|
|||
|
Min.Wert<br/>
|
|||
|
Max.Wert<br/>
|
|||
|
Genauigkeit<br/>
|
|||
|
--------<br/>
|
|||
|
---<br/>
|
|||
|
--------<br/>
|
|||
|
--------<br/>
|
|||
|
-----------<br/>
|
|||
|
char<br/>
|
|||
|
8<br/>
|
|||
|
-128<br/>
|
|||
|
127<br/>
|
|||
|
unsigned char<br/>
|
|||
|
8<br/>
|
|||
|
0<br/>
|
|||
|
255<br/>
|
|||
|
short int<br/>
|
|||
|
16<br/>
|
|||
|
-32768<br/>
|
|||
|
32767<br/>
|
|||
|
unsigned short int 16<br/>
|
|||
|
0<br/>
|
|||
|
65535<br/>
|
|||
|
int<br/>
|
|||
|
(16)32(64)<br/>
|
|||
|
-2147483648<br/>
|
|||
|
2147483647<br/>
|
|||
|
unsigned int<br/>
|
|||
|
16<br/>
|
|||
|
0<br/>
|
|||
|
65535<br/>
|
|||
|
long int<br/>
|
|||
|
32(64)<br/>
|
|||
|
-2147483648<br/>
|
|||
|
2147483647<br/>
|
|||
|
unsigned long int 32<br/>
|
|||
|
0<br/>
|
|||
|
4294967295<br/>
|
|||
|
float<br/>
|
|||
|
32<br/>
|
|||
|
ca. 3.4E-38<br/>
|
|||
|
3.4E38<br/>
|
|||
|
>= 6 Ziffern<br/>
|
|||
|
double<br/>
|
|||
|
64<br/>
|
|||
|
ca. 1.7E-308<br/>
|
|||
|
1.7E308<br/>
|
|||
|
>= 10 Ziffern<br/>
|
|||
|
long double<br/>
|
|||
|
80<br/>
|
|||
|
ca. 1.2E-4932<br/>
|
|||
|
1.2E4932<br/>
|
|||
|
>= double<br/>
|
|||
|
15.11. Variableninitialisierung<br/>
|
|||
|
Nichtinitialisierte Variabeln haben nicht automatisch den Wert 0!<br/>
|
|||
|
short faktor=10 ;<br/>
|
|||
|
short laktor, messwert ;<br/>
|
|||
|
125<br/>
|
|||
|
<hr/>
|
|||
|
<a name=126></a>15. C/C++<br/>
|
|||
|
messwert=faktor ;<br/>
|
|||
|
15.12. Konstanten<br/>
|
|||
|
Konstanten werden mit dem vorangestellten Schlüsselwort const wie Variabeln dekla-<br/>
|
|||
|
riert. Der dem Namen über das =-Zeichen zugeordnete Wert kann nicht im Programm<br/>
|
|||
|
verändert werden. Für eine fehlende Typenangabe wird int angenommen.<br/>
|
|||
|
cont float<br/>
|
|||
|
PI =<br/>
|
|||
|
3.14159 ;<br/>
|
|||
|
// bevorzugen<br/>
|
|||
|
#define<br/>
|
|||
|
PI<br/>
|
|||
|
3.14159 ;<br/>
|
|||
|
15.12.1. Ganzzahlkonstanten<br/>
|
|||
|
dezimal = 30 ; oktal = 036 ; hexadezimal = 0x1E ; Zusätzlich kann frau eine Ganz-<br/>
|
|||
|
zahlkonstante durch das Suffix L oder l als long und durch U oder u als unsigned<br/>
|
|||
|
kennzeichnen (z.B. 30U).<br/>
|
|||
|
15.12.2. Gleitkommakonstanten<br/>
|
|||
|
0.033 +.033 33E-3 +33.0e-03 Zusätzlich kann frau eine Gleitkommakonstante durch<br/>
|
|||
|
das Suffix F oder f als float und durch L oder l als long double kennzeichnen (z.B.<br/>
|
|||
|
0.033L).<br/>
|
|||
|
15.12.3. Zeichen- und Zeichenkettenkonstanten<br/>
|
|||
|
’n’<br/>
|
|||
|
“zeichenkette’"<br/>
|
|||
|
126<br/>
|
|||
|
<hr/>
|
|||
|
<a name=127></a>16. Tcl/Tk<br/>
|
|||
|
wish<br/>
|
|||
|
startet den Tcl/Tk-Interpeter<br/>
|
|||
|
exit<br/>
|
|||
|
beendet den Tcl/Tk-Interpeter<br/>
|
|||
|
wish Programm.tcl<br/>
|
|||
|
startet das Programm.tcl<br/>
|
|||
|
button .name Option/en Knopf definieren Optionen:<br/>
|
|||
|
-text "Aufschrift"<br/>
|
|||
|
Knopf-Aufschrift<br/>
|
|||
|
-text [Befehl]<br/>
|
|||
|
Knopf-Aufschrift vom Befehl<br/>
|
|||
|
-command {Befehl}<br/>
|
|||
|
Knopf-Befehl<br/>
|
|||
|
Befehl: z.B. exec ls oder exec xterm -e vi &<br/>
|
|||
|
-relief flat<br/>
|
|||
|
Knopf flach<br/>
|
|||
|
-relief raised<br/>
|
|||
|
Knopf erhoben<br/>
|
|||
|
-relief sunken<br/>
|
|||
|
Knopf eingedrückt<br/>
|
|||
|
-relief ridge<br/>
|
|||
|
Knopf Band erhoben<br/>
|
|||
|
-relief groove<br/>
|
|||
|
Knopf Band eingedrückt<br/>
|
|||
|
-padx Pixelzahl<br/>
|
|||
|
Abstand zum Rand in x-Richtung<br/>
|
|||
|
-pady Pixelzahl<br/>
|
|||
|
Abstand zum Rand in y-Richtung<br/>
|
|||
|
-image [ image create photo -file Bildname ]<br/>
|
|||
|
Knopf mit gif, ppm oder pgm<br/>
|
|||
|
-foreground Farbe<br/>
|
|||
|
Schriftfarbe "#rgb"->"#ff0000" oder red<br/>
|
|||
|
-fg Farbe<br/>
|
|||
|
Abkürzung für -foreground Farbe<br/>
|
|||
|
-background Farbe<br/>
|
|||
|
Knopffarbe<br/>
|
|||
|
-bg Farbe<br/>
|
|||
|
Abkürzung für -background Farbe<br/>
|
|||
|
-width Pixelbreite<br/>
|
|||
|
Knopfbreite<br/>
|
|||
|
-height Pixelhöhe<br/>
|
|||
|
Knopfhöhe<br/>
|
|||
|
-font Zeichensatz<br/>
|
|||
|
Schrift für den Knopf<br/>
|
|||
|
pack .name Option/en<br/>
|
|||
|
Knopf anzeigen Option:<br/>
|
|||
|
-fill x<br/>
|
|||
|
Knopf an die Fensterbreite anpassen<br/>
|
|||
|
-expand true<br/>
|
|||
|
Knopf im großen Fenster aufteilen<br/>
|
|||
|
127<br/>
|
|||
|
<hr/>
|
|||
|
<a name=128></a><hr/>
|
|||
|
<a name=129></a>17. Perl<br/>
|
|||
|
perl -v<br/>
|
|||
|
überprüfen ob Perl installiert ist<br/>
|
|||
|
129<br/>
|
|||
|
<hr/>
|
|||
|
<a name=130></a><hr/>
|
|||
|
<a name=131></a>18. CGI+Perl<br/>
|
|||
|
18.1. Einleitung<br/>
|
|||
|
Was ist CGI?<br/>
|
|||
|
Common Gateway Interface. Web-Server-Schnittstelle, um mit<br/>
|
|||
|
anderen Programmen zusammenzuarbeiten.<br/>
|
|||
|
Was ist Perl?<br/>
|
|||
|
Practical Extraction and Report Language. Interpreter-Skript-<br/>
|
|||
|
Sprache, die häufig zur Programmierung von CGI-Anwendungen<br/>
|
|||
|
benutzt wird.<br/>
|
|||
|
18.2. Perl<br/>
|
|||
|
18.2.1. Texte und Strings<br/>
|
|||
|
# Kommentartext<br/>
|
|||
|
(Hash) Einzeiliger Kommentartext<br/>
|
|||
|
print "Text" ;<br/>
|
|||
|
Text ausgeben<br/>
|
|||
|
print "Text\n" ;<br/>
|
|||
|
\n Neue Zeile<br/>
|
|||
|
print "Text\r" ;<br/>
|
|||
|
\r Wagenrücklauf<br/>
|
|||
|
print "Text\t" ;<br/>
|
|||
|
\t Tabulator<br/>
|
|||
|
print "Text\v" ;<br/>
|
|||
|
\v Vertikalzeichen<br/>
|
|||
|
print "Text\f" ;<br/>
|
|||
|
\f Papiereinzugszeichen<br/>
|
|||
|
print "Text\b" ;<br/>
|
|||
|
\b Rücksetzzeichen<br/>
|
|||
|
print "Text\a" ;<br/>
|
|||
|
\a Piepton<br/>
|
|||
|
print "Text\e" ;<br/>
|
|||
|
\e Unterbrechungszeichen<br/>
|
|||
|
print $Variable ;<br/>
|
|||
|
Variable ausgeben<br/>
|
|||
|
print "Text\"" ;<br/>
|
|||
|
\" Gänsefüßchen ausgeben<br/>
|
|||
|
print "Text\’" ;<br/>
|
|||
|
\’ Einfache Anführungszeichen ausgeben<br/>
|
|||
|
print "Text\$" ;<br/>
|
|||
|
\$ Dollar-Zeichen ausgeben<br/>
|
|||
|
print "Text\\" ;<br/>
|
|||
|
\\ Backslash ausgeben<br/>
|
|||
|
print "Text".$Var."Text" ;<br/>
|
|||
|
. Verketten von Zeichenfolgen<br/>
|
|||
|
print "Text"x10 ;<br/>
|
|||
|
Text 10 mal zusgeben<br/>
|
|||
|
18.2.2. Rechenoperationen<br/>
|
|||
|
$a=$b+$c ;<br/>
|
|||
|
Addition von $b und $c gleich $a<br/>
|
|||
|
$a=$b-$c ;<br/>
|
|||
|
Subtraktion von $b minus $c gleich $a<br/>
|
|||
|
$a=$b*$c ;<br/>
|
|||
|
Multiplikation von $b mal $c gleich $a<br/>
|
|||
|
$a=$b/$c ;<br/>
|
|||
|
Division $b geteilt durch $c gleich $a<br/>
|
|||
|
131<br/>
|
|||
|
<hr/>
|
|||
|
<a name=132></a>18. CGI+Perl<br/>
|
|||
|
$a=$b**$c ;<br/>
|
|||
|
Potenz $b hoch $c gleich $a<br/>
|
|||
|
$a=$b%$c ;<br/>
|
|||
|
Modulo $b geteilt durch $c Rest gleich $a<br/>
|
|||
|
$a++ ;<br/>
|
|||
|
$a=$a+1 ;<br/>
|
|||
|
$a-- ;<br/>
|
|||
|
$a=$a-1 ;<br/>
|
|||
|
$a=3.1415 ;<br/>
|
|||
|
. Dezimaltrenner<br/>
|
|||
|
18.2.3. Arrays (Listen)<br/>
|
|||
|
@Array=("W0","W1") ;<br/>
|
|||
|
Werte einer Array-Variable zuweisen (Kurzform)<br/>
|
|||
|
$Array[Indexwert]="Wert" ;<br/>
|
|||
|
Wert einer Array-Variable zuweisen (Langform)<br/>
|
|||
|
@Array=$Liste[2,4,8] ;<br/>
|
|||
|
Werte eines Arrays eines Arrays zuweisen<br/>
|
|||
|
print @Array ;<br/>
|
|||
|
Gesamtes Array ausgeben<br/>
|
|||
|
print $Array[Indexwert] ;<br/>
|
|||
|
Wert einer Array-Variable ausgeben<br/>
|
|||
|
print $#Array ;<br/>
|
|||
|
Nummer des letzten Listenelements ausgeben<br/>
|
|||
|
18.2.4. String- und Zahlenvergleichsoperratoren<br/>
|
|||
|
Vergleich<br/>
|
|||
|
Zahlenvergleich Stringvergleich<br/>
|
|||
|
Gleich<br/>
|
|||
|
==<br/>
|
|||
|
eq<br/>
|
|||
|
Ungleich<br/>
|
|||
|
!=<br/>
|
|||
|
ne<br/>
|
|||
|
Kleiner als<br/>
|
|||
|
<<br/>
|
|||
|
lt<br/>
|
|||
|
Größer als<br/>
|
|||
|
><br/>
|
|||
|
gt<br/>
|
|||
|
Kleiner oder gleich<br/>
|
|||
|
<=<br/>
|
|||
|
le<br/>
|
|||
|
Größer oder gleich<br/>
|
|||
|
>=<br/>
|
|||
|
ge<br/>
|
|||
|
18.2.5. if-Bedingung<br/>
|
|||
|
if (Bedingung)<br/>
|
|||
|
Wenn die Bedingung Wahr,<br/>
|
|||
|
{<br/>
|
|||
|
Befehle ;<br/>
|
|||
|
Befehle ausführen<br/>
|
|||
|
}<br/>
|
|||
|
18.2.6. if-else-Bedingung<br/>
|
|||
|
if (Bedingung)<br/>
|
|||
|
Wenn die Bedingung Wahr,<br/>
|
|||
|
{<br/>
|
|||
|
Befehle ;<br/>
|
|||
|
Befehle ausführen<br/>
|
|||
|
}<br/>else<br/>
|
|||
|
sonst<br/>
|
|||
|
{<br/>
|
|||
|
Befehle ;<br/>
|
|||
|
Befehle ausführen<br/>
|
|||
|
}<br/>
|
|||
|
132<br/>
|
|||
|
<hr/>
|
|||
|
<a name=133></a>18.3. Funktionen<br/>
|
|||
|
18.2.7. if-elseif-Bedingung<br/>
|
|||
|
if (Bedingung)<br/>
|
|||
|
Wenn die Bedingung Wahr,<br/>
|
|||
|
{<br/>
|
|||
|
Befehle ;<br/>
|
|||
|
Befehle ausführen<br/>
|
|||
|
}<br/>elseif (Bedingung)<br/>
|
|||
|
sonst Wenn die Bedingung Wahr,<br/>
|
|||
|
{<br/>
|
|||
|
Befehle ;<br/>
|
|||
|
Befehle ausführen<br/>
|
|||
|
}<br/>
|
|||
|
18.3. Funktionen<br/>
|
|||
|
18.3.1. String Funktionen<br/>
|
|||
|
$Var=chop($String) ;<br/>
|
|||
|
Löscht das letzte Zeichen von String und<br/>
|
|||
|
gibt es an Var<br/>
|
|||
|
18.3.2. Rechen Funktionen<br/>
|
|||
|
$a=sqrt($b) ;<br/>
|
|||
|
Quadratwurzel von $b nach $a<br/>
|
|||
|
$a=log($b) ;<br/>
|
|||
|
Logarithmus<br/>
|
|||
|
$a=exp($b) ;<br/>
|
|||
|
Exponenten<br/>
|
|||
|
$a=abs($b) ;<br/>
|
|||
|
Absoluterwert<br/>
|
|||
|
$a=int($b) ;<br/>
|
|||
|
Ganzzahlwert<br/>
|
|||
|
18.3.3. Array Funktionen<br/>
|
|||
|
push(@Liste,@Elemente) ;<br/>
|
|||
|
Setzt ein oder mehrere Elemente an<br/>
|
|||
|
das Ende der Liste<br/>
|
|||
|
unshift(@Liste,"Wert") ;<br/>
|
|||
|
Setzt ein oder mehrere Elemente an<br/>
|
|||
|
den Anfang der Liste<br/>
|
|||
|
$a=shift(@Liste) ;<br/>
|
|||
|
Entfernt das erste Element aus der Liste<br/>
|
|||
|
und gibt es an $a<br/>
|
|||
|
$a=pop(@Liste) ;<br/>
|
|||
|
Entfernt das letzte Element aus der Liste<br/>
|
|||
|
und gibt es an $a<br/>
|
|||
|
splice(@Liste,Start,Anzahl,Element) ;<br/>
|
|||
|
Entfernt die Anzahl vom Start der Liste<br/>
|
|||
|
und fügt Element ein<br/>
|
|||
|
133<br/>
|
|||
|
<hr/>
|
|||
|
<a name=134></a><hr/>
|
|||
|
<a name=135></a>19. Java<br/>
|
|||
|
19.1. Funktion von Java<br/>
|
|||
|
+---------------+ +--------------------------+ +---------------------+<br/>
|
|||
|
| Programm Code |->| Java Compiler (java.exe) |->| Bytecode (01010011) |<br/>
|
|||
|
+---------------+ +--------------------------+ +---------------------+<br/>
|
|||
|
|<br/>
|
|||
|
|<br/>
|
|||
|
V<br/>
|
|||
|
V<br/>
|
|||
|
+--------------+<br/>
|
|||
|
+--------------+<br/>
|
|||
|
| Ineterpreter |<br/>
|
|||
|
| Browser/<br/>
|
|||
|
|<br/>
|
|||
|
| (java.exe)<br/>
|
|||
|
|<br/>
|
|||
|
| Appletviewer |<br/>
|
|||
|
+--------------+<br/>
|
|||
|
+--------------+<br/>
|
|||
|
javac.exe progammcode.java -> programmcode.class<br/>
|
|||
|
Programm compilieren<br/>
|
|||
|
java.exe programmcode<br/>
|
|||
|
Programm ausführen<br/>
|
|||
|
appletviewer.exe<br/>
|
|||
|
Applets ausführen<br/>
|
|||
|
19.2. Sprache und Syntax von Java<br/>
|
|||
|
19.2.1. Kommentrare<br/>
|
|||
|
/*<br/>
|
|||
|
Kommentar-Anfang<br/>
|
|||
|
*/<br/>
|
|||
|
Kommentar-Ende<br/>
|
|||
|
//<br/>
|
|||
|
Einzeiliger Kommentar ohne Ende<br/>
|
|||
|
;<br/>
|
|||
|
Anweisung abschließen<br/>
|
|||
|
19.2.2. Datentypen<br/>
|
|||
|
Typ<br/>
|
|||
|
Inhalt<br/>
|
|||
|
Standdartwert<br/>
|
|||
|
Größe<br/>
|
|||
|
Wertebereich<br/>
|
|||
|
boolean True oder False<br/>
|
|||
|
False<br/>
|
|||
|
1 Bit -<br/>
|
|||
|
char<br/>
|
|||
|
Unicode Zeichen<br/>
|
|||
|
0000<br/>
|
|||
|
16 Bit<br/>
|
|||
|
0000 bis FFFF (Hex.)<br/>
|
|||
|
byte<br/>
|
|||
|
Ganzzahl mit Vorzeichen 0<br/>
|
|||
|
8 Bit<br/>
|
|||
|
-256 bis 255<br/>
|
|||
|
short<br/>
|
|||
|
Ganzzahl mit Vorzeichen 0<br/>
|
|||
|
16 Bit -32768 bis 32767<br/>
|
|||
|
int<br/>
|
|||
|
Ganzzahl mit Vorzeichen 0<br/>
|
|||
|
32 Bit<br/>
|
|||
|
-2^31 bis 2^31-1<br/>
|
|||
|
long<br/>
|
|||
|
Ganzzahl mit Vorzeichen 0<br/>
|
|||
|
64 Bit<br/>
|
|||
|
-2^63 bis 2^63-1<br/>
|
|||
|
float<br/>
|
|||
|
Kommazahl<br/>
|
|||
|
0.0<br/>
|
|||
|
32 Bit -<br/>
|
|||
|
double Kommazahl<br/>
|
|||
|
0.0<br/>
|
|||
|
64 Bit -<br/>
|
|||
|
135<br/>
|
|||
|
<hr/>
|
|||
|
<a name=136></a>19. Java<br/>
|
|||
|
19.2.3. Variablen<br/>
|
|||
|
Variable deklarieren<br/>
|
|||
|
boolean myBool;<br/>
|
|||
|
int x = 32;<br/>
|
|||
|
double y = 3.2;<br/>
|
|||
|
char buchstabe;<br/>
|
|||
|
Variabeln ansprechen<br/>
|
|||
|
this.buchstabe;<br/>
|
|||
|
bezieht sich auf die aktuelle Klasse<br/>
|
|||
|
19.3. Pakete und Verzeichnisstrukturen<br/>
|
|||
|
19.3.1. Sichtbarkeit und Zugriffsrechte von Klassen und<br/>
|
|||
|
Methoden<br/>
|
|||
|
public<br/>
|
|||
|
Klasse, Methode oder Variable die überall sichtbar ist<br/>
|
|||
|
protected<br/>
|
|||
|
Methode oder Variable die nur im eigenen Paket und<br/>
|
|||
|
abgeleiteten Klassen sichtbar ist<br/>
|
|||
|
default<br/>
|
|||
|
Klasse, Methode oder Variable die Sichtbarkei beschrängt<br/>
|
|||
|
sich auf das eigen Paket<br/>
|
|||
|
private protected<br/>
|
|||
|
Methode oder Variable die nur in abgeleiteten Klassen<br/>
|
|||
|
sichtbar ist<br/>
|
|||
|
private<br/>
|
|||
|
Methode oder Variable die nur in der eigenen Klasse<br/>
|
|||
|
sichtbar ist<br/>
|
|||
|
Zugriff<br/>
|
|||
|
public protected default private protected private<br/>
|
|||
|
-------<br/>
|
|||
|
------ --------- ------- ----------------- -------<br/>
|
|||
|
Zugriff ...<br/>
|
|||
|
... im selben Paket<br/>
|
|||
|
Ja<br/>
|
|||
|
Ja<br/>
|
|||
|
Ja<br/>
|
|||
|
Nein<br/>
|
|||
|
Nein<br/>
|
|||
|
... von anderen Paketen<br/>
|
|||
|
Ja<br/>
|
|||
|
Nein<br/>
|
|||
|
Nein<br/>
|
|||
|
Nein<br/>
|
|||
|
Nein<br/>
|
|||
|
Vererbt ...<br/>
|
|||
|
... Klassen im selben Paket<br/>
|
|||
|
Ja<br/>
|
|||
|
Ja<br/>
|
|||
|
Ja<br/>
|
|||
|
Ja<br/>
|
|||
|
Nein<br/>
|
|||
|
... Klassen an andere Pakete Ja<br/>
|
|||
|
Ja<br/>
|
|||
|
Nein<br/>
|
|||
|
Ja<br/>
|
|||
|
Nein<br/>
|
|||
|
19.3.2. Klassen<br/>
|
|||
|
class Klasse<br/>
|
|||
|
Klassendeklaration<br/>
|
|||
|
{<br/>
|
|||
|
...<br/>
|
|||
|
}<br/>
|
|||
|
public class Klasse<br/>
|
|||
|
öffendliche Klassendeklaration<br/>
|
|||
|
136<br/>
|
|||
|
<hr/>
|
|||
|
<a name=137></a>19.3. Pakete und Verzeichnisstrukturen<br/>
|
|||
|
{<br/>
|
|||
|
-ohne public ist die Klasse automatisch "privat"<br/>
|
|||
|
...<br/>
|
|||
|
}<br/>
|
|||
|
package Paketklasse;<br/>
|
|||
|
Klassen zusammenfassen d.h. Paketklasse.Klasse<br/>
|
|||
|
public class Klasse<br/>
|
|||
|
{<br/>
|
|||
|
...<br/>
|
|||
|
}<br/>
|
|||
|
package Paket.Paketklasse<br/>
|
|||
|
Oberklassen zusammenfassen d.h.<br/>
|
|||
|
Paket.Paketklasse.Klasse<br/>
|
|||
|
19.3.3. Konstruktoren und Destruktoren<br/>
|
|||
|
class Klasse<br/>
|
|||
|
Konstruktor<br/>
|
|||
|
{<br/>
|
|||
|
-----------<br/>
|
|||
|
public Klasse()<br/>
|
|||
|
Methode die beim Erschaffen eines neuen Objektes<br/>
|
|||
|
{<br/>
|
|||
|
automatisch aufgerufen wird<br/>
|
|||
|
...<br/>
|
|||
|
}<br/>
|
|||
|
Destruktor<br/>
|
|||
|
----------<br/>
|
|||
|
protected void finalize()<br/>
|
|||
|
Methode die beim Löschen eines alten<br/>
|
|||
|
{<br/>
|
|||
|
Objektes automatisch aufgerufen wird<br/>
|
|||
|
...<br/>
|
|||
|
}<br/>
|
|||
|
}<br/>
|
|||
|
19.3.4. Methoden überladen<br/>
|
|||
|
class Klasse<br/>
|
|||
|
{<br/>
|
|||
|
Methode()<br/>
|
|||
|
Dieselbe Metode mehrmals mit unterschielichen<br/>
|
|||
|
{<br/>
|
|||
|
Parametern schaffen<br/>
|
|||
|
...<br/>
|
|||
|
}<br/>Methode(int var)<br/>
|
|||
|
Dieselbe Metode mehrmals mit unterschielichen<br/>
|
|||
|
{<br/>
|
|||
|
Parametern schaffen<br/>
|
|||
|
...<br/>
|
|||
|
}<br/>
|
|||
|
}<br/>
|
|||
|
19.3.5. Objekte<br/>
|
|||
|
objekt Neuobjekt = new objekt();<br/>
|
|||
|
Neues Objekt Neuobjekt von der Klasse<br/>
|
|||
|
137<br/>
|
|||
|
<hr/>
|
|||
|
<a name=138></a>19. Java<br/>
|
|||
|
objekt erstellen<br/>
|
|||
|
19.3.6. Vererbung<br/>
|
|||
|
public class NeuKlasse extends Klasse {}<br/>
|
|||
|
neue Klasse NeuKlasse herstellen<br/>
|
|||
|
alle sichtbaren Eigenschaften<br/>
|
|||
|
und Methoden werden übernommen<br/>
|
|||
|
19.3.7. Schnittstellen<br/>
|
|||
|
public interface Klasse {<br/>
|
|||
|
Schnittstelle erschaffen<br/>
|
|||
|
Methodenkopf();<br/>
|
|||
|
Variablen;<br/>
|
|||
|
}<br/>
|
|||
|
class NeuKlasse extends Klasse implements IntKlasse<br/>
|
|||
|
neue Klasse NeuKlasse<br/>
|
|||
|
herstellen<br/>
|
|||
|
alle sichtbaren Eigenschaften<br/>
|
|||
|
und Methoden werden übernommen<br/>
|
|||
|
und die Schnittstelle IntKlasse<br/>
|
|||
|
hinzufügen<br/>
|
|||
|
19.4. Elementare Syntax von Java<br/>
|
|||
|
19.4.1. Operratoren<br/>
|
|||
|
x = 10;<br/>
|
|||
|
Das Gleichheitszeichen weist immer den rechten Wert dem auf<br/>
|
|||
|
der linken Seite zu<br/>
|
|||
|
19.4.2. Verknüpfungsoperatoren<br/>
|
|||
|
Operator<br/>
|
|||
|
Bedeutung<br/>
|
|||
|
Beispiel<br/>
|
|||
|
--------<br/>
|
|||
|
---------<br/>
|
|||
|
--------<br/>
|
|||
|
+<br/>
|
|||
|
Addition<br/>
|
|||
|
7 = 3 + 4;<br/>
|
|||
|
-<br/>
|
|||
|
Subtraktion<br/>
|
|||
|
1 = 7 - 6;<br/>
|
|||
|
*<br/>
|
|||
|
Multiplikation 6 = 2 * 3;<br/>
|
|||
|
/<br/>
|
|||
|
Division<br/>
|
|||
|
3 = 9 / 3;<br/>
|
|||
|
%<br/>
|
|||
|
Modulo(Rest)<br/>
|
|||
|
1 = 9 % 4;<br/>
|
|||
|
19.4.3. Inkrement-Operator<br/>
|
|||
|
x++;<br/>
|
|||
|
x = x + 1;<br/>
|
|||
|
138<br/>
|
|||
|
<hr/>
|
|||
|
<a name=139></a>19.4. Elementare Syntax von Java<br/>
|
|||
|
19.4.4. Dekrement-Operator<br/>
|
|||
|
x--;<br/>
|
|||
|
x = x - 1;<br/>
|
|||
|
19.4.5. Arithmetische Zuweisungsoperatoren<br/>
|
|||
|
Operator<br/>
|
|||
|
Beispiel<br/>
|
|||
|
Bedeutung<br/>
|
|||
|
--------<br/>
|
|||
|
--------<br/>
|
|||
|
---------<br/>
|
|||
|
+=<br/>
|
|||
|
x += 3;<br/>
|
|||
|
x = x + 3;<br/>
|
|||
|
-=<br/>
|
|||
|
x -= 3;<br/>
|
|||
|
x = x - 3;<br/>
|
|||
|
*=<br/>
|
|||
|
x *= 3;<br/>
|
|||
|
x = x * 3;<br/>
|
|||
|
/=<br/>
|
|||
|
x /= 3;<br/>
|
|||
|
x = x / 3;<br/>
|
|||
|
%=<br/>
|
|||
|
x %= 3;<br/>
|
|||
|
x = x % 3;<br/>
|
|||
|
19.4.6. Bedingungen und Entscheidungen<br/>
|
|||
|
if(Bedingung) {<br/>
|
|||
|
wenn Bedingung wahr dann Anweisungen<br/>
|
|||
|
Anweisungen;<br/>
|
|||
|
if ( x != y ) { z++; }<br/>
|
|||
|
}<br/>
|
|||
|
Operator<br/>
|
|||
|
Beschreibung<br/>
|
|||
|
--------<br/>
|
|||
|
------------<br/>
|
|||
|
==<br/>
|
|||
|
Gleichheit<br/>
|
|||
|
!=<br/>
|
|||
|
Ungleichheit<br/>
|
|||
|
<<br/>
|
|||
|
kleiner als<br/>
|
|||
|
><br/>
|
|||
|
größer als<br/>
|
|||
|
<=<br/>
|
|||
|
kleiner gleich<br/>
|
|||
|
>=<br/>
|
|||
|
größer gleich<br/>
|
|||
|
19.4.7. if - else - Bedingungen<br/>
|
|||
|
if(Bedingung) {<br/>
|
|||
|
wenn Bedingung wahr dann Anweisungen1 sonst Anweisungen2<br/>
|
|||
|
Anweisungen1;<br/>
|
|||
|
if ( x != y ) { z++; } else { z--; }<br/>
|
|||
|
} else {Anweisungen2;<br/>
|
|||
|
}<br/>
|
|||
|
19.4.8. Verschachtelte Bedingungen<br/>
|
|||
|
if(Bedingung1) {<br/>
|
|||
|
wenn Bedingung1 und Bedingung2 dann Anweisungen1<br/>
|
|||
|
if(Bedingung2){<br/>
|
|||
|
sonst Anweisungen2<br/>
|
|||
|
Anweisungen1;<br/>
|
|||
|
if( x != y ) { if( a < b ){z++;} } else { z--; }<br/>
|
|||
|
}<br/>
|
|||
|
} else {Anweisungen2<br/>
|
|||
|
}<br/>
|
|||
|
139<br/>
|
|||
|
<hr/>
|
|||
|
<a name=140></a>19. Java<br/>
|
|||
|
19.4.9. Fallunterscheidung mit switch - case<br/>
|
|||
|
switch(Ausdruck) {<br/>
|
|||
|
switch(2) {<br/>
|
|||
|
Route 2 also<br/>
|
|||
|
case Wert1: Anweisungen1;<br/>
|
|||
|
case 1: x++;<br/>
|
|||
|
x = x - 1;<br/>
|
|||
|
break;<br/>
|
|||
|
break;<br/>
|
|||
|
case Wert2: Anweisungen2;<br/>
|
|||
|
case 2: x--;<br/>
|
|||
|
break;<br/>
|
|||
|
break;<br/>
|
|||
|
case Wert3: Anweisungen3;<br/>
|
|||
|
}<br/>
|
|||
|
break;<br/>
|
|||
|
}<br/>
|
|||
|
19.5. Schleifen<br/>
|
|||
|
19.5.1. Die while - Schleife<br/>
|
|||
|
while(Bedingung) {<br/>
|
|||
|
int x=0;<br/>
|
|||
|
solange Bedingung wahr<br/>
|
|||
|
Anweisungen;<br/>
|
|||
|
while(x<10) {<br/>
|
|||
|
Anweisungen<br/>
|
|||
|
}<br/>
|
|||
|
x++;<br/>
|
|||
|
}<br/>
|
|||
|
19.5.2. Die do - while - Schleife<br/>
|
|||
|
do {<br/>
|
|||
|
int x=0;<br/>
|
|||
|
Anweisungen dann solange<br/>
|
|||
|
Anweisungen;<br/>
|
|||
|
do {<br/>
|
|||
|
Bedingung wahr<br/>
|
|||
|
} while(Bedingung);<br/>
|
|||
|
x++;<br/>
|
|||
|
Anweisungen<br/>
|
|||
|
} while(x<10);<br/>
|
|||
|
19.5.3. Die for - Schleife<br/>
|
|||
|
for(Initialisierung; Bedingung; Schleifenschritt) {<br/>
|
|||
|
solange Bedingung wahr<br/>
|
|||
|
Anweisungen;<br/>
|
|||
|
Anweisungen<br/>
|
|||
|
}<br/>
|
|||
|
for(x=0;x<10;x++) {<br/>
|
|||
|
y++;<br/>
|
|||
|
}<br/>
|
|||
|
19.5.4. Schleifen mit break verlassen<br/>
|
|||
|
for(x=0;x<10;x++) {<br/>
|
|||
|
Die Schleife wird vor dem y++ verlassen<br/>
|
|||
|
break;<br/>
|
|||
|
y++;<br/>
|
|||
|
}<br/>
|
|||
|
19.5.5. Schleife mit continue wiederholen<br/>
|
|||
|
for(x=0;x<10;x++) {<br/>
|
|||
|
Die Schleife wird vor dem y++ wiederholt<br/>
|
|||
|
140<br/>
|
|||
|
<hr/>
|
|||
|
<a name=141></a>19.6. Komplexe Datentypen<br/>
|
|||
|
continue;<br/>
|
|||
|
y++;<br/>
|
|||
|
}<br/>
|
|||
|
19.6. Komplexe Datentypen<br/>
|
|||
|
19.6.1. Arrays<br/>
|
|||
|
int liste[] = new int[10];<br/>
|
|||
|
schafft ein Array dass zehn verschiedene int-<br/>
|
|||
|
Werte speichern kann<br/>
|
|||
|
int Array[][] = new int[3][3]; schafft ein zweidimensionales Array<br/>
|
|||
|
int liste[] = {3, 5, 7};<br/>
|
|||
|
schaft ein Array mit 3 Werten<br/>
|
|||
|
liste[0] = Wert;<br/>
|
|||
|
Wert des 1. Elements zuweisen<br/>
|
|||
|
liste[0][0] = Wert;<br/>
|
|||
|
Wert des 1. Elements zuweisen<br/>
|
|||
|
Wert = liste[0];<br/>
|
|||
|
Wert des 1. Elements abrufen<br/>
|
|||
|
Wert = liste[0][0];<br/>
|
|||
|
Wert des 1. Elements abrufen<br/>
|
|||
|
liste.length<br/>
|
|||
|
enthält die Länge des Arrays liste<br/>
|
|||
|
19.7. Die Anweisung import<br/>
|
|||
|
import haus.wand.stein;<br/>
|
|||
|
import erlaubt es Klassen im Sourcecode<br/>
|
|||
|
getAnzahl();<br/>
|
|||
|
über einen gekürzten Namen anzuspechen<br/>
|
|||
|
haus.wand.stein.getAnzahl() -> getAnzahl()<br/>
|
|||
|
import java.lang.*;<br/>
|
|||
|
importiert alle Bestandteile ins Programm<br/>
|
|||
|
19.8. Java eigene Klassen<br/>
|
|||
|
19.8.1. Die Klasse Math<br/>
|
|||
|
Math.*<br/>
|
|||
|
bietet mathematische Funktionen<br/>
|
|||
|
Math.E<br/>
|
|||
|
Eulersche Zahl<br/>
|
|||
|
Math.PI<br/>
|
|||
|
PI<br/>
|
|||
|
Math.random()<br/>
|
|||
|
Zufallszahl zwischen 0 und 1<br/>
|
|||
|
Math.round()<br/>
|
|||
|
rundet zu Ganzzahlen<br/>
|
|||
|
19.9. Die Klasse Object<br/>
|
|||
|
19.9.1. Die Klasse Object<br/>
|
|||
|
getClass()<br/>
|
|||
|
liefert die Klasse eines Objektes zurück<br/>
|
|||
|
equals()<br/>
|
|||
|
vergleicht zwei Objekte gibt true oder false<br/>
|
|||
|
141<br/>
|
|||
|
<hr/>
|
|||
|
<a name=142></a>19. Java<br/>
|
|||
|
19.10. Die Klasse Runtime<br/>
|
|||
|
Um diese Klasse zu nutzen,muss mit getRuntime() erst ein Objekt erstellt werden!<br/>
|
|||
|
Runtime mySystem = Runtime.getRuntime();<br/>
|
|||
|
Objekt Runtime erstellen<br/>
|
|||
|
freeMemory()<br/>
|
|||
|
freier Speicher<br/>
|
|||
|
totalMemory()<br/>
|
|||
|
gesamter Speicher<br/>
|
|||
|
exit(0)<br/>
|
|||
|
Programm sofort mit Wert verlassen<br/>
|
|||
|
exec()<br/>
|
|||
|
Systemprogramme starten (s. Exceptions)<br/>
|
|||
|
19.11. Die Klasse String<br/>
|
|||
|
String s = "Hallo" + " Du !";<br/>
|
|||
|
Strings zusammenfassen<br/>
|
|||
|
charAt()<br/>
|
|||
|
gibt einen Buchstaben aus dem String zurück<br/>
|
|||
|
indexOf()<br/>
|
|||
|
Position von Buchstaben/ketten feststellen<br/>
|
|||
|
substring()<br/>
|
|||
|
String auseinanderschneiden<br/>
|
|||
|
lenght()<br/>
|
|||
|
Länge eines Strings bestimmen<br/>
|
|||
|
19.12. Die Klasse Stringbuffer<br/>
|
|||
|
19.12.1. Die Klasse Stringbuffer<br/>
|
|||
|
Um diese Klasse zu nutzen, muss erst ein Objekt erstellt werden!<br/>
|
|||
|
Stringbuffer buffer = newStringbuffer("");<br/>
|
|||
|
Objekt Stringbuffer erstellen<br/>
|
|||
|
setCharAt()<br/>
|
|||
|
änderrung eines bestimmten Buchstaben im String<br/>
|
|||
|
delete()<br/>
|
|||
|
löscht Teile aus dem String<br/>
|
|||
|
replace()<br/>
|
|||
|
ersetzt Teile im String<br/>
|
|||
|
insert()<br/>
|
|||
|
setzt Teile im String ein<br/>
|
|||
|
19.13. Die Klasse System<br/>
|
|||
|
Standardeingabe - in, Standardausgabe - out, Fehlerausgabe - err<br/>
|
|||
|
System.out.println("Text")<br/>
|
|||
|
Text ausgeben<br/>
|
|||
|
byte[] b = new byte[80];<br/>
|
|||
|
System.in.read(b);<br/>
|
|||
|
Einlesen von Daten<br/>
|
|||
|
19.14. Das Paket java.util<br/>
|
|||
|
import java.util.*;<br/>
|
|||
|
Paket einbinden<br/>
|
|||
|
142<br/>
|
|||
|
<hr/>
|
|||
|
<a name=143></a>19.15. Ausnahmen (Exceptions)<br/>
|
|||
|
19.14.1. Die Klasse Date<br/>
|
|||
|
Date myDate = new Date();<br/>
|
|||
|
Objekt Date erstellen<br/>
|
|||
|
toString()<br/>
|
|||
|
Datum in einen String umwandeln<br/>
|
|||
|
getTime()<br/>
|
|||
|
UNIX-Timestamp, der die Sekunden seit dem<br/>
|
|||
|
1.1.1970 ausgibt<br/>
|
|||
|
before()<br/>
|
|||
|
vergleicht das Datumsobjekt od es davor ist<br/>
|
|||
|
after()<br/>
|
|||
|
vergleicht das Datumsobjekt od es danach ist<br/>
|
|||
|
Erweiterte Funktionen rund um das Datum gibt es in der Klasse Calendar bzw.<br/>
|
|||
|
DateFormat in der Java-API<br/>
|
|||
|
19.14.2. Die Klasse Random<br/>
|
|||
|
Random zz = new Random();<br/>
|
|||
|
Objekt Random erstellen<br/>
|
|||
|
Methode<br/>
|
|||
|
Bereich<br/>
|
|||
|
Typ<br/>
|
|||
|
-------<br/>
|
|||
|
-------<br/>
|
|||
|
---<br/>
|
|||
|
nextInt()<br/>
|
|||
|
-2^31 bis 2^31-1<br/>
|
|||
|
int<br/>
|
|||
|
nextLong()<br/>
|
|||
|
-2^63 bis 2^63-1<br/>
|
|||
|
long<br/>
|
|||
|
nextFloat()<br/>
|
|||
|
0.0 bis 1.0<br/>
|
|||
|
float<br/>
|
|||
|
nextDouble()<br/>
|
|||
|
0.0 bis 1.0<br/>
|
|||
|
double<br/>
|
|||
|
nextGaussian()<br/>
|
|||
|
gibt eine Zufallszahl zurück, die nach dem Gauß-<br/>
|
|||
|
Verfahren ermittelt wurde<br/>
|
|||
|
19.14.3. Die Klasse Stack<br/>
|
|||
|
Stack myStack = new Stack();<br/>
|
|||
|
Objekt Stack erstellen<br/>
|
|||
|
push()<br/>
|
|||
|
legt ein Objekt auf dem Stack ab<br/>
|
|||
|
pop()<br/>
|
|||
|
holt das oberste Objekt vom Stack und löscht es<br/>
|
|||
|
peek()<br/>
|
|||
|
holt das oberste Objekt vom Stack<br/>
|
|||
|
19.15. Ausnahmen (Exceptions)<br/>
|
|||
|
import java.io.*;<br/>
|
|||
|
public class trycatchfinally {<br/>
|
|||
|
public static void main(String args[]) {<br/>
|
|||
|
Runtime mySystem = Runtime.getRuntime();<br/>
|
|||
|
//Objekt Runtime erstellen<br/>
|
|||
|
try{<br/>
|
|||
|
//unsichere Anweisungen<br/>
|
|||
|
mySystem.exec("xaos");<br/>
|
|||
|
} catch(IOException e) {<br/>
|
|||
|
//Fehlerbehandlung<br/>
|
|||
|
System.err.println("Es ist ein Fehler aufgetreten: " + e);<br/>
|
|||
|
143<br/>
|
|||
|
<hr/>
|
|||
|
<a name=144></a>19. Java<br/>
|
|||
|
} finally {<br/>
|
|||
|
//Anweisungen werden immer ausgeführt<br/>
|
|||
|
System.out.println("Kritischer Bereich wurde ausgeführt!");<br/>
|
|||
|
}<br/>
|
|||
|
}<br/>
|
|||
|
}<br/>
|
|||
|
19.15.1. Eigene Ausnahme erzeugen (throw)<br/>
|
|||
|
Methode(int zahl) {<br/>
|
|||
|
if(zahl<0) {<br/>
|
|||
|
throw(new Exception("Fehler!"));<br/>
|
|||
|
} elese {zahl++;<br/>
|
|||
|
}<br/>
|
|||
|
}<br/>
|
|||
|
19.16. Multitasking mit Threads<br/>
|
|||
|
19.16.1. Arbeiten mit Threads<br/>
|
|||
|
java.lang<br/>
|
|||
|
die Klasse Thread ist ein Bestandteil des Paketes<br/>
|
|||
|
public class Klasse implements Runnable {}<br/>
|
|||
|
neue Klasse über die<br/>
|
|||
|
Schnittstelle Runnable erstellen<br/>
|
|||
|
run()<br/>
|
|||
|
Methode run() (Code des Threads)<br/>
|
|||
|
muss überschrieben werden<br/>
|
|||
|
Klasse test = new Klasse();<br/>
|
|||
|
In main(): Objekt der eigenen Klasse<br/>
|
|||
|
test.start();<br/>
|
|||
|
erstellen und Startmethode<br/>
|
|||
|
aufrufen<br/>
|
|||
|
public void start() {<br/>
|
|||
|
Thread myThread = new Thread(this);<br/>
|
|||
|
Objekt aus der Klasse Thrad<br/>
|
|||
|
erstellen und deren Konstruktor<br/>
|
|||
|
das aktuelle Objekt als<br/>
|
|||
|
parameter übergeben<br/>
|
|||
|
myThread.start();<br/>
|
|||
|
Thread starten<br/>
|
|||
|
...;<br/>
|
|||
|
myThread.stop();<br/>
|
|||
|
Thread beenden<br/>
|
|||
|
}<br/>
|
|||
|
myThread.sleep(x);<br/>
|
|||
|
Thread x Milisekunden pausieren<br/>
|
|||
|
muss mit Ausnahme abgefangen<br/>
|
|||
|
144<br/>
|
|||
|
<hr/>
|
|||
|
<a name=145></a>19.17. Applets<br/>
|
|||
|
werden InterruptedException<br/>
|
|||
|
myThread.suspend();<br/>
|
|||
|
Thraed anhalten<br/>
|
|||
|
myThread.resume();<br/>
|
|||
|
Thread wieder starten<br/>
|
|||
|
myThread.destroy();<br/>
|
|||
|
Thread zerstören/anhalten<br/>
|
|||
|
19.17. Applets<br/>
|
|||
|
19.17.1. Applets in eine Webseite einbinden<br/>
|
|||
|
<html><br/>
|
|||
|
<head><br/>
|
|||
|
<title>Mein erstes Applet</title><br/>
|
|||
|
</head><br/>
|
|||
|
<body><br/>
|
|||
|
<applet code="myApplet.class" width=150 height=150><br/>
|
|||
|
<parm name="var1" value="Hallo"><br/>
|
|||
|
<parm name="var2" value="Java!"><br/>
|
|||
|
</applet><br/>
|
|||
|
</body><br/>
|
|||
|
</html><br/>
|
|||
|
19.17.2. Das erste Java Applet<br/>
|
|||
|
import java.applet.*;<br/>
|
|||
|
import java.awt.*;<br/>
|
|||
|
public class MyApplet extends Applet {<br/>
|
|||
|
public void paint(Graphics g) {<br/>
|
|||
|
g.drawString("Mein erstes Applet !", 20, 40);<br/>
|
|||
|
}<br/>
|
|||
|
}<br/>
|
|||
|
19.17.3. Die Methoden eines Applets<br/>
|
|||
|
init()<br/>
|
|||
|
wird automatisch bei der Initialisierung des Applets aufgerufen<br/>
|
|||
|
start()<br/>
|
|||
|
wird automatisch aufgerufen, wenn das Applet im sichtbaren<br/>
|
|||
|
Browser-Bereich erscheint<br/>
|
|||
|
stop()<br/>
|
|||
|
wird automatisch aufgerufen, wenn das Applet den sichtbaren<br/>
|
|||
|
Bereich verläßt<br/>
|
|||
|
destroy()<br/>
|
|||
|
wird automatisch beim verlassen der Seite oder schließen des<br/>
|
|||
|
Browsers aufgerufen<br/>
|
|||
|
19.17.4. Ein Applet im Überblick<br/>
|
|||
|
import java.applet.*;<br/>
|
|||
|
import java.awt.*;<br/>
|
|||
|
145<br/>
|
|||
|
<hr/>
|
|||
|
<a name=146></a>19. Java<br/>
|
|||
|
public class newApplet extends Applet {<br/>
|
|||
|
public void init() {<br/>
|
|||
|
//initialisierung aller nötigen Werte für das Programm<br/>
|
|||
|
}<br/>public void start() {<br/>
|
|||
|
//Start des Applets<br/>
|
|||
|
}<br/>public void paint(Graphics g) {<br/>
|
|||
|
//Grafikausgabe über das Objekt g !<br/>
|
|||
|
}<br/>public void stop() {<br/>
|
|||
|
//Stop des Applets<br/>
|
|||
|
}<br/>public void destroy() {<br/>
|
|||
|
//Ende des Applets<br/>
|
|||
|
//Speicher wird freigegeben<br/>
|
|||
|
}<br/>
|
|||
|
}<br/>
|
|||
|
19.17.5. Pakete<br/>
|
|||
|
java.awt<br/>
|
|||
|
dient zur Bearbeitung und Ausgabe von Grafiken und<br/>
|
|||
|
Fensterelementen in Applikationen und Applets<br/>
|
|||
|
(advanced window toolkit)<br/>
|
|||
|
java.applet<br/>
|
|||
|
eine Grundvoraussetzung für ein Applet<br/>
|
|||
|
19.17.6. Die Klasse Graphics<br/>
|
|||
|
public void paint(Graphics g) {<br/>
|
|||
|
um in das Applet zu zeichnen<br/>
|
|||
|
drawString("Text",x,y);<br/>
|
|||
|
Text im Applet ausgeben<br/>
|
|||
|
}<br/>
|
|||
|
drawLine()<br/>
|
|||
|
Linie zeichnen<br/>
|
|||
|
drawRect()<br/>
|
|||
|
Rechteck zeichnen<br/>
|
|||
|
fillRect()<br/>
|
|||
|
gefülltes Rechteck zeichen<br/>
|
|||
|
drawRoundRect()<br/>
|
|||
|
Rechteck mit abgerundeten Ecken zeichnen<br/>
|
|||
|
fillRoundRect()<br/>
|
|||
|
gefülltes Rundeck zeichnen<br/>
|
|||
|
drawOval()<br/>
|
|||
|
Kreis/Elipse zeichnen<br/>
|
|||
|
fillOval()<br/>
|
|||
|
gefüllte/r Kreis/Elipse zeichnen<br/>
|
|||
|
copyArea()<br/>
|
|||
|
kopieren eines sichtbaren Bereiches<br/>
|
|||
|
19.17.7. Die Klasse Color<br/>
|
|||
|
Color farbe = new Color(r,g,b);<br/>
|
|||
|
Farben erzeugen r=0-255 g=0-255 r=0-255<br/>
|
|||
|
Color dfarbe = farbe.darker();<br/>
|
|||
|
nächst dunklere Farbe<br/>
|
|||
|
146<br/>
|
|||
|
<hr/>
|
|||
|
<a name=147></a>19.17. Applets<br/>
|
|||
|
Color hfarbe = farbe.brighter();<br/>
|
|||
|
nächst hellere Farbe<br/>
|
|||
|
Konstante<br/>
|
|||
|
Frabe<br/>
|
|||
|
---------<br/>
|
|||
|
-----<br/>
|
|||
|
Clolor.white<br/>
|
|||
|
weiss<br/>
|
|||
|
Clolor.yellow<br/>
|
|||
|
gelb<br/>
|
|||
|
Clolor.orange<br/>
|
|||
|
orange<br/>
|
|||
|
Clolor.grey<br/>
|
|||
|
grau<br/>
|
|||
|
Clolor.pink<br/>
|
|||
|
pink<br/>
|
|||
|
Clolor.red<br/>
|
|||
|
rot<br/>
|
|||
|
Clolor.magenta<br/>
|
|||
|
magenta<br/>
|
|||
|
Clolor.green<br/>
|
|||
|
grün<br/>
|
|||
|
Clolor.blue<br/>
|
|||
|
blau<br/>
|
|||
|
Clolor.darkGray<br/>
|
|||
|
dunkelgrau<br/>
|
|||
|
Clolor.lightGray<br/>
|
|||
|
hellgrau<br/>
|
|||
|
Clolor.black<br/>
|
|||
|
schwarz<br/>
|
|||
|
19.17.8. Die Klasse Font<br/>
|
|||
|
Windows<br/>
|
|||
|
Java<br/>
|
|||
|
-------<br/>
|
|||
|
----<br/>
|
|||
|
Arial<br/>
|
|||
|
Helvetica<br/>
|
|||
|
Courier New<br/>
|
|||
|
Corier<br/>
|
|||
|
MS Sans Serif<br/>
|
|||
|
Dialog<br/>
|
|||
|
Times New Roman TimesRoman<br/>
|
|||
|
WingDings<br/>
|
|||
|
ZapfDingbats<br/>
|
|||
|
Arial<br/>
|
|||
|
default<br/>
|
|||
|
Font f = new Font("art", stil, größe);<br/>
|
|||
|
neue Schrift erstellen<br/>
|
|||
|
stil: plain(normal),<br/>
|
|||
|
italic(kursiv), blod(fett)<br/>
|
|||
|
19.17.9. Die Klasse Image<br/>
|
|||
|
Image myImage = getImage(getCodeBase(), "Bild.jpg");<br/>
|
|||
|
Bildobjekt erschaffen<br/>
|
|||
|
drawImage()<br/>
|
|||
|
Bild anzeigen<br/>
|
|||
|
19.17.10. Die Klasse Button<br/>
|
|||
|
Button myButton = new Button("Klick");<br/>
|
|||
|
Buttonobjekt erschaffen<br/>
|
|||
|
setLabel()<br/>
|
|||
|
Beschriftung des Buttons ändern<br/>
|
|||
|
getLabel()<br/>
|
|||
|
Beschriftung des Buttons auslesen<br/>
|
|||
|
147<br/>
|
|||
|
<hr/>
|
|||
|
<a name=148></a>19. Java<br/>
|
|||
|
19.18. Eventhandling<br/>
|
|||
|
java.awt.event.*;<br/>
|
|||
|
Paket zur Ereignisbehandlung einbinden<br/>
|
|||
|
19.18.1. Mouse Events<br/>
|
|||
|
public class myApplet extends Applet implements MouseListener {}<br/>
|
|||
|
Schnittstelle MouseListener implementieren<br/>
|
|||
|
Methode<br/>
|
|||
|
Aufgabe<br/>
|
|||
|
-------<br/>
|
|||
|
-------<br/>
|
|||
|
mousePressed() Maustaste wird gedrückt<br/>
|
|||
|
mouseReleased() Maustaste wird losgelassen<br/>
|
|||
|
mouseClicked() Mausklick<br/>
|
|||
|
mouseEntered() Maus bewegt sich in das Applet<br/>
|
|||
|
mouseExited()<br/>
|
|||
|
Maus verlässt das Applet<br/>
|
|||
|
addMouseListener(this);<br/>
|
|||
|
Listener soll auf das gesamte Applet achten<br/>
|
|||
|
public void mousePressed(mouseEvent e) {<br/>
|
|||
|
int x = e.getX();<br/>
|
|||
|
Maustaste an X gedrückt<br/>
|
|||
|
int y = e.getY();<br/>
|
|||
|
Maustaste an Y gedrückt<br/>
|
|||
|
}<br/>
|
|||
|
addMouseMotionListener(this);<br/>
|
|||
|
MotionListener soll auf das Applet achten<br/>
|
|||
|
mouseMoved()<br/>
|
|||
|
bewegte Mausereignisse<br/>
|
|||
|
mouseDragged()<br/>
|
|||
|
19.18.2. Action Events<br/>
|
|||
|
public class myApplet extends Applet implements ActionListener {}<br/>
|
|||
|
Schnittstelle ActionListener implementieren<br/>
|
|||
|
Button myButton = new Button("Knopf"); Button erstellen<br/>
|
|||
|
this.add(myButton);<br/>
|
|||
|
Button setzen<br/>
|
|||
|
myButton.addActionListener(this);<br/>
|
|||
|
Button mit ActionListener versehen<br/>
|
|||
|
public void actionPerformed(ActionEvent e) {<br/>
|
|||
|
Aufruf beim Anklicken des Button<br/>
|
|||
|
String Klick = e.getActionCommand();<br/>
|
|||
|
gibt die Aufschift des Button<br/>
|
|||
|
}<br/>
|
|||
|
19.18.3. Parameter an ein Applet<br/>
|
|||
|
<applet code="myApplet.class" width=150 height=150><br/>
|
|||
|
148<br/>
|
|||
|
<hr/>
|
|||
|
<a name=149></a>19.18. Eventhandling<br/>
|
|||
|
<parm name="var1" value="Hallo"><br/>
|
|||
|
Parameter1<br/>
|
|||
|
<parm name="var2" value="Java!"><br/>
|
|||
|
Parameter2<br/>
|
|||
|
</applet><br/>
|
|||
|
String var1 = getParameter("var1");<br/>
|
|||
|
Parameter1 an den String var1<br/>
|
|||
|
String var2 = getParameter("var2");<br/>
|
|||
|
und var2 übergeben<br/>
|
|||
|
19.18.4. Weitere wichtige Pakete<br/>
|
|||
|
java.net<br/>
|
|||
|
Klassen und Schnittstellen für Netzwerkentwicklung<br/>
|
|||
|
java.beans<br/>
|
|||
|
wieder verwentbare Komponenten<br/>
|
|||
|
java.security<br/>
|
|||
|
erhöte Sicherheit innerhalb von Applikationen/Applets<br/>
|
|||
|
java.rmi<br/>
|
|||
|
Verteilung eines Programms auf mehrere Rechner<br/>
|
|||
|
java.sql<br/>
|
|||
|
Anbindung an SQL-Datenbanken<br/>
|
|||
|
java.servlet<br/>
|
|||
|
Applikationen die serverseitig laufen<br/>
|
|||
|
149<br/>
|
|||
|
<hr/>
|
|||
|
<a name=150></a><hr/>
|
|||
|
<a name=151></a>20. JavaScript<br/>
|
|||
|
20.1. Einbindung von JavaScript<br/>
|
|||
|
20.1.1. Einbindung in den Head<br/>
|
|||
|
<html><br/>
|
|||
|
<head><br/>
|
|||
|
<title></title><br/>
|
|||
|
<script language="JavaScript"><br/>
|
|||
|
Leitet den JavaScript-Quelltext ein<br/>
|
|||
|
<!--<br/>
|
|||
|
Kommentar anfang für alte Browser die<br/>
|
|||
|
Definition von Fnktionen und<br/>
|
|||
|
kein JavaScript unterstüzen<br/>
|
|||
|
Variablen<br/>
|
|||
|
JavaScript-Quelltext<br/>
|
|||
|
//--><br/>
|
|||
|
Kommentar ende<br/>
|
|||
|
</script><br/>
|
|||
|
Beendet den JavaScript-Quelltext<br/>
|
|||
|
</head><br/>
|
|||
|
<body><br/>
|
|||
|
</body><br/>
|
|||
|
</html><br/>
|
|||
|
20.1.2. Einbindung in den Body<br/>
|
|||
|
<html><br/>
|
|||
|
<head><br/>
|
|||
|
<title></title><br/>
|
|||
|
</head><br/>
|
|||
|
<body><br/>
|
|||
|
<script><br/>
|
|||
|
Leitet den JavaScript-Quelltext ein<br/>
|
|||
|
</script><br/>
|
|||
|
Beendet den JavaScript-Quelltext<br/>
|
|||
|
</body><br/>
|
|||
|
</html><br/>
|
|||
|
20.1.3. Ausführen bei bestimmten Aktionen<br/>
|
|||
|
<html><br/>
|
|||
|
<head><br/>
|
|||
|
<title></title><br/>
|
|||
|
</head><br/>
|
|||
|
<body onLoad="JavaScript-Quelltext"> Beim Laden wird der JavaScript-Quelltext<br/>
|
|||
|
151<br/>
|
|||
|
<hr/>
|
|||
|
<a name=152></a>20. JavaScript<br/>
|
|||
|
ausgeführt<br/>
|
|||
|
</body><br/>
|
|||
|
</html><br/>
|
|||
|
20.2. Variablen<br/>
|
|||
|
var GlobaleVariable<br/>
|
|||
|
Globale Variable deklarieren<br/>
|
|||
|
function() {<br/>
|
|||
|
var LokaleVariable<br/>
|
|||
|
Lokale Variable deklarieren<br/>
|
|||
|
}<br/>
|
|||
|
var variable<br/>
|
|||
|
Variable deklarieren<br/>
|
|||
|
variable = "Wert"<br/>
|
|||
|
Wert zuweisen<br/>
|
|||
|
var zahl=9<br/>
|
|||
|
Variable deklarieren und Wert zuweisen<br/>
|
|||
|
+<br/>
|
|||
|
Verketten<br/>
|
|||
|
20.3. Objekte<br/>
|
|||
|
20.3.1. Standardobjekte<br/>
|
|||
|
document.write("Hallo")<br/>
|
|||
|
Hallo auf der Seite ausgeben<br/>
|
|||
|
document.writeln("Hallo")<br/>
|
|||
|
Hallo auf der Seite mit Zeilenumruch<br/>
|
|||
|
ausgeben<br/>
|
|||
|
document.close()<br/>
|
|||
|
Schreiben schließen<br/>
|
|||
|
document.bgColor=("ffffff")<br/>
|
|||
|
Hintergrunffarbe<br/>
|
|||
|
document.fgColor=("000000")<br/>
|
|||
|
Fordergrundfarbe<br/>
|
|||
|
document.linkColor=("00ff00")<br/>
|
|||
|
Neuer Link<br/>
|
|||
|
document.vlinkColor=("ffff00")<br/>
|
|||
|
Besuchter Link<br/>
|
|||
|
document.alinkColor=("ff0000")<br/>
|
|||
|
Aktiver Link<br/>
|
|||
|
document.referrer<br/>
|
|||
|
URL von der aufgerufen wurde<br/>
|
|||
|
document.location<br/>
|
|||
|
URL der Datei selber<br/>
|
|||
|
document.title<br/>
|
|||
|
Titel der Seite<br/>
|
|||
|
document.Name.src="bild2.gif"<br/>
|
|||
|
<img src="bild.gif" name="Name"> um auf<br/>
|
|||
|
das Bild zuzugreifen<br/>
|
|||
|
document.forms[0].Name.value<br/>
|
|||
|
Formular 1(0); aktueller Text im<br/>
|
|||
|
Eingabefeld auslesen oder überschreiben<br/>
|
|||
|
document.forms[0].Name.defaultValue<br/>
|
|||
|
Defaultwert auslesen oder überschreiben<br/>
|
|||
|
document.forms[0].Name.select()<br/>
|
|||
|
Text im Eingabefeld makieren<br/>
|
|||
|
document.forms[0].Name.focus()<br/>
|
|||
|
Cursor in das Eingabefeld setzen<br/>
|
|||
|
152<br/>
|
|||
|
<hr/>
|
|||
|
<a name=153></a>20.3. Objekte<br/>
|
|||
|
document.forms[0].Name[0].checked<br/>
|
|||
|
Radio-Checkbuttons liest oder schreibt,<br/>
|
|||
|
ob ein Button ausgewählt ist<br/>
|
|||
|
document.forms[0].Name[0].defaultCheckedVoreinstellung eines Button lesen oder<br/>
|
|||
|
schreiben<br/>
|
|||
|
nicht markiert<br/>
|
|||
|
markiert<br/>
|
|||
|
0<br/>
|
|||
|
1<br/>
|
|||
|
false<br/>
|
|||
|
true<br/>
|
|||
|
document.forms[0].Name.options[0].selectedIndex<br/>
|
|||
|
Auswahlliste auslesen oder schreiben<br/>
|
|||
|
document.forms[0].Name.options[0].value Wert auslesen oder schreiben<br/>
|
|||
|
parent.frames[0].location.href=<br/>
|
|||
|
Frameinhalt ändern 0 -> Frame 1<br/>
|
|||
|
"frame.htm"<br/>
|
|||
|
parent.<br/>
|
|||
|
verzweigt in den nächsthöheren Frame<br/>
|
|||
|
top.<br/>
|
|||
|
verzweigt in den höchsten Frame im<br/>
|
|||
|
Browser<br/>
|
|||
|
frames[n]<br/>
|
|||
|
verzweigt auf die nächstniedrigere Stufe<br/>
|
|||
|
in den Frame mit dem Index n<br/>
|
|||
|
window.status=("Hallo")<br/>
|
|||
|
Hallo in der Statusleiste ausgeben<br/>
|
|||
|
myWindow=window.open("Dateiname","Fenstername","Eigenschaften")<br/>
|
|||
|
Öffnet ein neues Fenster<br/>
|
|||
|
Eigenschaften: width=(Pixel)<br/>
|
|||
|
gibt die Breite an<br/>
|
|||
|
height=(Pixel)<br/>
|
|||
|
gibt die Höhe an<br/>
|
|||
|
resizable=yes/no<br/>
|
|||
|
größe des Fensters veränderbar ?<br/>
|
|||
|
menubar=yes/no<br/>
|
|||
|
Menüleiste vorhanden ?<br/>
|
|||
|
toolbar=yes/no<br/>
|
|||
|
Buttonleiste vorhanden ?<br/>
|
|||
|
location=yes/no<br/>
|
|||
|
Adresszeile vorhanden ?<br/>
|
|||
|
status=yes/no<br/>
|
|||
|
Statuszeile vorhanden ?<br/>
|
|||
|
scrollbars=yes/no<br/>
|
|||
|
Bildlaufleiste vorhanden ?<br/>
|
|||
|
dependent=yes/no<br/>
|
|||
|
Vom aktuellen Fenster abhängig ?<br/>
|
|||
|
myWindow.close()<br/>
|
|||
|
Schließt das neue Fenster<br/>
|
|||
|
myWindow.closed<br/>
|
|||
|
Zugriff auf den Fensterzustand<br/>
|
|||
|
20.3.2. String-Objekt<br/>
|
|||
|
String.length<br/>
|
|||
|
Anzahl der Zeichen des Strings<br/>
|
|||
|
String.substring(Anfang,Ende)<br/>
|
|||
|
Gibt den Anfang bis Ende des Strings zurück<br/>
|
|||
|
String.toLowerCase<br/>
|
|||
|
Wandelt alle Buchstaben in Kleinbuchstaben<br/>
|
|||
|
String.toUpperCase<br/>
|
|||
|
Wandelt alle Buchstaben in Großbuchstaben<br/>
|
|||
|
153<br/>
|
|||
|
<hr/>
|
|||
|
<a name=154></a>20. JavaScript<br/>
|
|||
|
20.3.3. Eigene Objekte<br/>
|
|||
|
function person(name, alter) {<br/>
|
|||
|
Funktion<br/>
|
|||
|
this.name = name<br/>
|
|||
|
zum<br/>
|
|||
|
this.alter = alter<br/>
|
|||
|
Objekt<br/>
|
|||
|
}<br/>
|
|||
|
anlegen<br/>
|
|||
|
var meier = new person("Geier Meier", 18)<br/>
|
|||
|
Objekt erzeugen<br/>
|
|||
|
meier.name = "Mr. Geier Meier"<br/>
|
|||
|
Wert ändern<br/>
|
|||
|
meier.alter = 20<br/>
|
|||
|
Wert ändern<br/>
|
|||
|
meier = new Object<br/>
|
|||
|
Objekt erzeugen<br/>
|
|||
|
meier.vorname = "Geier"<br/>
|
|||
|
Wert zuweisen<br/>
|
|||
|
meier.nachname = "Meier"<br/>
|
|||
|
Wert zuweisen<br/>
|
|||
|
20.3.4. Arrays<br/>
|
|||
|
Variable = new Array<br/>
|
|||
|
Array erzeugen<br/>
|
|||
|
Variable[0] = "hallo"<br/>
|
|||
|
Wert zuweisen<br/>
|
|||
|
20.4. Mathematische Operationen<br/>
|
|||
|
c = a + b<br/>
|
|||
|
Addition<br/>
|
|||
|
a++ ; a = a + 1<br/>
|
|||
|
c = a - b<br/>
|
|||
|
Subtraktion<br/>
|
|||
|
a-- ; a = a - 1<br/>
|
|||
|
c = a * b<br/>
|
|||
|
Multiplikation<br/>
|
|||
|
c = a / b<br/>
|
|||
|
Division<br/>
|
|||
|
a = Math.round(b)<br/>
|
|||
|
Ganzzahlige Rundung<br/>
|
|||
|
20.5. Bedingte Ausführung<br/>
|
|||
|
if(Ausdruck)<br/>
|
|||
|
wenn der Ausdruck stimmt,<br/>
|
|||
|
{<br/>
|
|||
|
Anweisung-en1<br/>
|
|||
|
Anweisung-en1<br/>
|
|||
|
}<br/>
|
|||
|
20.6. Schleifen<br/>
|
|||
|
for(Ausdruck1;Ausdruck2;Ausdruck3)<br/>
|
|||
|
Ausdruck1 einmal ausführen<br/>
|
|||
|
{<br/>
|
|||
|
so lange der Ausdruck2 stimmt,<br/>
|
|||
|
vorher noch Ausdruck3<br/>
|
|||
|
Anweisug-en<br/>
|
|||
|
Anweisung-en<br/>
|
|||
|
154<br/>
|
|||
|
<hr/>
|
|||
|
<a name=155></a>20.7. Event-Handler<br/>
|
|||
|
}<br/>
|
|||
|
while(Ausdruck)<br/>
|
|||
|
so lange der Ausdruck stimmt,<br/>
|
|||
|
{<br/>
|
|||
|
Anweisung-en<br/>
|
|||
|
Anweisung-en<br/>
|
|||
|
}<br/>
|
|||
|
20.7. Event-Handler<br/>
|
|||
|
onLoad="Aktion"<br/>
|
|||
|
Beim Laden Aktion ausführen<br/>
|
|||
|
onUnload="Aktion"<br/>
|
|||
|
Beim Schließen Aktion ausführen<br/>
|
|||
|
onMouseOver="Aktion"<br/>
|
|||
|
Beim Überfahren Aktion ausführen<br/>
|
|||
|
onMouseOut="Aktion"<br/>
|
|||
|
Beim Verlassen Aktion ausführen<br/>
|
|||
|
onFocus="Aktion"<br/>
|
|||
|
Beim Setzen des Cursors auf das Element<br/>
|
|||
|
(Einsatz in Formularen)<br/>
|
|||
|
onBlur="Aktion"<br/>
|
|||
|
Beim Verlassen des Elementes<br/>
|
|||
|
onChange="Aktion"<br/>
|
|||
|
Beim Verlassen des Elementes wenn verändert<br/>
|
|||
|
onClick="Aktion"<br/>
|
|||
|
Beim Anklicken eines Formularelements<br/>
|
|||
|
<a href="javascript:function(’Link’)">Verweistext</a><br/>
|
|||
|
onSubmit="Aktion"<br/>
|
|||
|
Beim Senden eines Formulares Aktion ausführen<br/>
|
|||
|
20.8. Funktionen<br/>
|
|||
|
function Name(var1,var2)<br/>
|
|||
|
Definiert eine Funktion mit dem Name<br/>
|
|||
|
{ alert(var2)<br/>
|
|||
|
Hier kommt der Funktionsinhalt rein<br/>
|
|||
|
}<br/>
|
|||
|
return("Hallo")<br/>
|
|||
|
Hallo zurück geben<br/>
|
|||
|
alert("Text")<br/>
|
|||
|
Öffnet ein Fenster und gibt den Text aus<br/>
|
|||
|
uhrzeit=new Date()<br/>
|
|||
|
Datum und Uhrzeit in das Objekt uhrzeit<br/>
|
|||
|
schreiben<br/>
|
|||
|
st=uhrzeit.getHours()<br/>
|
|||
|
Stunden aus dem Objekt uhrzeit der Variable<br/>
|
|||
|
st zuweisen<br/>
|
|||
|
min=uhrzeit.getMinutes()<br/>
|
|||
|
Minuten aus dem Objekt uhrzeit der Variable<br/>
|
|||
|
min zuweisen<br/>
|
|||
|
setTimeout("Funktion",Millisekunden)<br/>
|
|||
|
Funktion nach Millisekunden aufrufen<br/>
|
|||
|
Math.random()<br/>
|
|||
|
155<br/>
|
|||
|
<hr/>
|
|||
|
<a name=156></a>20. JavaScript<br/>
|
|||
|
20.9. Reservierte Wörter<br/>
|
|||
|
abstract<br/>
|
|||
|
boolean<br/>
|
|||
|
break<br/>
|
|||
|
byte<br/>
|
|||
|
case<br/>
|
|||
|
catch<br/>
|
|||
|
char<br/>
|
|||
|
class<br/>
|
|||
|
const<br/>
|
|||
|
continue<br/>
|
|||
|
debugger<br/>
|
|||
|
default<br/>
|
|||
|
delete<br/>
|
|||
|
else<br/>
|
|||
|
enum<br/>
|
|||
|
export<br/>
|
|||
|
extends<br/>
|
|||
|
false<br/>
|
|||
|
final<br/>
|
|||
|
finally<br/>
|
|||
|
float<br/>
|
|||
|
for<br/>
|
|||
|
function<br/>
|
|||
|
goto<br/>
|
|||
|
if<br/>
|
|||
|
implements<br/>
|
|||
|
import<br/>
|
|||
|
in<br/>
|
|||
|
instanceof<br/>
|
|||
|
int<br/>
|
|||
|
interface<br/>
|
|||
|
long<br/>
|
|||
|
native<br/>
|
|||
|
new<br/>
|
|||
|
null<br/>
|
|||
|
package<br/>
|
|||
|
private<br/>
|
|||
|
protected<br/>
|
|||
|
public<br/>
|
|||
|
return<br/>
|
|||
|
short<br/>
|
|||
|
static<br/>
|
|||
|
super<br/>
|
|||
|
156<br/>
|
|||
|
<hr/>
|
|||
|
<a name=157></a>20.9. Reservierte Wörter<br/>
|
|||
|
switch<br/>
|
|||
|
synchronized<br/>
|
|||
|
this<br/>
|
|||
|
throw<br/>
|
|||
|
throws<br/>
|
|||
|
transient<br/>
|
|||
|
true<br/>
|
|||
|
try<br/>
|
|||
|
typeof<br/>
|
|||
|
var<br/>
|
|||
|
void<br/>
|
|||
|
volatile<br/>
|
|||
|
while<br/>
|
|||
|
with<br/>
|
|||
|
157<br/>
|
|||
|
<hr/>
|
|||
|
<a name=158></a><hr/>
|
|||
|
<a name=159></a>Teil V.<br/>
|
|||
|
Anhang<br/>
|
|||
|
159<br/>
|
|||
|
<hr/>
|
|||
|
<a name=160></a><hr/>
|
|||
|
<a name=161></a>21. Glossar<br/>
|
|||
|
Abhängigkeiten Ein von rpm verwendetes System, um die Verwaltung installierter<br/>
|
|||
|
Software zu vereinfachen. Jedes Paket enthält ein Skript, das dem lokalen rpm<br/>
|
|||
|
mitteilt, welche anderen Pakete es zur Ausführung benötigt. Sind die erforderli-<br/>
|
|||
|
chen Pakete nicht installiert, wird die Installation abgebrochen. Gleiches gilt für<br/>
|
|||
|
die Deinstallation.<br/>
|
|||
|
Andere, others In UNIX die Gruppe der Benutzer, die weder Eigetümer einer Datei<br/>
|
|||
|
sind, noch zur Besitzergruppe gehören. Es ist generell eine gute Idee, die Rechte<br/>
|
|||
|
dieser Gruppe so restriktiv wie möglich zu handhaben. Siehe auch Besitzergrup-<br/>
|
|||
|
pe.<br/>
|
|||
|
alias Ein Shell-Mechanismus, um eine Zeichenkette durch einen anderen zu ersetzen,<br/>
|
|||
|
bevor ein Kommando ausgeführt wird. Einen Überblick über alle definierten<br/>
|
|||
|
Aliasse erhalten Sie mit dem Kommando alias.<br/>
|
|||
|
Anzeigehilfe Programm zum Anzeigen einer (Text-) Datei. Es bietet die Möglichkeit<br/>
|
|||
|
einfach vorwärts und rückwärts durch das Dokument zu navigieren sowie Zei-<br/>
|
|||
|
chenketten zu suchen. Wir empfehlen Ihnen das Programm less zu verwenden<br/>
|
|||
|
(u.a. da es die selben Tastaturkürzel wie vim verwendet).<br/>
|
|||
|
APM Advanced Power Management (”Fortgeschrittenes Energiemanagement”). Wird<br/>
|
|||
|
von einigen BIOSsen dazu benutzt, die Maschine nach einer Periode von Inakti-<br/>
|
|||
|
vität in einen energiesparenden Ruhezustand zu bringen. Auf Laptops ist APM<br/>
|
|||
|
auch dafür zuständig, Informationen über den Batteriestatus bzw. die verblei-<br/>
|
|||
|
bende Arbeitszeit bereit zu stellen.<br/>
|
|||
|
Arbeitsfläche Wenn Sie das X-Windows-System verwenden, ist die Arbeitsfläche der<br/>
|
|||
|
teil des Bildschirmes, auf dem Sie arbeiten und auf dem Ihre Symbole und Fenster<br/>
|
|||
|
dargestellt werden. Manschmal wird auch lachs vom ”Hitergrund” gesprochen.<br/>
|
|||
|
Siehe auch: virtuelle Arbeitsfläche.<br/>
|
|||
|
ARP Address Resolution Protocol. (”Protokoll zur Adress-Auflösungs”). Das Protokoll<br/>
|
|||
|
um IP-Adressen dynamisch in physikalische (Hardware-)Adressen umzuwandeln.<br/>
|
|||
|
Nur möglich auf direkt verbundenen Netzwerken im Hardware- Broadcasting.<br/>
|
|||
|
ASCII Abkürzung für American Standart Code for Information Interchange. Es han-<br/>
|
|||
|
delt sich um den meistvervwendeten 7-Bit-Kode zur Darstellung von Ziffern,<br/>
|
|||
|
Buchstaben und Sonderzeichen. Der ASCII-Code ist mittlerweile per ”normati-<br/>
|
|||
|
ver Kraft des Faktischen” durch den ISO Standart 8859-1 abgelöst (Siehe ISO<br/>
|
|||
|
8859).<br/>
|
|||
|
161<br/>
|
|||
|
<hr/>
|
|||
|
<a name=162></a>21. Glossar<br/>
|
|||
|
Assembler Maschinensprache. Vorstufe des Objekt-Kodes. Programme werden meist<br/>
|
|||
|
in sogenannten Hochsprachen (wie C) geschrieben, die dann per Kompilation in<br/>
|
|||
|
Assembler umgewandelt werden.<br/>
|
|||
|
ATAPI eine Familie von CD-ROM-Laufwerken, die an den IDE-Controller angeschlos-<br/>
|
|||
|
sen werden. Es gibt auch SCSI-Laufwerke, die am SCSI-Controler betrieben wer-<br/>
|
|||
|
den, sowie proprietäre Laufwerke, die ihren eigenen Controller benutzen oder an<br/>
|
|||
|
die Soundkarte angeschlossen werden.<br/>
|
|||
|
atomar Eine Gruppe von Operationen, die nicht weiter aufgeteilt werden kann.<br/>
|
|||
|
ausführlicher Modus Befehle produzieren im ausführlichen Modus Zusatzinformatio-<br/>
|
|||
|
nen, die auf die Standardausgabe oder Standart-Fehlerausgabe ausgegeben wer-<br/>
|
|||
|
den. Einige Programme bieten die Möglichkeit einzustellen wie ”redselig” sie sein<br/>
|
|||
|
sollen.<br/>
|
|||
|
HTTP HyperText Transfer Protokoll(Hypertext-Übertragungsprotokoll). Ist ein Pro-<br/>
|
|||
|
tokoll zur Übertragung von Daten über ein Netzwerk. Es wird hauptsächlich ein-<br/>
|
|||
|
gesetzt, um Webseiten aus dem World Wide Web (WWW) in einen Webbrowser<br/>
|
|||
|
zu laden.<br/>
|
|||
|
URL Uniform Resource Locator (Einheitlicher Quellenanzeiger). Bezeichnet man ei-<br/>
|
|||
|
ne Unterart von Uniform Resource Identifiern (URIs). URLs identifizieren und<br/>
|
|||
|
lokalisieren eine Ressource über die zu verwendende Zugriffsmethode (z. B. das<br/>
|
|||
|
verwendete Netzwerkprotokoll wie HTTP oder FTP) und den Ort (engl. locati-<br/>
|
|||
|
on) der Ressource in Computernetzwerken. Im allgemeinen Sprachgebrauch wer-<br/>
|
|||
|
den sie auch als Internetadresse bezeichnet, wobei damit (der umgangssprachlich<br/>
|
|||
|
häufigen Gleichsetzung von Internet und WWW folgend) meist speziell URLs<br/>
|
|||
|
von Webseiten gemeint sind.<br/>
|
|||
|
USV Unterbrechungsfreie Stromversorgung. Sehr großer Akku (aufladbare Baterie)<br/>
|
|||
|
der bei einem Stromausfall den Rechner mit Strom versorgt.<br/>
|
|||
|
WWW World Wide Web(Weltweites Netz). Ist ein über das Internet abrufbares Hypertext-<br/>
|
|||
|
System, bestehend aus elektronischen Dokumenten, die durch Hyperlinks mit-<br/>
|
|||
|
einander verknüpft sind.<br/>
|
|||
|
162<br/>
|
|||
|
<hr/>
|
|||
|
<a name=163></a>Stichwortverzeichnis<br/>
|
|||
|
&, <a href="linuxs.html#30">30</a><br/>
|
|||
|
Eigentümer, <a href="linuxs.html#28">28</a><br/>
|
|||
|
htop, <a href="linuxs.html#30">30</a><br/>
|
|||
|
emerge, <a href="linuxs.html#33">33</a><br/>
|
|||
|
affs, <a href="linuxs.html#49">49</a><br/>
|
|||
|
env-update, <a href="linuxs.html#31">31</a><br/>
|
|||
|
ifconfig, <a href="linuxs.html#34">34</a><br/>
|
|||
|
alias, <a href="linuxs.html#22">22</a><br/>
|
|||
|
equery, <a href="linuxs.html#33">33</a><br/>
|
|||
|
info, <a href="linuxs.html#20">20</a><br/>
|
|||
|
apt, <a href="linuxs.html#32">32</a><br/>
|
|||
|
etc-update, <a href="linuxs.html#33">33</a><br/>
|
|||
|
init, <a href="linuxs.html#19">19, </a><a href="linuxs.html#20">20</a><br/>
|
|||
|
apt-get, <a href="linuxs.html#32">32</a><br/>
|
|||
|
euse, <a href="linuxs.html#33">33</a><br/>
|
|||
|
initctl, <a href="linuxs.html#20">20</a><br/>
|
|||
|
insmod, <a href="linuxs.html#17">17</a><br/>
|
|||
|
bash, <a href="linuxs.html#55">55</a><br/>
|
|||
|
expand, <a href="linuxs.html#25">25</a><br/>
|
|||
|
ip, <a href="linuxs.html#34">34</a><br/>
|
|||
|
bg, <a href="linuxs.html#30">30</a><br/>
|
|||
|
export, <a href="linuxs.html#31">31, </a><a href="linuxs.html#38">38, </a><a href="linuxs.html#55">55</a><br/>
|
|||
|
iso9660, <a href="linuxs.html#49">49</a><br/>
|
|||
|
Bildschirmschoner, <a href="linuxs.html#19">19,</a><br/>
|
|||
|
ext2, <a href="linuxs.html#49">49</a><br/>
|
|||
|
<a href="linuxs.html#39">39</a><br/>
|
|||
|
ext3, <a href="linuxs.html#49">49</a><br/>
|
|||
|
jobs, <a href="linuxs.html#30">30</a><br/>
|
|||
|
blockorientiert, <a href="linuxs.html#28">28</a><br/>
|
|||
|
fakeroot, <a href="linuxs.html#17">17</a><br/>
|
|||
|
bzip2, <a href="linuxs.html#17">17</a><br/>
|
|||
|
Kernel, <a href="linuxs.html#17">17</a><br/>
|
|||
|
fdformat, <a href="linuxs.html#27">27</a><br/>
|
|||
|
kill, <a href="linuxs.html#30">30</a><br/>
|
|||
|
cat, <a href="linuxs.html#23">23</a><br/>
|
|||
|
fdisk, <a href="linuxs.html#27">27</a><br/>
|
|||
|
ksh, <a href="linuxs.html#55">55</a><br/>
|
|||
|
cd, <a href="linuxs.html#23">23</a><br/>
|
|||
|
fg, <a href="linuxs.html#30">30</a><br/>
|
|||
|
cfdsik, <a href="linuxs.html#27">27</a><br/>
|
|||
|
fgrep, <a href="linuxs.html#24">24</a><br/>
|
|||
|
last, <a href="linuxs.html#20">20</a><br/>
|
|||
|
chgrp, <a href="linuxs.html#28">28</a><br/>
|
|||
|
file, <a href="linuxs.html#22">22</a><br/>
|
|||
|
ldd, <a href="linuxs.html#34">34</a><br/>
|
|||
|
chmod, <a href="linuxs.html#28">28</a><br/>
|
|||
|
find, <a href="linuxs.html#24">24</a><br/>
|
|||
|
less, <a href="linuxs.html#23">23</a><br/>
|
|||
|
chown, <a href="linuxs.html#28">28</a><br/>
|
|||
|
finger, <a href="linuxs.html#20">20</a><br/>
|
|||
|
ln, <a href="linuxs.html#23">23</a><br/>
|
|||
|
chroot, <a href="linuxs.html#31">31</a><br/>
|
|||
|
free, <a href="linuxs.html#20">20</a><br/>
|
|||
|
locate, <a href="linuxs.html#55">55</a><br/>
|
|||
|
clock, <a href="linuxs.html#21">21</a><br/>
|
|||
|
fsck, <a href="linuxs.html#27">27</a><br/>
|
|||
|
login, <a href="linuxs.html#19">19</a><br/>
|
|||
|
cmp, <a href="linuxs.html#25">25</a><br/>
|
|||
|
fstab, <a href="linuxs.html#48">48</a><br/>
|
|||
|
logout, <a href="linuxs.html#19">19</a><br/>
|
|||
|
comm, <a href="linuxs.html#25">25</a><br/>
|
|||
|
ftp, <a href="linuxs.html#34">34</a><br/>
|
|||
|
losetup, <a href="linuxs.html#28">28</a><br/>
|
|||
|
compress, <a href="linuxs.html#25">25</a><br/>
|
|||
|
lpq, <a href="linuxs.html#25">25</a><br/>
|
|||
|
cp, <a href="linuxs.html#23">23</a><br/>
|
|||
|
gpg, <a href="linuxs.html#17">17, </a><a href="linuxs.html#36">36</a><br/>
|
|||
|
lpr, <a href="linuxs.html#25">25</a><br/>
|
|||
|
csh, <a href="linuxs.html#55">55</a><br/>
|
|||
|
grep, <a href="linuxs.html#24">24</a><br/>
|
|||
|
lprm, <a href="linuxs.html#25">25</a><br/>
|
|||
|
group, <a href="linuxs.html#49">49</a><br/>
|
|||
|
ls, <a href="linuxs.html#22">22</a><br/>
|
|||
|
date, <a href="linuxs.html#20">20, </a><a href="linuxs.html#21">21</a><br/>
|
|||
|
grub, <a href="linuxs.html#31">31</a><br/>
|
|||
|
lsmod, <a href="linuxs.html#17">17</a><br/>
|
|||
|
Datum, <a href="linuxs.html#21">21</a><br/>
|
|||
|
Gruppe, <a href="linuxs.html#28">28</a><br/>
|
|||
|
dd, <a href="linuxs.html#27">27</a><br/>
|
|||
|
gzip, <a href="linuxs.html#17">17</a><br/>
|
|||
|
mail, <a href="linuxs.html#37">37</a><br/>
|
|||
|
df, <a href="linuxs.html#20">20</a><br/>
|
|||
|
make, <a href="linuxs.html#17">17, </a><a href="linuxs.html#34">34</a><br/>
|
|||
|
diff, <a href="linuxs.html#25">25</a><br/>
|
|||
|
halt, <a href="linuxs.html#19">19</a><br/>
|
|||
|
make-kpkg, <a href="linuxs.html#17">17</a><br/>
|
|||
|
dmesg, <a href="linuxs.html#17">17</a><br/>
|
|||
|
Hardlink, <a href="linuxs.html#23">23</a><br/>
|
|||
|
man, <a href="linuxs.html#20">20</a><br/>
|
|||
|
dpkg, <a href="linuxs.html#17">17, </a><a href="linuxs.html#32">32</a><br/>
|
|||
|
head, <a href="linuxs.html#23">23</a><br/>
|
|||
|
mfomat, <a href="linuxs.html#27">27</a><br/>
|
|||
|
host, <a href="linuxs.html#34">34</a><br/>
|
|||
|
minix, <a href="linuxs.html#49">49</a><br/>
|
|||
|
echo, <a href="linuxs.html#20">20</a><br/>
|
|||
|
hosts, <a href="linuxs.html#50">50</a><br/>
|
|||
|
mkdir, <a href="linuxs.html#23">23</a><br/>
|
|||
|
egrep, <a href="linuxs.html#24">24</a><br/>
|
|||
|
hpfs, <a href="linuxs.html#49">49</a><br/>
|
|||
|
mkdosfs, <a href="linuxs.html#27">27</a><br/>
|
|||
|
163<br/>
|
|||
|
<hr/>
|
|||
|
<a name=164></a>STICHWORTVERZEICHNIS<br/>
|
|||
|
mke2fs, <a href="linuxs.html#27">27</a><br/>
|
|||
|
rpm, <a href="linuxs.html#32">32</a><br/>
|
|||
|
umount, <a href="linuxs.html#27">27</a><br/>
|
|||
|
mkfs, <a href="linuxs.html#27">27</a><br/>
|
|||
|
umsdos, <a href="linuxs.html#49">49</a><br/>
|
|||
|
modprobe, <a href="linuxs.html#28">28</a><br/>
|
|||
|
sax, <a href="linuxs.html#38">38</a><br/>
|
|||
|
uname, <a href="linuxs.html#17">17</a><br/>
|
|||
|
more, <a href="linuxs.html#23">23</a><br/>
|
|||
|
scp, <a href="linuxs.html#34">34, </a><a href="linuxs.html#35">35</a><br/>
|
|||
|
uncompress, <a href="linuxs.html#25">25</a><br/>
|
|||
|
mount, <a href="linuxs.html#27">27</a><br/>
|
|||
|
setenv, <a href="linuxs.html#55">55</a><br/>
|
|||
|
uniq, <a href="linuxs.html#25">25</a><br/>
|
|||
|
msdos, <a href="linuxs.html#49">49</a><br/>
|
|||
|
settherm, <a href="linuxs.html#19">19</a><br/>
|
|||
|
unpack, <a href="linuxs.html#25">25</a><br/>
|
|||
|
mv, <a href="linuxs.html#23">23</a><br/>
|
|||
|
sh, <a href="linuxs.html#55">55</a><br/>
|
|||
|
unset, <a href="linuxs.html#55">55</a><br/>
|
|||
|
shutdown, <a href="linuxs.html#19">19</a><br/>
|
|||
|
unsetenv, <a href="linuxs.html#55">55</a><br/>
|
|||
|
ncpfs, <a href="linuxs.html#49">49</a><br/>
|
|||
|
smbfs, <a href="linuxs.html#49">49</a><br/>
|
|||
|
Upstart, <a href="linuxs.html#20">20</a><br/>
|
|||
|
netcat, <a href="linuxs.html#34">34</a><br/>
|
|||
|
Softlink, <a href="linuxs.html#23">23</a><br/>
|
|||
|
useradd, <a href="linuxs.html#28">28</a><br/>
|
|||
|
netdate, <a href="linuxs.html#21">21</a><br/>
|
|||
|
source, <a href="linuxs.html#31">31</a><br/>
|
|||
|
userdel, <a href="linuxs.html#28">28</a><br/>
|
|||
|
nfs, <a href="linuxs.html#49">49</a><br/>
|
|||
|
ssh, <a href="linuxs.html#34">34, </a><a href="linuxs.html#35">35</a><br/>
|
|||
|
usermod, <a href="linuxs.html#28">28</a><br/>
|
|||
|
nl, <a href="linuxs.html#23">23</a><br/>
|
|||
|
ssh-keygen, <a href="linuxs.html#35">35</a><br/>
|
|||
|
UTC, <a href="linuxs.html#21">21</a><br/>
|
|||
|
nmap, <a href="linuxs.html#34">34</a><br/>
|
|||
|
startx, <a href="linuxs.html#38">38</a><br/>
|
|||
|
nslookup, <a href="linuxs.html#34">34</a><br/>
|
|||
|
stderr, <a href="linuxs.html#19">19</a><br/>
|
|||
|
vfat, <a href="linuxs.html#49">49</a><br/>
|
|||
|
ntfs, <a href="linuxs.html#49">49</a><br/>
|
|||
|
stdin, <a href="linuxs.html#19">19, </a><a href="linuxs.html#56">56</a><br/>
|
|||
|
vi, <a href="linuxs.html#24">24, </a><a href="linuxs.html#61">61</a><br/>
|
|||
|
vipw, <a href="linuxs.html#28">28</a><br/>
|
|||
|
od, <a href="linuxs.html#23">23</a><br/>
|
|||
|
stdout, <a href="linuxs.html#19">19</a><br/>
|
|||
|
strace, <a href="linuxs.html#34">34</a><br/>
|
|||
|
w, <a href="linuxs.html#20">20</a><br/>
|
|||
|
passwd, <a href="linuxs.html#28">28, </a><a href="linuxs.html#53">53</a><br/>
|
|||
|
strings, <a href="linuxs.html#23">23</a><br/>
|
|||
|
wc, <a href="linuxs.html#22">22</a><br/>
|
|||
|
ping, <a href="linuxs.html#34">34</a><br/>
|
|||
|
su, <a href="linuxs.html#28">28</a><br/>
|
|||
|
wget, <a href="linuxs.html#17">17</a><br/>
|
|||
|
pr, <a href="linuxs.html#25">25</a><br/>
|
|||
|
sux, <a href="linuxs.html#28">28</a><br/>
|
|||
|
whatis, <a href="linuxs.html#20">20</a><br/>
|
|||
|
proc, <a href="linuxs.html#49">49</a><br/>
|
|||
|
systemctl, <a href="linuxs.html#19">19</a><br/>
|
|||
|
which, <a href="linuxs.html#20">20</a><br/>
|
|||
|
ps, <a href="linuxs.html#30">30</a><br/>
|
|||
|
sysv, <a href="linuxs.html#49">49</a><br/>
|
|||
|
who, <a href="linuxs.html#20">20</a><br/>
|
|||
|
pstree, <a href="linuxs.html#30">30</a><br/>
|
|||
|
whoami, <a href="linuxs.html#20">20</a><br/>
|
|||
|
pwd, <a href="linuxs.html#20">20</a><br/>
|
|||
|
tail, <a href="linuxs.html#23">23</a><br/>
|
|||
|
tar, <a href="linuxs.html#27">27</a><br/>
|
|||
|
xf86config, <a href="linuxs.html#38">38</a><br/>
|
|||
|
rcsshd, <a href="linuxs.html#36">36</a><br/>
|
|||
|
tcsh, <a href="linuxs.html#55">55</a><br/>
|
|||
|
XF86Setup, <a href="linuxs.html#38">38</a><br/>
|
|||
|
reboot, <a href="linuxs.html#19">19</a><br/>
|
|||
|
telnet, <a href="linuxs.html#34">34</a><br/>
|
|||
|
xset, <a href="linuxs.html#39">39</a><br/>
|
|||
|
recode, <a href="linuxs.html#23">23</a><br/>
|
|||
|
timedatectl, <a href="linuxs.html#21">21</a><br/>
|
|||
|
xsetroot, <a href="linuxs.html#39">39</a><br/>
|
|||
|
reiserfs, <a href="linuxs.html#49">49</a><br/>
|
|||
|
top, <a href="linuxs.html#30">30</a><br/>
|
|||
|
revdep-rebuild, <a href="linuxs.html#33">33</a><br/>
|
|||
|
tr, <a href="linuxs.html#25">25</a><br/>
|
|||
|
yast, <a href="linuxs.html#20">20</a><br/>
|
|||
|
rlogin, <a href="linuxs.html#34">34</a><br/>
|
|||
|
tune2fs, <a href="linuxs.html#27">27</a><br/>
|
|||
|
rm, <a href="linuxs.html#23">23</a><br/>
|
|||
|
zcat, <a href="linuxs.html#17">17</a><br/>
|
|||
|
rmdir, <a href="linuxs.html#23">23</a><br/>
|
|||
|
ufs, <a href="linuxs.html#49">49</a><br/>
|
|||
|
zeichenorientiert, <a href="linuxs.html#28">28</a><br/>
|
|||
|
rmmod, <a href="linuxs.html#17">17</a><br/>
|
|||
|
Uhrzeit, <a href="linuxs.html#21">21</a><br/>
|
|||
|
Zeit, <a href="linuxs.html#21">21</a><br/>
|
|||
|
164<br/>
|
|||
|
<hr/>
|
|||
|
<a name="outline"></a><h1>Document Outline</h1>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#3">Vorwort</a></li>
|
|||
|
<li><a href="linuxs.html#5">Inhaltsverzeichnis</a></li>
|
|||
|
<li><a href="linuxs.html#15">Linux</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#17">Linux</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#17">Was ist Linux?</a></li>
|
|||
|
<li><a href="linuxs.html#17">Kernel und Module</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#17">Kernel 2.4</a></li>
|
|||
|
<li><a href="linuxs.html#17">Kernel 2.6 (Debian 4.0 etch)</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#19">Befehle</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#19">Standartein-aus-gabe</a></li>
|
|||
|
<li><a href="linuxs.html#19">Anmelden und Abmelden</a></li>
|
|||
|
<li><a href="linuxs.html#19">Anhalten des Systems und Booten</a></li>
|
|||
|
<li><a href="linuxs.html#20">Die Runlevel</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#20">Upstart</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#20">SuSE-Linux</a></li>
|
|||
|
<li><a href="linuxs.html#20">Zur Orientierung auf einem UNIX-Rechner</a></li>
|
|||
|
<li><a href="linuxs.html#21">Datum und Uhrzeit</a></li>
|
|||
|
<li><a href="linuxs.html#22">Auflisten</a></li>
|
|||
|
<li><a href="linuxs.html#22">Dateinamen</a></li>
|
|||
|
<li><a href="linuxs.html#22">Dateiendungen</a></li>
|
|||
|
<li><a href="linuxs.html#22">Infos über Files</a></li>
|
|||
|
<li><a href="linuxs.html#23">Arbeiten(Verwüstungen) im und am Filesystem</a></li>
|
|||
|
<li><a href="linuxs.html#23">Kopieren und Verschieben</a></li>
|
|||
|
<li><a href="linuxs.html#23">Löschen</a></li>
|
|||
|
<li><a href="linuxs.html#23">Ausgeben</a></li>
|
|||
|
<li><a href="linuxs.html#24">Der Texteditor vi/vim</a></li>
|
|||
|
<li><a href="linuxs.html#24">Suchen nach Dateien</a></li>
|
|||
|
<li><a href="linuxs.html#24">Suchen in Dateien</a></li>
|
|||
|
<li><a href="linuxs.html#25">Vergleichen von Dateien</a></li>
|
|||
|
<li><a href="linuxs.html#25">Drucken</a></li>
|
|||
|
<li><a href="linuxs.html#25">File-Inhalt bearbeiten</a></li>
|
|||
|
<li><a href="linuxs.html#25">TAR (tape archiver) verwaltet Dateiarchive</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#27">Packen</a></li>
|
|||
|
<li><a href="linuxs.html#27">Entpacken</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#27">Disketten/Festplatten</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#28">Dateisystem verschlüsseln</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#28">Zugriffsrechte/Eigentümer/Gruppe</a></li>
|
|||
|
<li><a href="linuxs.html#30">Prozessbefehle</a></li>
|
|||
|
<li><a href="linuxs.html#31">Re-install Grub with Live CD</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#31">Chroot</a></li>
|
|||
|
<li><a href="linuxs.html#31">Grub</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#31">Software installieren</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#31">rpm-Format</a></li>
|
|||
|
<li><a href="linuxs.html#32">deb-Format</a></li>
|
|||
|
<li><a href="linuxs.html#33">Portage Gentoo</a></li>
|
|||
|
<li><a href="linuxs.html#34">Quelltexte</a></li>
|
|||
|
<li><a href="linuxs.html#34">Hilfe</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#34">Im Netz</a></li>
|
|||
|
<li><a href="linuxs.html#35">SSH</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#35">Generierung eines DSA Schlüsselpaares</a></li>
|
|||
|
<li><a href="linuxs.html#35">Public-Key auf dem Zielrechner hinzufügen</a></li>
|
|||
|
<li><a href="linuxs.html#35">Private-Key auf dem Qellrechner</a></li>
|
|||
|
<li><a href="linuxs.html#36">Login nur mit SSH-Keys erlauben</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#36">GnuPG</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#36">Erzeugen</a></li>
|
|||
|
<li><a href="linuxs.html#36">Hochladen</a></li>
|
|||
|
<li><a href="linuxs.html#37">Löschen</a></li>
|
|||
|
<li><a href="linuxs.html#37">Holen</a></li>
|
|||
|
<li><a href="linuxs.html#37">Signatur erzeugen und prüfen</a></li>
|
|||
|
<li><a href="linuxs.html#37">Verschlüsseln</a></li>
|
|||
|
<li><a href="linuxs.html#37">Entschlüsseln</a></li>
|
|||
|
<li><a href="linuxs.html#38">Schlüsselverwaltung</a></li>
|
|||
|
<li><a href="linuxs.html#38">Anzeigen</a></li>
|
|||
|
<li><a href="linuxs.html#38">Exportieren</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#38">X11 - Grafik</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#39">Bildschirmschoner</a></li>
|
|||
|
<li><a href="linuxs.html#39">X11 ohne Maus</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#41">Verzeichnisse und Dateien</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#41">Dateibaum</a></li>
|
|||
|
<li><a href="linuxs.html#48">/etc/fstab</a></li>
|
|||
|
<li><a href="linuxs.html#48">/dev/</a></li>
|
|||
|
<li><a href="linuxs.html#49">Dateisystemtypen unter Linux</a></li>
|
|||
|
<li><a href="linuxs.html#49">/etc/group</a></li>
|
|||
|
<li><a href="linuxs.html#50">/etc/hosts</a></li>
|
|||
|
<li><a href="linuxs.html#50">/etc/inittab</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#50">Terminal</a></li>
|
|||
|
<li><a href="linuxs.html#50">Termcapeintrag</a></li>
|
|||
|
<li><a href="linuxs.html#51">Gettykommando</a></li>
|
|||
|
<li><a href="linuxs.html#51">Kürzel</a></li>
|
|||
|
<li><a href="linuxs.html#51">Arbeitsstufen</a></li>
|
|||
|
<li><a href="linuxs.html#51">Modus</a></li>
|
|||
|
<li><a href="linuxs.html#52">Kommando</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#53">/etc/passwd</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#55">Die Shells</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#55">Die Shells</a></li>
|
|||
|
<li><a href="linuxs.html#55">Die Start-Scripts</a></li>
|
|||
|
<li><a href="linuxs.html#55">Tastenkombinationen</a></li>
|
|||
|
<li><a href="linuxs.html#56">Die C-Shell</a></li>
|
|||
|
<li><a href="linuxs.html#57">Bash rechnen</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#59">Programme</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#61">Der Texteditor vi/vim</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#61">Aufruf</a></li>
|
|||
|
<li><a href="linuxs.html#61">Eingabemodus (input mode)</a></li>
|
|||
|
<li><a href="linuxs.html#61">Befehlsmodus (visual mode)</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#61">Eingeben:</a></li>
|
|||
|
<li><a href="linuxs.html#61">Überschreiben:</a></li>
|
|||
|
<li><a href="linuxs.html#62">Bewegen:</a></li>
|
|||
|
<li><a href="linuxs.html#63">Löschen und Eingeben:</a></li>
|
|||
|
<li><a href="linuxs.html#63">Löschen:</a></li>
|
|||
|
<li><a href="linuxs.html#63">Aufheben:</a></li>
|
|||
|
<li><a href="linuxs.html#63">Verschieben:</a></li>
|
|||
|
<li><a href="linuxs.html#64">Zusammenfügen:</a></li>
|
|||
|
<li><a href="linuxs.html#64">Markieren:</a></li>
|
|||
|
<li><a href="linuxs.html#64">Kopieren:</a></li>
|
|||
|
<li><a href="linuxs.html#64">Einfügen:</a></li>
|
|||
|
<li><a href="linuxs.html#64">Suchen:</a></li>
|
|||
|
<li><a href="linuxs.html#64">Wiederholen:</a></li>
|
|||
|
<li><a href="linuxs.html#65">Sonstige Kommandos:</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#65">Kommandomodus (colon mode)</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#65">Texteingabe Kommandos</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#67">LaTeX</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#67">LaTeX</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#69">Linux im Netzwerk</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#71">Netzwerk</a></li>
|
|||
|
<li><a href="linuxs.html#73">Apache</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#73">Einleitung</a></li>
|
|||
|
<li><a href="linuxs.html#73">Kompilieren und Installieren</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#73">Anforderungen</a></li>
|
|||
|
<li><a href="linuxs.html#73">Vorbereitungen</a></li>
|
|||
|
<li><a href="linuxs.html#74">OpenSSL</a></li>
|
|||
|
<li><a href="linuxs.html#74">Apache 1.3 und SSL</a></li>
|
|||
|
<li><a href="linuxs.html#76">Apache2</a></li>
|
|||
|
<li><a href="linuxs.html#76">Testen</a></li>
|
|||
|
<li><a href="linuxs.html#77">Upgrade</a></li>
|
|||
|
<li><a href="linuxs.html#77">PureFTPd</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#78">Apache starten</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#78">Apache starten</a></li>
|
|||
|
<li><a href="linuxs.html#78">Wie der Apache startet</a></li>
|
|||
|
<li><a href="linuxs.html#79">Fehler während des Hochfahrens</a></li>
|
|||
|
<li><a href="linuxs.html#79">Automatisch starten und beenden</a></li>
|
|||
|
<li><a href="linuxs.html#79">Weitere Informationen</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#80">Beenden und Neustarten</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#80">Einleitung</a></li>
|
|||
|
<li><a href="linuxs.html#80">Beenden</a></li>
|
|||
|
<li><a href="linuxs.html#80">Unterbrechungsfreier Neustart</a></li>
|
|||
|
<li><a href="linuxs.html#81">Neustarten</a></li>
|
|||
|
<li><a href="linuxs.html#81">Anhang: Syntax überprüfen</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#82">Anhang</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#82">Zu den Dateien</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#82">Benutzerhandbuch</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#82">httpd.conf</a></li>
|
|||
|
<li><a href="linuxs.html#85">Access Control List File (.htaccess)</a></li>
|
|||
|
<li><a href="linuxs.html#86">Gruppendatei (.htgroup)</a></li>
|
|||
|
<li><a href="linuxs.html#86">Passwort-Datei (.htpasswd)</a></li>
|
|||
|
<li><a href="linuxs.html#86">Erstellen eines SSL-Zertifikats</a></li>
|
|||
|
<li><a href="linuxs.html#86">LinkIcon (favicon.ico)</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#89">MySQL</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#89">Einleitung</a></li>
|
|||
|
<li><a href="linuxs.html#89">Kompilieren und Installieren</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#89">Anforderungen</a></li>
|
|||
|
<li><a href="linuxs.html#89">Vorbereitungen</a></li>
|
|||
|
<li><a href="linuxs.html#89">MySQL</a></li>
|
|||
|
<li><a href="linuxs.html#90">MySQL Testen</a></li>
|
|||
|
<li><a href="linuxs.html#91">phpMyAdmin</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#93">PHP</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#93">Einleitung</a></li>
|
|||
|
<li><a href="linuxs.html#93">Kompilieren und Installieren</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#93">Anforderungen</a></li>
|
|||
|
<li><a href="linuxs.html#93">Vorbereitungen</a></li>
|
|||
|
<li><a href="linuxs.html#94">Libraries für Zusatzfunktionen</a></li>
|
|||
|
<li><a href="linuxs.html#95">PHP</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#96">Referenz</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#96">Grundlagen</a></li>
|
|||
|
<li><a href="linuxs.html#96">Funktionen</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#97">Squid</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#97">Proxy</a></li>
|
|||
|
<li><a href="linuxs.html#97">Einfacher Cache</a></li>
|
|||
|
<li><a href="linuxs.html#97">Proxy Cache</a></li>
|
|||
|
<li><a href="linuxs.html#97">Aufgaben</a></li>
|
|||
|
<li><a href="linuxs.html#98">Eigenschaften</a></li>
|
|||
|
<li><a href="linuxs.html#98">Protokolle</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#98">Client-Kommunikation</a></li>
|
|||
|
<li><a href="linuxs.html#98">Kommunikation zwischen Proxy-Cache-Servern</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#99">Systemvoraussetzungen</a></li>
|
|||
|
<li><a href="linuxs.html#99">SuSE Linux</a></li>
|
|||
|
<li><a href="linuxs.html#99">Automatische Starten von Squit</a></li>
|
|||
|
<li><a href="linuxs.html#99">Squiddateien</a></li>
|
|||
|
<li><a href="linuxs.html#99">squid.conf</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#103">Programmieren</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#105">Bash</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#105">Einleitung</a></li>
|
|||
|
<li><a href="linuxs.html#105">Referenz</a></li>
|
|||
|
<li><a href="linuxs.html#106">Steuer und Sonderzeichen der Bash</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#107">git</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#107">Dokumentation</a></li>
|
|||
|
<li><a href="linuxs.html#107">Konfiguration</a></li>
|
|||
|
<li><a href="linuxs.html#108">Konfigurationen über Umgebungsvariablen</a></li>
|
|||
|
<li><a href="linuxs.html#108">Der Index</a></li>
|
|||
|
<li><a href="linuxs.html#109">Repository</a></li>
|
|||
|
<li><a href="linuxs.html#109">Commit</a></li>
|
|||
|
<li><a href="linuxs.html#109">Dateien entfernen</a></li>
|
|||
|
<li><a href="linuxs.html#109">Dateien verschieben</a></li>
|
|||
|
<li><a href="linuxs.html#109">Änderung an einer Datei rückgängig machen</a></li>
|
|||
|
<li><a href="linuxs.html#110">Dateien ignorieren</a></li>
|
|||
|
<li><a href="linuxs.html#110">Mit externen Repositorys arbeiten</a></li>
|
|||
|
<li><a href="linuxs.html#111">Tags</a></li>
|
|||
|
<li><a href="linuxs.html#111">Branch</a></li>
|
|||
|
<li><a href="linuxs.html#111">Git Aliase</a></li>
|
|||
|
<li><a href="linuxs.html#112">Git auf einen Server bekommen</a></li>
|
|||
|
<li><a href="linuxs.html#112">Git auf dem SSH-Server einrichten</a></li>
|
|||
|
<li><a href="linuxs.html#113">Öffentlicher Webserver-Zugang</a></li>
|
|||
|
<li><a href="linuxs.html#114">Grundbegriffe</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#117">C/C++</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#117">Befehle und Grundelemente</a></li>
|
|||
|
<li><a href="linuxs.html#117">Steuersequenzen für ANSI-Bildschirme - Innerhalb von Texten</a></li>
|
|||
|
<li><a href="linuxs.html#118">stdio.h -> Standard Ein- und Ausgabe</a></li>
|
|||
|
<li><a href="linuxs.html#119">ctype.h</a></li>
|
|||
|
<li><a href="linuxs.html#119">string.h</a></li>
|
|||
|
<li><a href="linuxs.html#120">Kontrollstrukturen</a></li>
|
|||
|
<li><a href="linuxs.html#121">ASCII(American Standart Code for Information Interchange)-Tabelle</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#122">Unterteilung der Steuerzeichen:</a></li>
|
|||
|
<li><a href="linuxs.html#122">Bedeutung der Steuerzeichen:</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#123">Operatoren und Ausdrücke</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#123">Arithmetische Operatoren:</a></li>
|
|||
|
<li><a href="linuxs.html#123">Vergleichsoperatoren:</a></li>
|
|||
|
<li><a href="linuxs.html#123">Logische Operatoren:</a></li>
|
|||
|
<li><a href="linuxs.html#124">Zuweisungsoperatoren:</a></li>
|
|||
|
<li><a href="linuxs.html#124">Post- und Prefix- Operatoren:</a></li>
|
|||
|
<li><a href="linuxs.html#124">Zeigeroperatoren:</a></li>
|
|||
|
<li><a href="linuxs.html#124">Diverse Kategorien:</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#125">Inkrementieren und Dekrementieren</a></li>
|
|||
|
<li><a href="linuxs.html#125">Wertebereich und Genauigkeit elementarer Datentypen</a></li>
|
|||
|
<li><a href="linuxs.html#125">Variableninitialisierung</a></li>
|
|||
|
<li><a href="linuxs.html#126">Konstanten</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#126">Ganzzahlkonstanten</a></li>
|
|||
|
<li><a href="linuxs.html#126">Gleitkommakonstanten</a></li>
|
|||
|
<li><a href="linuxs.html#126">Zeichen- und Zeichenkettenkonstanten</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#127">Tcl/Tk</a></li>
|
|||
|
<li><a href="linuxs.html#129">Perl</a></li>
|
|||
|
<li><a href="linuxs.html#131">CGI+Perl</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#131">Einleitung</a></li>
|
|||
|
<li><a href="linuxs.html#131">Perl</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#131">Texte und Strings</a></li>
|
|||
|
<li><a href="linuxs.html#131">Rechenoperationen</a></li>
|
|||
|
<li><a href="linuxs.html#132">Arrays (Listen)</a></li>
|
|||
|
<li><a href="linuxs.html#132">String- und Zahlenvergleichsoperratoren</a></li>
|
|||
|
<li><a href="linuxs.html#132">if-Bedingung</a></li>
|
|||
|
<li><a href="linuxs.html#132">if-else-Bedingung</a></li>
|
|||
|
<li><a href="linuxs.html#133">if-elseif-Bedingung</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#133">Funktionen</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#133">String Funktionen</a></li>
|
|||
|
<li><a href="linuxs.html#133">Rechen Funktionen</a></li>
|
|||
|
<li><a href="linuxs.html#133">Array Funktionen</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#135">Java</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#135">Funktion von Java</a></li>
|
|||
|
<li><a href="linuxs.html#135">Sprache und Syntax von Java</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#135">Kommentrare</a></li>
|
|||
|
<li><a href="linuxs.html#135">Datentypen</a></li>
|
|||
|
<li><a href="linuxs.html#136">Variablen</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#136">Pakete und Verzeichnisstrukturen</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#136">Sichtbarkeit und Zugriffsrechte von Klassen und Methoden</a></li>
|
|||
|
<li><a href="linuxs.html#136">Klassen</a></li>
|
|||
|
<li><a href="linuxs.html#137">Konstruktoren und Destruktoren</a></li>
|
|||
|
<li><a href="linuxs.html#137">Methoden überladen</a></li>
|
|||
|
<li><a href="linuxs.html#137">Objekte</a></li>
|
|||
|
<li><a href="linuxs.html#138">Vererbung</a></li>
|
|||
|
<li><a href="linuxs.html#138">Schnittstellen</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#138">Elementare Syntax von Java</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#138">Operratoren</a></li>
|
|||
|
<li><a href="linuxs.html#138">Verknüpfungsoperatoren</a></li>
|
|||
|
<li><a href="linuxs.html#138">Inkrement-Operator</a></li>
|
|||
|
<li><a href="linuxs.html#139">Dekrement-Operator</a></li>
|
|||
|
<li><a href="linuxs.html#139">Arithmetische Zuweisungsoperatoren</a></li>
|
|||
|
<li><a href="linuxs.html#139">Bedingungen und Entscheidungen</a></li>
|
|||
|
<li><a href="linuxs.html#139">if - else - Bedingungen</a></li>
|
|||
|
<li><a href="linuxs.html#139">Verschachtelte Bedingungen</a></li>
|
|||
|
<li><a href="linuxs.html#140">Fallunterscheidung mit switch - case</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#140">Schleifen</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#140">Die while - Schleife</a></li>
|
|||
|
<li><a href="linuxs.html#140">Die do - while - Schleife</a></li>
|
|||
|
<li><a href="linuxs.html#140">Die for - Schleife</a></li>
|
|||
|
<li><a href="linuxs.html#140">Schleifen mit break verlassen</a></li>
|
|||
|
<li><a href="linuxs.html#140">Schleife mit continue wiederholen</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#141">Komplexe Datentypen</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#141">Arrays</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#141">Die Anweisung import</a></li>
|
|||
|
<li><a href="linuxs.html#141">Java eigene Klassen</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#141">Die Klasse Math</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#141">Die Klasse Object</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#141">Die Klasse Object</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#142">Die Klasse Runtime</a></li>
|
|||
|
<li><a href="linuxs.html#142">Die Klasse String</a></li>
|
|||
|
<li><a href="linuxs.html#142">Die Klasse Stringbuffer</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#142">Die Klasse Stringbuffer</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#142">Die Klasse System</a></li>
|
|||
|
<li><a href="linuxs.html#142">Das Paket java.util</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#143">Die Klasse Date</a></li>
|
|||
|
<li><a href="linuxs.html#143">Die Klasse Random</a></li>
|
|||
|
<li><a href="linuxs.html#143">Die Klasse Stack</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#143">Ausnahmen (Exceptions)</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#144">Eigene Ausnahme erzeugen (throw)</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#144">Multitasking mit Threads</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#144">Arbeiten mit Threads</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#145">Applets</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#145">Applets in eine Webseite einbinden</a></li>
|
|||
|
<li><a href="linuxs.html#145">Das erste Java Applet</a></li>
|
|||
|
<li><a href="linuxs.html#145">Die Methoden eines Applets</a></li>
|
|||
|
<li><a href="linuxs.html#145">Ein Applet im Überblick</a></li>
|
|||
|
<li><a href="linuxs.html#146">Pakete</a></li>
|
|||
|
<li><a href="linuxs.html#146">Die Klasse Graphics</a></li>
|
|||
|
<li><a href="linuxs.html#146">Die Klasse Color</a></li>
|
|||
|
<li><a href="linuxs.html#147">Die Klasse Font</a></li>
|
|||
|
<li><a href="linuxs.html#147">Die Klasse Image</a></li>
|
|||
|
<li><a href="linuxs.html#147">Die Klasse Button</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#148">Eventhandling</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#148">Mouse Events</a></li>
|
|||
|
<li><a href="linuxs.html#148">Action Events</a></li>
|
|||
|
<li><a href="linuxs.html#148">Parameter an ein Applet</a></li>
|
|||
|
<li><a href="linuxs.html#149">Weitere wichtige Pakete</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#151">JavaScript</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#151">Einbindung von JavaScript</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#151">Einbindung in den Head</a></li>
|
|||
|
<li><a href="linuxs.html#151">Einbindung in den Body</a></li>
|
|||
|
<li><a href="linuxs.html#151">Ausführen bei bestimmten Aktionen</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#152">Variablen</a></li>
|
|||
|
<li><a href="linuxs.html#152">Objekte</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#152">Standardobjekte</a></li>
|
|||
|
<li><a href="linuxs.html#153">String-Objekt</a></li>
|
|||
|
<li><a href="linuxs.html#154">Eigene Objekte</a></li>
|
|||
|
<li><a href="linuxs.html#154">Arrays</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#154">Mathematische Operationen</a></li>
|
|||
|
<li><a href="linuxs.html#154">Bedingte Ausführung</a></li>
|
|||
|
<li><a href="linuxs.html#154">Schleifen</a></li>
|
|||
|
<li><a href="linuxs.html#155">Event-Handler</a></li>
|
|||
|
<li><a href="linuxs.html#155">Funktionen</a></li>
|
|||
|
<li><a href="linuxs.html#156">Reservierte Wörter</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#159">Anhang</a>
|
|||
|
<ul>
|
|||
|
<li><a href="linuxs.html#161">Glossar</a></li>
|
|||
|
</ul>
|
|||
|
</li>
|
|||
|
<li><a href="linuxs.html#163">Stichwortverzeichnis</a></li>
|
|||
|
</ul>
|
|||
|
<hr/>
|
|||
|
</body>
|
|||
|
</html>
|