linux.txt/linuxs.html
2025-02-15 15:39:11 +01:00

8467 lines
391 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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&#160;v0.1.52<br/>
tresix69@freenet.de<br/>
15.&#160;Februar&#160;2025<br/>
betreut&#160;durch&#160;Thomas&#160;resiX<br/>
<hr/>
<a name=2></a><hr/>
<a name=3></a>1.&#160;Vorwort<br/>
Habe&#160;versucht&#160;alles&#160;so&#160;kurz&#160;wie&#160;möglich&#160;aber&#160;dennoch&#160;ausführlich&#160;zu&#160;Beschreiben&#160;und<br/>
wie&#160;immer&#160;aus&#160;verschiedenen&#160;Anleitugen&#160;abgeschrieben&#160;;-)<br/>
3<br/>
<hr/>
<a name=4></a><hr/>
<a name=5></a>Inhaltsverzeichnis<br/>
<a href="linuxs.html#3">1.&#160;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.&#160;Linux</a><br/>
17<br/>
<a href="linuxs.html#17">2.1.</a><br/>
<a href="linuxs.html#17">Was&#160;ist&#160;Linux?&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;17<br/>
<a href="linuxs.html#17">2.2.</a><br/>
<a href="linuxs.html#17">Kernel&#160;und&#160;Module&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;17<br/>
<a href="linuxs.html#17">2.2.1.</a><br/>
<a href="linuxs.html#17">Kernel&#160;2.4&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;17<br/>
<a href="linuxs.html#17">2.2.2.</a><br/>
<a href="linuxs.html#17">Kernel&#160;2.6&#160;(Debian&#160;4.0&#160;etch)&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;17<br/>
<a href="linuxs.html#19">3.&#160;Befehle</a><br/>
19<br/>
<a href="linuxs.html#19">3.1.</a><br/>
<a href="linuxs.html#19">Standartein-aus-gabe&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;19<br/>
<a href="linuxs.html#19">3.2.</a><br/>
<a href="linuxs.html#19">Anmelden&#160;und&#160;Abmelden&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;19<br/>
<a href="linuxs.html#19">3.3.</a><br/>
<a href="linuxs.html#19">Anhalten&#160;des&#160;Systems&#160;und&#160;Booten&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;19<br/>
<a href="linuxs.html#20">3.4.</a><br/>
<a href="linuxs.html#20">Die&#160;Runlevel&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;20<br/>
<a href="linuxs.html#20">3.4.1.</a><br/>
<a href="linuxs.html#20">Upstart&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;20<br/>
<a href="linuxs.html#20">3.5.</a><br/>
<a href="linuxs.html#20">SuSE-Linux&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;20<br/>
<a href="linuxs.html#20">3.6.</a><br/>
<a href="linuxs.html#20">Zur&#160;Orientierung&#160;auf&#160;einem&#160;UNIX-Rechner&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;20<br/>
<a href="linuxs.html#21">3.7.</a><br/>
<a href="linuxs.html#21">Datum&#160;und&#160;Uhrzeit&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;21<br/>
<a href="linuxs.html#22">3.8.</a><br/>
<a href="linuxs.html#22">Auflisten&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;22<br/>
<a href="linuxs.html#22">3.9.</a><br/>
<a href="linuxs.html#22">Dateinamen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;22<br/>
<a href="linuxs.html#22">3.10.&#160;Dateiendungen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;22<br/>
<a href="linuxs.html#22">3.11.&#160;Infos&#160;über&#160;Files&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;22<br/>
<a href="linuxs.html#23">3.12.&#160;Arbeiten(Verwüstungen)&#160;im&#160;und&#160;am&#160;Filesystem&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;23<br/>
<a href="linuxs.html#23">3.13.&#160;Kopieren&#160;und&#160;Verschieben&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;23<br/>
<a href="linuxs.html#23">3.14.&#160;Löschen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;23<br/>
<a href="linuxs.html#23">3.15.&#160;Ausgeben&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;23<br/>
<a href="linuxs.html#24">3.16.&#160;Der&#160;Texteditor&#160;vi/vim&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;24<br/>
<a href="linuxs.html#24">3.17.&#160;Suchen&#160;nach&#160;Dateien&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;24<br/>
<a href="linuxs.html#24">3.18.&#160;Suchen&#160;in&#160;Dateien&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;24<br/>
<a href="linuxs.html#25">3.19.&#160;Vergleichen&#160;von&#160;Dateien&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;25<br/>
<a href="linuxs.html#25">3.20.&#160;Drucken&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;25<br/>
<a href="linuxs.html#25">3.21.&#160;File-Inhalt&#160;bearbeiten&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;25<br/>
<a href="linuxs.html#25">3.22.&#160;TAR&#160;(tape&#160;archiver)&#160;verwaltet&#160;Dateiarchive&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;25<br/>
<a href="linuxs.html#27">3.22.1.&#160;Packen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;27<br/>
5<br/>
<hr/>
<a name=6></a>Inhaltsverzeichnis<br/>
<a href="linuxs.html#27">3.22.2.&#160;Entpacken&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;27<br/>
<a href="linuxs.html#27">3.23.&#160;Disketten/Festplatten&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;27<br/>
<a href="linuxs.html#28">3.23.1.&#160;Dateisystem&#160;verschlüsseln&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;28<br/>
<a href="linuxs.html#28">3.24.&#160;Zugriffsrechte/Eigentümer/Gruppe&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;28<br/>
<a href="linuxs.html#30">3.25.&#160;Prozessbefehle&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;30<br/>
<a href="linuxs.html#31">3.26.&#160;Re-install&#160;Grub&#160;with&#160;Live&#160;CD&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;31<br/>
<a href="linuxs.html#31">3.26.1.&#160;Chroot&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;31<br/>
<a href="linuxs.html#31">3.26.2.&#160;Grub&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;31<br/>
<a href="linuxs.html#31">3.27.&#160;Software&#160;installieren&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;31<br/>
<a href="linuxs.html#31">3.27.1.&#160;rpm-Format&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;31<br/>
<a href="linuxs.html#32">3.27.2.&#160;deb-Format&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;32<br/>
<a href="linuxs.html#33">3.27.3.&#160;Portage&#160;Gentoo&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;33<br/>
<a href="linuxs.html#34">3.27.4.&#160;Quelltexte&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;34<br/>
<a href="linuxs.html#34">3.27.5.&#160;Hilfe&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;34<br/>
<a href="linuxs.html#34">3.28.&#160;Im&#160;Netz&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;34<br/>
<a href="linuxs.html#35">3.29.&#160;SSH&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;35<br/>
<a href="linuxs.html#35">3.29.1.&#160;Generierung&#160;eines&#160;DSA&#160;Schlüsselpaares&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;35<br/>
<a href="linuxs.html#35">3.29.2.&#160;Public-Key&#160;auf&#160;dem&#160;Zielrechner&#160;hinzufügen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;35<br/>
<a href="linuxs.html#35">3.29.3.&#160;Private-Key&#160;auf&#160;dem&#160;Qellrechner&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;35<br/>
<a href="linuxs.html#36">3.29.4.&#160;Login&#160;nur&#160;mit&#160;SSH-Keys&#160;erlauben&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;36<br/>
<a href="linuxs.html#36">3.30.&#160;GnuPG&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;36<br/>
<a href="linuxs.html#36">3.30.1.&#160;Erzeugen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;36<br/>
<a href="linuxs.html#36">3.30.2.&#160;Hochladen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;36<br/>
<a href="linuxs.html#37">3.30.3.&#160;Löschen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;37<br/>
<a href="linuxs.html#37">3.30.4.&#160;Holen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;37<br/>
<a href="linuxs.html#37">3.30.5.&#160;Signatur&#160;erzeugen&#160;und&#160;prüfen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;37<br/>
<a href="linuxs.html#37">3.30.6.&#160;Verschlüsseln&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;37<br/>
<a href="linuxs.html#37">3.30.7.&#160;Entschlüsseln&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;37<br/>
<a href="linuxs.html#38">3.30.8.&#160;Schlüsselverwaltung&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;38<br/>
<a href="linuxs.html#38">3.30.9.&#160;Anzeigen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;38<br/>
<a href="linuxs.html#38">3.30.10.&#160;Exportieren&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;38<br/>
<a href="linuxs.html#38">3.31.&#160;X11&#160;-&#160;Grafik&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;38<br/>
<a href="linuxs.html#39">3.31.1.&#160;Bildschirmschoner&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;39<br/>
<a href="linuxs.html#39">3.31.2.&#160;X11&#160;ohne&#160;Maus&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;39<br/>
<a href="linuxs.html#41">4.&#160;Verzeichnisse&#160;und&#160;Dateien</a><br/>
41<br/>
<a href="linuxs.html#41">4.1.</a><br/>
<a href="linuxs.html#41">Dateibaum&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;41<br/>
<a href="linuxs.html#48">4.2.</a><br/>
<a href="linuxs.html#48">/etc/fstab&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;48<br/>
<a href="linuxs.html#48">4.3.</a><br/>
<a href="linuxs.html#48">/dev/&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;48<br/>
<a href="linuxs.html#49">4.4.</a><br/>
<a href="linuxs.html#49">Dateisystemtypen&#160;unter&#160;Linux&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;49<br/>
<a href="linuxs.html#49">4.5.</a><br/>
<a href="linuxs.html#49">/etc/group&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;49<br/>
<a href="linuxs.html#50">4.6.</a><br/>
<a href="linuxs.html#50">/etc/hosts&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;50<br/>
<a href="linuxs.html#50">4.7.</a><br/>
<a href="linuxs.html#50">/etc/inittab&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;50<br/>
<a href="linuxs.html#50">4.7.1.</a><br/>
<a href="linuxs.html#50">Terminal&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;50<br/>
<a href="linuxs.html#50">4.7.2.</a><br/>
<a href="linuxs.html#50">Termcapeintrag&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;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&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;51<br/>
<a href="linuxs.html#51">4.7.4.</a><br/>
<a href="linuxs.html#51">Kürzel&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;51<br/>
<a href="linuxs.html#51">4.7.5.</a><br/>
<a href="linuxs.html#51">Arbeitsstufen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;51<br/>
<a href="linuxs.html#51">4.7.6.</a><br/>
<a href="linuxs.html#51">Modus&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;51<br/>
<a href="linuxs.html#52">4.7.7.</a><br/>
<a href="linuxs.html#52">Kommando&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;52<br/>
<a href="linuxs.html#53">4.8.</a><br/>
<a href="linuxs.html#53">/etc/passwd&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;53<br/>
<a href="linuxs.html#55">5.&#160;Die&#160;Shells</a><br/>
55<br/>
<a href="linuxs.html#55">5.1.</a><br/>
<a href="linuxs.html#55">Die&#160;Shells&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;55<br/>
<a href="linuxs.html#55">5.2.</a><br/>
<a href="linuxs.html#55">Die&#160;Start-Scripts&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;55<br/>
<a href="linuxs.html#55">5.3.</a><br/>
<a href="linuxs.html#55">Tastenkombinationen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;55<br/>
<a href="linuxs.html#56">5.4.</a><br/>
<a href="linuxs.html#56">Die&#160;C-Shell&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;56<br/>
<a href="linuxs.html#57">5.5.</a><br/>
<a href="linuxs.html#57">Bash&#160;rechnen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;57<br/>
<a href="linuxs.html#59">II.&#160;Programme</a><br/>
59<br/>
<a href="linuxs.html#61">6.&#160;Der&#160;Texteditor&#160;vi/vim</a><br/>
61<br/>
<a href="linuxs.html#61">6.1.</a><br/>
<a href="linuxs.html#61">Aufruf&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;61<br/>
<a href="linuxs.html#61">6.2.</a><br/>
<a href="linuxs.html#61">Eingabemodus&#160;(input&#160;mode)&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;61<br/>
<a href="linuxs.html#61">6.3.</a><br/>
<a href="linuxs.html#61">Befehlsmodus&#160;(visual&#160;mode)&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;61<br/>
<a href="linuxs.html#61">6.3.1.</a><br/>
<a href="linuxs.html#61">Eingeben:&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;61<br/>
<a href="linuxs.html#61">6.3.2.</a><br/>
<a href="linuxs.html#61">Überschreiben:&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;61<br/>
<a href="linuxs.html#62">6.3.3.</a><br/>
<a href="linuxs.html#62">Bewegen:&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;62<br/>
<a href="linuxs.html#63">6.3.4.</a><br/>
<a href="linuxs.html#63">Löschen&#160;und&#160;Eingeben:&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;63<br/>
<a href="linuxs.html#63">6.3.5.</a><br/>
<a href="linuxs.html#63">Löschen:&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;63<br/>
<a href="linuxs.html#63">6.3.6.</a><br/>
<a href="linuxs.html#63">Aufheben:&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;63<br/>
<a href="linuxs.html#63">6.3.7.</a><br/>
<a href="linuxs.html#63">Verschieben:&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;63<br/>
<a href="linuxs.html#64">6.3.8.</a><br/>
<a href="linuxs.html#64">Zusammenfügen:&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;64<br/>
<a href="linuxs.html#64">6.3.9.</a><br/>
<a href="linuxs.html#64">Markieren:&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;64<br/>
<a href="linuxs.html#64">6.3.10.&#160;Kopieren:&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;64<br/>
<a href="linuxs.html#64">6.3.11.&#160;Einfügen:&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;64<br/>
<a href="linuxs.html#64">6.3.12.&#160;Suchen:&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;64<br/>
<a href="linuxs.html#64">6.3.13.&#160;Wiederholen:&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;64<br/>
<a href="linuxs.html#65">6.3.14.&#160;Sonstige&#160;Kommandos:&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;65<br/>
<a href="linuxs.html#65">6.4.</a><br/>
<a href="linuxs.html#65">Kommandomodus&#160;(colon&#160;mode)&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;65<br/>
<a href="linuxs.html#65">6.4.1.</a><br/>
<a href="linuxs.html#65">Texteingabe&#160;Kommandos&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;65<br/>
<a href="linuxs.html#67">7.&#160;LaTeX</a><br/>
67<br/>
<a href="linuxs.html#67">7.1.</a><br/>
<a href="linuxs.html#67">LATEX&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;67<br/>
<a href="linuxs.html#69">III.&#160;Linux&#160;im&#160;Netzwerk</a><br/>
69<br/>
<a href="linuxs.html#71">8.&#160;Netzwerk</a><br/>
71<br/>
7<br/>
<hr/>
<a name=8></a>Inhaltsverzeichnis<br/>
<a href="linuxs.html#73">9.&#160;Apache</a><br/>
73<br/>
<a href="linuxs.html#73">9.1.</a><br/>
<a href="linuxs.html#73">Einleitung&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;73<br/>
<a href="linuxs.html#73">9.2.</a><br/>
<a href="linuxs.html#73">Kompilieren&#160;und&#160;Installieren&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;73<br/>
<a href="linuxs.html#73">9.2.1.</a><br/>
<a href="linuxs.html#73">Anforderungen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;73<br/>
<a href="linuxs.html#73">9.2.2.</a><br/>
<a href="linuxs.html#73">Vorbereitungen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;73<br/>
<a href="linuxs.html#74">9.2.3.</a><br/>
<a href="linuxs.html#74">OpenSSL&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;74<br/>
<a href="linuxs.html#74">9.2.4.</a><br/>
<a href="linuxs.html#74">Apache&#160;1.3&#160;und&#160;SSL&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;74<br/>
<a href="linuxs.html#76">9.2.5.</a><br/>
<a href="linuxs.html#76">Apache2&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;76<br/>
<a href="linuxs.html#76">9.2.6.</a><br/>
<a href="linuxs.html#76">Testen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;76<br/>
<a href="linuxs.html#77">9.2.7.</a><br/>
<a href="linuxs.html#77">Upgrade&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;77<br/>
<a href="linuxs.html#77">9.2.8.</a><br/>
<a href="linuxs.html#77">PureFTPd&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;77<br/>
<a href="linuxs.html#78">9.3.</a><br/>
<a href="linuxs.html#78">Apache&#160;starten&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;78<br/>
<a href="linuxs.html#78">9.3.1.</a><br/>
<a href="linuxs.html#78">Apache&#160;starten&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;78<br/>
<a href="linuxs.html#78">9.3.2.</a><br/>
<a href="linuxs.html#78">Wie&#160;der&#160;Apache&#160;startet&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;78<br/>
<a href="linuxs.html#79">9.3.3.</a><br/>
<a href="linuxs.html#79">Fehler&#160;während&#160;des&#160;Hochfahrens&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;79<br/>
<a href="linuxs.html#79">9.3.4.</a><br/>
<a href="linuxs.html#79">Automatisch&#160;starten&#160;und&#160;beenden&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;79<br/>
<a href="linuxs.html#79">9.3.5.</a><br/>
<a href="linuxs.html#79">Weitere&#160;Informationen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;79<br/>
<a href="linuxs.html#80">9.4.</a><br/>
<a href="linuxs.html#80">Beenden&#160;und&#160;Neustarten&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;80<br/>
<a href="linuxs.html#80">9.4.1.</a><br/>
<a href="linuxs.html#80">Einleitung&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;80<br/>
<a href="linuxs.html#80">9.4.2.</a><br/>
<a href="linuxs.html#80">Beenden&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;80<br/>
<a href="linuxs.html#80">9.4.3.</a><br/>
<a href="linuxs.html#80">Unterbrechungsfreier&#160;Neustart&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;80<br/>
<a href="linuxs.html#81">9.4.4.</a><br/>
<a href="linuxs.html#81">Neustarten&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;81<br/>
<a href="linuxs.html#81">9.4.5.</a><br/>
<a href="linuxs.html#81">Anhang:&#160;Syntax&#160;überprüfen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;81<br/>
<a href="linuxs.html#82">9.5.</a><br/>
<a href="linuxs.html#82">Anhang&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;82<br/>
<a href="linuxs.html#82">9.5.1.</a><br/>
<a href="linuxs.html#82">Zu&#160;den&#160;Dateien&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;82<br/>
<a href="linuxs.html#82">9.6.</a><br/>
<a href="linuxs.html#82">Benutzerhandbuch&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;82<br/>
<a href="linuxs.html#82">9.6.1.</a><br/>
<a href="linuxs.html#82">httpd.conf&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;82<br/>
<a href="linuxs.html#85">9.6.2.</a><br/>
<a href="linuxs.html#85">Access&#160;Control&#160;List&#160;File&#160;(.htaccess)&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;85<br/>
<a href="linuxs.html#86">9.6.3.</a><br/>
<a href="linuxs.html#86">Gruppendatei&#160;(.htgroup)&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;86<br/>
<a href="linuxs.html#86">9.6.4.</a><br/>
<a href="linuxs.html#86">Passwort-Datei&#160;(.htpasswd)&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;86<br/>
<a href="linuxs.html#86">9.6.5.</a><br/>
<a href="linuxs.html#86">Erstellen&#160;eines&#160;SSL-Zertifikats&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;86<br/>
<a href="linuxs.html#86">9.6.6.</a><br/>
<a href="linuxs.html#86">LinkIcon&#160;(favicon.ico)&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;86<br/>
<a href="linuxs.html#89">10.&#160;MySQL</a><br/>
89<br/>
<a href="linuxs.html#89">10.1.&#160;Einleitung&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;89<br/>
<a href="linuxs.html#89">10.2.&#160;Kompilieren&#160;und&#160;Installieren&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;89<br/>
<a href="linuxs.html#89">10.2.1.&#160;Anforderungen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;89<br/>
<a href="linuxs.html#89">10.2.2.&#160;Vorbereitungen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;89<br/>
<a href="linuxs.html#89">10.2.3.&#160;MySQL&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;89<br/>
<a href="linuxs.html#90">10.2.4.&#160;MySQL&#160;Testen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;90<br/>
<a href="linuxs.html#91">10.2.5.&#160;phpMyAdmin&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;91<br/>
<a href="linuxs.html#93">11.&#160;PHP</a><br/>
93<br/>
<a href="linuxs.html#93">11.1.&#160;Einleitung&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;93<br/>
8<br/>
<hr/>
<a name=9></a>Inhaltsverzeichnis<br/>
<a href="linuxs.html#93">11.2.&#160;Kompilieren&#160;und&#160;Installieren&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;93<br/>
<a href="linuxs.html#93">11.2.1.&#160;Anforderungen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;93<br/>
<a href="linuxs.html#93">11.2.2.&#160;Vorbereitungen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;93<br/>
<a href="linuxs.html#94">11.2.3.&#160;Libraries&#160;für&#160;Zusatzfunktionen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;94<br/>
<a href="linuxs.html#95">11.2.4.&#160;PHP&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;95<br/>
<a href="linuxs.html#96">11.3.&#160;Referenz&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;96<br/>
<a href="linuxs.html#96">11.3.1.&#160;Grundlagen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;96<br/>
<a href="linuxs.html#96">11.3.2.&#160;Funktionen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;96<br/>
<a href="linuxs.html#97">12.&#160;Squid</a><br/>
97<br/>
<a href="linuxs.html#97">12.1.&#160;Proxy&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;97<br/>
<a href="linuxs.html#97">12.2.&#160;Einfacher&#160;Cache&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;97<br/>
<a href="linuxs.html#97">12.3.&#160;Proxy&#160;Cache&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;97<br/>
<a href="linuxs.html#97">12.4.&#160;Aufgaben&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;97<br/>
<a href="linuxs.html#98">12.5.&#160;Eigenschaften&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;98<br/>
<a href="linuxs.html#98">12.6.&#160;Protokolle&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;98<br/>
<a href="linuxs.html#98">12.6.1.&#160;Client-Kommunikation&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;98<br/>
<a href="linuxs.html#98">12.6.2.&#160;Kommunikation&#160;zwischen&#160;Proxy-Cache-Servern&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;98<br/>
<a href="linuxs.html#99">12.7.&#160;Systemvoraussetzungen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;99<br/>
<a href="linuxs.html#99">12.8.&#160;SuSE&#160;Linux&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;99<br/>
<a href="linuxs.html#99">12.9.&#160;Automatische&#160;Starten&#160;von&#160;Squit&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;99<br/>
<a href="linuxs.html#99">12.10.&#160;Squiddateien&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;99<br/>
<a href="linuxs.html#99">12.11.&#160;squid.conf&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;99<br/>
<a href="linuxs.html#103">IV.&#160;Programmieren</a><br/>
103<br/>
<a href="linuxs.html#105">13.&#160;Bash</a><br/>
105<br/>
<a href="linuxs.html#105">13.1.&#160;Einleitung&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;105<br/>
<a href="linuxs.html#105">13.2.&#160;Referenz&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;105<br/>
<a href="linuxs.html#106">13.3.&#160;Steuer&#160;und&#160;Sonderzeichen&#160;der&#160;Bash&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;106<br/>
<a href="linuxs.html#107">14.&#160;git</a><br/>
107<br/>
<a href="linuxs.html#107">14.1.&#160;Dokumentation&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;107<br/>
<a href="linuxs.html#107">14.2.&#160;Konfiguration&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;107<br/>
<a href="linuxs.html#108">14.3.&#160;Konfigurationen&#160;über&#160;Umgebungsvariablen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;108<br/>
<a href="linuxs.html#108">14.4.&#160;Der&#160;Index&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;108<br/>
<a href="linuxs.html#109">14.5.&#160;Repository&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;109<br/>
<a href="linuxs.html#109">14.6.&#160;Commit&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;109<br/>
<a href="linuxs.html#109">14.7.&#160;Dateien&#160;entfernen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;109<br/>
<a href="linuxs.html#109">14.8.&#160;Dateien&#160;verschieben&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;109<br/>
<a href="linuxs.html#109">14.9.&#160;Änderung&#160;an&#160;einer&#160;Datei&#160;rückgängig&#160;machen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;109<br/>
<a href="linuxs.html#110">14.10.&#160;Dateien&#160;ignorieren&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;110<br/>
<a href="linuxs.html#110">14.11.&#160;Mit&#160;externen&#160;Repositorys&#160;arbeiten&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;110<br/>
<a href="linuxs.html#111">14.12.&#160;Tags&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;111<br/>
9<br/>
<hr/>
<a name=10></a>Inhaltsverzeichnis<br/>
<a href="linuxs.html#111">14.13.&#160;Branch&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;111<br/>
<a href="linuxs.html#111">14.14.&#160;Git&#160;Aliase&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;111<br/>
<a href="linuxs.html#112">14.15.&#160;Git&#160;auf&#160;einen&#160;Server&#160;bekommen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;112<br/>
<a href="linuxs.html#112">14.16.&#160;Git&#160;auf&#160;dem&#160;SSH-Server&#160;einrichten&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;112<br/>
<a href="linuxs.html#113">14.17.&#160;Öffentlicher&#160;Webserver-Zugang&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;113<br/>
<a href="linuxs.html#114">14.18.&#160;Grundbegriffe&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;114<br/>
<a href="linuxs.html#117">15.&#160;C/C++</a><br/>
117<br/>
<a href="linuxs.html#117">15.1.&#160;Befehle&#160;und&#160;Grundelemente&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;117<br/>
<a href="linuxs.html#117">15.2.&#160;Steuersequenzen&#160;für&#160;ANSI-Bildschirme&#160;-&#160;Innerhalb&#160;von&#160;Texten&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;117<br/>
<a href="linuxs.html#118">15.3.&#160;stdio.h&#160;-&gt;&#160;Standard&#160;Ein-&#160;und&#160;Ausgabe&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;118<br/>
<a href="linuxs.html#119">15.4.&#160;ctype.h&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;119<br/>
<a href="linuxs.html#119">15.5.&#160;string.h&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;119<br/>
<a href="linuxs.html#120">15.6.&#160;Kontrollstrukturen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;120<br/>
<a href="linuxs.html#121">15.7.&#160;ASCII(American&#160;Standart&#160;Code&#160;for&#160;Information&#160;Interchange)-Tabelle&#160;</a>.&#160;121<br/>
<a href="linuxs.html#122">15.7.1.&#160;Unterteilung&#160;der&#160;Steuerzeichen:&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;122<br/>
<a href="linuxs.html#122">15.7.2.&#160;Bedeutung&#160;der&#160;Steuerzeichen:&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;122<br/>
<a href="linuxs.html#123">15.8.&#160;Operatoren&#160;und&#160;Ausdrücke&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;123<br/>
<a href="linuxs.html#123">15.8.1.&#160;Arithmetische&#160;Operatoren:&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;123<br/>
<a href="linuxs.html#123">15.8.2.&#160;Vergleichsoperatoren:&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;123<br/>
<a href="linuxs.html#123">15.8.3.&#160;Logische&#160;Operatoren:&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;123<br/>
<a href="linuxs.html#124">15.8.4.&#160;Zuweisungsoperatoren:&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;124<br/>
<a href="linuxs.html#124">15.8.5.&#160;Post-&#160;und&#160;Prefix-&#160;Operatoren:&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;124<br/>
<a href="linuxs.html#124">15.8.6.&#160;Zeigeroperatoren:&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;124<br/>
<a href="linuxs.html#124">15.8.7.&#160;Diverse&#160;Kategorien:&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;124<br/>
<a href="linuxs.html#125">15.9.&#160;Inkrementieren&#160;und&#160;Dekrementieren&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;125<br/>
<a href="linuxs.html#125">15.10.&#160;Wertebereich&#160;und&#160;Genauigkeit&#160;elementarer&#160;Datentypen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;125<br/>
<a href="linuxs.html#125">15.11.&#160;Variableninitialisierung&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;125<br/>
<a href="linuxs.html#126">15.12.&#160;Konstanten&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;126<br/>
<a href="linuxs.html#126">15.12.1.&#160;Ganzzahlkonstanten&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;126<br/>
<a href="linuxs.html#126">15.12.2.&#160;Gleitkommakonstanten&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;126<br/>
<a href="linuxs.html#126">15.12.3.&#160;Zeichen-&#160;und&#160;Zeichenkettenkonstanten&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;126<br/>
<a href="linuxs.html#127">16.&#160;Tcl/Tk</a><br/>
127<br/>
<a href="linuxs.html#129">17.&#160;Perl</a><br/>
129<br/>
<a href="linuxs.html#131">18.&#160;CGI+Perl</a><br/>
131<br/>
<a href="linuxs.html#131">18.1.&#160;Einleitung&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;131<br/>
<a href="linuxs.html#131">18.2.&#160;Perl&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;131<br/>
<a href="linuxs.html#131">18.2.1.&#160;Texte&#160;und&#160;Strings&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;131<br/>
<a href="linuxs.html#131">18.2.2.&#160;Rechenoperationen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;131<br/>
<a href="linuxs.html#132">18.2.3.&#160;Arrays&#160;(Listen)&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;132<br/>
<a href="linuxs.html#132">18.2.4.&#160;String-&#160;und&#160;Zahlenvergleichsoperratoren&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;132<br/>
<a href="linuxs.html#132">18.2.5.&#160;if-Bedingung&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;132<br/>
10<br/>
<hr/>
<a name=11></a>Inhaltsverzeichnis<br/>
<a href="linuxs.html#132">18.2.6.&#160;if-else-Bedingung&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;132<br/>
<a href="linuxs.html#133">18.2.7.&#160;if-elseif-Bedingung&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;133<br/>
<a href="linuxs.html#133">18.3.&#160;Funktionen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;133<br/>
<a href="linuxs.html#133">18.3.1.&#160;String&#160;Funktionen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;133<br/>
<a href="linuxs.html#133">18.3.2.&#160;Rechen&#160;Funktionen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;133<br/>
<a href="linuxs.html#133">18.3.3.&#160;Array&#160;Funktionen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;133<br/>
<a href="linuxs.html#135">19.&#160;Java</a><br/>
135<br/>
<a href="linuxs.html#135">19.1.&#160;Funktion&#160;von&#160;Java&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;135<br/>
<a href="linuxs.html#135">19.2.&#160;Sprache&#160;und&#160;Syntax&#160;von&#160;Java&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;135<br/>
<a href="linuxs.html#135">19.2.1.&#160;Kommentrare&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;135<br/>
<a href="linuxs.html#135">19.2.2.&#160;Datentypen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;135<br/>
<a href="linuxs.html#136">19.2.3.&#160;Variablen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;136<br/>
<a href="linuxs.html#136">19.3.&#160;Pakete&#160;und&#160;Verzeichnisstrukturen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;136<br/>
<a href="linuxs.html#136">19.3.1.&#160;Sichtbarkeit&#160;und&#160;Zugriffsrechte&#160;von&#160;Klassen&#160;und&#160;Methoden&#160;</a>.&#160;.&#160;136<br/>
<a href="linuxs.html#136">19.3.2.&#160;Klassen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;136<br/>
<a href="linuxs.html#137">19.3.3.&#160;Konstruktoren&#160;und&#160;Destruktoren&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;137<br/>
<a href="linuxs.html#137">19.3.4.&#160;Methoden&#160;überladen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;137<br/>
<a href="linuxs.html#137">19.3.5.&#160;Objekte&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;137<br/>
<a href="linuxs.html#138">19.3.6.&#160;Vererbung&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;138<br/>
<a href="linuxs.html#138">19.3.7.&#160;Schnittstellen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;138<br/>
<a href="linuxs.html#138">19.4.&#160;Elementare&#160;Syntax&#160;von&#160;Java&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;138<br/>
<a href="linuxs.html#138">19.4.1.&#160;Operratoren&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;138<br/>
<a href="linuxs.html#138">19.4.2.&#160;Verknüpfungsoperatoren&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;138<br/>
<a href="linuxs.html#138">19.4.3.&#160;Inkrement-Operator&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;138<br/>
<a href="linuxs.html#139">19.4.4.&#160;Dekrement-Operator&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;139<br/>
<a href="linuxs.html#139">19.4.5.&#160;Arithmetische&#160;Zuweisungsoperatoren&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;139<br/>
<a href="linuxs.html#139">19.4.6.&#160;Bedingungen&#160;und&#160;Entscheidungen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;139<br/>
<a href="linuxs.html#139">19.4.7.&#160;if&#160;-&#160;else&#160;-&#160;Bedingungen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;139<br/>
<a href="linuxs.html#139">19.4.8.&#160;Verschachtelte&#160;Bedingungen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;139<br/>
<a href="linuxs.html#140">19.4.9.&#160;Fallunterscheidung&#160;mit&#160;switch&#160;-&#160;case&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;140<br/>
<a href="linuxs.html#140">19.5.&#160;Schleifen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;140<br/>
<a href="linuxs.html#140">19.5.1.&#160;Die&#160;while&#160;-&#160;Schleife&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;140<br/>
<a href="linuxs.html#140">19.5.2.&#160;Die&#160;do&#160;-&#160;while&#160;-&#160;Schleife&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;140<br/>
<a href="linuxs.html#140">19.5.3.&#160;Die&#160;for&#160;-&#160;Schleife&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;140<br/>
<a href="linuxs.html#140">19.5.4.&#160;Schleifen&#160;mit&#160;break&#160;verlassen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;140<br/>
<a href="linuxs.html#140">19.5.5.&#160;Schleife&#160;mit&#160;continue&#160;wiederholen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;140<br/>
<a href="linuxs.html#141">19.6.&#160;Komplexe&#160;Datentypen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;141<br/>
<a href="linuxs.html#141">19.6.1.&#160;Arrays&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;141<br/>
<a href="linuxs.html#141">19.7.&#160;Die&#160;Anweisung&#160;import&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;141<br/>
<a href="linuxs.html#141">19.8.&#160;Java&#160;eigene&#160;Klassen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;141<br/>
<a href="linuxs.html#141">19.8.1.&#160;Die&#160;Klasse&#160;Math&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;141<br/>
<a href="linuxs.html#141">19.9.&#160;Die&#160;Klasse&#160;Object&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;141<br/>
<a href="linuxs.html#141">19.9.1.&#160;Die&#160;Klasse&#160;Object&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;141<br/>
<a href="linuxs.html#142">19.10.&#160;Die&#160;Klasse&#160;Runtime&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;142<br/>
11<br/>
<hr/>
<a name=12></a>Inhaltsverzeichnis<br/>
<a href="linuxs.html#142">19.11.&#160;Die&#160;Klasse&#160;String&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;142<br/>
<a href="linuxs.html#142">19.12.&#160;Die&#160;Klasse&#160;Stringbuffer&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;142<br/>
<a href="linuxs.html#142">19.12.1.&#160;Die&#160;Klasse&#160;Stringbuffer&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;142<br/>
<a href="linuxs.html#142">19.13.&#160;Die&#160;Klasse&#160;System&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;142<br/>
<a href="linuxs.html#142">19.14.&#160;Das&#160;Paket&#160;java.util&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;142<br/>
<a href="linuxs.html#143">19.14.1.&#160;Die&#160;Klasse&#160;Date&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;143<br/>
<a href="linuxs.html#143">19.14.2.&#160;Die&#160;Klasse&#160;Random&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;143<br/>
<a href="linuxs.html#143">19.14.3.&#160;Die&#160;Klasse&#160;Stack&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;143<br/>
<a href="linuxs.html#143">19.15.&#160;Ausnahmen&#160;(Exceptions)&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;143<br/>
<a href="linuxs.html#144">19.15.1.&#160;Eigene&#160;Ausnahme&#160;erzeugen&#160;(throw)&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;144<br/>
<a href="linuxs.html#144">19.16.&#160;Multitasking&#160;mit&#160;Threads&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;144<br/>
<a href="linuxs.html#144">19.16.1.&#160;Arbeiten&#160;mit&#160;Threads&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;144<br/>
<a href="linuxs.html#145">19.17.&#160;Applets&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;145<br/>
<a href="linuxs.html#145">19.17.1.&#160;Applets&#160;in&#160;eine&#160;Webseite&#160;einbinden&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;145<br/>
<a href="linuxs.html#145">19.17.2.&#160;Das&#160;erste&#160;Java&#160;Applet&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;145<br/>
<a href="linuxs.html#145">19.17.3.&#160;Die&#160;Methoden&#160;eines&#160;Applets&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;145<br/>
<a href="linuxs.html#145">19.17.4.&#160;Ein&#160;Applet&#160;im&#160;Überblick&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;145<br/>
<a href="linuxs.html#146">19.17.5.&#160;Pakete&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;146<br/>
<a href="linuxs.html#146">19.17.6.&#160;Die&#160;Klasse&#160;Graphics&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;146<br/>
<a href="linuxs.html#146">19.17.7.&#160;Die&#160;Klasse&#160;Color&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;146<br/>
<a href="linuxs.html#147">19.17.8.&#160;Die&#160;Klasse&#160;Font&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;147<br/>
<a href="linuxs.html#147">19.17.9.&#160;Die&#160;Klasse&#160;Image&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;147<br/>
<a href="linuxs.html#147">19.17.10.&#160;Die&#160;Klasse&#160;Button&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;147<br/>
<a href="linuxs.html#148">19.18.&#160;Eventhandling&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;148<br/>
<a href="linuxs.html#148">19.18.1.&#160;Mouse&#160;Events&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;148<br/>
<a href="linuxs.html#148">19.18.2.&#160;Action&#160;Events&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;148<br/>
<a href="linuxs.html#148">19.18.3.&#160;Parameter&#160;an&#160;ein&#160;Applet&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;148<br/>
<a href="linuxs.html#149">19.18.4.&#160;Weitere&#160;wichtige&#160;Pakete&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;149<br/>
<a href="linuxs.html#151">20.&#160;JavaScript</a><br/>
151<br/>
<a href="linuxs.html#151">20.1.&#160;Einbindung&#160;von&#160;JavaScript&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;151<br/>
<a href="linuxs.html#151">20.1.1.&#160;Einbindung&#160;in&#160;den&#160;Head&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;151<br/>
<a href="linuxs.html#151">20.1.2.&#160;Einbindung&#160;in&#160;den&#160;Body&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;151<br/>
<a href="linuxs.html#151">20.1.3.&#160;Ausführen&#160;bei&#160;bestimmten&#160;Aktionen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;151<br/>
<a href="linuxs.html#152">20.2.&#160;Variablen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;152<br/>
<a href="linuxs.html#152">20.3.&#160;Objekte&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;152<br/>
<a href="linuxs.html#152">20.3.1.&#160;Standardobjekte&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;152<br/>
<a href="linuxs.html#153">20.3.2.&#160;String-Objekt&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;153<br/>
<a href="linuxs.html#154">20.3.3.&#160;Eigene&#160;Objekte&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;154<br/>
<a href="linuxs.html#154">20.3.4.&#160;Arrays&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;154<br/>
<a href="linuxs.html#154">20.4.&#160;Mathematische&#160;Operationen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;154<br/>
<a href="linuxs.html#154">20.5.&#160;Bedingte&#160;Ausführung&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;154<br/>
<a href="linuxs.html#154">20.6.&#160;Schleifen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;154<br/>
<a href="linuxs.html#155">20.7.&#160;Event-Handler&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;155<br/>
<a href="linuxs.html#155">20.8.&#160;Funktionen&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;155<br/>
12<br/>
<hr/>
<a name=13></a>Inhaltsverzeichnis<br/>
<a href="linuxs.html#156">20.9.&#160;Reservierte&#160;Wörter&#160;</a>.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;.&#160;156<br/>
<a href="linuxs.html#159">V.&#160;Anhang</a><br/>
159<br/>
<a href="linuxs.html#161">21.&#160;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&#160;I.<br/>
Linux<br/>
15<br/>
<hr/>
<a name=16></a><hr/>
<a name=17></a>2.&#160;Linux<br/>
2.1.&#160;Was&#160;ist&#160;Linux?<br/>
Der&#160;Kernel,&#160;eine&#160;Schnittstelle&#160;für&#160;die&#160;Software&#160;zur&#160;Hardware.<br/>
2.2.&#160;Kernel&#160;und&#160;Module<br/>
http://www.kernel.org/<br/>
http-Adresse&#160;für&#160;den&#160;Kernel&#160;und&#160;Kernel-Patches<br/>
http://www.de.kernel.org/pub/linux/kernel/<br/>
Spiegel&#160;für&#160;den&#160;Kernel<br/>
2.2.1.&#160;Kernel&#160;2.4<br/>
tar&#160;xvfj&#160;kernel.tar.bz2<br/>
entpackt&#160;den&#160;Kernel<br/>
tar&#160;xvfz&#160;kernel.tar.gz<br/>
entpackt&#160;den&#160;Kernel<br/>
cd&#160;kernel<br/>
Verzeichnis&#160;wechseln<br/>
bzip2&#160;-dc&#160;../patch-2.x.xx.bz2&#160;|&#160;patch&#160;-p1<br/>
Kernel&#160;patchen<br/>
gzip&#160;-dc&#160;../patch-2.x.xx.gz&#160;|&#160;patch&#160;-p1<br/>
Kernel&#160;patchen<br/>
zcat&#160;/proc/config.gz&#160;&gt;&#160;/usr/src/linux/.config<br/>
die&#160;aktuelle&#160;Konfiguration&#160;des<br/>
laufenden&#160;Kernels&#160;auslesen<br/>
make&#160;menuconfig<br/>
Kernelkonfiguration&#160;im&#160;Textmodus<br/>
make&#160;dep<br/>
aktualisiert&#160;die&#160;Abhängigkeiten<br/>
make&#160;clean<br/>
löscht&#160;die&#160;temporären&#160;Dateien&#160;und&#160;Ausgabedateien<br/>
make&#160;zImage<br/>
übersetzt&#160;und&#160;komprimiert&#160;den&#160;Kernel<br/>
make&#160;bzImage<br/>
übersetzt&#160;und&#160;komprimiert&#160;den&#160;gossen&#160;Kernel<br/>
make&#160;dep&#160;clean&#160;zImage<br/>
aktualisiert,löscht&#160;und&#160;übersetzt<br/>
make&#160;modules<br/>
übersetzt&#160;Module<br/>
make&#160;modules_install<br/>
installiert&#160;Module<br/>
make&#160;zlilo<br/>
installiert&#160;den&#160;Kernel&#160;und&#160;den&#160;Boot-Loader&#160;LILO<br/>
make&#160;bzlilo<br/>
installiert&#160;den&#160;gossen&#160;Kernel&#160;und<br/>
den&#160;Boot-Loader&#160;LILO<br/>
make&#160;zdisk<br/>
erzeugt&#160;eine&#160;Bootdiskette&#160;mit&#160;dem&#160;neuen&#160;Kernel<br/>
make&#160;mrproper<br/>
löscht&#160;alle&#160;erzeugten&#160;Dateien,<br/>
auch&#160;die&#160;Konfiguration<br/>
2.2.2.&#160;Kernel&#160;2.6&#160;(Debian&#160;4.0&#160;etch)<br/>
sudo&#160;apt-get&#160;update<br/>
Paket-Datenbank&#160;aktualisieren<br/>
sudo&#160;apt-get&#160;install&#160;kernel-package&#160;libncurses5-dev&#160;fakeroot&#160;wget&#160;bzip2&#160;\<br/>
17<br/>
<hr/>
<a name=18></a>2.&#160;Linux<br/>
build-essential<br/>
benötigte&#160;Pakete&#160;installieren<br/>
cd&#160;/usr/src<br/>
in&#160;das&#160;Verzeichnis&#160;zu&#160;den&#160;Quell-Paketen&#160;wechseln<br/>
wget&#160;-c&#160;http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.1.tar.bz2<br/>
den&#160;aktuellen&#160;Kernel&#160;downloaden<br/>
wget&#160;-c&#160;http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.1.tar.bz2.sign<br/>
die&#160;dazugehörige&#160;Signatur&#160;downloaden<br/>
gpg&#160;--keyserver&#160;wwwkeys.de.pgp.net&#160;--recv-keys&#160;0x517D0F0E<br/>
Public-Key&#160;vom&#160;Key-Server&#160;holen<br/>
gpg&#160;--verify&#160;linux-2.6.22.1.tar.bz2.sign<br/>
Kernel-Signatur&#160;überprüfen<br/>
tar&#160;xvfj&#160;linux-2.6.22.1.tar.bz2&#160;Kernel&#160;entpacken<br/>
ln&#160;-s&#160;linux-2.6.22.1&#160;linux<br/>
Soft-Link&#160;zu&#160;den&#160;Kernel-Quellen&#160;anlegen<br/>
cd&#160;/usr/src/linux<br/>
zu&#160;den&#160;aktuellen&#160;Kernel-Quellen&#160;wechseln<br/>
bzip2&#160;-dc&#160;/usr/src/patch.bz2&#160;|&#160;patch&#160;-p1&#160;--dry-run<br/>
Aktualisieren&#160;prüfen<br/>
bzip2&#160;-dc&#160;/usr/src/patch.bz2&#160;|&#160;patch&#160;-p1<br/>
Kernel-Quellen&#160;aktualisieren&#160;wenn&#160;nötig<br/>
make&#160;clean&#160;&amp;&amp;&#160;make&#160;mrproper<br/>
Kernel&#160;säubern&#160;und&#160;korigieren<br/>
cp&#160;/boot/config-uname&#160;-r&#160;./.config<br/>
laufende&#160;Konfiguration&#160;holen<br/>
make&#160;menuconfig<br/>
Konfigurations-Programm&#160;starten<br/>
Load&#160;an&#160;Alternate&#160;Configuration&#160;File<br/>
laufende&#160;Konfiguration&#160;laden&#160;und&#160;Kernel<br/>
konfigurieren<br/>
make-kpkg&#160;clean<br/>
fakeroot&#160;make-kpkg&#160;--initrd&#160;--append-to-version=-custom&#160;kernel_image&#160;\<br/>
kernel_headers<br/>
Kernel-Pakete&#160;und&#160;Kernel-Headers&#160;herstellen<br/>
sudo&#160;dpkg&#160;-i&#160;linux-image-2.6.22.1-custom_2.6.22.1-custom-10.00.Custom_i386.deb<br/>
den&#160;neuen&#160;Kernel&#160;installieren<br/>
sudo&#160;dpkg&#160;-i&#160;linux-headers-2.6.22.1-custom_2.6.22.1-custom-10.00.Custom_i386.deb<br/>
die&#160;neuen&#160;Header&#160;installieren<br/>
sudo&#160;shutdown&#160;-r&#160;now<br/>
Neustart&#160;um&#160;den&#160;Kernel&#160;zu&#160;testen<br/>
uname&#160;-a<br/>
feststellen&#160;welcher&#160;Kernel&#160;gestartet&#160;ist<br/>
dmesg<br/>
Kernelmeldungen&#160;vom&#160;letzten&#160;Start&#160;anzeigen<br/>
insmod&#160;Modul<br/>
Modul&#160;laden<br/>
modprobe&#160;Modul<br/>
Modul&#160;eigenständig&#160;laden<br/>
lsmod<br/>
geladene&#160;Module&#160;anzeigen&#160;lassen<br/>
rmmod&#160;Modul<br/>
Modul&#160;entfernen<br/>
18<br/>
<hr/>
<a name=19></a>3.&#160;Befehle<br/>
3.1.&#160;Standartein-aus-gabe<br/>
Jedes&#160;UNIX&#160;kennt&#160;3&#160;spezielle&#160;Files:<br/>stdin<br/>
Standardeingabe,&#160;normalerweise&#160;die&#160;Tastatur<br/>
stdout<br/>
Standardausgabe,&#160;normalerweise&#160;der&#160;Bildschirm<br/>
stderr<br/>
Standardausgabe&#160;für&#160;Fehlermeldungen,<br/>
normalerweise&#160;der&#160;Bildschirm<br/>
All&#160;diese&#160;Files&#160;können&#160;umgelenkt&#160;werden<br/>
setterm&#160;-blank&#160;0<br/>
Bildschirmschoner&#160;ausschalten<br/>
3.2.&#160;Anmelden&#160;und&#160;Abmelden<br/>
login:&#160;Benutzername<br/>
1.&#160;zum&#160;Anmelden&#160;den&#160;Benutzernamen&#160;eingeben<br/>
Passwort:&#160;Benutzerpasswort<br/>
2.&#160;zum&#160;Anmelden&#160;das&#160;Benutzerpasswort&#160;eingeben<br/>
logout<br/>
zum&#160;Abmelden&#160;eingeben<br/>
exit<br/>
zum&#160;Abmelden&#160;eingeben<br/>
[Strg]+[d]<br/>
beendet&#160;die&#160;Shell&#160;(alle&#160;Shells)<br/>
3.3.&#160;Anhalten&#160;des&#160;Systems&#160;und&#160;Booten<br/>
Unter&#160;keinen&#160;Umständen&#160;darf&#160;während&#160;des&#160;Betriebs&#160;einfach&#160;der&#160;Strom&#160;abgeschaltet<br/>
oder&#160;der&#160;Resetknopf&#160;betätigt&#160;werden.&#160;Da&#160;es&#160;sonst&#160;zu&#160;einer&#160;Beschädigung&#160;des&#160;Dateisy-<br/>
stems&#160;mit&#160;Datenverlust&#160;kommen&#160;kann.<br/>
root:&#160;shutdown&#160;-h&#160;now<br/>
hält&#160;das&#160;System&#160;an<br/>
root:&#160;halt<br/>
hält&#160;das&#160;System&#160;an<br/>
root:&#160;init&#160;0<br/>
hält&#160;das&#160;System&#160;an<br/>
root:&#160;systemctl&#160;poweroff<br/>
hält&#160;das&#160;System&#160;an<br/>
root:&#160;shutdown&#160;-r&#160;now<br/>
startet&#160;den&#160;Computer&#160;nach&#160;dem&#160;Herunterfahren&#160;neu<br/>
root:&#160;reboot<br/>
startet&#160;den&#160;Computer&#160;nach&#160;dem&#160;Herunterfahren&#160;neu<br/>
root:&#160;init&#160;6<br/>
startet&#160;den&#160;Computer&#160;nach&#160;dem&#160;Herunterfahren&#160;neu<br/>
root:&#160;systemctl&#160;reboot<br/>
startet&#160;den&#160;Computer&#160;nach&#160;dem&#160;Herunterfahren&#160;neu<br/>
root:&#160;systemctl&#160;suspend<br/>
Bereitschaft<br/>
root:&#160;systemctl&#160;hibernate<br/>
Ruhezustand<br/>
19<br/>
<hr/>
<a name=20></a>3.&#160;Befehle<br/>
3.4.&#160;Die&#160;Runlevel<br/>
root:&#160;init&#160;0<br/>
Systemhalt<br/>
root:&#160;init&#160;S<br/>
Einzelbenutzerbetrieb&#160;(Single&#160;User&#160;Mode)<br/>
root:&#160;init&#160;1<br/>
Einzelbenutzerbetrieb&#160;(Single&#160;User&#160;Mode)<br/>
root:&#160;init&#160;2<br/>
Lokaler&#160;Mehrbenutzerbetrieb&#160;ohne&#160;entferntes&#160;Netzwerk<br/>
(Local&#160;multiuser&#160;without&#160;remote&#160;network)<br/>
root:&#160;init&#160;3<br/>
Voller&#160;Mehrbenutzerbetrieb&#160;mit&#160;Netzwerk<br/>
(Full&#160;multiuser&#160;with&#160;network)<br/>
root:&#160;init&#160;4<br/>
Frei&#160;(Not&#160;used)<br/>
root:&#160;init&#160;5<br/>
Voller&#160;Mehrbenutzerbetrieb&#160;mit&#160;Netzwerk&#160;und&#160;KDM,&#160;GDM&#160;oder&#160;XDM<br/>
(Full&#160;multiuser&#160;with&#160;network&#160;and&#160;xdm)<br/>
root:&#160;init&#160;6<br/>
Systemneustart&#160;(System&#160;reboot)<br/>
root:&#160;init&#160;q<br/>
Quit&#160;zum&#160;Neueinlesen&#160;der&#160;inittab<br/>
3.4.1.&#160;Upstart<br/>
Upstart&#160;sorgt&#160;dafür&#160;das&#160;Dienste&#160;ereignisbasiert&#160;parallel&#160;gestartet&#160;werden&#160;können&#160;/etc/inittab<br/>
entfällt&#160;neu&#160;/etc/init/&#160;(bzw.&#160;/etc/event.d/)<br/>
initctl&#160;list<br/>
Liste&#160;aller&#160;Init-Jobs<br/>
sudo&#160;initctl&#160;start/stop<br/>
Init-Jobs&#160;(zB.&#160;ssh)<br/>
Im&#160;Header&#160;der&#160;Datei&#160;kann&#160;dann&#160;zum&#160;Starten&#160;und&#160;Beenden&#160;flogendes&#160;stehen:<br/>
start&#160;on&#160;runlevel&#160;[2345]<br/>
stop&#160;on&#160;runlevel&#160;[!2345]<br/>
sudo&#160;initctl&#160;reload-configuration<br/>
ließt&#160;die&#160;Konfiguration&#160;neu&#160;ein&#160;und<br/>
startet/beendet&#160;die&#160;Dienste<br/>
3.5.&#160;SuSE-Linux<br/>
hilfe<br/>
Hilfesystem&#160;starten<br/>
yast<br/>
Yet&#160;another&#160;Setup&#160;Tool&#160;-<br/>
SuSE&#160;Administrationstool<br/>
yast2<br/>
Yet&#160;another&#160;Setup&#160;Tool&#160;2&#160;-<br/>
SuSE&#160;Administrationstool<br/>
SuSEconfig<br/>
das&#160;Skript&#160;muss&#160;aufgerufen&#160;werden<br/>
nachdem&#160;die&#160;/etc/rc.config&#160;und&#160;/etc/sysconfig/<br/>
von&#160;Hand&#160;verändert&#160;wurden<br/>
3.6.&#160;Zur&#160;Orientierung&#160;auf&#160;einem&#160;UNIX-Rechner<br/>
date<br/>
zeigt&#160;Datum&#160;und&#160;Uhrzeit&#160;an<br/>
20<br/>
<hr/>
<a name=21></a>3.7.&#160;Datum&#160;und&#160;Uhrzeit<br/>
df&#160;-k<br/>
zeigt&#160;den&#160;feien&#160;Platten-Platz&#160;in&#160;kB&#160;an<br/>
df&#160;-m<br/>
zeigt&#160;den&#160;feien&#160;Platten-Platz&#160;in&#160;MB&#160;an<br/>
df&#160;-h<br/>
Ausgabe&#160;von&#160;Größen&#160;in&#160;Menschen-lesbarem&#160;Format<br/>
du&#160;-h<br/>
zeigt&#160;wie&#160;viel&#160;Platten-Platz&#160;in&#160;kB&#160;bestimmte&#160;Dateien&#160;einnehmen<br/>
echo&#160;Text<br/>
schreibt&#160;den&#160;Text&#160;auf&#160;stdout&#160;(Bildschirm)<br/>
finger<br/>
zeigt&#160;Infos&#160;über&#160;eingeloggte&#160;Benutzer&#160;an<br/>
finger&#160;-l<br/>
zeigt&#160;ausführliche&#160;Infos&#160;über&#160;eingeloggte&#160;Benutzer&#160;an<br/>
free&#160;-t<br/>
zeigt&#160;den&#160;feien&#160;Arbeitsspeicher&#160;in&#160;kB&#160;an<br/>
last<br/>
zeigt&#160;wer&#160;sich&#160;zuletzt&#160;von&#160;wo&#160;aus&#160;auf&#160;dem&#160;Rechner&#160;eingeloggt&#160;hat<br/>
info&#160;Begriff<br/>
Hilfe&#160;zu&#160;dem&#160;Begriff&#160;im&#160;Infoformat<br/>
man&#160;Begriff<br/>
Hilfe&#160;zu&#160;dem&#160;Begriff<br/>
man&#160;-a&#160;Begriff&#160;alle&#160;Kapitel&#160;zu&#160;dem&#160;Begriff<br/>
man&#160;-f&#160;Begriff&#160;listet&#160;die&#160;gefundenen&#160;Seiten&#160;zu&#160;dem&#160;Begriff&#160;auf<br/>
man&#160;-k&#160;Begriff&#160;listet&#160;die&#160;Seiten&#160;in&#160;dem&#160;der&#160;Begriff&#160;vorkommt&#160;auf<br/>
man&#160;n&#160;Begriff<br/>
Hilfe&#160;zum&#160;Begriff&#160;mit&#160;der&#160;Sektion&#160;n<br/>
Die&#160;Manual-Pages&#160;sind&#160;auf&#160;verschiedene&#160;Sektionen&#160;aufgeteilt:<br/>
1&#160;Shell-Kommandos<br/>
2&#160;System-Aufrufe<br/>
3&#160;Funktionen&#160;-&#160;C-Bibliotheksfunktionen.<br/>
4&#160;Die&#160;Beschreibung&#160;von&#160;Konfigurationsdateien.<br/>
5&#160;Die&#160;Syntax&#160;wichtiger&#160;Dateien.<br/>
6&#160;Beschreibung&#160;von&#160;Spielen.<br/>
7&#160;Alles&#160;was&#160;mit&#160;Text,&#160;Textformatierung&#160;und&#160;anderen&#160;Formaten&#160;zu<br/>
tun&#160;hat.<br/>
8&#160;Die&#160;Befehle&#160;des&#160;Systemverwalters.<br/>
9&#160;Die&#160;Beschreibung&#160;der&#160;Linux-Kernelroutinen.<br/>
n&#160;n&#160;kommt&#160;angeblich&#160;von&#160;neu,&#160;hier&#160;sind&#160;sonstige&#160;Manual-Pages<br/>
aufgeführt,&#160;die&#160;in&#160;eine&#160;der&#160;oberen&#160;Sektionen&#160;gehören,&#160;aber<br/>
traditionell&#160;hier&#160;stehen&#160;oder&#160;zu&#160;keiner&#160;Sektion&#160;genau&#160;passen.<br/>
pwd<br/>
Ausgabe&#160;des&#160;aktuellen&#160;Verzeichnisses<br/>
w<br/>
wer&#160;ist&#160;da&#160;und&#160;was&#160;ist&#160;los<br/>
whatis&#160;Befehl<br/>
zeigt&#160;Kurzerklärung&#160;eines&#160;Befehls<br/>
which&#160;Befehl<br/>
zeigt,&#160;wo&#160;Executable&#160;liegt,&#160;und&#160;eventual&#160;alias<br/>
who<br/>
zeigt&#160;Liste&#160;aller&#160;eingeloggten&#160;Benutzer<br/>
whoami<br/>
zeigt,&#160;wem&#160;die&#160;Shell&#160;gehört<br/>
3.7.&#160;Datum&#160;und&#160;Uhrzeit<br/>
date<br/>
Datum&#160;und&#160;Uhrzeit&#160;abfragen<br/>
date&#160;-s&#160;2000-01-29&#160;20:00:00&#160;+%Y-%m-%d&#160;%T<br/>
Datum&#160;und&#160;Uhrzeit&#160;einstellen<br/>
netdate&#160;Rechnername<br/>
Datum&#160;und&#160;Uhrzeit&#160;vom&#160;Rechner-<br/>
name&#160;holen<br/>
clock&#160;-u&#160;-w<br/>
Datum&#160;und&#160;Uhrzeit&#160;in<br/>
das&#160;BIOS&#160;schreiben<br/>
21<br/>
<hr/>
<a name=22></a>3.&#160;Befehle<br/>
timedatectl&#160;set-local-rtc&#160;1<br/>
locale&#160;Zeit&#160;einstellen<br/>
timedatectl&#160;set-local-rtc&#160;0<br/>
UTC&#160;Zeit&#160;einstellen<br/>
3.8.&#160;Auflisten<br/>
ls<br/>
Auflisten&#160;der&#160;Dateien&#160;im&#160;aktuellen&#160;Verzeichnis<br/>
ls&#160;Verzeichnis<br/>
Inhalt&#160;des&#160;Verzeichnisses&#160;ausgeben<br/>
ls&#160;-la<br/>
alles&#160;Auflisten&#160;im&#160;aktuellen&#160;Verzeichnis<br/>
ls&#160;-laFi<br/>
alles&#160;ausführlicher&#160;Auflisten<br/>
ls&#160;|&#160;paste&#160;-&#160;-&#160;-&#160;-<br/>
Dateien&#160;vierspaltig&#160;ausgeben<br/>
ls&#160;-1<br/>
untereinander&#160;ausgeben<br/>
ls&#160;-F<br/>
Verzeichnisse&#160;mit&#160;angehängtem&#160;/&#160;markieren<br/>
ls&#160;-i<br/>
inode-Nummer&#160;mit&#160;ausgeben<br/>
ls&#160;-R<br/>
alle&#160;Unterverzeichnisse&#160;mit&#160;ausgeben<br/>
ls&#160;-r<br/>
Auflisten&#160;der&#160;Dateien&#160;umkehren<br/>
3.9.&#160;Dateinamen<br/>
UNIX&#160;unterscheidet&#160;Groß-&#160;und&#160;Kleinschreibung!&#160;liesmich,&#160;Liesmich,&#160;LIESMICH&#160;sind<br/>
verschiedene&#160;Dateinamen!&#160;max.&#160;256&#160;Zeichen,&#160;alle&#160;Zeichen&#160;sind&#160;erlaubt&#160;.&#160;am&#160;Namens-<br/>
anfang&#160;versteckt&#160;Datei&#160;vor&#160;ls,&#160;cp,&#160;rm,&#160;mv<br/>
alias<br/>
gibt&#160;alle&#160;definierten&#160;Kurznamen&#160;aus<br/>
alias&#160;la=ls&#160;-la<br/>
definiert&#160;Kurznamen&#160;für&#160;ein&#160;Kommando<br/>
aus&#160;ls&#160;-la&#160;wird&#160;ein&#160;la<br/>
3.10.&#160;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.&#160;Infos&#160;über&#160;Files<br/>
file&#160;Datei<br/>
Anzeige&#160;des&#160;Dateitypes<br/>
wc&#160;-lwc&#160;Datei<br/>
Ausgabe&#160;der&#160;Zeilen,&#160;Worte&#160;und&#160;Buchstaben&#160;der&#160;Datei<br/>
ls&#160;-a&#160;|&#160;wc&#160;-l<br/>
alle&#160;Dateien&#160;im&#160;aktuellen&#160;Verzeichnis&#160;zählen<br/>
22<br/>
<hr/>
<a name=23></a>3.12.&#160;Arbeiten(Verwüstungen)&#160;im&#160;und&#160;am&#160;Filesystem<br/>
3.12.&#160;Arbeiten(Verwüstungen)&#160;im&#160;und&#160;am&#160;Filesystem<br/>
cd&#160;Pfad<br/>
Verzeichnis&#160;wechseln<br/>
mkdir&#160;Name<br/>
Verzeichnis&#160;erzeugen<br/>
mkdir&#160;-p&#160;Name<br/>
Verzeichnis&#160;erzeugen,&#160;fehlende&#160;Verzeichnisse&#160;mit&#160;anlegen<br/>
3.13.&#160;Kopieren&#160;und&#160;Verschieben<br/>
cp&#160;Dateien&#160;Ziel<br/>
Dateien&#160;kopieren<br/>
cp&#160;-i&#160;Dateien&#160;Ziel<br/>
Dateien&#160;kopieren,&#160;vor&#160;dem&#160;Überschreiben<br/>
einer&#160;Datei&#160;nachfragen<br/>
cp&#160;-R&#160;Quelle*&#160;Ziel<br/>
gesamten&#160;Inhalt&#160;eines&#160;Verzeichnises&#160;kopieren<br/>
mv&#160;Quelle&#160;Ziel<br/>
Datei&#160;verschieben&#160;oder&#160;umbenennen<br/>
mv&#160;-f&#160;Quelle&#160;Ziel<br/>
Schreibgeschützte&#160;Datei&#160;verschieben&#160;oder&#160;umbenennen<br/>
mv&#160;-i&#160;Quelle&#160;Ziel<br/>
Datei&#160;verschieben&#160;oder&#160;umbenennen,<br/>
vor&#160;dem&#160;Überschreiben&#160;nachfragen<br/>
ln&#160;Quelle&#160;Ziel<br/>
Verknüpfung&#160;erzeugen&#160;(Hardlink),<br/>
beide&#160;Dateien&#160;haben&#160;die&#160;gleiche&#160;inode<br/>
ln&#160;-s&#160;Quelle&#160;Ziel<br/>
Verknüpfung&#160;erzeugen&#160;(Softlink)<br/>
ln&#160;-sf&#160;Quelle&#160;Ziel<br/>
Verknüpfung&#160;erzeugen&#160;(Softlink)<br/>
ohne&#160;Rückfrage&#160;überschreiben<br/>
3.14.&#160;Löschen<br/>
rm&#160;Datei<br/>
löschen&#160;von&#160;Daten<br/>
rm&#160;-r&#160;Dateien<br/>
löschen&#160;von&#160;Dateien&#160;mit&#160;Verzeichnissen<br/>
rmdir&#160;Verzeichnis<br/>
löscht&#160;Verzeichnis&#160;wenn&#160;es&#160;leer&#160;ist,<br/>
überflüssig&#160;rm&#160;-r&#160;geht&#160;auch<br/>
3.15.&#160;Ausgeben<br/>
cat&#160;Datei<br/>
Inhalt&#160;der&#160;Datei&#160;auf&#160;dem&#160;Bildschirm&#160;ausgeben<br/>
cat&#160;Datei1&#160;Datei2&#160;&gt;&#160;Datei3<br/>
Dateien1+2&#160;zusammenfügen&#160;in&#160;die&#160;Datei3&#160;schreiben<br/>
strings&#160;Datei<br/>
Druckbare&#160;Zeichen&#160;der&#160;Datei&#160;ausgeben<br/>
more&#160;Datei<br/>
Datei&#160;seitenweise&#160;ausgeben<br/>
less&#160;Datei<br/>
Datei&#160;ausgeben&#160;und&#160;mit&#160;den&#160;Curser&#160;scrollen<br/>
j&#160;eine&#160;Zeile&#160;weiter<br/>
k&#160;eine&#160;Zeile&#160;zurück<br/>
u&#160;halbe&#160;Seite&#160;zurück<br/>
/Text&#160;sucht&#160;den&#160;Text<br/>
q&#160;less&#160;verlassen<br/>
nl&#160;Datei<br/>
Datei&#160;mit&#160;Zeilennummern&#160;ausgeben<br/>
tail&#160;Datei<br/>
zeigt&#160;die&#160;letzten&#160;10&#160;Zeilen&#160;einer&#160;Datei&#160;an<br/>
23<br/>
<hr/>
<a name=24></a>3.&#160;Befehle<br/>
tail&#160;-n&#160;Datei<br/>
zeigt&#160;die&#160;letzten&#160;n&#160;Zeilen&#160;einer&#160;Datei&#160;an<br/>
tail&#160;-f&#160;Datei<br/>
zeigt&#160;ständig&#160;die&#160;letzten&#160;10&#160;Zeilen&#160;der&#160;Datei&#160;an<br/>
tail&#160;-f&#160;/var/log/messages<br/>
Systemmeldungen&#160;mitverfolgen<br/>
head&#160;Datei<br/>
zeigt&#160;die&#160;ersten&#160;10&#160;Zeilen&#160;einer&#160;Datei&#160;an<br/>
head&#160;-n&#160;Datei<br/>
zeigt&#160;die&#160;ersten&#160;n&#160;Zeilen&#160;einer&#160;Datei&#160;an<br/>
od&#160;-b&#160;Datei<br/>
Datei&#160;oktal&#160;ausgeben<br/>
od&#160;-c&#160;Datei<br/>
Datei&#160;als&#160;ASCII&#160;ausgeben<br/>
od&#160;-x&#160;Datei<br/>
Datei&#160;hexadezimal&#160;ausgeben<br/>
ls&#160;|&#160;paste&#160;-&#160;-&#160;-&#160;-<br/>
Dateien&#160;vierspaltig&#160;ausgeben<br/>
recode&#160;ibmpc:lat1&#160;Datei<br/>
Konvertierung&#160;der&#160;Datei<br/>
7&#160;Bit&#160;DOS&#160;in&#160;das&#160;UNICODE/8&#160;Bit&#160;Format<br/>
3.16.&#160;Der&#160;Texteditor&#160;vi/vim<br/>
vi<br/>
Editor&#160;vi&#160;aufrufen<br/>
vi&#160;Datei<br/>
Editor&#160;vi&#160;aufrufen&#160;und&#160;Datei&#160;öffnen<br/>
vi&#160;-r<br/>
swap-Dateien&#160;anzeigen<br/>
vi&#160;-r&#160;Datei<br/>
Datei&#160;nach&#160;einem&#160;Stromausfall&#160;(oder&#160;Absturz)&#160;wieder&#160;herstellen<br/>
vi&#160;-R&#160;Datei<br/>
Datei&#160;schreibgeschützt&#160;öffnen<br/>
3.17.&#160;Suchen&#160;nach&#160;Dateien<br/>
find&#160;Pfad&#160;Bedingung<br/>
nach&#160;Dateien&#160;suchen<br/>
find&#160;Pfad&#160;|&#160;grep&#160;name<br/>
nach&#160;Dateien&#160;suchen,&#160;hat&#160;sich&#160;bewährt<br/>
find&#160;Pfad&#160;-name&#160;.profile<br/>
nach&#160;dem&#160;Dateinamen&#160;.profile&#160;suchen<br/>
find&#160;Pfad&#160;-user&#160;higi<br/>
nach&#160;Dateien&#160;die&#160;dem&#160;Benutzer<br/>
higi&#160;gehören&#160;suchen<br/>
find&#160;Pfad&#160;-size&#160;+1024c<br/>
nach&#160;Dateien&#160;die&#160;größer&#160;als&#160;1024&#160;Bytes<br/>
sind&#160;suchen<br/>
find&#160;Pfad&#160;-atime&#160;+7<br/>
nach&#160;Dateien&#160;suchen&#160;die&#160;älter&#160;als&#160;7&#160;Tage&#160;sind<br/>
find&#160;Pfad&#160;-print<br/>
alle&#160;Dateien&#160;im&#160;Pfad&#160;ausgeben<br/>
find&#160;-name&#160;*.txt<br/>
alle&#160;Dateien&#160;im&#160;aktuellen&#160;Pfad<br/>
mit&#160;der&#160;Endung&#160;.txt&#160;ausgeben<br/>
find&#160;/&#160;-size&#160;+16000000c<br/>
alle&#160;Dateien&#160;die&#160;mehr&#160;als&#160;16MB&#160;haben&#160;ausgeben<br/>
find&#160;/&#160;-fstype&#160;msdos&#160;-name&#160;*.zip<br/>
sucht&#160;auf&#160;MS-DOS-Partition&#160;nach&#160;*.zip<br/>
find&#160;/&#160;-fstype&#160;vfat&#160;-name&#160;*.txt<br/>
sucht&#160;auf&#160;Windows-Partition&#160;nach&#160;*.txt<br/>
3.18.&#160;Suchen&#160;in&#160;Dateien<br/>
grep&#160;Ausdruck&#160;Datei<br/>
sucht&#160;nach&#160;dem&#160;Ausdruck&#160;in&#160;der&#160;Datei<br/>
grep&#160;-c&#160;Ausdruck&#160;Datei<br/>
Anzahl&#160;der&#160;Zeilen,&#160;die&#160;den&#160;Begriff<br/>
enthalten&#160;ausgeben<br/>
grep&#160;-i&#160;Ausdruck&#160;Datei<br/>
große&#160;und&#160;kleine&#160;Buchstaben&#160;nicht&#160;unterscheiden<br/>
24<br/>
<hr/>
<a name=25></a>3.19.&#160;Vergleichen&#160;von&#160;Dateien<br/>
grep&#160;-l&#160;Ausdruck&#160;Datei<br/>
meldet&#160;die&#160;Dateien&#160;die&#160;den&#160;Ausdruck&#160;enthalten<br/>
grep&#160;-n&#160;Ausdruck&#160;Datei<br/>
sucht&#160;nach&#160;dem&#160;Ausdruck&#160;und<br/>
gibt&#160;die&#160;Zeilennummer&#160;mit&#160;aus<br/>
grep&#160;-v&#160;Ausdruck&#160;Datei<br/>
Ausgabe&#160;der&#160;Zeilen&#160;die&#160;den&#160;Ausdruck<br/>
nicht&#160;enthalten<br/>
egrep&#160;Ausdruck&#160;Datei<br/>
sucht&#160;nach&#160;dem&#160;Ausdruck&#160;in&#160;der&#160;Datei<br/>
fgrep&#160;String&#160;Datei<br/>
sucht&#160;nach&#160;dem&#160;String&#160;in&#160;der&#160;Datei<br/>
fgrep&#160;-x&#160;String&#160;Datei<br/>
sucht&#160;nach&#160;dem&#160;String&#160;in&#160;der&#160;Zeile&#160;einer&#160;Datei<br/>
3.19.&#160;Vergleichen&#160;von&#160;Dateien<br/>
diff&#160;Datei1&#160;Datei2<br/>
zeigt&#160;die&#160;Unterschiede&#160;zwischen&#160;zwei&#160;Dateien<br/>
comm&#160;[-123]&#160;Datei1&#160;Datei2<br/>
zwei&#160;sortierte&#160;Textdateien&#160;vergleichen<br/>
cmp&#160;-l&#160;Datei1&#160;Datei2<br/>
Binär-/Dateien&#160;vergleichen<br/>
3.20.&#160;Drucken<br/>
lpr&#160;Datei<br/>
Datei&#160;auf&#160;dem&#160;Drucker&#160;ausgeben<br/>
lpr&#160;-#n&#160;Datei<br/>
Datei&#160;n&#160;mal&#160;auf&#160;dem&#160;Drucker&#160;ausgeben<br/>
lpr&#160;-m&#160;Datei<br/>
Datei&#160;auf&#160;dem&#160;Drucker&#160;ausgeben,&#160;nach&#160;dem&#160;Drucken<br/>
bekommt&#160;man&#160;eine&#160;mail<br/>
lpq<br/>
Warteschlange&#160;anschauen<br/>
lprm&#160;Jobnummer<br/>
Druckauftrag/Job&#160;aus&#160;der&#160;Warteschlange&#160;löschen<br/>
pr<br/>
Dateien&#160;für&#160;das&#160;Drucken&#160;aufbereiten<br/>
3.21.&#160;File-Inhalt&#160;bearbeiten<br/>
compress&#160;Datei<br/>
Datei&#160;komprimieren&#160;nach&#160;Datei.Z<br/>
uncompress&#160;Datei.Z<br/>
Datei.Z&#160;dekomprimieren<br/>
expand&#160;Datei1&#160;&gt;&#160;Datei2<br/>
Tabs&#160;aus&#160;der&#160;Datei1&#160;entfernen&#160;und<br/>
zur&#160;Datei2&#160;schreiben<br/>
unpack&#160;Datei.z<br/>
Datei.z&#160;dekomprimieren<br/>
sort&#160;Datei1&#160;&gt;&#160;Datei2<br/>
die&#160;Zeilen&#160;der&#160;Datei1&#160;in<br/>
die&#160;Datei2&#160;sortieren<br/>
tr&#160;[A-Z]&#160;[a-z]&#160;&lt;&#160;Datei1&#160;&gt;&#160;Datei2<br/>
Klein&#160;durch&#160;Großbuchstaben&#160;ersetzen<br/>
uniq&#160;Datei<br/>
Datei&#160;ausgeben&#160;bis&#160;auf&#160;doppelte&#160;Zeilen<br/>
3.22.&#160;TAR&#160;(tape&#160;archiver)&#160;verwaltet&#160;Dateiarchive<br/>
Syntax:<br/>
tar&#160;[-Acdrtux]&#160;[delete]&#160;[-b&#160;n]&#160;[-BgGhijklmMoOpPPsSvwWz]&#160;[-C&#160;Verzeichnis]&#160;[-f&#160;Datei]<br/>
[-F&#160;Datei]&#160;[-K&#160;Datei]&#160;[-L&#160;Länge]&#160;[-N&#160;Datum]&#160;[-T&#160;Datei]&#160;[-V&#160;Name]&#160;[-X&#160;Datei]&#160;[0-7]&#160;[lmh]<br/>
25<br/>
<hr/>
<a name=26></a>3.&#160;Befehle<br/>
Optionen:<br/>
-A<br/>
Archiv&#160;an&#160;ein&#160;Archiv&#160;anhängen<br/>
-c<br/>
erzeugt&#160;ein&#160;neues&#160;Archiv<br/>
-d<br/>
vergleicht&#160;das&#160;Archiv&#160;mit&#160;dem&#160;Dateisystem<br/>
--delete&#160;Datei&#160;löscht&#160;die&#160;Datei&#160;aus&#160;dem&#160;Archiv&#160;(nicht&#160;für&#160;Magnetbänder)<br/>
-r<br/>
hängt&#160;Dateien&#160;an&#160;das&#160;Archiv&#160;an&#160;(nicht&#160;für&#160;Magnetbänder)<br/>
-t<br/>
zeigt&#160;den&#160;Inhalt&#160;des&#160;Archivs<br/>
-u<br/>
ersetzt&#160;neue&#160;Dateien&#160;oder&#160;fügt&#160;sie&#160;ein&#160;(nicht&#160;für&#160;Magnetbänder)<br/>
-x<br/>
kopiert/entpackt&#160;Datei-en&#160;aus&#160;dem&#160;Archiv<br/>
--atime-preserve<br/>
Zugriffszeit&#160;nach&#160;der&#160;Archivierung&#160;zurück&#160;setzen<br/>
-b&#160;n<br/>
setzt&#160;die&#160;Blockgröße&#160;n*512Bytes&#160;(Voreinstellung&#160;n=20)<br/>
-B<br/>
unterdrückt&#160;den&#160;Abbruch&#160;beim&#160;Lesen&#160;unvollständiger&#160;Blöcke<br/>
zum&#160;Lesen&#160;von&#160;4.2BSD&#160;Pipes<br/>
-C&#160;Verzeichnis&#160;wechselt&#160;in&#160;das&#160;Verzeichnis,&#160;um&#160;dort&#160;weitere&#160;Dateien&#160;zu<br/>
archivieren<br/>
-f&#160;Datei<br/>
benutzt&#160;Datei&#160;oder&#160;das&#160;Gerät&#160;als&#160;Archiv<br/>
-F&#160;Datei<br/>
bei&#160;-M&#160;führt&#160;das&#160;Shellscript&#160;Datei&#160;aus,&#160;wenn&#160;das&#160;Medium&#160;voll&#160;ist<br/>
-G<br/>
erzeugt&#160;am&#160;Anfang&#160;des&#160;Bandarchives&#160;einen&#160;speziellen&#160;Eintrag&#160;für<br/>
jedes&#160;archivierte&#160;Verzeichnis;&#160;spezielles&#160;GNU&#160;Format<br/>
-g&#160;Datei<br/>
erzeugt&#160;eine&#160;Datei&#160;mit&#160;einer&#160;Liste&#160;der&#160;archivierten<br/>
Verzeichnisse&#160;als&#160;Zeitmarke&#160;der&#160;Archivierung;&#160;wenn&#160;die&#160;Datei<br/>
bereits&#160;existiert,&#160;werden&#160;nur&#160;die&#160;Dateien&#160;archiviert,&#160;die&#160;nach<br/>
dieser&#160;Zeitmarke&#160;erzeugt&#160;oder&#160;verändert&#160;wurden&#160;(spezielles&#160;GNU<br/>
Format:&#160;1.Zeile=Zeitmarke,&#160;1.Feld=Nr.&#160;der&#160;Partition,<br/>
2.Feld=Inode&#160;des&#160;Verzeichnisses,&#160;3.Feld=Name&#160;des&#160;Verzeichisses)<br/>
-h<br/>
archiviert&#160;die&#160;referenzierten&#160;Dateien&#160;anstelle&#160;der&#160;Links<br/>
-i<br/>
ignoriert&#160;Blöcke&#160;mit&#160;Nullbytes&#160;im&#160;Archiv<br/>
-j<br/>
erzeugt&#160;ein&#160;mit&#160;bzip2&#160;komprimiertes&#160;Archiv<br/>
-k<br/>
existierende&#160;Dateien&#160;werden&#160;beim&#160;Auspacken&#160;von&#160;Archiven&#160;nicht<br/>
überschrieben<br/>
-K&#160;Datei<br/>
beginnt&#160;eine&#160;Aktion&#160;bei&#160;Datei&#160;im&#160;Archiv<br/>
-l<br/>
verhindert&#160;Archivierung&#160;von&#160;Dateien&#160;aus&#160;anderen&#160;Dateisystemen<br/>
-L&#160;Länge<br/>
wartet&#160;auf&#160;Medienwechsel&#160;nach&#160;Länge&#160;Bytes<br/>
-m<br/>
das&#160;Datum&#160;der&#160;letzten&#160;Änderung&#160;wird&#160;nicht&#160;mit&#160;archiviert<br/>
-M<br/>
das&#160;Archiv&#160;ist&#160;auf&#160;mehrere&#160;Medien&#160;verteilt&#160;(Multi-Volume)<br/>
-N&#160;Datum<br/>
archiviert&#160;nur&#160;Dateien,&#160;die&#160;neuer&#160;sind&#160;als&#160;Datum<br/>
-o<br/>
benutzt&#160;das&#160;alte&#160;V7&#160;tar-Format&#160;anstelle&#160;des&#160;ANSI&#160;Formates<br/>
-O<br/>
schreibt&#160;die&#160;Dateien&#160;in&#160;die&#160;Standardausgabe<br/>
-p<br/>
erhält&#160;die&#160;Zugriffsrechte&#160;der&#160;Dateien<br/>
-P<br/>
archiviert&#160;mit&#160;absoluten&#160;Dateinamen<br/>
-R<br/>
gibt&#160;zu&#160;jeder&#160;Meldung&#160;die&#160;Blocknummer&#160;des&#160;Archivblocks&#160;aus,&#160;von<br/>
dem&#160;die&#160;Meldung&#160;verursacht&#160;wurde<br/>
-s<br/>
zeigt&#160;an,&#160;dass&#160;die&#160;Liste&#160;von&#160;Dateien&#160;im&#160;Argument&#160;die&#160;gleiche<br/>
Reihenfolge&#160;hat&#160;wie&#160;die&#160;Dateien&#160;im&#160;Archiv<br/>
-T&#160;Datei<br/>
holt&#160;die&#160;Namen&#160;der&#160;zu&#160;archivierenden&#160;Dateien&#160;aus&#160;Datei<br/>
26<br/>
<hr/>
<a name=27></a>3.23.&#160;Disketten/Festplatten<br/>
-v<br/>
meldet&#160;jede&#160;Aktion<br/>
-V&#160;Name<br/>
erzeugt&#160;ein&#160;Archiv&#160;mit&#160;dem&#160;(internen)&#160;Label&#160;Name<br/>
-w<br/>
erwartet&#160;interaktiv&#160;Bestätigung&#160;jeder&#160;Aktion<br/>
-W<br/>
verifiziert&#160;die&#160;geschriebenen&#160;Daten&#160;im&#160;Archiv<br/>
-X&#160;Datei<br/>
liest&#160;aus&#160;der&#160;Datei&#160;Namen&#160;oder&#160;reguläre&#160;Ausdrücke&#160;von&#160;bzw.&#160;für<br/>
Dateien,&#160;die&#160;nicht&#160;archiviert&#160;werden&#160;soll<br/>
-z<br/>
erzeugt&#160;ein&#160;mit&#160;gzip&#160;komprimiertes&#160;Archiv<br/>
-Z<br/>
erzeugt&#160;ein&#160;mit&#160;compress&#160;komprimiertes&#160;Archiv<br/>
-{0...7}{lmh}<br/>
spezifiziert&#160;das&#160;Gerät&#160;und&#160;die&#160;Dichte&#160;des&#160;Speichermediums&#160;(für<br/>
Diskettenarchive&#160;ohne&#160;Bedeutung);&#160;0&#160;ist&#160;der&#160;erste&#160;Streamer,&#160;1<br/>
1&#160;der&#160;zweite&#160;und&#160;so&#160;weiter;&#160;die&#160;Dichte&#160;bestimmt&#160;den&#160;Bandtyp<br/>
3.22.1.&#160;Packen<br/>
tar&#160;rPvf&#160;name.tar&#160;/etc/<br/>
Verzeichnis&#160;zum&#160;tar&#160;zufügen<br/>
tar&#160;rPvf&#160;name.tar&#160;/etc/inittab*&#160;Datei-en&#160;zum&#160;tar&#160;zufügen<br/>
tar&#160;cPvzf&#160;name.tgz&#160;name.tar<br/>
tar&#160;-&gt;&#160;tgz<br/>
tar&#160;cPvMf&#160;/dev/fd0&#160;name.tgz<br/>
tgz&#160;auf&#160;Diskette&#160;sichern<br/>
tar&#160;cvzf&#160;Datei.tgz&#160;Verzeichnis&#160;Packt&#160;Verzeichnis&#160;in&#160;Datei.tgz<br/>
3.22.2.&#160;Entpacken<br/>
tar&#160;xvfpM&#160;/dev/fd0<br/>
tgz&#160;von&#160;Diskette&#160;holen<br/>
tar&#160;xvfpz&#160;name.tgz<br/>
tgz&#160;-&gt;&#160;tar<br/>
tar&#160;tvfp&#160;name.tar<br/>
Inhalt&#160;des&#160;Tars&#160;anzeigen<br/>
tar&#160;xvfp&#160;name.tar<br/>
Tar&#160;entpacken<br/>
3.23.&#160;Disketten/Festplatten<br/>
dd&#160;if=/dev/zero&#160;of=/dev/sda&#160;bs=512&#160;count=1<br/>
überschreibt&#160;den&#160;MBR&#160;der&#160;ersten<br/>
SCSI-Platte&#160;mit&#160;Nullen<br/>
fdisk&#160;Gerätedatei<br/>
Partitionstabelleneditor<br/>
fdisk&#160;-l&#160;/dev/hda<br/>
zeigt&#160;die&#160;Partitionstabelle&#160;der&#160;ersten<br/>
Festplatte&#160;an<br/>
fdisk&#160;-C&#160;12416&#160;-H&#160;15&#160;-S&#160;63&#160;/dev/hdb<br/>
Partitionstabelle&#160;mit&#160;vorgegebenen<br/>
C-Zylinder&#160;H-Köpfe&#160;S-Sektoren&#160;pro&#160;Spur<br/>
bearbeiten<br/>
cfdisk&#160;Gerätedatei<br/>
Curses-Partitionstabelleneditor<br/>
fdformat&#160;/dev/fd0u1440<br/>
Diskette&#160;Low-Level-Formatieren<br/>
mformat&#160;a:<br/>
Dateisystem&#160;DOS-FAT&#160;anlegen<br/>
mkdosfs&#160;-I&#160;/dev/sda<br/>
Superfloppy-Format&#160;mit&#160;FAT16-Dateisystem<br/>
27<br/>
<hr/>
<a name=28></a>3.&#160;Befehle<br/>
für&#160;z.B.&#160;USB-Sticks&#160;anlegen<br/>
mkdosfs&#160;-n&#160;Name&#160;/dev/sda1<br/>
FAT16-Dateisystem&#160;mit&#160;Name&#160;anlegen<br/>
mkfs&#160;-t&#160;minix&#160;/dev/fd0u1440&#160;1440<br/>
Dateisystem&#160;minix&#160;anlegen<br/>
mke2fs&#160;/dev/fd0u1440<br/>
Dateisystem&#160;ext2&#160;anlegen<br/>
mkfs&#160;-V&#160;-t&#160;ext2&#160;/dev/sda7<br/>
Dateisystem&#160;ext2&#160;anlegen<br/>
fsck&#160;-V&#160;-t&#160;ext2&#160;/dev/sda7<br/>
Dateisystem&#160;Prüfung&#160;und&#160;Reparatur<br/>
tune2fs&#160;Optionen&#160;Gerät<br/>
Einstellungen&#160;zum&#160;ext2&#160;Dateisystem<br/>
mount&#160;Gerät&#160;Verzeichnis<br/>
Gerät&#160;im&#160;Verzeichnis&#160;anmelden<br/>
mount&#160;-t&#160;minix&#160;/dev/fd0&#160;/mnt<br/>
Diskette&#160;im&#160;minix-Format&#160;anmelden<br/>
mount&#160;-t&#160;ext2&#160;/dev/fd0&#160;/mnt<br/>
Diskette&#160;im&#160;ext2-Format&#160;anmelden<br/>
mount&#160;-t&#160;msdos&#160;/dev/fd0&#160;/mnt<br/>
Diskette&#160;im&#160;msdos-Format&#160;anmelden<br/>
mount&#160;-o&#160;loop&#160;disk.img&#160;/mnt<br/>
Datei&#160;als&#160;Diskette&#160;anmelden<br/>
umount&#160;Verzeichnis<br/>
Verzeichnis&#160;abmelden<br/>
umount&#160;/mnt<br/>
Diskette&#160;abmelden<br/>
3.23.1.&#160;Dateisystem&#160;verschlüsseln<br/>
modprobe&#160;loop_fish2<br/>
Modul&#160;für&#160;die&#160;Verschlüssellung&#160;laden<br/>
dd&#160;if=/dev/urandom&#160;of=datei&#160;bs=1024&#160;count=10000<br/>
10MB&#160;Datei&#160;anlegen<br/>
losetup&#160;-e&#160;twofish&#160;/dev/loop0&#160;datei<br/>
Datei&#160;anmelden&#160;(Passwort&#160;anlegen)<br/>
mkfs&#160;-t&#160;ext2&#160;/dev/loop0<br/>
Dateisystem&#160;anlegen<br/>
mount&#160;-t&#160;ext2&#160;/dev/loop0&#160;/mnt<br/>
Dateisystem&#160;anmelden<br/>
umount&#160;/mnt/<br/>
Dateisystem&#160;abmelden<br/>
losetup&#160;-d&#160;/dev/loop0<br/>
Datei&#160;abmelden<br/>
/dev/loop0&#160;/datei&#160;/mnt&#160;ext2&#160;twofish&#160;defaults<br/>
/etc/cryptotab<br/>
/datei&#160;/mnt&#160;ext2&#160;loop,encryption=twofish,noauto,user<br/>
/etc/fstab<br/>
3.24.&#160;Zugriffsrechte/Eigentümer/Gruppe<br/>
ls&#160;-l&#160;/dev/fd0<br/>
brw-rw-rw-<br/>
1&#160;root<br/>
disk<br/>
2,<br/>
0&#160;Feb&#160;16&#160;16:30&#160;/dev/fd0<br/>
|<br/>
|<br/>
|<br/>
+-----&#160;Gerät<br/>
|<br/>
|<br/>
+------&#160;Minor-Device-Nummer(Nebennummer)<br/>
|<br/>
+-----------&#160;Major-Device-Nummer(Hauptnummer)<br/>
+--------------------&#160;b-blockorientierte&#160;Geräte&#160;c-zeichenorientierte&#160;Geräte<br/>
ls&#160;-laFi&#160;linux.txt<br/>
1561&#160;-rw-r-----&#160;1&#160;higi&#160;users&#160;26419&#160;Mar&#160;13&#160;19:19&#160;linux.txt<br/>
|<br/>
||||||||||&#160;|&#160;|<br/>
|<br/>
|<br/>
|<br/>
|&#160;|<br/>
+-----&#160;Datei/Verzeichnisname<br/>
28<br/>
<hr/>
<a name=29></a>3.24.&#160;Zugriffsrechte/Eigentümer/Gruppe<br/>
|<br/>
||||||||||&#160;|&#160;|<br/>
|<br/>
|<br/>
|<br/>
|&#160;+-----------&#160;Uhrzeit<br/>
|<br/>
||||||||||&#160;|&#160;|<br/>
|<br/>
|<br/>
|<br/>
+--------------&#160;Tag<br/>
|<br/>
||||||||||&#160;|&#160;|<br/>
|<br/>
|<br/>
+------------------&#160;Monat<br/>
|<br/>
||||||||||&#160;|&#160;|<br/>
|<br/>
+------------------------&#160;Größe<br/>
|<br/>
||||||||||&#160;|&#160;|<br/>
+-----------&#160;Gruppe<br/>
|<br/>
||||||||||&#160;|&#160;+-----------------&#160;Eigentümer<br/>
|<br/>
||||||||||&#160;+-------------------&#160;Links<br/>
|<br/>
|||||||||+----&#160;alle&#160;Anderen<br/>
x-ausführen&#160;oder&#160;t-text&#160;mit&#160;x-bit<br/>
|<br/>
|||||||||<br/>
T-text&#160;ohne&#160;x-bit<br/>
|<br/>
||||||||+-----&#160;alle&#160;Anderen<br/>
w-schreiben<br/>
|<br/>
|||||||+------&#160;alle&#160;Anderen<br/>
r-lesen<br/>
|<br/>
||||||+-------&#160;Gruppe<br/>
x-ausführen&#160;oder&#160;s-Gruppenkennung&#160;mit&#160;x-bit<br/>
|<br/>
||||||<br/>
S-Gruppenkennung&#160;ohne&#160;x-bit<br/>
|<br/>
|||||+--------&#160;Gruppe<br/>
w-schreiben<br/>
|<br/>
||||+---------&#160;Gruppe<br/>
r-lesen<br/>
|<br/>
|||+----------&#160;Eigentümer<br/>
x-ausführen&#160;oder&#160;s-Benutzerkennung&#160;mit&#160;x-bit<br/>
|<br/>
|||<br/>
S-Benutzerkennung&#160;ohne&#160;x-bit<br/>
|<br/>
||+-----------&#160;Eigentümer<br/>
w-schreiben<br/>
|<br/>
|+------------&#160;Eigentümer<br/>
r-lesen<br/>
|<br/>
+-------------&#160;d-Verzeichnis&#160;l-Verknüpfung<br/>
+-------&#160;inode<br/>
chmod&#160;werwiewas&#160;Datei<br/>
Zugriffsrechte&#160;einer&#160;Datei/Verzeichnis&#160;ändern<br/>
wer:&#160;u-Eigentümer<br/>
g-Gruppe<br/>
o-alle&#160;Anderen&#160;a-alle&#160;3&#160;Benutzergruppen<br/>
wie:&#160;+-hinzufügen&#160;--wegnehmen<br/>
=-nachfolgendes&#160;Muster&#160;setzen<br/>
was:&#160;r-lesen&#160;w-schreiben&#160;x-ausführen<br/>
(&#160;s-Benutzerkennung&#160;oder&#160;Gruppenkennung<br/>
t-text&#160;)<br/>
chmod&#160;zahl&#160;Datei<br/>
Zugriffsrechte&#160;einer&#160;Datei/Verzeichnis&#160;ändern<br/>
zahl-&gt;&#160;rwx&#160;rwx&#160;rwx&#160;-&gt;&#160;4+2&#160;4&#160;0&#160;-&gt;&#160;640<br/>
421&#160;421&#160;421<br/>
640&#160;-&gt;&#160;Eigentümer&#160;lesen&#160;schreiben<br/>
Gruppe<br/>
lesen<br/>
chmod&#160;nzahl&#160;Datei<br/>
Zugriffsrechte&#160;und&#160;Kennung&#160;einer&#160;Datei/<br/>
Verzeichnis&#160;ändern<br/>
bit&#160;4&#160;von&#160;n,&#160;mit&#160;Benutzerkennung/<br/>
Benutzerrechten&#160;ausführen<br/>
bit&#160;2&#160;von&#160;n,&#160;mit&#160;Gruppenkennung/<br/>
Gruppenrechten&#160;ausführen<br/>
bit&#160;1&#160;von&#160;n,&#160;mit&#160;text&#160;werden&#160;die&#160;Dateien&#160;vor<br/>
dem&#160;Löschen&#160;durch&#160;fremde&#160;Benutzer&#160;geschützt,<br/>
macht&#160;nur&#160;bei&#160;Verzeichnissen&#160;sinn<br/>
chown&#160;NeuerEigentümer&#160;Datei<br/>
Eigentümer&#160;der&#160;Datei&#160;ändern<br/>
29<br/>
<hr/>
<a name=30></a>3.&#160;Befehle<br/>
chgrp&#160;NeueGruppe&#160;Datei<br/>
Gruppenzugehörigkeit&#160;der&#160;Datei&#160;ändern<br/>
passwd&#160;Benutzer<br/>
Benutzerpasswort&#160;ändern<br/>
useradd&#160;Optionen&#160;Benutzer<br/>
Benutzer&#160;anlegen<br/>
-u&#160;Benutzer-ID&#160;(-u&#160;500)<br/>
-g&#160;Primäre&#160;Gruppenzugehörigkeit&#160;(-g&#160;users)<br/>
-G&#160;weitere&#160;Gruppenzugehörigkeit<br/>
-d&#160;Homeverzeichnis&#160;(-d&#160;/home/user500)<br/>
-s&#160;Shell&#160;(-s&#160;/bin/bash)<br/>
-m&#160;legt&#160;das&#160;Homeverzeichnis&#160;an&#160;und&#160;kopiert&#160;die<br/>
Dateien&#160;aus&#160;/etc/skel&#160;in&#160;das&#160;Homeverzeichnis<br/>
-c&#160;Kommentar<br/>
-p&#160;Passwort&#160;im&#160;Klartext!<br/>
-e&#160;Auslaufdatum&#160;(-e&#160;2002.12.24)<br/>
-f&#160;Pufferzeit<br/>
usermod&#160;Optionen&#160;Benutzer<br/>
Benutzerdaten&#160;verändern<br/>
userdel&#160;Benutzername<br/>
Benutzer&#160;löschen<br/>
userdel&#160;-r&#160;Benutzername<br/>
Benutzer&#160;und&#160;Benutzerverzeichnis&#160;löschen<br/>
vipw<br/>
Benutzerdatenbank&#160;ändern<br/>
su<br/>
Shell&#160;mit&#160;root-Zugriffsrechten&#160;starten<br/>
su&#160;-<br/>
Shell&#160;im&#160;root-Homeverzeichnis<br/>
mit&#160;root-Zugriffsrechten&#160;starten<br/>
sux&#160;-<br/>
Shell&#160;im&#160;root-Homeverzeichnis<br/>
mit&#160;root-Zugriffsrechten&#160;starten&#160;und&#160;X-Variabeln<br/>
su&#160;-l&#160;Benutzername<br/>
Shell&#160;im&#160;Benutzer-Homeverzeichnis<br/>
mit&#160;Benutzer-Rechten&#160;starten<br/>
3.25.&#160;Prozessbefehle<br/>
S=schlafend&#160;R=running(laufend)&#160;T=terminiert&#160;Z=Zombie<br/>[Strg]+[z]<br/>
im&#160;Vordergrund&#160;laufendes&#160;Programm&#160;anhalten<br/>
[1]+&#160;Stopped<br/>
|<br/>
+-----&#160;schlafend<br/>
+-------------&#160;Jobnummer<br/>
bg&#160;%JOB<br/>
Job&#160;im&#160;Hintergrund&#160;fortsetzen<br/>
fg&#160;%JOB<br/>
Job&#160;im&#160;Vordergrund&#160;fortsetzen<br/>
Programm&#160;&amp;<br/>
Programm&#160;im&#160;eigenem&#160;Prozess&#160;starten<br/>
[1]&#160;819<br/>
|<br/>
+---------&#160;Prozessnummer<br/>
+-------------&#160;Jobnummer<br/>
ps<br/>
Überblick&#160;über&#160;die&#160;aktuell&#160;laufenden&#160;Prozesse<br/>
ps&#160;aux<br/>
gibt&#160;in&#160;den&#160;meisten&#160;Fällen&#160;eine&#160;ausreichende&#160;Auskunft<br/>
pstree<br/>
zeigt&#160;den&#160;kompletten&#160;Prozessbaum&#160;an<br/>
30<br/>
<hr/>
<a name=31></a>3.26.&#160;Re-install&#160;Grub&#160;with&#160;Live&#160;CD<br/>
jobs<br/>
das&#160;Schellkommando&#160;gibt&#160;eine&#160;Liste&#160;der&#160;aktuellen&#160;Jobs&#160;aus<br/>
top<br/>
Programm,&#160;das&#160;die&#160;aktuellen&#160;Prozesse&#160;anzeigt<br/>
htop<br/>
Programm,&#160;das&#160;die&#160;aktuellen&#160;Prozesse&#160;anzeigt<br/>
kill&#160;PID<br/>
Prozess&#160;killen<br/>
kill&#160;%JOB<br/>
Job&#160;killen<br/>
kill&#160;-1&#160;PID<br/>
Prozess&#160;initialisieren<br/>
kill&#160;-1&#160;%JOB<br/>
Job&#160;initialisieren<br/>
kill&#160;-9&#160;PID<br/>
Prozess&#160;killen<br/>
kill&#160;-9&#160;%JOB<br/>
Job&#160;killen<br/>
kill&#160;-15&#160;PID<br/>
Prozess&#160;beenden<br/>
kill&#160;-15&#160;%JOB<br/>
Job&#160;beenden<br/>
kill&#160;-HUP&#160;PID<br/>
veranlasst&#160;die&#160;meisten&#160;Dämonen&#160;ihre&#160;Konfigurationsdateien<br/>
erneut&#160;zu&#160;lesen<br/>
3.26.&#160;Re-install&#160;Grub&#160;with&#160;Live&#160;CD<br/>
3.26.1.&#160;Chroot<br/>
sudo&#160;fdisk&#160;-l<br/>
Patition&#160;für&#160;das&#160;chroot&#160;festellen<br/>
sudo&#160;mount&#160;/dev/sdb3&#160;/mnt/gentoo<br/>
chroot&#160;z.B.&#160;/dev/sdb3&#160;auf&#160;z.B.&#160;/mnt/gentoo&#160;mounten<br/>
sudo&#160;mount&#160;-t&#160;proc&#160;none&#160;/mnt/gentoo/proc<br/>
Mounten&#160;der&#160;/proc&#160;und&#160;/dev&#160;Dateisysteme<br/>
sudo&#160;mount&#160;--rbind&#160;/dev&#160;/mnt/gentoo/dev<br/>
sudo&#160;chroot&#160;/mnt/gentoo&#160;/bin/bash<br/>
Betreten&#160;der&#160;neuen&#160;Umgebung<br/>
env-update<br/>
Umgebungsvariablen&#160;aktualisieren<br/>
source&#160;/etc/profile<br/>
Profil&#160;laden<br/>
export&#160;PS1=&#34;(chroot)&#160;$PS1&#34;<br/>
Promt&#160;anpassen<br/>
3.26.2.&#160;Grub<br/>
sudo&#160;grub<br/>
grub&gt;&#160;find&#160;/boot/grub/stage1<br/>
grub&gt;&#160;root&#160;(hd0,1)<br/>
grub&gt;&#160;setup&#160;(hd0)<br/>
grub&gt;&#160;quit<br/>
reboot<br/>
3.27.&#160;Software&#160;installieren<br/>
3.27.1.&#160;rpm-Format<br/>
http://www.rpm.org/<br/>
weiterführende&#160;Informationen<br/>
http://www.rpmfind.net/<br/>
Hilfe&#160;zu&#160;fehlenden&#160;rpms&#160;oder&#160;Merkmalen<br/>
/var/lib/rpm/Packages<br/>
rpm-Datenbank<br/>
31<br/>
<hr/>
<a name=32></a>3.&#160;Befehle<br/>
/var/lib/rpm/packages.rpm<br/>
-&gt;&#160;/var/lib/rpm/Packages<br/>
Geänderte&#160;Konfigurationsdateien&#160;überschreibt&#160;rpm&#160;beim&#160;Update&#160;nicht,&#160;sondern&#160;hebt<br/>
sie&#160;als&#160;Datei.rpmsave&#160;auf.&#160;diff&#160;hilft&#160;die&#160;Unterschiede&#160;anzuzeigen.<br/>
rpm&#160;-i&#160;Paketname.rpm<br/>
Installiert&#160;mit&#160;Prüfung&#160;auf&#160;Abhängigkeiten<br/>
rpm&#160;-i&#160;--nodeps&#160;Paketname.rpm<br/>
Installiert&#160;ohne&#160;Prüfung&#160;auf&#160;Abhängigkeiten<br/>
rpm&#160;-i&#160;--test&#160;Paketname.rpm<br/>
Testet&#160;die&#160;Installation&#160;ohne&#160;Daten&#160;zu&#160;verändern<br/>
rpm&#160;-iv&#160;Paketname.rpm<br/>
Installiert&#160;mit&#160;Prüfung&#160;auf&#160;Abhängigkeiten<br/>
und&#160;Rückmeldung<br/>
rpm&#160;-ivh&#160;Paketname.rpm<br/>
Installiert,&#160;prüft,&#160;meldet&#160;und<br/>
zeigt&#160;den&#160;Vorgang&#160;an<br/>
rpm&#160;-Uvh&#160;Paketname.rpm<br/>
Update&#160;eines&#160;rpm-Binärpaketes<br/>
rpm&#160;-Fvh&#160;Paketname.rpm<br/>
Aktualisiert&#160;rpm-Binärpaket<br/>
rpm&#160;-Fvh&#160;*.rpm<br/>
Aktualisiert&#160;alle&#160;rpm-Binärpakete&#160;im&#160;.<br/>
rpm&#160;-e&#160;Paket<br/>
Deinstalliert&#160;mit&#160;Prüfung&#160;auf&#160;Abhängigkeiten<br/>
rpm&#160;-qa<br/>
zeigt&#160;die&#160;installierten&#160;rpm-Pakete&#160;an<br/>
rpm&#160;-qa&#160;|&#160;grep&#160;-i&#160;Paket<br/>
zeigt&#160;ob&#160;das&#160;Paket&#160;installiert&#160;ist<br/>
rpm&#160;-qi&#160;Paket<br/>
zeigt&#160;Informationen&#160;über&#160;das&#160;installierte&#160;Paket<br/>
rpm&#160;-qip&#160;Paketname.rpm<br/>
zeigt&#160;Informationen&#160;über&#160;das&#160;rpm-Binärpaket<br/>
rpm&#160;-ql&#160;Paket<br/>
zeigt&#160;die&#160;enthaltenen&#160;Dateien&#160;des&#160;installierten<br/>
Paketes&#160;an<br/>
rpm&#160;-qlp&#160;Paketname.rpm<br/>
zeigt&#160;die&#160;enthaltenen&#160;Dateien&#160;des<br/>
rpm-Binärpaketes<br/>
rpm&#160;-qf&#160;/Pfad/Datei<br/>
zeigt&#160;das&#160;Paket&#160;aus&#160;dem&#160;die&#160;Datei&#160;stammt<br/>
rpm&#160;-q&#160;--requires&#160;Paket<br/>
zeigt&#160;die&#160;geforderten&#160;Merkmale&#160;des&#160;installierten<br/>
Paketes&#160;an<br/>
rpm&#160;-qp&#160;--requires&#160;Paketname.rpm<br/>
zeigt&#160;die&#160;geforderten&#160;Merkmale&#160;des<br/>
rpm-Binärpaketes<br/>
3.27.2.&#160;deb-Format<br/>
dpkg&#160;-i&#160;Paketname.deb<br/>
Installation&#160;eines&#160;deb-Binärpaketes<br/>
dpkg&#160;-P&#160;Paket<br/>
Deinstalliert&#160;mit&#160;Prüfung&#160;auf&#160;Abhängigkeiten<br/>
dpkg&#160;-l<br/>
zeigt&#160;die&#160;installierten&#160;deb-Pakete&#160;an<br/>
dpkg&#160;-l&#160;&#34;*Paket*&#34;<br/>
zeigt&#160;ob&#160;das&#160;Paket&#160;installiert&#160;ist<br/>
dpkg&#160;-p&#160;Paket<br/>
zeigt&#160;Informationen&#160;über&#160;das&#160;installierte&#160;Paket<br/>
dpkg&#160;-I&#160;Paketname.deb<br/>
zeigt&#160;Informationen&#160;über&#160;das&#160;deb-Binärpaket<br/>
dpkg&#160;-L&#160;Paket<br/>
zeigt&#160;die&#160;enthaltenen&#160;Dateien&#160;des&#160;installierten<br/>
Paketes&#160;an<br/>
dpkg&#160;-c&#160;Paketname.deb<br/>
zeigt&#160;die&#160;enthaltenen&#160;Dateien&#160;des<br/>
32<br/>
<hr/>
<a name=33></a>3.27.&#160;Software&#160;installieren<br/>
deb-Binärpaketes<br/>
dpkg&#160;-S&#160;/Pfad/Datei<br/>
zeigt&#160;das&#160;Paket&#160;aus&#160;dem&#160;die&#160;Datei&#160;stammt<br/>
apt<br/>
neue&#160;Alternative&#160;für&#160;apt-get<br/>
apt-get&#160;autoclean<br/>
Veraltete&#160;Pakete&#160;aus&#160;dem&#160;Cache&#160;löschen<br/>
apt-get&#160;clean<br/>
alle&#160;Pakete&#160;aus&#160;dem&#160;Cache&#160;löschen<br/>
apt-get&#160;install&#160;Paket<br/>
Installiert&#160;mit&#160;Prüfung&#160;auf&#160;Abhängigkeiten<br/>
apt-get&#160;remove&#160;Paket<br/>
Deinstalliert&#160;mit&#160;Prüfung&#160;auf&#160;Abhängigkeiten<br/>
apt-get&#160;--purge&#160;remove&#160;Paket<br/>
Deinstalliert&#160;vollständig<br/>
apt-get&#160;autoremove<br/>
Deinstalliert&#160;nicht&#160;benötigte&#160;Pakete<br/>
apt-get&#160;dist-upgrade<br/>
aktualisiert&#160;die&#160;gesamte&#160;Distribution<br/>
apt-cache&#160;search&#160;Name<br/>
durchsucht&#160;die&#160;gesamte&#160;Distribution<br/>
apt-get&#160;update<br/>
APT-Datenbank&#160;auf&#160;den&#160;aktuellen&#160;Stand&#160;bringen<br/>
dpkg&#160;--get-selections&#160;&gt;&#160;Paketliste<br/>
Paketliste&#160;exportieren<br/>
###sudo&#160;dpkg&#160;--set-selections&#160;&lt;&#160;Paketliste<br/>
Paketliste&#160;importieren&#160;geht&#160;nicht<br/>
3.27.3.&#160;Portage&#160;Gentoo<br/>
emerge&#160;--sync<br/>
Aktualisieren&#160;des&#160;Portage-Tree&#160;mit&#160;rsync<br/>
emerge&#160;--webrsync<br/>
Aktualisieren&#160;mit&#160;dem&#160;Portage-Snapshots<br/>
emerge&#160;--search&#160;Pragrammname<br/>
Nach&#160;Software&#160;suchen<br/>
emerge&#160;--searchdesc&#160;Name<br/>
Suche&#160;nach&#160;Paketen&#160;im&#160;Zusammenhang&#160;mit&#160;dem&#160;Namen<br/>
emerge&#160;Programmname<br/>
Software&#160;installieren<br/>
emerge&#160;-pv&#160;Programmname<br/>
Installation&#160;von&#160;Programmen&#160;simulieren,&#160;USE-Flags&#160;anzeigen<br/>
emerge&#160;--fetchonly&#160;Programmname&#160;Quellen&#160;herunterzuladen,&#160;noch&#160;nicht&#160;kompilieren<br/>
emerge&#160;--unmerge&#160;Programmname<br/>
Entfernung&#160;von&#160;Programm&#160;aus&#160;dem&#160;System<br/>
emerge&#160;--update&#160;--ask&#160;world<br/>
Aktualisierung&#160;des&#160;Systems<br/>
emerge&#160;-f&#160;-u&#160;-a&#160;world<br/>
Aktualisierung&#160;herunterzuladen,&#160;aber&#160;nicht<br/>
kompilieren&#160;und&#160;installieren<br/>
emerge&#160;--update&#160;--deep&#160;world<br/>
Aktualisierung&#160;des&#160;gesamten&#160;Systems<br/>
emerge&#160;--update&#160;--newuse&#160;world&#160;Neuerstellung&#160;des&#160;gesamten&#160;System<br/>
emerge&#160;--depclean&#160;verweiste&#160;Abhängigkeiten&#160;entfernen<br/>
revdep-rebuild<br/>
reverse&#160;Abhängigkeiten&#160;neu&#160;erstellen<br/>
etc-update<br/>
Konfigurationsdateien&#160;zusammenzuführen<br/>
equery&#160;belongs&#160;/Pfad/Datei<br/>
zeigt&#160;das&#160;Paket&#160;aus&#160;dem&#160;die&#160;Datei&#160;stammt<br/>
equery&#160;depends&#160;Programmname<br/>
Abhängigkeiten&#160;anzeigen<br/>
equery&#160;depgraph&#160;Programmname<br/>
Abhängigkeiten&#160;als&#160;Baum&#160;anzeigen<br/>
equery&#160;files&#160;Programmname<br/>
Dateien&#160;auflisten,&#160;die&#160;zu&#160;einem&#160;Ebuild&#160;gehören<br/>
33<br/>
<hr/>
<a name=34></a>3.&#160;Befehle<br/>
equery&#160;hasuse&#160;USE-Flag<br/>
Pakete&#160;suchen,&#160;die&#160;ein&#160;spezifisches&#160;USE-Flag<br/>
benutzen<br/>
equery&#160;size&#160;Programmname<br/>
Paketgröße&#160;anzeigen<br/>
equery&#160;uses&#160;Programmname<br/>
Gesetzte&#160;und&#160;nicht&#160;gesetzte&#160;USE-Flags<br/>
equery&#160;which&#160;Programmname<br/>
Anzeigen&#160;des&#160;Ebuildpfads<br/>
euse&#160;-a<br/>
Alle&#160;aktiven&#160;USE-Flags&#160;anschauen<br/>
euse&#160;-a&#160;-l<br/>
Aktive&#160;lokale&#160;USE-Flags&#160;anschauen<br/>
euse&#160;-E&#160;USE-Flag<br/>
Setzen&#160;von&#160;USE-Flags<br/>
euse&#160;-D&#160;USE-Flag<br/>
Deaktivieren&#160;von&#160;USE-Flags<br/>
3.27.4.&#160;Quelltexte<br/>
tar&#160;xvfz&#160;Source.tgz<br/>
Quelltext&#160;entpacken<br/>
./configure<br/>
Makefile&#160;konfigurieren<br/>
make<br/>
Programm&#160;übersetzen,<br/>
wenn&#160;Makefile&#160;vorhanden<br/>
make&#160;install<br/>
Programm&#160;installieren<br/>
make&#160;uninstall<br/>
Programm&#160;deinstallieren<br/>
3.27.5.&#160;Hilfe<br/>
ldd&#160;Programm<br/>
zeigt&#160;die&#160;zu&#160;ladenen&#160;Bibliotheken&#160;des&#160;Programms<br/>
strace&#160;-eopen&#160;Programm<br/>
zeigt&#160;die&#160;geladenen&#160;Bibliotheken&#160;des&#160;Programms<br/>
3.28.&#160;Im&#160;Netz<br/>
#ifconfig&#160;-a<br/>
-&gt;&#160;ip&#160;link<br/>
ip&#160;link<br/>
alle&#160;aktiven&#160;Netzwerkschnittstellen&#160;ausgeben<br/>
ifconfig&#160;|&#160;grep&#160;eth0&#160;|&#160;cut&#160;-c&#160;39-55<br/>
Ethernet-Adresse&#160;von&#160;eth0&#160;ausgeben<br/>
ftp&#160;Rechner<br/>
Programm&#160;zur&#160;Übertragung&#160;von&#160;Files<br/>
via&#160;Internet&#160;starten<br/>
host&#160;www.suse.de<br/>
befragt&#160;den&#160;DNS-Server&#160;nach<br/>
der&#160;IP-Nummer&#160;des&#160;Rechners<br/>
host&#160;192.168.9.10<br/>
fragt&#160;nach&#160;dem&#160;Namen&#160;des&#160;Rechners<br/>
nslookup&#160;www.debian.de<br/>
befragt&#160;den&#160;DNS-Server&#160;nach<br/>
der&#160;IP-Nummer&#160;des&#160;Rechners<br/>
nslookup&#160;192.168.11.12<br/>
fragt&#160;nach&#160;dem&#160;Namen&#160;des&#160;Rechners<br/>
ping&#160;Rechner<br/>
sendet&#160;Pakete&#160;an&#160;Rechner&#160;mit&#160;Echo<br/>
rlogin&#160;Rechner<br/>
auf&#160;anderen&#160;Rechner&#160;anmelden<br/>
34<br/>
<hr/>
<a name=35></a>3.29.&#160;SSH<br/>
scp&#160;Rechner:Pfad&#160;Rechner:Pfad<br/>
Programm&#160;zur&#160;Übertragung&#160;von&#160;Files<br/>
ssh&#160;Rechner<br/>
auf&#160;anderen&#160;Rechner&#160;anmelden<br/>
ssh&#160;Rechner&#160;-l&#160;root<br/>
oder<br/>
auf&#160;anderen&#160;Rechner&#160;als&#160;root&#160;anmelden<br/>
ssh&#160;root@Rechner<br/>
telnet&#160;Rechner<br/>
Kommunikation&#160;ueber&#160;das&#160;TELNET-Protokoll<br/>
nmap&#160;-sT&#160;-PT&#160;Rechner<br/>
Scannt&#160;die&#160;Ports&#160;von&#160;Rechner<br/>
nmap&#160;-sT&#160;-p&#160;1-65535&#160;-PT&#160;Rechner&#160;Scannt&#160;alle&#160;Ports&#160;von&#160;Rechner<br/>
netcat&#160;ip&#160;port<br/>
zeigt&#160;den&#160;angegebenen&#160;Port&#160;an<br/>
3.29.&#160;SSH<br/>
SSH(Secure&#160;shell)&#160;ist&#160;ein&#160;verschlüsseltes&#160;Netzwerkprotokoll&#160;auf&#160;TCP-Port&#160;22,&#160;ermög-<br/>
licht&#160;eine&#160;sichere&#160;authentifizierte&#160;und&#160;verschlüsselte&#160;Verbindung&#160;zwischen&#160;zwei&#160;Rech-<br/>
nern&#160;über&#160;ein&#160;unsicheres&#160;Netzwerk.<br/>
scp&#160;Rechner:Pfad&#160;Rechner:Pfad<br/>
Programm&#160;zur&#160;Übertragung&#160;von&#160;Files<br/>
ssh&#160;Rechner<br/>
auf&#160;anderen&#160;Rechner&#160;anmelden<br/>
ssh&#160;Rechner&#160;-l&#160;root<br/>
oder<br/>
auf&#160;anderen&#160;Rechner&#160;als&#160;root&#160;anmelden<br/>
ssh&#160;root@Rechner<br/>
3.29.1.&#160;Generierung&#160;eines&#160;DSA&#160;Schlüsselpaares<br/>
ssh-keygen&#160;-t&#160;dsa&#160;-b&#160;2048<br/>
generiert&#160;DSA-Schlüsselpaar&#160;mit<br/>
einer&#160;Bit-Tiefe&#160;von&#160;2048<br/>
~/.ssh/id_dsa<br/>
-&#160;private-key&#160;mit&#160;&lt;ENTER&gt;&#160;bestätigen<br/>
passphrase<br/>
-&#160;Passwort&#160;für&#160;den&#160;private-key&#160;und&#160;der&#160;Anmeldung,<br/>
für&#160;passwortlose&#160;SSH-Verbindungen&#160;weg&#160;lassen&#160;oder<br/>
zu&#160;Beginn&#160;einer&#160;Sitzung&#160;mit&#160;ssh-add&#160;~/.ssh/id_dsa<br/>
abfragen&#160;lassen<br/>
3.29.2.&#160;Public-Key&#160;auf&#160;dem&#160;Zielrechner&#160;hinzufügen<br/>
cat&#160;~/.ssh/id_dsa.pub&#160;|&#160;ssh&#160;zieluser@zielrechner&#160;\<br/>
&#34;mkdir&#160;-p&#160;.ssh;&#160;cat&#160;&gt;&gt;&#160;.ssh/authorized_keys&#34;<br/>
-&#160;public-key&#160;auf&#160;dem&#160;Zielrechner&#160;hinzufügen<br/>
ssh&#160;zieluser@zielrechner&#160;&#34;chmod&#160;600&#160;~/.ssh/authorized_keys&#34;<br/>
-&#160;public-key&#160;auf&#160;dem&#160;Zielrechner&#160;schützen<br/>
3.29.3.&#160;Private-Key&#160;auf&#160;dem&#160;Qellrechner<br/>
~/.ssh/id_dsa<br/>
-&#160;der&#160;Private-Key&#160;gehört&#160;auf&#160;dem&#160;Qellrechner&#160;in&#160;das<br/>
~/.ssh/&#160;Verzeichnis<br/>
35<br/>
<hr/>
<a name=36></a>3.&#160;Befehle<br/>
3.29.4.&#160;Login&#160;nur&#160;mit&#160;SSH-Keys&#160;erlauben<br/>
/etc/ssh/sshd_config<br/>
-&#160;folgendes&#160;in&#160;die&#160;Datei&#160;sshd_config<br/>
PubkeyAuthentication&#160;yes<br/>
eingetragen<br/>
UsePAM&#160;no<br/>
PasswordAuthentication&#160;no<br/>
rcsshd&#160;restart<br/>
-&#160;SSH-Dämon&#160;neu&#160;starten<br/>
3.30.&#160;GnuPG<br/>
Mit&#160;GnuPG&#160;kann&#160;man&#160;Daten&#160;signieren&#160;und&#160;verschlüsseln.&#160;GnuPG&#160;unterstüzt&#160;symme-<br/>
trische&#160;und&#160;asymmetrische&#160;Verschlüsselung.<br/>
http://www.gnupg.org/<br/>
http-Adresse&#160;für&#160;GnuPG<br/>
http://www.gnupg.org/related_software/gpa/<br/>
Grafische&#160;Benutzereingabe<br/>
http://www.heise.de/security/dienste/pgp/<br/>
Krypto-Kampagne,&#160;bei&#160;der<br/>
ein&#160;Abgleich&#160;zwischen<br/>
Person,&#160;Personalausweis<br/>
und&#160;Schlüssel&#160;erfolgt<br/>
http://kmail.kde.org/<br/>
Mailprogramme&#160;mit&#160;GnuPG<br/>
http://www.mutt.org/<br/>
Unterstützung<br/>
http://www.ximian.com/products/evolution/<br/>
3.30.1.&#160;Erzeugen<br/>
gpg&#160;--gen-key<br/>
Schlüssel-Paar&#160;erzeugen<br/>
gpg&#160;--gen-revoke&#160;0xKeyID<br/>
Widerruf&#160;Zertifikat&#160;erzeugen<br/>
&gt;&#160;gpg-rev-Will_no_longer_use_it<br/>
&gt;&#160;gpg-rev-Lost_private_key<br/>
&gt;&#160;gpg-rev-Forgot_password<br/>
&gt;&#160;gpg-rev-Key_compromised<br/>
3.30.2.&#160;Hochladen<br/>
gpg&#160;--keyserver&#160;wwwkeys.de.pgp.net&#160;--send-keys&#160;0xKeyID<br/>
Public&#160;Key&#160;auf&#160;den&#160;Keyserver&#160;hochladen<br/>
gpg&#160;-a&#160;--export&#160;0xKeyID&#160;|&#160;mail&#160;-s&#160;&#34;add&#34;&#160;pgp-public-keys@keys.de.pgp.net<br/>
Public&#160;Key&#160;an&#160;den&#160;Keyserver&#160;verschicken<br/>
Keyserver:<br/>
Land<br/>
eMail-Adresse<br/>
HTTP-Adresse<br/>
----<br/>
-------------<br/>
------------<br/>
Deutschland<br/>
pgp-public-keys@keys.de.pgp.net&#160;http://wwwkeys.de.pgp.net/<br/>
36<br/>
<hr/>
<a name=37></a>3.30.&#160;GnuPG<br/>
Östereich<br/>
pgp-public-keys@keys.at.pgp.net&#160;http://wwwkeys.at.pgp.net/<br/>
Schweiz<br/>
gp-public-keys@keys.ch.pgp.net&#160;http://wwwkeys.ch.pgp.net/<br/>
3.30.3.&#160;Löschen<br/>
gpg&#160;--recv-keys&#160;0xKeyID<br/>
Key&#160;vernichten<br/>
gpg&#160;--import<br/>
WiderrufZertifikat<br/>
gpg&#160;--send-keys&#160;0xKeyID<br/>
gpg&#160;--delete-key&#160;0xKeyID<br/>
löscht&#160;einen&#160;öffentlichen&#160;Schlüssel<br/>
cat&#160;gpg-rev-xxx&#160;|&#160;mail&#160;-s&#160;&#34;add&#34;&#160;pgp-public-keys@keys.de.pgp.net<br/>
Widerruf&#160;Zertifikat&#160;an&#160;den&#160;Keyserver<br/>
verschicken<br/>
3.30.4.&#160;Holen<br/>
gpg&#160;--keyserver&#160;wwwkeys.de.pgp.net&#160;--recv-keys&#160;0xKeyID<br/>
Public-Key&#160;vom&#160;Keyserver&#160;holen<br/>
mail&#160;-s&#160;&#34;get&#160;thomasb@trash.net&#34;&#160;pgp-public-keys@keys.de.pgp.net<br/>
Public-Key&#160;per&#160;E-Mail<br/>
vom&#160;Keyserver&#160;holen<br/>
gpg&#160;--import&#160;Key.txt<br/>
Public-Key&#160;inportieren<br/>
3.30.5.&#160;Signatur&#160;erzeugen&#160;und&#160;prüfen<br/>
gpg&#160;-a&#160;--sign&#160;Datei<br/>
einen&#160;Text&#160;signieren,&#160;erzeugt&#160;Datei.asc<br/>
gpg&#160;--verify&#160;Datei.asc&#160;Datei<br/>
eine&#160;Signatur&#160;prüfen<br/>
gpg&#160;--clearsign&#160;Datei<br/>
einen&#160;Text&#160;signieren,<br/>
erzeugt&#160;neue&#160;Datei.asc<br/>
gpg&#160;--verify&#160;Datei.asc<br/>
eine&#160;Signatur&#160;prüfen<br/>
3.30.6.&#160;Verschlüsseln<br/>
gpg&#160;-a&#160;-r&#160;Empfänger0xKeyID&#160;-e&#160;Datei<br/>
einen&#160;Text&#160;verschlüsseln,<br/>
erzeugt&#160;Datei.asc<br/>
3.30.7.&#160;Entschlüsseln<br/>
gpg&#160;Datei.asc<br/>
einen&#160;verschüsselten&#160;und&#160;signierten&#160;Text<br/>
entschlüsseln&#160;und&#160;die&#160;Signatur&#160;prüfen,<br/>
erzeugt&#160;Datei<br/>
37<br/>
<hr/>
<a name=38></a>3.&#160;Befehle<br/>
3.30.8.&#160;Schlüsselverwaltung<br/>
gpg&#160;--edit&#160;0xKeyID<br/>
Schlüsselverwaltung<br/>
help&#160;-&#160;Anzeige&#160;aller&#160;Befehle<br/>
quit&#160;-&#160;Das&#160;Menu&#160;beenden<br/>
3.30.9.&#160;Anzeigen<br/>
gpg&#160;--list-keys<br/>
zeigt&#160;alle&#160;öffentlichen&#160;Schlüssel<br/>
gpg&#160;--list-sigs<br/>
zeigt&#160;alle&#160;Unterschriften<br/>
gpg&#160;--fingerprint<br/>
zeigt&#160;alle&#160;Fingerabdrücke<br/>
3.30.10.&#160;Exportieren<br/>
gpg&#160;-a&#160;--export&#160;0xKeyID&#160;&gt;&#160;Datei&#160;exportiert&#160;den&#160;Schlüssel&#160;0xKeyID<br/>
in&#160;Datei<br/>
gpg&#160;-a&#160;--export&#160;&gt;&#160;Datei<br/>
exportiert&#160;alle&#160;Schlüssel&#160;in&#160;Datei<br/>
3.31.&#160;X11&#160;-&#160;Grafik<br/>
/etc/XF86Config<br/>
bis&#160;XFree86.3.3.x&#160;Konfigurationsdatei<br/>
/etc/X11/XF86Config<br/>
ab&#160;XFree86.4.x&#160;Konfigurationsdatei<br/>
[Alt]+[F1]&#160;bis&#160;[F6]<br/>
Umschalten&#160;zwischen&#160;Textkonsolen&#160;alle&#160;Shells<br/>
[AltGr]+[Fn]<br/>
Umschalten&#160;zwischen&#160;den&#160;Textkonsolen&#160;n+12<br/>
[Alt]+[Pfeil&#160;links&#160;oder&#160;rechts]&#160;um&#160;durch&#160;die&#160;benutzten&#160;Konsolen&#160;zu&#160;stöbern<br/>
[Strg]+[Alt]+[F1]&#160;bis<br/>
Umschalten&#160;zu&#160;Textkonsolen<br/>
alle&#160;Shells<br/>
[Strg]+[Alt]+[F6]<br/>
aus&#160;X11&#160;heraus<br/>
[Strg]+[Alt]+[F7]<br/>
Umschalten&#160;zu&#160;X11&#160;aus&#160;Textkonsole&#160;alle&#160;Shells<br/>
bei&#160;Caldera&#160;2.2&#160;[Alt]+[F8]<br/>
[Strg]+[Alt]+[&lt;--]<br/>
X-Server&#160;sofort&#160;beenden<br/>
[Strg]+[Alt]+[+]<br/>
verschiedene&#160;Auflösungen&#160;im&#160;laufenden<br/>
[Strg]+[Alt]+[-]<br/>
Betrieb&#160;wechseln<br/>
xf86config<br/>
Shell-Konfigurationsprogramm&#160;für&#160;X&#160;3+4<br/>
XF86Setup<br/>
X-Konfigurationsprogramm&#160;bis&#160;XFree86.3.3.x<br/>
sax<br/>
X-SuSE-Konfigurationsprogramm&#160;bis&#160;XFree86.3.3.x<br/>
sax2<br/>
X-SuSE-Konfigurationsprogramm&#160;ab&#160;XFree86.4.x<br/>
startx<br/>
X-Server&#160;starten<br/>
startx&#160;--&#160;-bpp&#160;16<br/>
X-Server&#160;mit&#160;16&#160;Bit&#160;starten<br/>
startx&#160;-&#160;--&#160;:0&#160;vt07<br/>
X-Server&#160;auf&#160;F7&#160;starten<br/>
startx&#160;-&#160;--&#160;:1&#160;vt08<br/>
2.&#160;X-Server&#160;auf&#160;F8&#160;starten<br/>
export&#160;WINDOWMANAGER=WM<br/>
X-Umgebungsvariable&#160;auf&#160;WM(kde,&#160;gnome,<br/>
38<br/>
<hr/>
<a name=39></a>3.31.&#160;X11&#160;-&#160;Grafik<br/>
fvwm,&#160;olwm&#160;...)&#160;ändern<br/>
3.31.1.&#160;Bildschirmschoner<br/>
xset&#160;s<br/>
auf&#160;Standardeinstellungen&#160;zurücksetzen<br/>
xset&#160;s&#160;60<br/>
nach&#160;1&#160;Minute&#160;aktivieren<br/>
xset&#160;s&#160;blank<br/>
schwarzen&#160;Bildschirm&#160;verwenden<br/>
xset&#160;s&#160;noblank<br/>
X-Logo&#160;statt&#160;schwarzen&#160;Bildschirm&#160;anzeigen<br/>
xset&#160;s&#160;60&#160;3<br/>
X-Logo&#160;alle&#160;3&#160;Sekunden&#160;neu&#160;platzieren<br/>
xset&#160;s&#160;off<br/>
Bildschirmschoner&#160;deaktivieren<br/>
xset&#160;s&#160;on<br/>
Bildschirmschoner&#160;einschalten<br/>
xset&#160;s&#160;activate<br/>
Bildschirmschoner&#160;sofort&#160;aktivieren<br/>
xset&#160;q<br/>
aktuelle&#160;Einstellungen&#160;anzeigen<br/>
xsetroot&#160;-solid&#160;blue<br/>
Hintergrund<br/>
3.31.2.&#160;X11&#160;ohne&#160;Maus<br/>
[Umschalt]+[Strg]+[Num]<br/>
Maussteuerung&#160;am&#160;Ziffernblock&#160;ein/ausschalten<br/>
[4],[6],[8],[8]<br/>
links,&#160;rechts,&#160;oben,&#160;unten<br/>
[*],[-]<br/>
auf&#160;linke,&#160;rechte&#160;Maustaste&#160;umschalten<br/>
[5],[+],[0],[5]<br/>
Maustaste,&#160;Doppelklick,&#160;gerückt&#160;halen,&#160;lösen<br/>
39<br/>
<hr/>
<a name=40></a><hr/>
<a name=41></a>4.&#160;Verzeichnisse&#160;und&#160;Dateien<br/>
4.1.&#160;Dateibaum<br/>
/<br/>
oberste&#160;Verzeichnis<br/>
im&#160;Dateisystem&#160;(Root/Wurzel)<br/>
.<br/>
Verweis&#160;auf&#160;sich&#160;selbst<br/>
..<br/>
Verweis&#160;auf&#160;das&#160;übergeordnete&#160;Verzeichnis<br/>
/bin/<br/>
ausführbare&#160;Dateien&#160;der&#160;wichtigsten&#160;Befehle<br/>
#/bin/init<br/>
-&gt;&#160;/sbin/init<br/>
/boot/<br/>
enthält&#160;die&#160;Dateien&#160;des&#160;LILO&#160;Bootloaders&#160;und<br/>
kann&#160;Kernel-Images&#160;enthalten<br/>
/boot/boot.b<br/>
der&#160;LILO-Maschinencode<br/>
/boot/map<br/>
Informationen&#160;für&#160;LILO<br/>
um&#160;den&#160;Betriebssystemkern&#160;zu&#160;starten<br/>
/boot/message<br/>
wird&#160;vor&#160;der&#160;LILO-Bootauswahl&#160;ausgegeben<br/>
/boot/vmlinuz<br/>
der&#160;Betriebssystemkern&#160;kann&#160;auch&#160;im&#160;/&#160;liegen<br/>
/cdrom/<br/>
dient&#160;zur&#160;CDROM-Einbindung<br/>
/dev/<br/>
Sammlung&#160;der&#160;Gerätedateien<br/>
/dev/audio<br/>
ähnlich&#160;wie&#160;/dev/dsp,&#160;Daten&#160;werden&#160;y-Law&#160;codiert<br/>
/dev/cdrom<br/>
Link&#160;auf&#160;den&#160;CD-Rom&#160;Treiber&#160;oft&#160;/dev/hdc<br/>
/dev/console<br/>
reale&#160;Console<br/>
/dev/dsp<br/>
Link&#160;auf&#160;den&#160;A/D-W.&#160;der&#160;Soundk.&#160;(-&gt;&#160;/dev/dsp0)<br/>
/dev/dsp0<br/>
Analog/Digital-Wandler&#160;der&#160;Soundkarte<br/>
/dev/fd0<br/>
erstes&#160;Diskettenlaufwerk<br/>
/dev/fd1<br/>
zweites&#160;Diskettenlaufwerk<br/>
/dev/full<br/>
beim&#160;Schreiben&#160;wird&#160;der&#160;Fehler&#160;ENOSPC&#160;erzeugt<br/>
/dev/hda<br/>
erstes&#160;(E)IDE&#160;Gerät<br/>
/dev/hda1&#160;-&gt;&#160;/dev/hda4<br/>
primäre&#160;Partitionen<br/>
/dev/hda5&#160;-&gt;&#160;/dev/hda?<br/>
logische&#160;Partitionen<br/>
/dev/hdb<br/>
zweites&#160;(E)IDE&#160;Gerät<br/>
/dev/hdc<br/>
drittes&#160;(E)IDE&#160;Gerät<br/>
/dev/hdd<br/>
viertes&#160;(E)IDE&#160;Gerät<br/>
/dev/initrd<br/>
zusätzliche&#160;RAM-Disk&#160;mit&#160;Kernelmodulen&#160;und<br/>
Bootsystem&#160;zur&#160;Initialisierung&#160;des&#160;Kernels<br/>
/dev/kmem<br/>
virtueller&#160;Arbeitsspeicher<br/>
/dev/loop*<br/>
ermöglicht&#160;eine&#160;Datei&#160;wie&#160;eine&#160;Diskette&#160;oder<br/>
Festplattenpartition&#160;zu&#160;mounten<br/>
/dev/lp0<br/>
erste&#160;parallele&#160;Schnittstelle<br/>
41<br/>
<hr/>
<a name=42></a>4.&#160;Verzeichnisse&#160;und&#160;Dateien<br/>
/dev/lp1<br/>
zweite&#160;parallele&#160;Schnittstelle<br/>
/dev/lp2<br/>
dritte&#160;parallele&#160;Schnittstelle<br/>
/dev/md*<br/>
zusammengelegte&#160;Festplatten&#160;linear,Raid0&#160;oder&#160;1<br/>
/dev/mem<br/>
physikalischer&#160;Arbeitsspeicher<br/>
/dev/midi00<br/>
direkte&#160;Kommunikation&#160;mit&#160;einem&#160;MIDI-Gerät<br/>
/dev/mixer<br/>
Link&#160;auf&#160;den&#160;Mixer&#160;(-&gt;&#160;/dev/mixer0)<br/>
/dev/mixer0<br/>
Mischpult&#160;der&#160;1.&#160;Soundkarte<br/>
/dev/modem<br/>
Link&#160;auf&#160;den&#160;Modemtreiber&#160;(-&gt;&#160;/dev/ttyS0)<br/>
/dev/mouse<br/>
Link&#160;auf&#160;den&#160;Maustreiber&#160;(-&gt;&#160;/dev/psaux)<br/>
/dev/music<br/>
eine&#160;andere&#160;Art&#160;von&#160;Sequencer,&#160;speziell&#160;für&#160;die<br/>
MIDI-Schnittstelle<br/>
/dev/nst*<br/>
SCSI-Streamer&#160;(No&#160;Rewind&#160;On&#160;Close)<br/>
/dev/null<br/>
Mülleimer&#160;des&#160;Systems<br/>
/dev/port<br/>
zum&#160;ansprechen&#160;einzelner&#160;IO&#160;Ports<br/>
/dev/psaux<br/>
PS/2-Maus<br/>
/dev/pts/<br/>
Unix98&#160;PTY&#160;slaves<br/>
/dev/ram<br/>
Link&#160;auf&#160;die&#160;RAM-Disk&#160;(-&gt;&#160;/dev/ram0)<br/>
/dev/random<br/>
zur&#160;Erzeugung&#160;kryptografisch&#160;hochwertiger<br/>
Zufallszahlen<br/>
/dev/rmt*<br/>
QIC-02-Streamer<br/>
/dev/rtc<br/>
batteriegepufferte&#160;CMOS-Uhr<br/>
/dev/sd*<br/>
SCSI-Festplatten<br/>
/dev/sequencer<br/>
Synthesizer&#160;der&#160;Soundkarte&#160;oder&#160;ein&#160;am&#160;MIDI-Port<br/>
angeschlossenes&#160;Gerät<br/>
/dev/sndstat<br/>
Informationen&#160;über&#160;den&#160;Status&#160;des&#160;Soundtreibers<br/>
/dev/st*<br/>
SCSI-Streamer<br/>
/dev/tty<br/>
aktive&#160;virtuelle&#160;Console<br/>
/dev/tty1<br/>
1.&#160;virtuelle&#160;Console<br/>
/dev/tty2<br/>
2.&#160;virtuelle&#160;Console<br/>
/dev/ttyS0<br/>
erste&#160;serielle&#160;Schnittstelle&#160;COM1<br/>
/dev/ttyS1<br/>
zeite&#160;serielle&#160;Schnittstelle&#160;COM2<br/>
/dev/ttyS2<br/>
dritte&#160;serielle&#160;Schnittstelle<br/>
/dev/ttyS3<br/>
vierte&#160;serielle&#160;Schnittstelle<br/>
/dev/urandom<br/>
zur&#160;Erzeugung&#160;von&#160;Zufallszahlen<br/>
/dev/xd*<br/>
8-Bit&#160;XT-Festplattencontroller<br/>
/dev/zero<br/>
zum&#160;Lesen&#160;beliebig&#160;vieler&#160;Nullbytes<br/>
/etc/<br/>
Konfigurationsdateien<br/>
/etc/adjtime<br/>
zur&#160;Korrektur&#160;der&#160;batteriegepufferten&#160;CMOS-Uhr<br/>
(clock)<br/>
/etc/bash.bashrc<br/>
globale&#160;bash&#160;konfiguration<br/>
#/etc/conf.modules<br/>
-&gt;&#160;/etc/modules.conf<br/>
/etc/cryptotab<br/>
/etc/fstab&#160;für&#160;Krypto-Filesystem<br/>
/etc/csh.login<br/>
Startdatei&#160;für&#160;die&#160;C-Shell<br/>
/etc/diphosts<br/>
eine&#160;Art&#160;/etc/passwd&#160;für&#160;SLIP&#160;Login<br/>
/etc/DIR_COLORS<br/>
festlegen&#160;der&#160;Farben&#160;für&#160;ls<br/>
42<br/>
<hr/>
<a name=43></a>4.1.&#160;Dateibaum<br/>
/etc/exports<br/>
Verzeichnisse&#160;und&#160;Rchnernamen,&#160;die&#160;diese<br/>
Verzeichnisse&#160;per&#160;NFS&#160;mounten&#160;dürfen<br/>
wird&#160;hier&#160;eingetragen<br/>
/etc/fdprm<br/>
Parameter&#160;von&#160;Diskettenformaten<br/>
/etc/fstab<br/>
um&#160;Benutzern&#160;das&#160;An-&#160;und&#160;Abmelden<br/>
von&#160;Dateisystemen&#160;zu&#160;erlauben<br/>
/etc/ftpaccess<br/>
Woher&#160;?&#160;Wann&#160;?&#160;Was&#160;?&#160;...<br/>
/etc/ftpusers<br/>
...&#160;und&#160;Wer&#160;NICHT&#160;?<br/>
/etc/gateways<br/>
Rechner&#160;des&#160;lokalen&#160;Netzes&#160;die&#160;Kontakt&#160;mit<br/>
anderen&#160;Netzen&#160;haben<br/>
/etc/gettydefs<br/>
Beschreibung&#160;der&#160;seriellen&#160;Terminals<br/>
/etc/group<br/>
Benutzergruppen&#160;und&#160;ihre&#160;Mitglieder<br/>
/etc/host<br/>
auflösen&#160;von&#160;Netzwerknamen<br/>
über&#160;die&#160;resolver-Bibliothek<br/>
/etc/host.allow<br/>
Rechner&#160;und&#160;Netze&#160;mit&#160;denen&#160;Verbindung&#160;aufgebaut<br/>
werden&#160;darf<br/>
/etc/host.conf<br/>
eine&#160;der&#160;Konfig.&#160;den&#160;Domain&#160;Name&#160;Service<br/>
/etc/host.deny<br/>
Rechner&#160;und&#160;Netze&#160;die&#160;sich&#160;nicht&#160;mit&#160;diesem<br/>
Rechner&#160;verbinden&#160;dürfen<br/>
/etc/host.equiv<br/>
Rechner&#160;die&#160;&#34;gleichartig&#34;&#160;behandelt&#160;werden<br/>
/etc/HOSTNAME<br/>
hier&#160;steht&#160;der&#160;Name&#160;des&#160;Rechners<br/>
ohne&#160;den&#160;Domainnamen<br/>
/etc/hosts<br/>
ordnet&#160;IP-Adressen&#160;Hostnamen&#160;zu<br/>
/etc/inetd.conf<br/>
welche&#160;Services&#160;gestartet&#160;werden&#160;(inetd)<br/>
/etc/init<br/>
-&gt;&#160;/sbin/init<br/>
/etc/init/&#160;Dateien&#160;für&#160;Upstart<br/>
/etc/init.d/<br/>
Dateien&#160;für&#160;die&#160;Init-Levels<br/>
/etc/init.d/inetd<br/>
startet&#160;den&#160;inetd,&#160;z.B.&#160;zum&#160;Anmelden<br/>
vom&#160;Netzwerk<br/>
/etc/init.d/network<br/>
startet&#160;die&#160;Konfiguration<br/>
der&#160;Netzwerk&#160;Hard-&#160;und&#160;Software<br/>
/etc/init.d/portmap<br/>
starte&#160;den&#160;Portmapper,<br/>
um&#160;den&#160;RPC-Server&#160;verwenden&#160;zu&#160;können<br/>
/etc/init.d/route<br/>
setzt&#160;die&#160;statischen&#160;Routen&#160;im&#160;Netzwerk<br/>
/etc/init.d/sendmail<br/>
kontrolliert&#160;den&#160;sendmail-Prozess<br/>
in&#160;Abhängigkeit<br/>
/etc/init.d/rc0.d/&#160;bis&#160;rc6.d/<br/>
init&#160;0&#160;bis&#160;6<br/>
/etc/init.d/rcS.d/<br/>
init&#160;S<br/>
/etc/initscript<br/>
init&#160;führt&#160;die&#160;Kommandos&#160;durch&#160;dieses&#160;Script<br/>
ondemand&#160;und&#160;respawn&#160;aus<br/>
#/etc/inittab<br/>
Grunteinstellung&#160;der&#160;Init-Levels&#160;und&#160;Terminals<br/>
(/sbin/init)<br/>
/etc/isdn/<br/>
ISDN-Konfigurationen<br/>
/etc/issue<br/>
Begrüßungstext&#160;beim&#160;Login&#160;(getty)<br/>
/etc/ld.so.cache<br/>
zur&#160;Shared&#160;Libraries&#160;identifizierung&#160;(ldconfig)<br/>
43<br/>
<hr/>
<a name=44></a>4.&#160;Verzeichnisse&#160;und&#160;Dateien<br/>
/etc/ld.so.conf<br/>
Verzeichnisse&#160;zu&#160;neuen&#160;Shared&#160;Libraries<br/>
(ldconfig)<br/>
/etc/lilo.conf<br/>
Konfigurationsdatei&#160;des&#160;LILO<br/>
/etc/login.defs<br/>
Login&#160;Einstllungen&#160;(login)<br/>
/etc/magic<br/>
Magic&#160;Numbers&#160;zum&#160;Erkennen&#160;von&#160;Dateien&#160;(file)<br/>
#/etc/man.config<br/>
-&gt;&#160;/etc/manpath.config<br/>
/etc/manpath.config<br/>
Verzeichnisse&#160;in&#160;den&#160;Manualpages&#160;gesucht&#160;werden<br/>
/etc/minicom.users<br/>
Benutzer&#160;die&#160;minicom&#160;benutzen&#160;dürfen<br/>
/etc/modules.conf<br/>
Modulinformationen&#160;((für&#160;den&#160;Kerneld(Dämon)))<br/>
/etc/motd<br/>
Begrüßung&#160;nach&#160;dem&#160;Anmelden<br/>
/etc/mtab<br/>
Liste&#160;der&#160;aktuell&#160;zu&#160;Verfügung<br/>
stehenden&#160;Dateisystemen<br/>
/etc/mtools.conf<br/>
(un)logische&#160;Laufwerksbuchstaben<br/>
von&#160;MS-DOS&#160;für&#160;die&#160;M-Befehle<br/>
/etc/named.boot<br/>
für&#160;den&#160;named&#160;Dämon&#160;des&#160;DNS<br/>
/etc/networks<br/>
die&#160;Namen&#160;und&#160;IP&#160;der&#160;lokalen&#160;Netze<br/>
/etc/nntpserver<br/>
der&#160;Name&#160;und&#160;die&#160;IP&#160;des&#160;Newsrechners<br/>
/etc/nologin<br/>
macht&#160;jedes&#160;&#34;normale&#34;&#160;Einloggen&#160;unmöglich,&#160;nur<br/>
die&#160;root&#160;kann&#160;sich&#160;anmelden,&#160;sonst&#160;wird&#160;der<br/>
Inhalt&#160;von&#160;nologin&#160;ausgegeben&#160;(login)<br/>
/etc/nscd.conf<br/>
Konfiguration&#160;des&#160;Name&#160;Service&#160;Cache&#160;Dämon<br/>
/etc/nsswitch.conf<br/>
in&#160;welcher&#160;Reihenfolge&#160;bestimmte<br/>
Informationen&#160;abgefragt&#160;werden<br/>
/etc/opt/<br/>
Rechner-spezifische&#160;Konfigurationsdateien<br/>
der&#160;Pakete<br/>
/etc/passwd<br/>
Liste&#160;aller&#160;Benutzer&#160;mit&#160;Informationen<br/>
/etc/powerstatus<br/>
Zustand&#160;der&#160;Stromversorgung<br/>
/etc/printcap<br/>
Beschreibung&#160;des&#160;oder&#160;der&#160;Drucker&#160;des&#160;Systems<br/>
(lpd)<br/>
/etc/profile<br/>
Globale&#160;Benutzerprofile<br/>
/etc/prtocols<br/>
Liste&#160;aller&#160;Internetprotokolle&#160;die&#160;vom&#160;Kernel<br/>
unterstützt&#160;werden<br/>
/etc/psdatabase<br/>
enthält&#160;kernelabhängige&#160;Daten&#160;für&#160;procps<br/>
/etc/rc*<br/>
Systeminitialisierungsdateien&#160;(init)<br/>
/etc/rc.config<br/>
zentrale&#160;Konfigurationsdatei&#160;-&gt;&#160;/etc/sysconfig/<br/>
/etc/rc.config.d/<br/>
weitere&#160;Dateien&#160;mit&#160;rc.config&#160;Variablen<br/>
/etc/resolv.conf<br/>
bestimmt&#160;ob&#160;und&#160;wo&#160;ein&#160;Nameserver&#160;erreicht<br/>
werden&#160;kann<br/>
/etc/rpc<br/>
enthält&#160;die&#160;Zuordnung&#160;der&#160;durch&#160;den&#160;rpc-Service<br/>
bereitgestellten&#160;Netzdienste&#160;zu&#160;Socketnummern<br/>
/etc/securetty<br/>
Terminals&#160;von&#160;den&#160;sich&#160;der&#160;Benutzer<br/>
root&#160;anmelden&#160;darf&#160;(login)<br/>
/etc/services<br/>
ordnet&#160;Portnummern&#160;Servicenamen&#160;zu<br/>
/etc/shadow<br/>
hier&#160;sind&#160;die&#160;Shadow-Passwörter&#160;gespeichert<br/>
/etc/shells<br/>
Liste&#160;aller&#160;Shells<br/>
44<br/>
<hr/>
<a name=45></a>4.1.&#160;Dateibaum<br/>
/etc/shutdown.allow<br/>
Liste&#160;der&#160;Benutzer&#160;die&#160;zum&#160;Herunterfahren&#160;des<br/>
Systems&#160;berechtigt&#160;sind<br/>
/etc/skel/<br/>
Dateien&#160;die&#160;beim&#160;Anlegen<br/>
eines&#160;Benutzers&#160;in&#160;das&#160;~&#160;kopiert&#160;werden<br/>
/etc/SuSE-release<br/>
Angaben&#160;zur&#160;installierten&#160;SuSE&#160;Linux&#160;version<br/>
/etc/sysconfig/<br/>
zentrale&#160;Konfigurationsdateien&#160;-&gt;&#160;/etc/rc.config<br/>
/etc/syslogd.conf<br/>
legt&#160;fest&#160;wohin&#160;Meldungen&#160;geschrieben&#160;werden<br/>
(syslogd)<br/>
/etc/termcap<br/>
Beschreibungen&#160;für&#160;Terminaleigenschaften&#160;(getty)<br/>
/etc/ttytype<br/>
legt&#160;den&#160;voreingestellten&#160;Terminaltyp<br/>
für&#160;die&#160;Terminals&#160;fest<br/>
/etc/XF86Config<br/>
bis&#160;XFree86.3.3.x&#160;Konfigurationsdatei<br/>
/etc/X11/XF86Config<br/>
ab&#160;XFree86.4.x&#160;Konfigurationsdatei<br/>
/floppy/<br/>
dient&#160;zur&#160;Floppy-Einbindung<br/>
/home/<br/>
Heimatverzeichnisse&#160;der&#160;Benutzer<br/>
/home/~/.bash_history<br/>
gespeicherte&#160;Eingaben&#160;der&#160;bash<br/>
/home/~/.bashrc<br/>
Konfiguration&#160;der&#160;bash<br/>
/home/~/.ctwmrc<br/>
Konfiguration&#160;des&#160;ctwm-Fenstermanagers<br/>
/home/~/.exrc<br/>
Konfiguration&#160;des&#160;vi,&#160;ex<br/>
/home/~/.fvwmrc<br/>
Konfiguration&#160;des&#160;fvwm-Fenstermanagers<br/>
/home/~/.openwin-menu<br/>
Konfiguration&#160;des&#160;olvwm&#160;und&#160;olwm-Fenstermanagers<br/>
/home/~/.profile<br/>
wird&#160;nach&#160;dem&#160;User-Anmelden&#160;in&#160;der&#160;bash<br/>
ausgeführt<br/>
/home/~/.rhosts<br/>
erlaubt&#160;die&#160;r-Kommandos<br/>
/home/~/.X.err<br/>
Meldungen&#160;des&#160;X-Servers<br/>
/home/~/.xinitrc<br/>
diese&#160;Datei&#160;wird&#160;von&#160;.xsession&#160;ausgeführt<br/>
/home/~/.xsession<br/>
diese&#160;Datei&#160;wird&#160;nach&#160;dem&#160;Befehl<br/>
startx&#160;ausgeführt<br/>
/lib/<br/>
gemeinsam&#160;genutzte&#160;Bibliotheken&#160;Shared&#160;Libraries<br/>
/lib/modules/<br/>
nachladbare&#160;Module<br/>
/lost+found/<br/>
verlorene&#160;Daten,&#160;ist&#160;in&#160;jeder&#160;Wurzel<br/>
des&#160;EXT2-Dateisystems<br/>
/media/cdrom/<br/>
dient&#160;zur&#160;CDROM-Einbindung,&#160;ist&#160;oft&#160;im&#160;/<br/>
/media/floppy/<br/>
dient&#160;zur&#160;Floppy-Einbindung,&#160;ist&#160;oft&#160;im&#160;/<br/>
/mnt/<br/>
für&#160;temporär&#160;einzuhängende&#160;Dateisysteme<br/>
/mnt/cdrom/<br/>
dient&#160;zur&#160;CDROM-Einbindung,&#160;ist&#160;oft&#160;im&#160;/<br/>
/mnt/floppy/<br/>
dient&#160;zur&#160;Floppy-Einbindung,&#160;ist&#160;oft&#160;im&#160;/<br/>
/opt/<br/>
kommerzielle&#160;Systemerweiterungen<br/>
/opt/kde/<br/>
grafische&#160;Benutzeroberfläche&#160;KDE<br/>
/proc/<br/>
virtuelles&#160;Filesystem&#160;über&#160;laufende&#160;Prozesse<br/>
/proc/cpuinfo<br/>
Informationen&#160;zur&#160;CPU<br/>
/proc/devices<br/>
Liste&#160;der&#160;wichtigsten&#160;Gerätetreiber<br/>
/proc/dma<br/>
Liste&#160;der&#160;verwendeten&#160;DMA-Kanäle<br/>
/proc/filesystems<br/>
Liste&#160;der&#160;bekannten&#160;Dateisystemtypen<br/>
/proc/interrupts<br/>
Liste&#160;der&#160;Interrupts<br/>
45<br/>
<hr/>
<a name=46></a>4.&#160;Verzeichnisse&#160;und&#160;Dateien<br/>
/proc/ioports<br/>
bekannte&#160;und&#160;definierte&#160;EA-Schnittstellen<br/>
/proc/kcore<br/>
Gerätedatei&#160;für&#160;den&#160;Zugang<br/>
zum&#160;physikalischen&#160;Hauptspeicher<br/>
/proc/kmsg<br/>
hier&#160;können&#160;Systemfehlermeldungen<br/>
ausgelesen&#160;werden<br/>
/proc/ksyms<br/>
Liste&#160;der&#160;Kernel-Symbole&#160;und<br/>
ihrer&#160;Speicheradressen<br/>
/proc/loadavg<br/>
durchschnittliche&#160;Systembelastung<br/>
in&#160;den&#160;letzten&#160;1,&#160;5&#160;und&#160;10&#160;Min.<br/>
/proc/meminfo<br/>
Beschreibung&#160;der&#160;aktuellen&#160;Speicherauslastung<br/>
/proc/modules<br/>
Liste&#160;der&#160;geladenen&#160;Module&#160;und<br/>
Anzahl&#160;der&#160;aktuellen&#160;Nutzungen<br/>
/proc/mounts<br/>
Liste&#160;der&#160;eingehängten&#160;Dateisysteme<br/>
/proc/net/<br/>
Informationen&#160;zur&#160;Netzwerkauslastung<br/>
/proc/pci<br/>
Liste&#160;der&#160;gefundenen&#160;Geräte&#160;am&#160;PCI-Bus<br/>
/proc/scsi/<br/>
Informationen&#160;über&#160;SCSI-Geräte<br/>
/proc/stat<br/>
Liste&#160;allgemeiner&#160;Statistiken&#160;zum&#160;System<br/>
/proc/uptime<br/>
Sekunden&#160;seit&#160;dem&#160;Systemstart&#160;und<br/>
der&#160;Leerlaufzeit<br/>
/proc/version<br/>
aktuelle&#160;Version&#160;des&#160;Linux-Kernels<br/>
/root/<br/>
Heimatverzeichnis&#160;des&#160;Systemverwalters&#160;root<br/>
/sbin/<br/>
Administrationskommandos<br/>
/sbin/init<br/>
Nach&#160;dem&#160;Kernelstart&#160;wird&#160;versucht&#160;das<br/>
Programm&#160;init&#160;zu&#160;starten<br/>
#/sbin/init.d/<br/>
-&gt;&#160;/etc/init.d/<br/>
/tmp/<br/>
temporäre&#160;Dateien<br/>
/usr/<br/>
ausführbare&#160;Dateien,&#160;Libraries,&#160;X&#160;Window&#160;u.s.w<br/>
/usr/bin/<br/>
allgemein&#160;verfügbare&#160;Programmdateien<br/>
#/usr/doc/<br/>
-&gt;&#160;/usr/share/doc/<br/>
/usr/games/<br/>
Spiele&#160;:-)<br/>
/usr/include/<br/>
Headerdateien&#160;für&#160;den&#160;C-Compiler<br/>
/usr/include/g++/<br/>
Headerdateien&#160;für&#160;den&#160;C++-Compiler<br/>
/usr/info/<br/>
Infosystem&#160;fur&#160;GNU-Kommandos<br/>
/usr/lib/<br/>
Programmbibliotheken<br/>
/usr/lib/terminfo/<br/>
Verzeichnis&#160;mit&#160;Beschreibungen<br/>
für&#160;Terminaleigenschaften<br/>
/usr/local/<br/>
Ablage&#160;von&#160;Dateien&#160;und&#160;Kommandos&#160;die&#160;nicht<br/>
zur&#160;Distribution&#160;gehören<br/>
/usr/man/<br/>
Linux&#160;Handbuch<br/>
/usr/sbin/<br/>
Superuser&#160;Programmdateien<br/>
/usr/share/doc/<br/>
Dokumentationen<br/>
/usr/share/doc/packages/<br/>
Dokumentation&#160;der&#160;Programme<br/>
/usr/src/<br/>
Quellcode&#160;für&#160;den&#160;Kernel&#160;und&#160;weitere&#160;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.&#160;Dateibaum<br/>
Bestandteile&#160;des&#160;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&#160;68k-Prozessoren<br/>
/usr/src/linux/arch/mips/<br/>
MIPS-Prozessoren&#160;R3000,&#160;R4000&#160;bis&#160;R10000<br/>
/usr/src/linux/arch/ppc/<br/>
Power-PC-Prozessor&#160;(ursprünglich&#160;IBM)<br/>
/usr/src/linux/arch/sparc/<br/>
SPARC-Prozessoren&#160;der&#160;Firma&#160;SUN<br/>
/usr/src/linux/Documentation/devices.txt<br/>
offizielle&#160;Liste&#160;der<br/>
registrierten&#160;Devices&#160;mit&#160;ihren&#160;Gerätenummern<br/>
/usr/src/linux/drivers/<br/>
Zeichen-,&#160;Block-orientierte,<br/>
Netz-,Soundkarten-Gerätetreiber<br/>
/usr/src/linux/drivers/block/<br/>
Treiber&#160;für&#160;blockorientierte&#160;Ein-/Ausgabegeräte<br/>
wie&#160;Festplatten<br/>
/usr/src/linux/drivers/cdrom/<br/>
Treiber&#160;für&#160;CD-ROM&#160;Laufwerke<br/>
außer&#160;Atapi/IDE&#160;und&#160;SCSI<br/>
/usr/src/linux/drivers/char/<br/>
Zeichen.&#160;Treiber&#160;serielle&#160;Schnittstellen,<br/>
Bildschirm,&#160;Tastatur&#160;usw.<br/>
/usr/src/linux/drivers/net/<br/>
Treiber&#160;für&#160;die&#160;Netzwerkkarten<br/>
/usr/src/linux/drivers/pci/<br/>
Spezielle&#160;Treiber&#160;für&#160;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.&#160;Shared&#160;Memory,&#160;Semaphoren<br/>
/usr/src/linux/include/<br/>
Header-Dateien&#160;mit&#160;Struktur-&#160;und<br/>
Konstantendefinitionen<br/>
/usr/src/linux/init/<br/>
Initialisierungscode&#160;beim&#160;Starten&#160;des&#160;Systems<br/>
/usr/src/linux/kernel/<br/>
zentrale&#160;Aufgaben,&#160;z.B.&#160;Prozessverwaltung&#160;und<br/>
Schedulimg&#160;usw.<br/>
/usr/src/linux/mm/<br/>
Speicherverwaltung<br/>
/usr/src/linux/modules/<br/>
nachladbarer&#160;Teil&#160;des&#160;Kerns<br/>
/usr/src/linux/net/<br/>
Implementierung&#160;der&#160;Protokolltreiber<br/>
für&#160;TCP/IP,SPX/IPX&#160;usw.<br/>
/usr/src/linux/README<br/>
Installationsbeschreibung&#160;für&#160;den&#160;Kernel<br/>
/usr/X11R6/<br/>
für&#160;Daten&#160;zum&#160;X-Window-System<br/>
/usr/X11R6/bin/<br/>
Programmdateien&#160;die&#160;mit&#160;X-Window-System&#160;arbeiten<br/>
/usr/X11R6/lib/X11/<br/>
Fenstermanager<br/>
/usr/X11R6/lib/X11/app-defaults/<br/>
voreingestellte&#160;Konfigurationen&#160;der<br/>
Anwendungen<br/>
/var/<br/>
sich&#160;schnell&#160;oder&#160;häufig&#160;ändernde&#160;Daten<br/>
/var/adm/inst-log/<br/>
Protokolldateien&#160;zur&#160;installation<br/>
/var/lib/rpm/Packages<br/>
rpm-Datenbank<br/>
/var/lib/rpm/packages.rpm<br/>
-&gt;&#160;/var/lib/rpm/Packages<br/>
/var/log/<br/>
Protokolldateien<br/>
/var/log/boot.msg<br/>
Kernelmeldungen&#160;vom&#160;letzten&#160;Start<br/>
47<br/>
<hr/>
<a name=48></a>4.&#160;Verzeichnisse&#160;und&#160;Dateien<br/>
/var/log/messages<br/>
Datei&#160;in&#160;der&#160;die&#160;Kernel&#160;Meldungen<br/>
gespeichert&#160;werden<br/>
/var/log/syslog<br/>
zeit&#160;an&#160;welches&#160;Modul&#160;fehlt<br/>
/var/tmp/<br/>
für&#160;große&#160;temporäre&#160;Dateien<br/>
/vmlinuz<br/>
der&#160;Defaultkernel&#160;kann&#160;auch&#160;in&#160;/boot/&#160;liegen<br/>
4.2.&#160;/etc/fstab<br/>
#Device<br/>
Mountpunkt&#160;Typ<br/>
Optionen<br/>
Dump&#160;Check<br/>
/dev/hdd1&#160;/<br/>
reiserfs&#160;defaults<br/>
1<br/>
1<br/>
/dev/hda1&#160;/boot<br/>
ext2<br/>
defaults<br/>
1<br/>
2<br/>
/dev/sda1&#160;swap<br/>
swap<br/>
defaults<br/>
0<br/>
0<br/>
none<br/>
/proc<br/>
proc<br/>
defaults<br/>
0<br/>
0<br/>
/dev/hda3&#160;/temp<br/>
vfat<br/>
defaults,umask=7000,uid=500,gid=100&#160;0<br/>
0<br/>
/dev/hda2&#160;/windows<br/>
vfat<br/>
defaults<br/>
0<br/>
0<br/>
/dev/hdc&#160;/cdrom<br/>
auto<br/>
ro,noauto,user,exec<br/>
0<br/>
0<br/>
/dev/fd0&#160;/floppy<br/>
auto<br/>
noauto,user<br/>
0<br/>
0<br/>
/dev/hda3&#160;/save<br/>
reiserfs&#160;loop,encryption=twofish,noauto,users&#160;0<br/>
0<br/>
server:/&#160;/server<br/>
nfs<br/>
rw,noauto,user,exec<br/>
0<br/>
0<br/>
4.3.&#160;/dev/<br/>
ls&#160;-l&#160;/dev/fd0<br/>
brw-rw-rw-&#160;1&#160;root&#160;disk<br/>
2,<br/>
0&#160;Feb&#160;16&#160;16:30&#160;/dev/fd0<br/>
|<br/>
|<br/>
|<br/>
+-----&#160;Gerät<br/>
|<br/>
|<br/>
+------&#160;Minor-Device-Nummer(Nebennummer)<br/>
|<br/>
+-----------&#160;Major-Device-Nummer(Hauptnummer)<br/>
+-----------------&#160;b-blockorientierte&#160;Geräte&#160;c-zeichenorientierte&#160;Geräte<br/>
Die&#160;Verbindung&#160;zum&#160;Kernel&#160;wird&#160;über&#160;Slots&#160;oder&#160;Kanäle&#160;hergestellt,&#160;die&#160;nummeriert<br/>
sind&#160;und&#160;hinter&#160;denen&#160;sich&#160;die&#160;Treiber&#160;verbergen.&#160;Die&#160;Nummer&#160;des&#160;Gerätetreibers&#160;wird<br/>
als&#160;Haupgerätenummer(Major&#160;Device&#160;Number)&#160;bezeichnet.&#160;Ein&#160;Treiber&#160;kann&#160;mehrere<br/>
Geräte&#160;des&#160;gleichen&#160;Typs&#160;verwalten.&#160;Um&#160;die&#160;einzelnen&#160;Geräte&#160;zu&#160;unterscheiden,&#160;wird<br/>
dem&#160;Treiber&#160;eine&#160;zweite&#160;Zahl,&#160;die&#160;Untergerätenummer&#160;(Minor&#160;Device&#160;Number),&#160;über-<br/>
geben.&#160;Diese&#160;beiden&#160;Zahlen&#160;charakterisieren&#160;jede&#160;Datei&#160;im&#160;/dev&#160;Verzeichnis.&#160;Zusätzlich<br/>
werden&#160;noch&#160;zwei&#160;Arten&#160;von&#160;Geräten&#160;unterschieden&#160;:<br/>
Die&#160;blockorientierten&#160;Geräte&#160;mit&#160;direktem&#160;Zugriff,&#160;wie&#160;z.B.&#160;Disketten&#160;oder&#160;Festplatten,<br/>
und&#160;die&#160;zeichenorientierten&#160;squentiellen&#160;Geräte,&#160;wie&#160;Drucker,&#160;Terminal&#160;oder&#160;Maus.<br/>
Damit&#160;hat&#160;jede&#160;Gerätedatei&#160;drei&#160;“Koordinaten“,&#160;mit&#160;der&#160;sie&#160;vom&#160;Kernel,&#160;unabhängig<br/>
von&#160;ihrem&#160;Namen,&#160;eindeutig&#160;identifiziert&#160;werden&#160;kann.&#160;Die&#160;offizielle&#160;Liste&#160;der&#160;regi-<br/>
strierten&#160;Devices&#160;mit&#160;ihren&#160;Gerätenummern&#160;ist&#160;bei&#160;den&#160;Kernelsourcen&#160;in&#160;der&#160;Datei<br/>
/usr/src/linux/Documentation/devices.txt&#160;zu&#160;finden.<br/>
48<br/>
<hr/>
<a name=49></a>4.4.&#160;Dateisystemtypen&#160;unter&#160;Linux<br/>
4.4.&#160;Dateisystemtypen&#160;unter&#160;Linux<br/>
affs<br/>
Ein&#160;auf&#160;dem&#160;Amiga&#160;verwendetes&#160;Dateisystem&#160;(engl.&#160;Amiga&#160;Fast&#160;Filesystem).<br/>
ext2<br/>
Das&#160;Standard-Dateisystem&#160;unter&#160;Linux&#160;(engl.&#160;Second&#160;extended&#160;Filesystem).<br/>
ext3<br/>
Journaling&#160;Filesystem<br/>
hpfs<br/>
Standard-Dateisystem&#160;von&#160;IBM&#160;OS/2&#160;(engl.&#160;High&#160;Performance&#160;Filesystem).<br/>
Dieses&#160;wird&#160;von&#160;Linux&#160;nur&#160;mit&#160;Lesezugriff&#160;unterstüzt.<br/>
iso9660&#160;Standard-Dateisystem&#160;auf&#160;CD-ROMs.<br/>
minix<br/>
Dieses&#160;Dateisystem&#160;hat&#160;seinen&#160;Ursprung&#160;in&#160;akademischen&#160;Lehrprojekten<br/>
über&#160;Betriebssysteme&#160;und&#160;war&#160;das&#160;erste&#160;Dateisystem,&#160;welches&#160;für&#160;Linux<br/>
verwendet&#160;wurde.&#160;Heute&#160;wird&#160;es&#160;unter&#160;Linux&#160;vornehmlich&#160;als&#160;Dateisystem<br/>
für&#160;Disketten&#160;verwendet.<br/>
msdos<br/>
Ursprünglich&#160;von&#160;DOS&#160;verwendetes&#160;Dateisystem,&#160;welches&#160;aber&#160;bis&#160;heute&#160;von<br/>
diversen&#160;Betriebssystemen&#160;genutzt&#160;wird.<br/>
ncpfs<br/>
Dateisystem&#160;für&#160;das&#160;Novell-Volumes.<br/>
nfs<br/>
Hier&#160;sind&#160;die&#160;Daten&#160;auf&#160;der&#160;Festplatte&#160;eines&#160;anderen&#160;Rechners&#160;und<br/>
werden&#160;über&#160;das&#160;Netzwerk&#160;zugänglich&#160;gemacht&#160;(engl.&#160;Network&#160;Filesystem).<br/>
proc<br/>
Prozess-Dateisystem&#160;(virtuell).<br/>
reiserfs<br/>
Das&#160;ReiserFS&#160;ist&#160;ein&#160;hochperformantes&#160;&#34;Journaling&#160;Filesystem&#34;;<br/>
seit&#160;SuSE&#160;Linux&#160;6.4&#160;auf&#160;x86-Architekturen&#160;verfügbar.<br/>
smbfs<br/>
SMB&#160;(engl.&#160;Server&#160;Message&#160;Block)&#160;ist&#160;ein&#160;Protokoll,&#160;das&#160;von&#160;WfW,<br/>
Windoofs&#160;NT&#160;und&#160;LAN&#160;Manager&#160;verwendet&#160;wird,&#160;um&#160;Dateien&#160;über&#160;ein&#160;Netzwerk<br/>
verfügbar&#160;zu&#160;machen.<br/>
sysv<br/>
Von&#160;SCO-Unix,&#160;Xenix&#160;und&#160;Coherent&#160;(kommerzielle&#160;UNIX-Systeme&#160;für&#160;PCs)<br/>
verwendetes&#160;Dateisystem.<br/>
ufs<br/>
Von&#160;BSD,&#160;SunOS&#160;und&#160;NeXTstep&#160;verwendetes&#160;Dateisystem;&#160;dies&#160;Dateisystem<br/>
wird&#160;von&#160;Linux&#160;nur&#160;mit&#160;Lesezugriff&#160;unterstützt.<br/>
umsdos&#160;Setzt&#160;auf&#160;einem&#160;gewöhnlichen&#160;fat-Dateisystem&#160;auf&#160;(engl.&#160;UNIX&#160;on&#160;MSDOS)<br/>
und&#160;erreicht&#160;durch&#160;Anlegen&#160;spezieller&#160;Dateien&#160;die&#160;notwendige&#160;UNIX-<br/>
Funktionalität&#160;(Rechte,&#160;Links,&#160;lange&#160;Dateinamen);&#160;es&#160;ist&#160;jedoch&#160;sehr<br/>
langsamm.<br/>
vfat<br/>
Erweiterung&#160;des&#160;fat-Dateisystems&#160;hinsichtlich&#160;der&#160;Länge&#160;der&#160;Dateinamen<br/>
(engl.&#160;Virtual&#160;FAT).<br/>
ntfs<br/>
Windows&#160;NT-Dateisystem.<br/>
4.5.&#160;/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.&#160;Verzeichnisse&#160;und&#160;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.&#160;/etc/hosts<br/>
#&#160;IP-Adresse&#160;#Aliasnamen<br/>
127.0.0.1&#160;localhost<br/>
127.0.1.1&#160;latex<br/>
::1<br/>
localhost&#160;ip6-localhost&#160;ip6-loopback<br/>
ff02::1<br/>
ip6-allnodes<br/>
ff02::2<br/>
ip6-allrouters<br/>
192.168.0.10&#160;rechner&#160;rechner.loc&#160;www.rechner.loc<br/>
4.7.&#160;/etc/inittab<br/>
Nach&#160;dem&#160;Kernelstart&#160;wird&#160;versucht&#160;das&#160;Programm&#160;init&#160;zu&#160;starten.&#160;Dabei&#160;werden<br/>
nacheinander&#160;die&#160;Verzeichnisse&#160;/etc/,&#160;/bin/&#160;und&#160;/sbin/&#160;nach&#160;init&#160;abgesucht.&#160;Kann&#160;init<br/>
/dev/console&#160;nicht&#160;öffnen&#160;wird&#160;im&#160;Einzelbenutzerbetrieb&#160;(Single&#160;User&#160;Mode)&#160;gestartet.<br/>
Beim&#160;LILO-Bootpromt&#160;kann&#160;init=/bin/sh&#160;angegeben&#160;werden&#160;um&#160;die&#160;Shell&#160;anstelle<br/>
von&#160;init&#160;zu&#160;laden.&#160;Das&#160;Programm&#160;init&#160;liest&#160;die&#160;Datei&#160;/etc/inittab&#160;und&#160;wird&#160;durch<br/>
die&#160;Datei&#160;das&#160;System&#160;konfigurieren.&#160;/etc/inittab&#160;wird&#160;vom&#160;Kommando&#160;init&#160;Zeile&#160;für<br/>
Zeile&#160;abgearbeitet.&#160;In&#160;jeder&#160;Zeile&#160;seht&#160;jeweils&#160;eine&#160;Anweisung.&#160;Jede&#160;Zeile&#160;wird&#160;durch<br/>
Doppelpunkte&#160;unterteilt.&#160;Der&#160;Aufbau&#160;sieht&#160;wie&#160;folgt&#160;aus:<br/>
Terminal:Termcapeintrag:Gettykommando<br/>
Simpleinit&#160;von&#160;Peter&#160;Orbaek&#160;mit<br/>
Erweiterung&#160;von&#160;Werner&#160;Almesberger<br/>
4.7.1.&#160;Terminal<br/>
Bezeichnet&#160;das&#160;Terminal&#160;(tty1,&#160;tty2,&#160;ttyS0&#160;...)<br/>
4.7.2.&#160;Termcapeintrag<br/>
Wird&#160;in&#160;die&#160;TERM&#160;Variable&#160;der&#160;Shell&#160;geschrieben&#160;und&#160;sollte&#160;mit&#160;einem&#160;Eintrag&#160;in&#160;der<br/>
Datei&#160;/etc/termcap&#160;übereinstimmen.<br/>
50<br/>
<hr/>
<a name=51></a>4.7.&#160;/etc/inittab<br/>
4.7.3.&#160;Gettykommando<br/>
Pfad&#160;und&#160;Optionen&#160;zum&#160;Getty-Kommando<br/>
#&#160;Beispiel&#160;einer&#160;inittab&#160;für&#160;simpleinit&#160;#&#160;Format:&#160;Terminal:Termcapeintrag:Gettykommando<br/>
tty1:linux:/sbin/getty&#160;9600&#160;tty1&#160;tty2:console:/sbin/getty&#160;9600&#160;tty2&#160;tty5:con100x40:/sbin/getty<br/>
9600&#160;tty5&#160;ttyS1:vt102:/sbin/getty&#160;9600&#160;ttyS1<br/>
Kürzel:Arbeitsstufen:Modus:Kommando<br/>
Sysvinit&#160;von&#160;Mike&#160;Jagdis&#160;und<br/>
Miquel&#160;van&#160;Smoorenburg<br/>
4.7.4.&#160;Kürzel<br/>
Jede&#160;Aktion&#160;muß&#160;mit&#160;einem&#160;eindeutigen&#160;(maximal&#160;vierstelligen,&#160;a.out&#160;oder&#160;Librari-<br/>
es&lt;5.2.18&#160;maximal&#160;zweistelligen)&#160;Kürzel&#160;versehen&#160;werden,&#160;das&#160;bei&#160;Einträgen&#160;in&#160;Logfiles<br/>
und&#160;bei&#160;Fehlermeldungen&#160;ausgegeben&#160;wird.<br/>
4.7.5.&#160;Arbeitsstufen<br/>
Es&#160;werden&#160;hier&#160;die&#160;Arbeitsstufen&#160;(Runlevel)&#160;eingetragen.&#160;Zulässige&#160;Arbeitsstufen&#160;sind<br/>
0&#160;-&#160;9&#160;und&#160;s.&#160;Es&#160;können&#160;auch&#160;die&#160;Pseudoarbeitsstufen(ondemand)&#160;a,&#160;b,&#160;c&#160;und&#160;q&#160;für<br/>
einmalig&#160;auszuführende&#160;Kommandos&#160;verwendet&#160;werden.&#160;Es&#160;wird&#160;ohne&#160;Groß&#160;und&#160;Klein-<br/>
schreibung&#160;bezeichnet.&#160;In&#160;einer&#160;Zeile&#160;können&#160;bis&#160;zu&#160;11&#160;Runlevel&#160;zugeordnet&#160;werden.<br/>
Wenn&#160;das&#160;Feld&#160;für&#160;den&#160;Runlevel&#160;leer&#160;ist,&#160;wird&#160;die&#160;Aktion&#160;bei&#160;jedem&#160;Moduswechsel<br/>
ausgeführt.<br/>0<br/>
Systemhalt<br/>
S<br/>
Einzelbenutzerbetrieb&#160;(Single&#160;User&#160;Mode)<br/>
1<br/>
Einzelbenutzerbetrieb&#160;(Single&#160;User&#160;Mode)<br/>
2<br/>
Lokaler&#160;Mehrbenutzerbetrieb&#160;ohne&#160;entferntes&#160;Netzwerk<br/>
(Local&#160;multiuser&#160;without&#160;remote&#160;network)<br/>
3<br/>
Voller&#160;Mehrbenutzerbetrieb&#160;mit&#160;Netzwerk<br/>
(Full&#160;multiuser&#160;with&#160;network)<br/>
4<br/>
Frei&#160;(Not&#160;used)<br/>
5<br/>
Voller&#160;Mehrbenutzerbetrieb&#160;mit&#160;Netzwerk&#160;und&#160;KDM,&#160;GDM&#160;oder&#160;XDM<br/>
(Full&#160;multiuser&#160;with&#160;network&#160;and&#160;xdm)<br/>
6<br/>
Systemneustart&#160;(System&#160;reboot)<br/>
Q<br/>
Quit&#160;zum&#160;Neueinlesen&#160;der&#160;inittab<br/>
4.7.6.&#160;Modus<br/>
Gibt&#160;an&#160;wie&#160;das&#160;Kommando&#160;im&#160;letzten&#160;Feld&#160;ausgeführt&#160;werden&#160;soll.<br/>initdefault<br/>
Bestimmt&#160;den&#160;Runlevel&#160;beim&#160;Systemstart.<br/>
sysinit<br/>
Wird&#160;einmal&#160;nach&#160;dem&#160;Kernelstart&#160;ausgeführt.<br/>
bootwait<br/>
Wird&#160;einmal&#160;ausgefürt,&#160;wenn&#160;in&#160;einem&#160;Mehrbenutzerbetrieb<br/>
gestartet&#160;wird&#160;und&#160;wartet&#160;bis&#160;das&#160;Kommando&#160;beendet&#160;ist.<br/>
boot<br/>
Wie&#160;bootwait&#160;nur&#160;das&#160;nicht&#160;gewartet&#160;wird.<br/>
51<br/>
<hr/>
<a name=52></a>4.&#160;Verzeichnisse&#160;und&#160;Dateien<br/>
respawn<br/>
Überwacht&#160;das&#160;laufende&#160;Kommando&#160;und&#160;startet&#160;es&#160;neu,&#160;wenn&#160;es<br/>
beendet&#160;wurde.&#160;Wird&#160;es&#160;in&#160;zwei&#160;Minuten&#160;10&#160;mal&#160;neu&#160;gestartet,<br/>
setzt&#160;init&#160;das&#160;Kommando&#160;für&#160;fünf&#160;Minuten&#160;aus.<br/>
ondemand<br/>
Wie&#160;respawn,&#160;um&#160;mit&#160;Buchstaben&#160;gekennzeichnete&#160;Level&#160;einzelne<br/>
Kommandos&#160;mit&#160;telinit&#160;zu&#160;starten.<br/>
wait<br/>
Wartet&#160;bis&#160;das&#160;Kommando&#160;beendet&#160;ist.<br/>
once<br/>
Wird&#160;einmal&#160;ausgefürt,&#160;es&#160;wird&#160;nicht&#160;gewartet.<br/>
off<br/>
Wenn&#160;das&#160;Kommando&#160;läuft,&#160;wird&#160;es&#160;angehalten.<br/>
ctrlaltdel<br/>
Kommando&#160;(Signal&#160;SIGINT,&#160;[Strg]+[Alt]+[Entf])&#160;z.B.&#160;Rebooten&#160;des<br/>
Systems.<br/>
kbrequest<br/>
Kommando&#160;wird&#160;ausgeführt,&#160;wenn&#160;das&#160;Signal&#160;SIGWINCH<br/>
[Alt]+[Pfeil&#160;hoch]&#160;von&#160;der&#160;Tastatur&#160;kommt.<br/>
powerwait<br/>
Wenn&#160;init&#160;sich&#160;in&#160;einem&#160;passenden&#160;Runlevel&#160;befindet,&#160;das<br/>
Signal&#160;SIGPWR&#160;erhält&#160;oder&#160;über&#160;Pipeline&#160;/dev/initctrl&#160;den<br/>
entsprechenden&#160;Befehl&#160;erhält&#160;und&#160;wartet&#160;auf&#160;Beendigung&#160;des<br/>
Kommandows.&#160;Das&#160;Signal&#160;kann&#160;mit&#160;Hilfe&#160;eines&#160;Dämons&#160;von&#160;einer&#160;USV<br/>
erzeugt&#160;werden.<br/>
powerfail<br/>
Wie&#160;powerwait&#160;wartet&#160;jedoch&#160;nicht.<br/>
powerfailnow<br/>
Wie&#160;powerwait&#160;es&#160;muß&#160;die&#160;Datei&#160;/etc/powerstatus&#160;zusätzlich&#160;das<br/>
Wort&#160;Low&#160;enthalten.&#160;So&#160;kann&#160;das&#160;APM&#160;eines&#160;Notebooks&#160;mit&#160;Hilfe<br/>
eines&#160;Dämons&#160;das&#160;System&#160;herrunterfahren.<br/>
powerokwait<br/>
Wie&#160;powerwait&#160;es&#160;muß&#160;die&#160;Datei&#160;/etc/powerstatus&#160;zusätzlich&#160;das<br/>
Wort&#160;OK&#160;enthalten.&#160;Auf&#160;diese&#160;weise&#160;kann&#160;das&#160;System&#160;in&#160;den<br/>
normalen&#160;Zustand&#160;gebracht&#160;werden,&#160;nachdem&#160;die&#160;Stromversorgung<br/>
wieder&#160;hergestellt&#160;ist.<br/>
4.7.7.&#160;Kommando<br/>
Pfad&#160;und&#160;Optionen&#160;zum&#160;Kommando,&#160;wird&#160;durch&#160;die&#160;Bourne-Again-Shell&#160;abgearbeitet.<br/>
Bei&#160;jedem&#160;Kommandostart&#160;wird&#160;versucht&#160;die&#160;Datei&#160;/etc/initscript&#160;abzuarbeiten,&#160;die<br/>
dann&#160;das&#160;Kommando&#160;startet.<br/>
#&#160;Beispiel&#160;einer&#160;inittab&#160;für&#160;sysvinit<br/>
#&#160;Format:&#160;Kürzel:Arbeitsstufen:Modus:Kommando<br/>
#&#160;Bestimmt&#160;den&#160;Runlevel&#160;beim&#160;Systemstart<br/>
id:5:initdefault:<br/>
#&#160;Erstes&#160;Script,&#160;wenn&#160;nicht&#160;im&#160;Notfallsystem&#160;(-b)&#160;gestartet&#160;wird.<br/>
si::bootwait:/etc/init.d/boot<br/>
#&#160;/etc/init.d/rc&#160;übernimmt&#160;die&#160;Runlevel&#160;Behandlung<br/>
l0:0:wait:/etc/init.d/rc&#160;0<br/>
l1:1:wait:/etc/init.d/rc&#160;1<br/>
l2:2:wait:/etc/init.d/rc&#160;2<br/>
52<br/>
<hr/>
<a name=53></a>4.8.&#160;/etc/passwd<br/>
l3:3:wait:/etc/init.d/rc&#160;3<br/>
#l4:4:wait:/etc/init.d/rc&#160;4<br/>
l5:5:wait:/etc/init.d/rc&#160;5<br/>
l6:6:wait:/etc/init.d/rc&#160;6<br/>
#&#160;Bestimmt&#160;den&#160;Einzelbenutzerbetrieb&#160;(Single&#160;User&#160;Mode)<br/>
ls:S:wait:/etc/init.d/rc&#160;S<br/>
~~:S:respawn:/sbin/sulogin<br/>
#&#160;Aktion&#160;bei&#160;Signal&#160;SIGINT,&#160;[Strg]+[Alt]+[Entf]<br/>
ca::ctrlaltdel:/sbin/shutdown&#160;-r&#160;-t&#160;4&#160;now<br/>
#&#160;Aktion&#160;bei&#160;Signal&#160;SIGWINCH&#160;[Alt]+[Pfeil&#160;hoch]<br/>
kb::kbrequest:/bin/echo&#160;&#34;Keyboard&#160;Request&#160;--&#160;edit&#160;/etc/inittab&#160;to&#160;let&#160;this&#160;work.&#34;<br/>
#&#160;Aktion&#160;bei&#160;Stormausfall&#160;und&#160;Wiederherstellung<br/>
pf::powerwait:/etc/init.d/powerfail&#160;start<br/>
pn::powerfailnow:/etc/init.d/powerfail&#160;now<br/>
#pn::powerfail:/etc/init.d/powerfail&#160;now<br/>
po::powerokwait:/etc/init.d/powerfail&#160;stop<br/>
#&#160;getty-Programme&#160;für&#160;die&#160;normalen&#160;Runlevels<br/>
1:2345:respawn:/sbin/mingetty&#160;--noclear&#160;tty1<br/>
2:2345:respawn:/sbin/mingetty&#160;tty2<br/>
3:2345:respawn:/sbin/mingetty&#160;tty3<br/>
4:2345:respawn:/sbin/mingetty&#160;tty4<br/>
5:2345:respawn:/sbin/mingetty&#160;tty5<br/>
6:2345:respawn:/sbin/mingetty&#160;tty6<br/>
#S0:12345:respawn:/sbin/agetty&#160;-L&#160;9600&#160;ttyS0&#160;vt102<br/>
4.8.&#160;/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&#160;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&#160;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.&#160;Die&#160;Shells<br/>
5.1.&#160;Die&#160;Shells<br/>
Eine&#160;Shell&#160;ist&#160;ein&#160;Kommando-Interpreter,&#160;ein&#160;Programm&#160;das&#160;durch&#160;ein&#160;anderes&#160;ersetzt<br/>
werden&#160;kann.&#160;Es&#160;zerlegt&#160;die&#160;Kommandozeile,&#160;führt&#160;Sonderzeichen&#160;durch&#160;und&#160;reicht&#160;das<br/>
Kommando&#160;an&#160;UNIX&#160;weiter.&#160;Ohne&#160;Shell&#160;gibt&#160;es&#160;keinen&#160;Zugang&#160;zum&#160;Betriebssystem.<br/>
/bin/sh<br/>
Bourne-Shell<br/>
zum&#160;programmieren<br/>
/bin/ksh<br/>
Korn-Shell<br/>
Mischung&#160;aus&#160;C-und&#160;Bourne-Shell<br/>
/bin/csh<br/>
C-Shell<br/>
zum&#160;interaktiven&#160;Arbeiten<br/>
/bin/bash<br/>
Bourne-Again-Shell<br/>
/bin/tcsh<br/>
TC-Shell<br/>
export<br/>
Setzt&#160;Umgebungsvariablen,&#160;Variablen&#160;exportieren<br/>
locate<br/>
Findet&#160;Dateien&#160;anhand&#160;einer&#160;Datenbank<br/>
setenv<br/>
Setzt&#160;Umgebungsvariablen&#160;unter&#160;Nicht-Bash&#160;Shells,&#160;z.B.&#160;csh<br/>
unset<br/>
Variable&#160;löschen&#160;in&#160;ksh,&#160;bsh&#160;und&#160;bash<br/>
unsetenv<br/>
Variable&#160;löschen&#160;in&#160;csh<br/>
5.2.&#160;Die&#160;Start-Scripts<br/>
~/.bashrc<br/>
bash<br/>
5.3.&#160;Tastenkombinationen<br/>
[Strg]+[l]<br/>
Bildschirm&#160;löschen<br/>
bash&#160;und&#160;csh<br/>
[Strg]+[a]&#160;oder&#160;[Pos&#160;1]<br/>
Zeilenanfang<br/>
bash&#160;und&#160;csh<br/>
[Strg]+[e]&#160;oder&#160;[Ende]<br/>
Zeilenende<br/>
bash&#160;und&#160;csh<br/>
[Alt]+[f]<br/>
Wort&#160;vorwäts<br/>
bash&#160;und&#160;csh<br/>
[Alt]+[b]<br/>
Wort&#160;rückwärts<br/>
bash&#160;und&#160;csh<br/>
[Strg]+[c]<br/>
Befehlseingabe&#160;verwerfen<br/>
alle&#160;Shells<br/>
[Strg]+[c]<br/>
Programm&#160;abbrechen<br/>
[Pfeil&#160;rechts]&#160;und&#160;[Pfeil&#160;links]<br/>
Cursor&#160;bewegen<br/>
bash&#160;und&#160;csh<br/>
[Pfeil&#160;hoch]&#160;und&#160;[Pfeil&#160;runter]<br/>
History-Scrolling<br/>
bash&#160;und&#160;csh<br/>
[Strg]+[r]<br/>
in&#160;der&#160;History&#160;suchen<br/>
bash<br/>
[Tab]<br/>
Komplettierung<br/>
bash&#160;und&#160;csh<br/>
[Strg]+[d]<br/>
beendet&#160;die&#160;Shell<br/>
alle&#160;Shells<br/>
55<br/>
<hr/>
<a name=56></a>5.&#160;Die&#160;Shells<br/>
[Strg]+[d]&#160;oder&#160;[Entf]<br/>
ein&#160;Zeichen&#160;löschen<br/>
[Strg]+[h]&#160;oder&#160;[Backspace]<br/>
Zeichen&#160;rückwärts&#160;löschen<br/>
[Strg]+[k]<br/>
Zeile&#160;ab&#160;Cursor&#160;löschen<br/>
[Alt&#160;Gr]+[Umschalt]<br/>
zwei&#160;folgende&#160;Zeichen&#160;vereinen<br/>
ae&#160;-&gt;&#160;AE,&#160;co&#160;-&gt;&#160;\texteuro<br/>
[Strg]+[z]<br/>
im&#160;Vordergrund&#160;laufendes&#160;Programm&#160;anhalten<br/>
Fortsetzung&#160;mit&#160;fg<br/>
[Umschalt]+[Bild&#160;hoch]&#160;und<br/>
vorherige&#160;Textausgabe<br/>
alle&#160;Shells<br/>
[Umschalt]+[Bild&#160;runter]<br/>
zurückholen<br/>
[Alt]+[F1]&#160;bis&#160;[F6]<br/>
Umschalten&#160;zwischen&#160;Textkonsolen&#160;alle&#160;Shells<br/>
[AltGr]+[Fn]<br/>
Umschalten&#160;zwischen&#160;den&#160;Textkonsolen&#160;n+12<br/>
[Alt]+[Pfeil&#160;links&#160;oder&#160;rechts]<br/>
um&#160;durch&#160;die&#160;benutzten&#160;Konsolen&#160;zu&#160;stöbern<br/>
[Strg]+[Alt]+[F1]&#160;bis<br/>
Umschalten&#160;zu&#160;Textkonsolen<br/>
alle&#160;Shells<br/>
[Strg]+[Alt]+[F6]<br/>
aus&#160;X11&#160;heraus<br/>
[Strg]+[Alt]+[F7]<br/>
Umschalten&#160;zu&#160;X11&#160;aus&#160;Textkonsole&#160;alle&#160;Shells<br/>
bei&#160;Caldera&#160;2.2&#160;[Alt]+[F8]<br/>
[Strg]+[Alt]+[&lt;--]<br/>
X-Server&#160;sofort&#160;beenden<br/>
[Strg]+[Alt]+[+]<br/>
verschiedene&#160;Auflösungen&#160;im&#160;laufenden&#160;Betrieb<br/>
[Strg]+[Alt]+[-]<br/>
wechseln<br/>
[Strg]+[Alt]+[Entf]<br/>
Signal&#160;SIGINT&#160;z.B.&#160;reboot<br/>
Shell<br/>
5.4.&#160;Die&#160;C-Shell<br/>
~<br/>
Home-Verzeichnis<br/>
~user<br/>
Home-Verzeichnis&#160;des&#160;Benutzers&#160;user<br/>
*<br/>
beliebige&#160;Zeichen-kette<br/>
?<br/>
genau&#160;Zeichen<br/>
{a,b,c}<br/>
a&#160;oder&#160;b&#160;oder&#160;c<br/>
[aceg]<br/>
genau&#160;eines&#160;der&#160;Zeichen<br/>
[a-z]<br/>
a&#160;bis&#160;z<br/>
[!adfh]<br/>
kein&#160;a,&#160;d,&#160;f,&#160;h<br/>
´´<br/>
maskiert&#160;alles<br/>
\<br/>
maskiert&#160;das&#160;nachfolgende&#160;Zeichen<br/>
&#34;&#34;<br/>
maskiert&#160;$&#160;&#160;\&#160;nicht<br/>
&gt;&#160;Datei<br/>
Ausgabe&#160;in&#160;die&#160;Datei,&#160;stdout<br/>
&gt;&amp;&#160;Datei<br/>
Ausgabe&#160;in&#160;die&#160;Datei,&#160;stdout&#160;und&#160;stderr<br/>
&gt;&gt;Datei<br/>
Unlenkung&#160;in&#160;die&#160;Datei,&#160;stdout&#160;umgelenkt<br/>
&lt;&#160;Datei<br/>
von&#160;der&#160;Datei&#160;lesen,&#160;anstatt&#160;von&#160;stdin&#160;zu&#160;lesen<br/>
set&#160;noclobber<br/>
Überschreiben&#160;einer&#160;vorhandenen&#160;Datei&#160;verhindern<br/>
|<br/>
Ausgabekanal&#160;eines&#160;Kommandos&#160;direkt&#160;in&#160;den&#160;Eingabekanal&#160;eines<br/>
anderen&#160;Kommandos&#160;leiten<br/>
#!Programm<br/>
so&#160;beginnt&#160;eine&#160;Datei&#160;die&#160;vom&#160;Progamm&#160;ausgeführt&#160;wird<br/>
$HISTSIZE<br/>
History-Größe<br/>
$LS_OPTIONS<br/>
ls&#160;Funktionen<br/>
56<br/>
<hr/>
<a name=57></a>5.5.&#160;Bash&#160;rechnen<br/>
$PATH<br/>
Pfad&#160;zu&#160;den&#160;Programmdateien<br/>
Programm&#160;&amp;<br/>
Programm&#160;im&#160;eigenem&#160;Prozess&#160;starten<br/>
5.5.&#160;Bash&#160;rechnen<br/>
echo&#160;$((1+1))<br/>
gibt&#160;1&#160;aus<br/>
a=4<br/>
b=5<br/>
echo&#160;$((a*b))<br/>
gibt&#160;20&#160;aus<br/>
echo&#160;$((a-b))<br/>
gibt&#160;-1&#160;aus<br/>
57<br/>
<hr/>
<a name=58></a><hr/>
<a name=59></a>Teil&#160;II.<br/>
Programme<br/>
59<br/>
<hr/>
<a name=60></a><hr/>
<a name=61></a>6.&#160;Der&#160;Texteditor&#160;vi/vim<br/>
Der&#160;vi-Editor&#160;ist&#160;auf&#160;UNIX/Linux(neben&#160;Emacs)&#160;der&#160;meistverwendete&#160;Texteditor.&#160;Die<br/>
Bedienung&#160;erfolgt&#160;über&#160;den&#160;Befehls-&#160;und&#160;Kommando-modus.&#160;Da&#160;es&#160;nicht&#160;gerade&#160;ein-<br/>
fach&#160;ist&#160;sich&#160;diese&#160;Optionen&#160;zu&#160;merken,&#160;folgt&#160;eine&#160;Auflistung&#160;der&#160;meist&#160;gebrauchten<br/>
Optionen.<br/>
6.1.&#160;Aufruf<br/>
vi<br/>
Editor&#160;vi&#160;aufrufen<br/>
vi&#160;Datei<br/>
Editor&#160;vi&#160;aufrufen&#160;und&#160;Datei&#160;öffnen<br/>
vi&#160;-r<br/>
swap-Dateien&#160;anzeigen<br/>
vi&#160;-r&#160;Datei<br/>
Datei&#160;nach&#160;einem&#160;Stromausfall&#160;oder&#160;Absturz&#160;wieder&#160;herstellen<br/>
vi&#160;-R&#160;Datei<br/>
Datei&#160;schreibgeschützt&#160;öffnen<br/>
6.2.&#160;Eingabemodus&#160;(input&#160;mode)<br/>
Um&#160;in&#160;den&#160;Eingabemodus&#160;zu&#160;gelangen&#160;muss&#160;A,&#160;C,&#160;I,&#160;O,&#160;R,&#160;S,&#160;a,&#160;i,&#160;o&#160;oder&#160;s&#160;eingegeben<br/>
werden.&#160;i&#160;ist&#160;eine&#160;gute&#160;Wahl.&#160;Mit&#160;&lt;Esc&gt;&#160;wird&#160;der&#160;Eingabemodus&#160;verlassen.<br/>
6.3.&#160;Befehlsmodus&#160;(visual&#160;mode)<br/>
6.3.1.&#160;Eingeben:<br/>
(n)i&#160;eingeben<br/>
fügt&#160;den&#160;eingeben&#160;Text&#160;(n&#160;mal)&#160;vor&#160;dem&#160;Cursor&#160;ein<br/>
(n)a&#160;eingeben<br/>
fügt&#160;den&#160;eingeben&#160;Text&#160;(n&#160;mal)&#160;hinter&#160;dem&#160;Cursor&#160;ein<br/>
(n)I&#160;eingeben<br/>
fügt&#160;den&#160;eingeben&#160;Text&#160;(n&#160;mal)&#160;am&#160;Zeilenanfang&#160;ein<br/>
(n)A&#160;eingeben<br/>
fügt&#160;den&#160;eingeben&#160;Text&#160;(n&#160;mal)&#160;am&#160;Zeilenende&#160;ein<br/>
(n)o&#160;eingeben<br/>
fügt&#160;unter&#160;der&#160;aktuellen&#160;Zeile&#160;(n&#160;neue&#160;Zeilen)<br/>
mit&#160;den&#160;eingeben&#160;Text&#160;ein<br/>
(n)O&#160;eingeben<br/>
fügt&#160;über&#160;der&#160;aktuellen&#160;Zeile&#160;(n&#160;neue&#160;Zeilen)<br/>
mit&#160;den&#160;eingeben&#160;Text&#160;ein<br/>
6.3.2.&#160;Überschreiben:<br/>
(n)R&#160;eingeben<br/>
überschreibt&#160;den&#160;Text&#160;mit&#160;eingeben<br/>
&lt;Einf&gt;<br/>
wechselt&#160;zwischen&#160;INSERT&#160;und&#160;REPLACE<br/>
(n)r&#160;Taste<br/>
überschreibt&#160;den&#160;Text&#160;mit&#160;(n&#160;mal)&#160;Taste<br/>
61<br/>
<hr/>
<a name=62></a>6.&#160;Der&#160;Texteditor&#160;vi/vim<br/>
von&#160;dem&#160;Cursor&#160;nach&#160;rechts<br/>
6.3.3.&#160;Bewegen:<br/>
(n)h<br/>
Cursor&#160;um&#160;(n)&#160;Zeichen&#160;nach&#160;links&#160;bewegen<br/>
(n)&lt;Strg&gt;+h<br/>
Cursor&#160;um&#160;(n)&#160;Zeichen&#160;nach&#160;links&#160;bewegen<br/>
(n)l<br/>
Cursor&#160;um&#160;(n)&#160;Zeichen&#160;nach&#160;rechts&#160;bewegen<br/>
(n)&lt;SPACE&gt;<br/>
Cursor&#160;um&#160;(n)&#160;Zeichen&#160;nach&#160;rechts&#160;bewegen<br/>
(n)|<br/>
Cursor&#160;zur&#160;Spalte&#160;(n)&#160;bewegen<br/>
(n)t&#160;Taste<br/>
Cursor&#160;vor&#160;das&#160;(n)&#160;Zeichen&#160;Taste&#160;nach&#160;rechts&#160;bewegen<br/>
(n)f&#160;Taste<br/>
Cursor&#160;auf&#160;das&#160;(n)&#160;Zeichen&#160;Taste&#160;nach&#160;rechts&#160;bewegen<br/>
(n)T&#160;Taste<br/>
Cursor&#160;vor&#160;das&#160;(n)&#160;Zeichen&#160;Taste&#160;nach&#160;links&#160;bewegen<br/>
(n)F&#160;Taste<br/>
Cursor&#160;auf&#160;das&#160;(n)&#160;Zeichen&#160;Taste&#160;nach&#160;links&#160;bewegen<br/>
(n)j<br/>
Cursor&#160;um&#160;(n)&#160;Zeilen&#160;abwärts&#160;bewegen<br/>
(n)k<br/>
Cursor&#160;um&#160;(n)&#160;Zeilen&#160;aufwärts&#160;bewegen<br/>
(n)w<br/>
Cursor&#160;um&#160;(n)&#160;Wörter&#160;nach&#160;rechts&#160;bewegen<br/>
(n)W<br/>
Cursor&#160;um&#160;(n)&#160;Wörter(Space)&#160;nach&#160;rechts&#160;bewegen<br/>
(n)b<br/>
Cursor&#160;um&#160;(n)&#160;Wörter&#160;nach&#160;links&#160;bewegen<br/>
(n)B<br/>
Cursor&#160;um&#160;(n)&#160;Wörter(Space)&#160;nach&#160;links&#160;bewegen<br/>
(n)e<br/>
Cursor&#160;an&#160;das&#160;(n)&#160;Wortende&#160;nach&#160;rechts&#160;bewegen<br/>
(n)E<br/>
Cursor&#160;an&#160;das&#160;(n)&#160;Wortende(Space)&#160;nach&#160;rechts&#160;bewegen<br/>
^<br/>
Cursor&#160;auf&#160;das&#160;erste&#160;Zeilenzeichen&#160;stellen<br/>
0<br/>
Cursor&#160;vor&#160;das&#160;erste&#160;Zeilenzeichen&#160;stellen<br/>
(n)_<br/>
Cursor&#160;auf&#160;das&#160;erste&#160;Zeilenzeichen&#160;stellen&#160;und<br/>
(n-1)&#160;Zeilen&#160;nach&#160;unten&#160;bewegen<br/>
$<br/>
Cursor&#160;zum&#160;Zeilenende&#160;bewegen<br/>
(n)+<br/>
Cursor&#160;auf&#160;das&#160;erste&#160;Zeilenzeichen&#160;stellen&#160;und<br/>
(n)&#160;Zeilen&#160;abwärts&#160;bewegen<br/>
(n)-<br/>
Cursor&#160;auf&#160;das&#160;erste&#160;Zeilenzeichen&#160;stellen&#160;und<br/>
(n)&#160;Zeilen&#160;aufwärts&#160;bewegen<br/>
(n))<br/>
Cursor&#160;um&#160;(n)&#160;Sätze&#160;abwärts&#160;bewegen<br/>
(n)(<br/>
Cursor&#160;um&#160;(n)&#160;Sätze&#160;aufwärts&#160;bewegen<br/>
(n)}<br/>
Cursor&#160;um&#160;(n)&#160;Absätze&#160;abwärts&#160;bewegen<br/>
(n){<br/>
Cursor&#160;um&#160;(n)&#160;Absätze&#160;aufwärts&#160;bewegen<br/>
(n)&lt;Strg&gt;+u<br/>
Cursor&#160;um&#160;1/2&#160;Bildschirm&#160;oder&#160;(n&#160;Zeilen)<br/>
aufwärts&#160;bewegen<br/>
(n)&lt;Strg&gt;+d<br/>
Cursor&#160;um&#160;1/2&#160;Bildschirm&#160;oder&#160;(n&#160;Zeilen)<br/>
abwärts&#160;bewegen<br/>
&lt;Strg&gt;+f<br/>
Cursor&#160;um&#160;1&#160;Bildschirm&#160;abwärts&#160;bewegen<br/>
&lt;Bild&#160;runter&gt;<br/>
Cursor&#160;um&#160;1&#160;Bildschirm&#160;abwärts&#160;bewegen<br/>
&lt;Strg&gt;+b<br/>
Cursor&#160;um&#160;1&#160;Bildschirm&#160;aufwärts&#160;bewegen<br/>
&lt;Bild&#160;hoch&gt;<br/>
Cursor&#160;um&#160;1&#160;Bildschirm&#160;aufwärts&#160;bewegen<br/>
(n)&lt;Strg&gt;+e<br/>
scrollt&#160;den&#160;Cursor&#160;(n)&#160;Zeilen&#160;abwärts<br/>
(n)&lt;Strg&gt;+y<br/>
scrollt&#160;den&#160;Cursor&#160;(n)&#160;Zeilen&#160;aufwärts<br/>
<br/>
Taste<br/>
Cursor&#160;zu&#160;der&#160;mit&#160;Taste&#160;markierten&#160;Zeile&#160;bewegen<br/>
62<br/>
<hr/>
<a name=63></a>6.3.&#160;Befehlsmodus&#160;(visual&#160;mode)<br/>
<br/>
Taste<br/>
Cursor&#160;zu&#160;dem&#160;mit&#160;Taste&#160;markierten&#160;Zeichen&#160;bewegen<br/>
gg<br/>
Cursor&#160;zum&#160;Textanfang&#160;bewegen<br/>
(n)G<br/>
Cursor&#160;zur&#160;Zeile&#160;(n)&#160;bewegen<br/>
G<br/>
Cursor&#160;zum&#160;Textende&#160;bewegen<br/>
H<br/>
Cursor&#160;an&#160;den&#160;Anfang&#160;der&#160;Bildschirmseite&#160;setzen<br/>
(n)H<br/>
Cursor&#160;zur&#160;Zeile&#160;(n)&#160;auf&#160;den&#160;Bildschirm&#160;bewegen<br/>
M<br/>
Cursor&#160;auf&#160;den&#160;Anfang&#160;der&#160;mittleren<br/>
Bildschirmzeile&#160;bewegen<br/>
L<br/>
Cursor&#160;an&#160;das&#160;Ende&#160;der&#160;Bildschirmseite&#160;setzen<br/>
(n)L<br/>
Cursor&#160;vom&#160;Ende&#160;zur&#160;Zeile&#160;(n)&#160;auf&#160;den&#160;Bildschirm&#160;bewegen<br/>
z<br/>
Taste<br/>
bewegt&#160;die&#160;aktuelle&#160;Zeile&#160;zum&#160;Anfang(+),&#160;Ende(-)&#160;oder<br/>
zur&#160;Mitte(.)&#160;des&#160;Bildschirms<br/>
6.3.4.&#160;Löschen&#160;und&#160;Eingeben:<br/>
(n)s&#160;eingeben<br/>
löscht&#160;(n)&#160;Zeichen&#160;von&#160;dem&#160;Cursor&#160;nach&#160;rechts&#160;und<br/>
fügt&#160;den&#160;eingeben&#160;Text&#160;ein<br/>
c&#160;Bereich&#160;eingeben<br/>
löscht&#160;den&#160;markierten&#160;Bereich&#160;und<br/>
fügt&#160;den&#160;eingeben&#160;Text&#160;ein<br/>
cc<br/>
eingeben<br/>
löscht&#160;den&#160;Zeilentext&#160;und&#160;fügt&#160;den&#160;eingeben&#160;Text&#160;ein<br/>
cw<br/>
eingeben<br/>
löscht&#160;bis&#160;zum&#160;ende&#160;des&#160;Wortes&#160;und<br/>
fügt&#160;den&#160;eingeben&#160;Text&#160;ein<br/>
C<br/>
eingeben<br/>
löscht&#160;den&#160;Text&#160;bis&#160;Zeilenende&#160;und<br/>
fügt&#160;den&#160;eingeben&#160;Text&#160;ein<br/>
(n)S&#160;eingeben<br/>
löscht&#160;(n)&#160;Zeilen&#160;nach&#160;unten&#160;und<br/>
fügt&#160;den&#160;eingeben&#160;Text&#160;ein&#160;(&#160;wie&#160;(n)cc&#160;)<br/>
6.3.5.&#160;Löschen:<br/>
d<br/>
Bereich<br/>
löscht&#160;den&#160;markierten&#160;Bereich<br/>
dd<br/>
löscht&#160;die&#160;ganze&#160;Zeile<br/>
D<br/>
löscht&#160;den&#160;Text&#160;bis&#160;Zeilenende<br/>
dw<br/>
löscht&#160;bis&#160;zum&#160;Ende&#160;des&#160;Wortes<br/>
(n)x<br/>
löscht&#160;(n)&#160;Zeichen&#160;auf&#160;den&#160;sich&#160;der&#160;Cursor&#160;befindet<br/>
&lt;Entf&gt;<br/>
löscht&#160;das&#160;Zeichen&#160;auf&#160;den&#160;sich&#160;der&#160;Cursor&#160;befindet<br/>
(n)X<br/>
löscht&#160;(n)&#160;Zeichen&#160;links&#160;vom&#160;Cursor<br/>
6.3.6.&#160;Aufheben:<br/>
u<br/>
macht&#160;die&#160;letzte&#160;Änderung&#160;rückgängig<br/>
U<br/>
macht&#160;die&#160;letzte&#160;Änderung&#160;der&#160;ganzen&#160;Zeile&#160;rückgängig<br/>
6.3.7.&#160;Verschieben:<br/>
&gt;<br/>
Bereich<br/>
schiebt&#160;die&#160;markierten&#160;Zeilen&#160;nach&#160;rechts<br/>
63<br/>
<hr/>
<a name=64></a>6.&#160;Der&#160;Texteditor&#160;vi/vim<br/>
&gt;&gt;<br/>
schiebt&#160;die&#160;Zeile&#160;auf&#160;den&#160;sich&#160;der&#160;Cursor&#160;befindet<br/>
nach&#160;rechts<br/>
&lt;<br/>
Bereich<br/>
schiebt&#160;die&#160;markierten&#160;Zeilen&#160;nach&#160;links<br/>
&lt;&lt;<br/>
schiebt&#160;die&#160;Zeile&#160;auf&#160;den&#160;sich&#160;der&#160;Cursor&#160;befindet<br/>
nach&#160;links<br/>
6.3.8.&#160;Zusammenfügen:<br/>
(n)J<br/>
hängt&#160;(n)&#160;Zeilen&#160;nach&#160;unten&#160;aneinander<br/>
6.3.9.&#160;Markieren:<br/>
m<br/>
Taste<br/>
markiert&#160;eine&#160;Zeile&#160;oder&#160;Zeichen<br/>
v<br/>
setzt&#160;den&#160;Anfang&#160;einer&#160;Markierung<br/>
V<br/>
setzt&#160;den&#160;Anfang&#160;einer&#160;Zeilenmarkierung<br/>
6.3.10.&#160;Kopieren:<br/>
y<br/>
Bereich<br/>
kopiert&#160;den&#160;mit&#160;Bereich&#160;angegebenen&#160;Text&#160;in&#160;einen&#160;Puffer<br/>
(n)Y<br/>
kopiert&#160;die&#160;aktuelle&#160;und&#160;(n)&#160;Zeilen&#160;in&#160;einen&#160;Puffer<br/>
&#34;<br/>
Taste<br/>
legt&#160;den&#160;nächsten&#160;Zwischenpuffer&#160;fest<br/>
@<br/>
Taste<br/>
interpretiert&#160;den&#160;Inhalt&#160;des&#160;Zwischenspeichers&#160;als<br/>
vi&#160;Befehle&#160;und&#160;führt&#160;sie&#160;aus<br/>
6.3.11.&#160;Einfügen:<br/>
p<br/>
fügt&#160;den&#160;aktuellen&#160;Puffer&#160;hinter&#160;dem&#160;Cursor&#160;ein<br/>
P<br/>
fügt&#160;den&#160;aktuellen&#160;Puffer&#160;vor&#160;dem&#160;Cursor&#160;ein<br/>
6.3.12.&#160;Suchen:<br/>
(n)%<br/>
platziert&#160;den&#160;Cursor&#160;auf&#160;die&#160;zugehörige&#160;()&#160;{}&#160;[],&#160;oder<br/>
platziert&#160;den&#160;Cursor&#160;auf&#160;(n)&#160;Prozent&#160;der&#160;Datei<br/>
/<br/>
Text<br/>
sucht&#160;den&#160;Text&#160;vorwärts<br/>
?<br/>
Text<br/>
sucht&#160;den&#160;Text&#160;rückwärts<br/>
6.3.13.&#160;Wiederholen:<br/>
.<br/>
wiederholt&#160;das&#160;letzte&#160;EDIT&#160;Kommando<br/>
n<br/>
wiederholt&#160;das&#160;letzte&#160;Suchen<br/>
N<br/>
wiederholt&#160;das&#160;letzte&#160;Suchen&#160;in&#160;umgekehrter&#160;Richtung<br/>
(n);<br/>
wiederholt&#160;das&#160;vorgehende&#160;f,&#160;F,&#160;t,&#160;T&#160;Kommando<br/>
(n),<br/>
wiederholt&#160;das&#160;vorgehende&#160;f,&#160;F,&#160;t,&#160;T&#160;Kommando&#160;in<br/>
umgekehrter&#160;Richtung<br/>
(n)&amp;<br/>
wiederholt&#160;den&#160;letzten&#160;:s//&#160;Befehl&#160;an&#160;der&#160;momentanen<br/>
Position<br/>
64<br/>
<hr/>
<a name=65></a>6.4.&#160;Kommandomodus&#160;(colon&#160;mode)<br/>
6.3.14.&#160;Sonstige&#160;Kommandos:<br/>
&lt;Strg&gt;G<br/>
zeigt&#160;den&#160;Dateistatus&#160;und&#160;die&#160;momentane&#160;Zeilennummer<br/>
ZZ<br/>
speichert&#160;die&#160;Datei&#160;und&#160;beendet&#160;vi<br/>
&lt;Strg&gt;L<br/>
erneuert&#160;den&#160;Bildschirm<br/>
6.4.&#160;Kommandomodus&#160;(colon&#160;mode)<br/>
Um&#160;in&#160;den&#160;Kommandomodus&#160;zu&#160;gelangen&#160;muss&#160;:&#160;eingegeben&#160;werden.<br/>
6.4.1.&#160;Texteingabe&#160;Kommandos<br/>
q(!)<br/>
Editor&#160;verlassen<br/>
wq<br/>
Editor&#160;mit&#160;speichern&#160;verlassen<br/>
xit<br/>
arbeitet&#160;wie&#160;wq,&#160;speichert&#160;nur&#160;bei&#160;einer&#160;Änderung<br/>
x(!)<br/>
Editor&#160;mit&#160;speichern&#160;verlassen<br/>
w(!)&#160;Name<br/>
Datei&#160;mit&#160;Namen&#160;speichern<br/>
h<br/>
Hilfe&#160;anfordern<br/>
args&#160;Dateien<br/>
Liste&#160;der&#160;Dateien&#160;anlegen<br/>
args<br/>
Dateien&#160;auflisten<br/>
next(!)<br/>
schaltet&#160;zur&#160;nächsten&#160;Datei<br/>
previous(!)<br/>
schaltet&#160;zur&#160;vorhergehenden&#160;Datei<br/>
rewind(!)<br/>
schaltet&#160;zur&#160;ersten&#160;Datei<br/>
edit(!)&#160;Datei<br/>
dient&#160;zum&#160;wechseln&#160;der&#160;Datei<br/>
!Befehl<br/>
externen&#160;Befehl&#160;ausführen<br/>
65<br/>
<hr/>
<a name=66></a><hr/>
<a name=67></a>7.&#160;LaTeX<br/>
7.1.&#160;LATEX<br/>LATEX<br/>
67<br/>
<hr/>
<a name=68></a><hr/>
<a name=69></a>Teil&#160;III.<br/>
Linux&#160;im&#160;Netzwerk<br/>
69<br/>
<hr/>
<a name=70></a><hr/>
<a name=71></a>8.&#160;Netzwerk<br/>
Rechnername<br/>
Name&#160;den&#160;der&#160;Rechner&#160;im&#160;Netzwerk&#160;hat,<br/>
sollte&#160;nicht&#160;mehr&#160;als&#160;acht&#160;Zeichen&#160;haben,<br/>
darf&#160;im&#160;lokalen&#160;Netzwerk&#160;noch&#160;nicht&#160;vergeben&#160;sein<br/>
Domainname<br/>
Name&#160;zur&#160;Gliederung&#160;von&#160;Netzwerken<br/>
Top-Level-Domain<br/>
umfasst&#160;höchstens&#160;vier&#160;Buchstaben<br/>
Beispiel:&#160;Rechnername.Domainname.Top-Level-Domain&#160;-&gt;<br/>
voyager.startrek.foe<br/>
IP-Adresse<br/>
Adresse&#160;des&#160;Rechners&#160;im&#160;Netzwerk,<br/>
jede&#160;Netzwerkschnittstelle(z.B.&#160;Netzwerk-&#160;oder<br/>
ISDN-Karte)&#160;hat&#160;im&#160;Netzwerk&#160;mindestens&#160;eine&#160;Adresse<br/>
die&#160;eindeutig&#160;ist,&#160;die&#160;Adresse&#160;besteht&#160;derzeit&#160;aus<br/>
einer&#160;Sequenz&#160;von&#160;vier&#160;Bytes&#160;die&#160;durch&#160;Punkte&#160;getrennt<br/>
sind&#160;z.B.&#160;192.168.20.40&#160;,&#160;für&#160;private&#160;Netze&#160;sind&#160;durch<br/>
das&#160;Arbeitspapier&#160;RFC&#160;1597&#160;drei&#160;Adressbereiche<br/>
vorgesehen&#160;die&#160;nicht&#160;geroutet&#160;werden:<br/>
10.0.0.0<br/>
-&gt;&#160;10.255.255.255&#160;(Class&#160;A-Netz)<br/>
172.16.0.0&#160;-&gt;&#160;172.31.255.255&#160;(Class&#160;B-Netz)<br/>
192.168.0.0&#160;-&gt;&#160;192.168.255.255&#160;(Class&#160;C-Netz)<br/>
Gatewayadresse<br/>
IP-Adresse&#160;des&#160;Gerätes&#160;die&#160;das&#160;Weiterleiten<br/>
von&#160;Netzwerkpaketen&#160;in&#160;das&#160;fremde&#160;Netz&#160;übernimmt<br/>
Netzwerkmaske<br/>
sagt&#160;aus&#160;welcher&#160;Teil&#160;der&#160;IP-Adresse<br/>
zum&#160;lokale&#160;Netzwerk&#160;gehört&#160;z.B.&#160;255.255.255.0<br/>
####&#160;in&#160;arbeit&#160;#######################################<br/>
OSI<br/>
Open&#160;System&#160;Interconnektion<br/>
IEEE<br/>
ISO<br/>
MAC-Adresse<br/>
006097&#160;370cae<br/>
------&#160;------<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.&#160;Netzwerk<br/>
16Bit&#160;65535&#160;pro&#160;udp&#160;pro&#160;tcp/ip<br/>
/etc/services<br/>
0-1023&#160;well&#160;known&#160;Ports&#160;IANA<br/>
1024-49151&#160;registrierte&#160;Ports<br/>
-&gt;65535&#160;dynamische,&#160;privat<br/>
######################################################<br/>
72<br/>
<hr/>
<a name=73></a>9.&#160;Apache<br/>
9.1.&#160;Einleitung<br/>
Der&#160;Apache&#160;Webserver&#160;ist&#160;ein&#160;Programm&#160;das&#160;im&#160;Netzwerk(WWW),&#160;bei&#160;Anfragen&#160;mit<br/>
einem&#160;Webbrowser,&#160;Websites(HTTP-Protokoll)&#160;ausgeben&#160;kann.<br/>
Die&#160;Anfragen&#160;werden&#160;als&#160;URL&#160;angegeben.&#160;Beispiel:&#160;Schema://Hostname:Port/Server-<br/>
Pfad&#160;-&gt;&#160;http://www.apache.org:80/manual/<br/>
9.2.&#160;Kompilieren&#160;und&#160;Installieren<br/>
9.2.1.&#160;Anforderungen<br/>
&#160;Apache-Quellcode&#160;1.3,&#160;erhältlich&#160;bei&#160;http://www.apache.org/<br/>
&#160;mod_ssl&#160;1.3,&#160;erhältlich&#160;bei&#160;http://www.modssl.org/<br/>
&#160;Apache-Quellcode&#160;2.0,&#160;erhältlich&#160;bei&#160;http://www.apache.org/<br/>
&#160;OpenSSL-Quellcode&#160;0.9.x,&#160;erhältlich&#160;bei&#160;http://www.openssl.org/<br/>
&#160;Linux&#160;ab&#160;2.4.xx(z.B.Debian&#160;Sarge&#160;3.1),&#160;libgdbm2-devel(ndbm.h&#160;-&gt;&#160;gdbm-ndbm.h)<br/>
&#160;ANSI-C-Compiler&#160;und&#160;Generierungswerkzeuge,&#160;GNU&#160;C&#160;Compiler&#160;(GCC)&#160;ab&#160;Ver-<br/>
sion&#160;2.7.2,&#160;wesentliche&#160;Generierungswerkzeuge&#160;wie&#160;make<br/>
&#160;Zeitgenauigkeit&#160;bewahren,&#160;ntpdate&#160;oder&#160;xntpd(NTP)<br/>
&#160;Perl&#160;5(optional),&#160;Version&#160;ab&#160;5.003&#160;http://www.perl.com/<br/>
&#160;PureFTPd(optional),&#160;Version&#160;ab&#160;5.003&#160;http://www.perl.com/<br/>
9.2.2.&#160;Vorbereitungen<br/>
su<br/>
als&#160;root&#160;anmelden<br/>
mkdir&#160;/usr/local/src<br/>
das&#160;Verzeichnis&#160;/usr/local/src&#160;anlegen,<br/>
wenn&#160;es&#160;noch&#160;nicht&#160;vorhanden&#160;ist<br/>
chmod&#160;777&#160;/usr/local/src<br/>
Verzeichnis-Rechte&#160;setzen<br/>
ln&#160;-s&#160;/usr/include/gdbm-ndbm.h&#160;/usr/include/ndbm.h<br/>
Link&#160;zu&#160;ndbm.h<br/>
exit<br/>
root&#160;abmelden<br/>
cp&#160;Quelldateien&#160;/usr/local/src<br/>
Quelldateien&#160;kopieren<br/>
73<br/>
<hr/>
<a name=74></a>9.&#160;Apache<br/>
9.2.3.&#160;OpenSSL<br/>
cd&#160;/usr/local/src<br/>
Verzeichnis&#160;wechseln<br/>
tar&#160;xvfz&#160;openssl-0.9.7d.tar.gz<br/>
Quelldateien&#160;entpacken<br/>
cd&#160;openssl-0.9.7d<br/>
in&#160;das&#160;Quelldatei-Verzeichnis&#160;wechseln<br/>
./config&#160;--help<br/>
Hilfe&#160;zu&#160;den&#160;möglichen&#160;Optionen<br/>
./config&#160;--prefix=/usr/local/openssl/0.9.7d<br/>
Codebaum&#160;konfigurieren&#160;und<br/>
Installations-Verzeichnis&#160;angeben<br/>
make<br/>
Programm&#160;herstellen<br/>
make&#160;test<br/>
Programm&#160;testen<br/>
su<br/>
als&#160;root&#160;anmelden<br/>
make&#160;install<br/>
Programm&#160;installieren<br/>
ln&#160;-s&#160;/usr/local/openssl/0.9.7d&#160;/usr/local/openssl/current<br/>
Link&#160;zu&#160;OpenSSL<br/>
exit<br/>
root&#160;abmelden<br/>
9.2.4.&#160;Apache&#160;1.3&#160;und&#160;SSL<br/>
cd&#160;/usr/local/src<br/>
Verzeichnis&#160;wechseln<br/>
tar&#160;xvfz&#160;apache_1.3.31.tar.gz<br/>
Quelldateien&#160;entpacken<br/>
tar&#160;xvfz&#160;mod_ssl-2.8.19-1.3.31.tar.gz<br/>
Quelldateien&#160;entpacken<br/>
cd&#160;apache_1.3.31<br/>
in&#160;das&#160;Quelldatei-Verzeichnis&#160;wechseln<br/>
./configure&#160;--help<br/>
Hilfe&#160;zu&#160;den&#160;möglichen&#160;Optionen<br/>
cd&#160;../mod_ssl-2.8.19-1.3.31<br/>
./configure&#160;--help<br/>
Hilfe&#160;zu&#160;den&#160;möglichen&#160;Optionen<br/>
./configure&#160;--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&#160;../apache_1.3.31<br/>
in&#160;das&#160;Quelldatei-Verzeichnis&#160;wechseln<br/>
make<br/>
Programm&#160;herstellen<br/>
make&#160;certificate&#160;TYPE=custom<br/>
Zertifikat&#160;erzeugen<br/>
Angaben&#160;zu&#160;der&#160;Certificate&#160;Authority<br/>
Signature&#160;Algorithm&#160;((R)SA&#160;or&#160;(D)SA)&#160;[R]:R<br/>
1.&#160;Country&#160;Name<br/>
(2&#160;letter&#160;code)&#160;[XY]:DE<br/>
2.&#160;State&#160;or&#160;Province&#160;Name<br/>
(full&#160;name)<br/>
[Snake&#160;Desert]:Niedersachsen<br/>
3.&#160;Locality&#160;Name<br/>
(eg,&#160;city)<br/>
[Snake&#160;Town]:Salzgitter<br/>
4.&#160;Organization&#160;Name<br/>
(eg,&#160;company)<br/>
[Snake&#160;Oil,&#160;Ltd]:Komtek<br/>
5.&#160;Organizational&#160;Unit&#160;Name&#160;(eg,&#160;section)<br/>
[Certificate&#160;Authority]:CA<br/>
74<br/>
<hr/>
<a name=75></a>9.2.&#160;Kompilieren&#160;und&#160;Installieren<br/>
6.&#160;Common&#160;Name<br/>
(eg,&#160;CA&#160;name)<br/>
[Snake&#160;Oil&#160;CA]:Komtek&#160;CA<br/>
7.&#160;Email&#160;Address<br/>
(eg,&#160;name@FQDN)&#160;[ca@snakeoil.dom]:ca@komtek.de<br/>
8.&#160;Certificate&#160;Validity<br/>
(days)<br/>
[365]:365<br/>
Certificate&#160;Version&#160;(1&#160;or&#160;3)&#160;[3]:3<br/>
Angaben&#160;zum&#160;Serverzertifikat<br/>
1.&#160;Country&#160;Name<br/>
(2&#160;letter&#160;code)&#160;[XY]:DE<br/>
2.&#160;State&#160;or&#160;Province&#160;Name<br/>
(full&#160;name)<br/>
[Snake&#160;Desert]:Niedersachsen<br/>
3.&#160;Locality&#160;Name<br/>
(eg,&#160;city)<br/>
[Snake&#160;Town]:Salzgitter<br/>
4.&#160;Organization&#160;Name<br/>
(eg,&#160;company)<br/>
[Snake&#160;Oil,&#160;Ltd]:Komtek<br/>
5.&#160;Organizational&#160;Unit&#160;Name&#160;(eg,&#160;section)<br/>
[Webserver&#160;Team]:Webmaster<br/>
6.&#160;Common&#160;Name<br/>
(eg,&#160;FQDN)<br/>
[www.snakeoil.dom]:www.komtek.de<br/>
7.&#160;Email&#160;Address<br/>
(eg,&#160;name@fqdn)&#160;[www@snakeoil.dom]:www@www.komtek.de<br/>
8.&#160;Certificate&#160;Validity<br/>
(days)<br/>
[365]:365<br/>
Certificate&#160;Version&#160;(1&#160;or&#160;3)&#160;[3]:3<br/>
Schlüssel&#160;verschlüsseln<br/>
Encrypt&#160;the&#160;private&#160;key&#160;now?&#160;[Y/n]:&#160;n<br/>
Encrypt&#160;the&#160;private&#160;key&#160;now?&#160;[Y/n]:&#160;n<br/>
su<br/>
als&#160;root&#160;anmelden<br/>
make&#160;install<br/>
groupadd&#160;wwwadmin<br/>
Gruppe&#160;wwwadmin&#160;anlegen<br/>
chown&#160;-R&#160;nobody:wwwadmin&#160;/srv/www<br/>
Rechte&#160;für&#160;das&#160;www-Verzeichnis&#160;setzen<br/>
ln&#160;-s&#160;/usr/local/apache/1.3.31&#160;/usr/local/apache/current<br/>
Link&#160;zu&#160;Apache&#160;1.3<br/>
ln&#160;-s&#160;/usr/local/apache/current/conf&#160;/etc/apache<br/>
Link&#160;zu&#160;den&#160;Konfigurationen<br/>
ln&#160;-s&#160;/usr/local/apache/current/logs&#160;/var/log/apache<br/>
Link&#160;zu&#160;den&#160;Logdateien<br/>
ln&#160;-s&#160;/usr/local/apache/current/bin/apachectl&#160;/usr/local/bin<br/>
Link&#160;zu&#160;apachectl<br/>
ln&#160;-s&#160;/usr/local/apache/current/bin/apachectl&#160;/etc/init.d/apache<br/>
Link&#160;zu&#160;den&#160;Startdateien<br/>
cd&#160;/etc/rc5.d<br/>
in&#160;den&#160;Start-Runlevel&#160;wechseln<br/>
ln&#160;-s&#160;../init.d/apache&#160;S20apache<br/>
Link&#160;zum&#160;automatischen&#160;Starten<br/>
cd&#160;../rc0.d<br/>
in&#160;den&#160;Stopp-Runlevel&#160;wechseln<br/>
ln&#160;-s&#160;../init.d/apache&#160;K20apache<br/>
Link&#160;zum&#160;automatischen&#160;Beenden<br/>
cd&#160;../rc6.d<br/>
in&#160;den&#160;Start-Runlevel&#160;wechseln<br/>
ln&#160;-s&#160;../init.d/apache&#160;K20apache<br/>
Link&#160;zum&#160;automatischen&#160;Beenden<br/>
exit<br/>
root&#160;abmelden<br/>
75<br/>
<hr/>
<a name=76></a>9.&#160;Apache<br/>
9.2.5.&#160;Apache2<br/>
cd&#160;/usr/local/src<br/>
Verzeichnis&#160;wechseln<br/>
tar&#160;xvfz&#160;httpd-2.0.51.tar.gz<br/>
Quelldateien&#160;entpacken<br/>
cd&#160;httpd-2.0.51<br/>
in&#160;das&#160;Quelldatei-Verzeichnis&#160;wechseln<br/>
./configure&#160;--help<br/>
Hilfe&#160;zu&#160;den&#160;möglichen&#160;Optionen<br/>
./configure&#160;--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&#160;auf&#160;80&#160;schon&#160;der&#160;Apache&#160;1.3&#160;läuft<br/>
make<br/>
Programm&#160;herstellen<br/>
su<br/>
als&#160;root&#160;anmelden<br/>
make&#160;install<br/>
Programm&#160;installieren&#160;(als&#160;root!)<br/>
groupadd&#160;wwwadmin<br/>
Gruppe&#160;wwwadmin&#160;anlegen<br/>
chown&#160;-R&#160;nobody:wwwadmin&#160;/srv/www2<br/>
Rechte&#160;für&#160;das&#160;www-Verzeichnis&#160;setzen<br/>
ln&#160;-s&#160;/usr/local/apache2/2.0.51&#160;/usr/local/apache2/current<br/>
Link&#160;zu&#160;Apache&#160;2<br/>
ln&#160;-s&#160;/usr/local/apache2/current/conf&#160;/etc/apache2<br/>
Link&#160;zu&#160;den&#160;Konfigurationen<br/>
ln&#160;-s&#160;/usr/local/apache2/current/logs&#160;/var/log/apache2<br/>
Link&#160;zu&#160;den&#160;Logdateien<br/>
ln&#160;-s&#160;/usr/local/apache2/current/bin/apachectl&#160;/usr/local/bin/apachectl2<br/>
Link&#160;zu&#160;apachectl<br/>
ln&#160;-s&#160;/usr/local/apache2/current/bin/apachectl&#160;/etc/init.d/apache2<br/>
Link&#160;zu&#160;den&#160;Startdateien<br/>
cd&#160;/etc/rc5.d<br/>
in&#160;den&#160;Start-Runlevel&#160;wechseln<br/>
ln&#160;-s&#160;../init.d/apache2&#160;S20apache2<br/>
Link&#160;zum&#160;automatischen&#160;Starten<br/>
cd&#160;../rc0.d<br/>
in&#160;den&#160;Stopp-Runlevel&#160;wechseln<br/>
ln&#160;-s&#160;../init.d/apache2&#160;K20apache2<br/>
Link&#160;zum&#160;automatischen&#160;Beenden<br/>
cd&#160;../rc6.d<br/>
in&#160;den&#160;Start-Runlevel&#160;wechseln<br/>
ln&#160;-s&#160;../init.d/apache2&#160;K20apache2<br/>
Link&#160;zum&#160;automatischen&#160;Beenden<br/>
exit<br/>
root&#160;abmelden<br/>
9.2.6.&#160;Testen<br/>
/etc/init.d/apache&#160;start<br/>
Apache1.3&#160;starten<br/>
/etc/init.d/apache2&#160;start<br/>
Apache2&#160;starten<br/>
Browser&#160;http://localhost/<br/>
Apache1.3&#160;testen<br/>
Browser&#160;http://localhost:81/<br/>
Apache2&#160;testen<br/>
/etc/init.d/apache&#160;stop<br/>
Apache1.3&#160;beenden<br/>
/etc/init.d/apache2&#160;stop<br/>
Apache2&#160;beenden<br/>
76<br/>
<hr/>
<a name=77></a>9.2.&#160;Kompilieren&#160;und&#160;Installieren<br/>
9.2.7.&#160;Upgrade<br/>
./config.nice<br/>
aus&#160;der&#160;letzten&#160;Installation&#160;entnehmen,<br/>
Apache2<br/>
9.2.8.&#160;PureFTPd<br/>
cd&#160;/usr/local/src<br/>
Verzeichnis&#160;wechseln<br/>
tar&#160;xvfz&#160;pure-ftpd-1.0.20.tar.gz<br/>
Quelldateien&#160;entpacken<br/>
cd&#160;pure-ftpd-1.0.20<br/>
Verzeichnis&#160;wechseln<br/>
./configure&#160;--prefix=/usr/local/pure-ftpd/1.0.20&#160;--with-language=german<br/>
Makefile&#160;herstellen<br/>
make<br/>
Programm&#160;herstellen<br/>
make&#160;check<br/>
Programm&#160;prüfen<br/>
su<br/>
als&#160;root&#160;anmelden<br/>
make&#160;install<br/>
Programm&#160;installieren<br/>
ln&#160;-s&#160;/usr/local/pure-ftpd/1.0.20&#160;/usr/local/pure-ftpd/current<br/>
Link&#160;zu&#160;pure-ftpd<br/>
mkdir&#160;/usr/local/pure-ftpd/current/etc&#160;Verzeichnis&#160;etc&#160;anlegen<br/>
cp&#160;configuration-file/pure-ftpd.conf&#160;/usr/local/pure-ftpd/current/etc<br/>
Konfiguration&#160;kopieren<br/>
cp&#160;pureftpd-*.conf&#160;/usr/local/pure-ftpd/current/etc<br/>
Konfigurationen&#160;kopieren<br/>
ln&#160;-s&#160;/usr/local/pure-ftpd/current/etc&#160;/etc/pure-ftpd<br/>
Link&#160;zu&#160;den&#160;Konfigurationen<br/>
vi&#160;/etc/init.d/pure-ftpd<br/>
Startdatei&#160;für&#160;pure-ftpd&#160;anlegen<br/>
#!/bin/bash<br/>
case&#160;&#34;$1&#34;&#160;in<br/>
start)<br/>
echo&#160;&#34;pureftpd&#160;wird&#160;gestartet&#160;...&#34;<br/>
cd&#160;/usr/local/pure-ftpd/current<br/>
./sbin/pure-ftpd&#160;&amp;<br/>
;;<br/>
stop)<br/>
echo&#160;&#34;pureftpd&#160;wird&#160;heruntergefahren&#160;...&#34;<br/>
kill&#160;-TERM&#160;cat&#160;/var/run/pure-ftpd.pid<br/>
;;<br/>
*)<br/>
echo&#160;&#34;Usage:&#160;$0&#160;{start|stop}&#34;<br/>
exit&#160;1<br/>
;;<br/>
esac<br/>
exit&#160;0<br/>
77<br/>
<hr/>
<a name=78></a>9.&#160;Apache<br/>
chmod&#160;755&#160;/etc/init.d/pure-ftpd<br/>
Rechte&#160;setzen<br/>
cd&#160;/etc/rc5.d<br/>
Verzechnis&#160;wechseln<br/>
ln&#160;-s&#160;../init.d/pure-ftpd&#160;S20pure-ftpd&#160;Link&#160;zum&#160;automatischen&#160;Starten<br/>
cd&#160;/etc/rc0.d<br/>
Verzechnis&#160;wechseln<br/>
ln&#160;-s&#160;../init.d/pure-ftpd&#160;K20pure-ftpd&#160;Link&#160;zum&#160;automatischen&#160;Beenden<br/>
cd&#160;/etc/rc6.d<br/>
Verzechnis&#160;wechseln<br/>
ln&#160;-s&#160;../init.d/pure-ftpd&#160;K20pure-ftpd&#160;Link&#160;zum&#160;automatischen&#160;Beenden<br/>
useradd&#160;-g&#160;wwwadmin&#160;-d&#160;/srv&#160;-s&#160;/bin/false&#160;wwwadmin<br/>
Benutzer&#160;wwwadmin&#160;anlegen<br/>
passwd&#160;wwwadmin<br/>
Passwort&#160;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&#160;abmelden<br/>
9.3.&#160;Apache&#160;starten<br/>
9.3.1.&#160;Apache&#160;starten<br/>
Unter&#160;UNIX/Linux&#160;wird&#160;das&#160;httpd-Progamm&#160;als&#160;Daemon&#160;ausgeführt.<br/>
apachectl&#160;start<br/>
Apache&#160;starten<br/>
rcapache&#160;start<br/>
Apache&#160;starten(SuSE-Linux)<br/>
9.3.2.&#160;Wie&#160;der&#160;Apache&#160;startet<br/>
&#160;apachectl&#160;ist&#160;die&#160;empfohlene&#160;Methode,&#160;das&#160;httpd-Programm&#160;zu&#160;starten<br/>
&#160;apachectl&#160;setzt&#160;verschiedene&#160;Umgebungsvariablen&#160;und&#160;startet&#160;das&#160;httpd-Programm<br/>
&#160;apachectl&#160;reicht&#160;alle&#160;Kommandozeilenargumente&#160;durch<br/>
&#160;als&#160;erstes&#160;liest&#160;der&#160;httpd&#160;die&#160;Konfigurationsdatei&#160;httpd.conf&#160;ein,&#160;die&#160;beim&#160;Kom-<br/>
pilieren&#160;festgelegt&#160;wurde<br/>
&#160;zur&#160;Laufzeit&#160;kann&#160;der&#160;Ablageort&#160;geändert&#160;werden,&#160;z.B.&#160;apachectl&#160;-f&#160;/etc/apache2/httpd.conf<br/>
&#160;beim&#160;erfolgreicehn&#160;Start,&#160;trennt&#160;sich&#160;der&#160;Server&#160;vom&#160;Terminal&#160;ab<br/>
&#160;bis&#160;zum&#160;Port&#160;1024&#160;muss&#160;der&#160;Apache&#160;root-Berechtigung&#160;besitzen<br/>
&#160;der&#160;Haupt-httpd-Prozess&#160;läuft&#160;unter&#160;dem&#160;Benutzer&#160;root&#160;weiter<br/>
78<br/>
<hr/>
<a name=79></a>9.3.&#160;Apache&#160;starten<br/>
&#160;ist&#160;der&#160;Server&#160;gestartet,&#160;öffnet&#160;er&#160;seine&#160;Log-Dateien<br/>
&#160;der&#160;Apache&#160;startet&#160;mehrere&#160;Kind-Prozesse<br/>
&#160;die&#160;Kind-Prozesse&#160;werden&#160;unter&#160;weniger&#160;privilegierten&#160;Benutzerkennungen&#160;aus-<br/>
geführt(z.B.&#160;nobody,&#160;wwwrun&#160;...)<br/>
&#160;die&#160;Kind-Prozesse&#160;lauschen&#160;und&#160;beantworten&#160;Anfragen&#160;von&#160;Clients<br/>
&#160;die&#160;Kind-Prozesse&#160;werden&#160;von&#160;dem&#160;ausgewählten&#160;Multi-Processing-Modul(Apache-<br/>
MPM&#160;prefork&#160;UNIX/Linux)&#160;gesteuert<br/>
9.3.3.&#160;Fehler&#160;während&#160;des&#160;Hochfahrens<br/>
&#160;wird&#160;während&#160;des&#160;Hochfahrens&#160;einen&#160;schwerer&#160;Fehler&#160;feststellt,&#160;schreibt&#160;der&#160;Apa-<br/>
che&#160;eine&#160;Nachricht&#160;auf&#160;die&#160;Konsole&#160;oder&#160;ins&#160;ErrorLog,&#160;bevor&#160;er&#160;sich&#160;selbst&#160;beendet<br/>
&#160;eine&#160;der&#160;häufigsten&#160;Fehlermeldungen&#160;ist&#160;Ünable&#160;to&#160;bind&#160;to&#160;Port&#160;...&#34;,&#160;der&#160;Server<br/>
läuft&#160;schon&#160;oder&#160;hat&#160;keine&#160;root-Berechtigung<br/>
9.3.4.&#160;Automatisch&#160;starten&#160;und&#160;beenden<br/>
&#160;apachectl&#160;zu&#160;den&#160;Startdateien&#160;des&#160;Systems&#160;hinzufügen&#160;(rc.local,&#160;rc.x-Verzeichnis)<br/>
z.B.&#160;SuSE-Linux:<br/>
cd&#160;/etc/rc.d/rc3.d/<br/>
ln&#160;-s&#160;../apache&#160;S16apache<br/>
Link&#160;zum&#160;automatischen&#160;Starten<br/>
in&#160;Runlevel&#160;3&#160;anlegen<br/>
ln&#160;-s&#160;../apache&#160;K06apache<br/>
Link&#160;zum&#160;automatischen&#160;Beenden<br/>
in&#160;Runlevel&#160;3&#160;anlegen<br/>
z.B.&#160;Debian:<br/>
cd&#160;/etc/rc3.d/<br/>
ln&#160;-s&#160;../init.d/apache2&#160;S20apachectl<br/>
Link&#160;zum&#160;automatischen&#160;Starten&#160;in&#160;Runlevel&#160;5&#160;anlegen<br/>
cd&#160;/etc/rc0.d/<br/>
ln&#160;-s&#160;../init.d/apache2&#160;K20apachectl<br/>
Link&#160;zum&#160;automatischen&#160;Beenden&#160;in&#160;Runlevel&#160;0&#160;anlegen<br/>
9.3.5.&#160;Weitere&#160;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.&#160;Apache<br/>
9.4.&#160;Beenden&#160;und&#160;Neustarten<br/>
9.4.1.&#160;Einleitung<br/>
&#160;um&#160;den&#160;Apache&#160;zu&#160;stoppen&#160;oder&#160;neu&#160;zu&#160;starten,&#160;muss&#160;ein&#160;Signal&#160;an&#160;den&#160;laufenden<br/>
httpd-Prozess&#160;gesendet&#160;werden<br/>
&#160;es&#160;gibt&#160;zwei&#160;Möglichkeiten&#160;Signale&#160;zu&#160;senden,&#160;kill&#160;und&#160;apachectl<br/>&#160;auf&#160;dem&#160;System&#160;laufen&#160;mehrere&#160;httpd-Programme<br/>&#160;nur&#160;an&#160;den&#160;Elternprozess&#160;sollte&#160;ein&#160;Signal&#160;gesendet&#160;werden,&#160;/var/log/apache2/httpd.pid<br/>&#160;es&#160;gibt&#160;drei&#160;Signale&#160;die&#160;an&#160;den&#160;Elternprozess&#160;gesendet&#160;werden&#160;können,&#160;TERM&#160;-<br/>
beenden,&#160;HUP&#160;-&#160;neustarten,&#160;USR1&#160;-&#160;unterbrechungsfreier&#160;Neustart<br/>
&#160;es&#160;wird&#160;empfohlen&#160;apachectl&#160;zu&#160;benutzen<br/>&#160;mit&#160;tail&#160;-f&#160;/var/log/apache2/error_log&#34;kann&#160;die&#160;Signalisierung&#160;beobachtet&#160;wer-<br/>
den<br/>
9.4.2.&#160;Beenden<br/>
Signal:&#160;TERM<br/>
apachectl&#160;stop<br/>
sendet&#160;das&#160;TERM(stop)&#160;signal&#160;an<br/>
den&#160;Elternprozess<br/>
rcapache&#160;stop<br/>
Apache&#160;stoppen<br/>
bei&#160;SuSE-Linux<br/>
kill&#160;-TERM&#160;cat&#160;/var/log/apache2/httpd.pid<br/>
sendet&#160;das&#160;TERM(stop)&#160;signal&#160;an<br/>
den&#160;Elternprozess<br/>
&#160;das&#160;Senden&#160;des&#160;TERM(stop)-Signals&#160;an&#160;den&#160;Elternprozess&#160;veranlasst&#160;alle&#160;seine<br/>
Kindprozesse&#160;sich&#160;zu&#160;beenden<br/>
&#160;es&#160;dauert&#160;etwas&#160;bis&#160;alle&#160;Kindprozesse&#160;beendet&#160;sind<br/>&#160;danach&#160;beendet&#160;sich&#160;der&#160;Elternprozess<br/>&#160;alle&#160;gerade&#160;bearbeiteten&#160;Anfragen&#160;werden&#160;abgebrochen<br/>&#160;es&#160;werden&#160;keine&#160;weiteren&#160;Anfragen&#160;mehr&#160;bedient<br/>
9.4.3.&#160;Unterbrechungsfreier&#160;Neustart<br/>
Signal:&#160;USR1<br/>
apachectl&#160;graceful<br/>
sendet&#160;das&#160;USR1&#160;signal&#160;an<br/>
den&#160;Elternprozess<br/>
kill&#160;-USR1&#160;cat&#160;/var/log/apache2/httpd.pid<br/>
sendet&#160;das&#160;USR1&#160;signal&#160;an<br/>
den&#160;Elternprozess<br/>
80<br/>
<hr/>
<a name=81></a>9.4.&#160;Beenden&#160;und&#160;Neustarten<br/>
&#160;das&#160;Senden&#160;des&#160;USR1-Signals&#160;an&#160;den&#160;Elternprozess&#160;veranlasst&#160;alle&#160;seine&#160;Kind-<br/>
prozesse&#160;sich&#160;zu&#160;beenden<br/>
&#160;die&#160;Kindprozesse&#160;bearbeiten&#160;noch&#160;die&#160;letzten&#160;Anfragen&#160;und&#160;beenden&#160;sich&#160;dann<br/>
&#160;der&#160;Elternprozess&#160;liest,&#160;wärend&#160;die&#160;Kindprozesse&#160;noch&#160;laufen,&#160;seine&#160;Konfigurati-<br/>
onsdateien&#160;erneut&#160;ein&#160;und&#160;öffnet&#160;seine&#160;Logdateien&#160;neu<br/>
&#160;die&#160;Kindprozesse&#160;werden&#160;wieder&#160;gestartet<br/>
&#160;die&#160;Serverstatistiken(mod_status)&#160;werden&#160;nicht&#160;auf&#160;Null&#160;zurückgesetzt<br/>
&#160;ist&#160;die&#160;Konfigurationsdatei&#160;fehlerhaft,&#160;wird&#160;der&#160;Elternprozess&#160;nicht&#160;neu&#160;gestartet<br/>
&#160;die&#160;Kindprozesse&#160;bearbeiten&#160;noch&#160;die&#160;letzten&#160;Anfragen&#160;und&#160;beenden&#160;sich&#160;dann<br/>
&#160;wäred&#160;noch&#160;die&#160;letzten&#160;Anfragen&#160;bearbeitet&#160;werden&#160;kann&#160;der&#160;httpd&#160;nicht&#160;gestartet<br/>
werden<br/>
9.4.4.&#160;Neustarten<br/>
Signal:&#160;HUP<br/>
apachectl&#160;restart<br/>
sendet&#160;das&#160;HUP&#160;signal&#160;an<br/>
den&#160;Elternprozess<br/>
rcapache&#160;restart<br/>
Apache&#160;stoppen&#160;und&#160;dann&#160;starten<br/>
bei&#160;SuSE-Linux<br/>
kill&#160;-HUP&#160;cat&#160;/var/log/apache2/httpd.pid<br/>
sendet&#160;das&#160;HUP&#160;signal&#160;an<br/>
den&#160;Elternprozess<br/>
&#160;das&#160;Senden&#160;des&#160;HUP(wie&#160;TERM)-Signals&#160;an&#160;den&#160;Elternprozess&#160;veranlasst&#160;alle<br/>
seine&#160;Kindprozesse&#160;sich&#160;zu&#160;beenden<br/>
&#160;der&#160;Elternprozess&#160;liest&#160;seine&#160;Konfigurationsdateien&#160;erneut&#160;ein&#160;und&#160;öffnet&#160;seine<br/>
Logdateien&#160;neu<br/>
&#160;die&#160;Kindprozesse&#160;werden&#160;wieder&#160;gestartet&#160;und&#160;setzen&#160;die&#160;Bedienung&#160;von&#160;Zugriffen<br/>
fort<br/>
&#160;die&#160;Serverstatistiken(mod_status)&#160;werden&#160;auf&#160;Null&#160;zurückgesetzt<br/>
&#160;ist&#160;die&#160;Konfigurationsdatei&#160;fehlerhaft,&#160;wird&#160;der&#160;Elternprozess&#160;nicht&#160;neu&#160;gestartet<br/>
9.4.5.&#160;Anhang:&#160;Syntax&#160;überprüfen<br/>
apachectl&#160;-t<br/>
überprüft&#160;den&#160;Syntax&#160;der&#160;Konfigurationsdatei,&#160;so&#160;kann<br/>
vermieden&#160;werden&#160;das&#160;der&#160;Apache&#160;nicht&#160;neu&#160;startet<br/>
81<br/>
<hr/>
<a name=82></a>9.&#160;Apache<br/>
9.5.&#160;Anhang<br/>
9.5.1.&#160;Zu&#160;den&#160;Dateien<br/>
/etc/apache/<br/>
/etc/apache2/<br/>
/etc/httpd/<br/>
/etc/httpd2/<br/>
access.conf<br/>
Zugriffs-Konfiguration<br/>
httpd.conf<br/>
Apache&#160;Konfigurationsdatei<br/>
mime.types<br/>
Zuweisung&#160;von&#160;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.&#160;Benutzerhandbuch<br/>
9.6.1.&#160;httpd.conf<br/>
ServerType&#160;standalone<br/>
Apache&#160;nicht&#160;ueber&#160;den&#160;inetd&#160;starten.<br/>
ServerRoot&#160;&#34;/www/&#34;<br/>
Diese&#160;Einstellung&#160;sorgt&#160;dafür,&#160;dass&#160;der&#160;Apache<br/>
ausgehend&#160;von&#160;diesem&#160;Verzeichnis&#160;die<br/>
Verzeichnisse&#160;fuer&#160;Dokumente,&#160;Logfiles&#160;und<br/>
Konfigurationsdateien&#160;sucht.<br/>
LockFile&#160;/var/lock/subsys/httpd/httpd.accept.lock<br/>
Spezifizert&#160;das&#160;Lock<br/>
File.<br/>
PidFile&#160;/var/run/httpd.pid<br/>
Datei,&#160;in&#160;der&#160;sich&#160;die&#160;Prozess&#160;ID&#160;des&#160;Httpd-<br/>
Daemons&#160;befindet.<br/>
ResourceConfig&#160;/etc/httpd/srm.conf<br/>
Diese&#160;Datei&#160;enthaelt&#160;Angaben&#160;zur<br/>
Formatierung&#160;und&#160;dem&#160;Aussehen&#160;der<br/>
automatisch&#160;erzeugten&#160;Verzeichnisindizes<br/>
(FancyIndexing)&#160;sowie&#160;Angaben&#160;zu&#160;den&#160;einzelnen<br/>
Dateitypen.<br/>
AccessConfig&#160;/etc/httpd/access.conf<br/>
Datei&#160;zur&#160;Definition&#160;der&#160;Funktionen&#160;und<br/>
82<br/>
<hr/>
<a name=83></a>9.6.&#160;Benutzerhandbuch<br/>
Zugriffsrechte&#160;bestimmter&#160;Verzeichnisse<br/>
Timeout&#160;300<br/>
Zeitlimit&#160;fuer&#160;Client-Anfragen&#160;in&#160;Sekunden.<br/>
KeepAlive&#160;On<br/>
Unterstuezung&#160;der&#160;HTTP/1.1&#160;Persistent<br/>
Connections.&#160;Dardurch&#160;koennen&#160;ueber&#160;eine&#160;TCP-<br/>
Verbindung&#160;mehrere&#160;Anfragen&#160;an&#160;den&#160;Server<br/>
geschickt&#160;werden.<br/>
MaxKeepAliveRequests&#160;10<br/>
Es&#160;werden&#160;10&#160;aufeinanderfolgende&#160;Anfragen<br/>
innerhalb&#160;einer&#160;Keep-Alive-Verbindung&#160;erlaubt.<br/>
KeepAliveTimeout&#160;15<br/>
Der&#160;Server&#160;wartet&#160;maximal&#160;15&#160;Sekunden&#160;auf<br/>
weitere&#160;Anfragen&#160;des&#160;Clients&#160;bei&#160;einer&#160;Keep-<br/>
Alive-Verbindung.<br/>
MinSpareServers&#160;5<br/>
Es&#160;existieren&#160;immer&#160;mindestens&#160;5&#160;und&#160;hoechstens<br/>
MaxSpareServers&#160;10<br/>
10&#160;leerlaufende&#160;Prozesse.<br/>
StartServers&#160;5<br/>
Es&#160;werden&#160;automatisch&#160;5&#160;Kindprozesse&#160;des&#160;Apache<br/>
gestartet.<br/>
MaxClients&#160;150<br/>
Maximum&#160;von&#160;gleichzeitig&#160;laufenden<br/>
Server-Prozessen.<br/>
MaxRequestsPerChild&#160;30<br/>
Nach&#160;30&#160;Anfragen&#160;wird&#160;der&#160;Kindprozess&#160;beendet<br/>
und&#160;gegebenfalls&#160;ein&#160;neuer&#160;gestartet.<br/>
Listen&#160;12.34.56.78:80<br/>
Falls&#160;mehrere&#160;Interfaces&#160;bzw.&#160;IP&#160;Adressen&#160;fuer<br/>
den&#160;Rechner&#160;vorhanden&#160;sind,&#160;kann&#160;mit&#160;Listen<br/>
festgelegt&#160;werden,&#160;welche&#160;Ports&#160;fuer&#160;welche<br/>
Adresse&#160;abgehoert&#160;werden&#160;sollen.<br/>
Port&#160;80<br/>
Standalone&#160;Server&#160;Port&#160;80<br/>
User&#160;wwwrun<br/>
Nach&#160;dem&#160;Oeffnen&#160;des&#160;Ports&#160;(als&#160;root),&#160;wechselt<br/>
Group&#160;nogroup<br/>
Apache&#160;zu&#160;der&#160;als&#160;User&#160;und&#160;Group&#160;angegebenen<br/>
UID&#160;bzw.&#160;GID.&#160;Die&#160;Zuweisung&#160;kann&#160;entweder&#160;durch<br/>
angeben&#160;des&#160;Namens&#160;oder&#160;durch&#160;#&#160;gefolgt&#160;von&#160;der<br/>
ID&#160;erfolgen.<br/>
ServerAdmin&#160;dv@mynet.loc<br/>
Bei&#160;Fehlermeldungen&#160;wird&#160;diese&#160;Adresse&#160;dem<br/>
Client&#160;zurueckgeliefert.<br/>
ServerName&#160;www.mynet.loc<br/>
Wird&#160;bei&#160;Redirects&#160;benoetigt&#160;(wenn&#160;man<br/>
83<br/>
<hr/>
<a name=84></a>9.&#160;Apache<br/>
beispielsweise&#160;durch&#160;Eingabe&#160;von<br/>
http://www.mynet.loc/main&#160;auf&#160;das&#160;Verzeichnis<br/>
main&#160;zugreifen&#160;will,&#160;erzeugt&#160;der&#160;Apache&#160;einen<br/>
Redirect&#160;auf&#160;http://www.mynet.loc/main/&#160;.&#160;Ohne<br/>
ServerName&#160;würde&#160;der&#160;richtige&#160;Hostname&#160;des<br/>
Rechners&#160;zurückgeliefert&#160;werden.<br/>
DocumentRoot&#160;&#34;/www/htdocs/&#34;<br/>
Hier&#160;werden&#160;die&#160;HTML&#160;Seiten&#160;abgelegt.<br/>
AllowOverride&#160;All<br/>
Konfigurationsanweisungen&#160;in&#160;der&#160;.htaccess<br/>
beachten<br/>
UserDir&#160;public_html<br/>
Homepage-Directory&#160;der&#160;Benutzer<br/>
http://server/~benutzer/<br/>
DirectoryIndex&#160;index.html&#160;index.htm&#160;index.php<br/>
Wird&#160;nur&#160;ein&#160;Directory<br/>
angegeben,&#160;wird&#160;automatisch&#160;die<br/>
angegebene&#160;Datei&#160;gesucht&#160;und&#160;angezeigt.<br/>
AccessFileName&#160;.htaccess<br/>
Name&#160;der&#160;.htaccess<br/>
DefaultType&#160;text/plain<br/>
Dateien&#160;ohne&#160;Endung&#160;werden&#160;wie&#160;Text-Files<br/>
behandelt.<br/>
HostnameLookups&#160;Off<br/>
Es&#160;sollen&#160;keine&#160;DNS-Lookups&#160;ausgefuert&#160;werden.<br/>
ErrorLog&#160;/var/log/httpd/error_log<br/>
Datei&#160;zur&#160;Aufnahme&#160;von&#160;Fehlermeldungen<br/>
und&#160;sonstigen&#160;Info&#160;Meldungen<br/>
(mod_log_config).<br/>
LogLevel&#160;warn<br/>
LogLevel&#160;:-)&#160;debug,&#160;info,&#160;notice,&#160;warn,&#160;error,<br/>
crit,alert,emerg.<br/>
LogFormat&#160;...<br/>
Legt&#160;das&#160;Format&#160;der&#160;Logdatei(en)&#160;fest.<br/>
CustomLog&#160;/var/log/httpd/access_log&#160;common<br/>
Erzeugt&#160;die&#160;Datei&#160;http.access&#160;im<br/>
Common&#160;Log&#160;Format.<br/>
ServerSignature&#160;Off<br/>
ServerSignature&#160;kann&#160;man&#160;auf&#160;&#34;Off&#34;&#160;stellen,<br/>
damit&#160;ein&#160;Zugriff&#160;auf&#160;eine&#160;nichtexistente&#160;Seite<br/>
nicht&#160;Software&#160;und&#160;Versionsnummer&#160;anzeigt,<br/>
jedoch&#160;bringt&#160;das&#160;nicht&#160;allzuviel,&#160;da&#160;im&#160;HTTP<br/>
Header&#160;diese&#160;und&#160;wesentlich&#160;mehr&#160;Informationen<br/>
zu&#160;finden&#160;sind.<br/>
84<br/>
<hr/>
<a name=85></a>9.6.&#160;Benutzerhandbuch<br/>
Alias&#160;/icons/&#160;&#34;/www/icons/&#34;<br/>
Alias-Namen&#160;fuer&#160;bestimmte&#160;Verzeichnisse.&#160;Diese<br/>
werden&#160;anschliessend&#160;behandelt,&#160;als&#160;wenn&#160;sie<br/>
sich&#160;unter&#160;Document-Root&#160;befinden&#160;wuerden.<br/>
Achtung!&#160;Die&#160;Einstellungen&#160;gelten&#160;auch&#160;fuer<br/>
virtuelle&#160;Hosts.<br/>
IndexOptions&#160;FancyIndexing<br/>
Als&#160;Optionen&#160;sind&#160;angebbar:<br/>
Fancyindexing&#160;-&#160;ausführliche&#160;Verzeichnisliste<br/>
(Icons,&#160;Name,&#160;Größe,&#160;Kurzbeschreibung&#160;etc.)<br/>
SuppressLastModified&#160;-&#160;keine&#160;Angabe&#160;der&#160;letzten<br/>
Modifikationszeit<br/>
SuppressSize&#160;-&#160;keine&#160;Angabe&#160;der&#160;Filegröße<br/>
SuppressDescription&#160;-&#160;keine&#160;Angabe&#160;einer<br/>
Kurzbeschreibung<br/>
ScanHTMLTitles&#160;-&#160;HTML-Titel&#160;als&#160;Kurzbeschreibung<br/>
(Achtung:&#160;Rechnerlast!)<br/>
ReadmeName&#160;README<br/>
Die&#160;Datei&#160;README&#160;wird&#160;bei&#160;der&#160;Ausgabe&#160;des<br/>
Verzeichnisbaums&#160;angezeigt.<br/>
HeaderName&#160;HEADER<br/>
Die&#160;Datei&#160;HEADER&#160;wird&#160;am&#160;Anfangs-Tag&#160;in&#160;den<br/>
Verzeichnisbaums&#160;angezeigt.<br/>
IndexIgnore&#160;.??*&#160;*~&#160;*#<br/>
RCS&#160;CVS&#160;*,v&#160;*,t<br/>
Diese&#160;Dateien&#160;werden&#160;nicht&#160;durch<br/>
FancyIndexing&#160;angezeigt.<br/>
TypesConfig&#160;/etc/httpd/mime.types<br/>
Enthaelt&#160;die&#160;Zuweisungen&#160;Dateiendung<br/>
zu&#160;Mime-Typ<br/>
BrowserMatch&#160;&#34;Mozilla/2&#34;&#160;nokeepalive<br/>
Hiermit&#160;wird&#160;der&#160;Apache&#160;angewiesen,&#160;auf<br/>
bestimmte&#160;Browser&#160;unterschiedlich&#160;zu<br/>
reagieren.<br/>
9.6.2.&#160;Access&#160;Control&#160;List&#160;File&#160;(.htaccess)<br/>
Die&#160;Datei&#160;.htaccess&#160;muß&#160;in&#160;dem&#160;zu&#160;schützenden&#160;Ordner&#160;angelegt&#160;werden.<br/>
AuthUserFile&#160;/www/.htpasswd<br/>
Pfad&#160;zu&#160;einer&#160;Passwortdatei<br/>
AuthGroupFile&#160;/dev/null<br/>
AuthName&#160;&#34;Tux&#160;;-)&#34;<br/>
AuthType&#160;Basic<br/>
&lt;Limit&#160;GET&#160;POST&#160;PUT&gt;<br/>
require&#160;user&#160;webmaster<br/>
&lt;/Limit&gt;<br/>
85<br/>
<hr/>
<a name=86></a>9.&#160;Apache<br/>
AuthUserFile&#160;/www/.htpasswd<br/>
Pfad&#160;zu&#160;einer&#160;Passwortdatei<br/>
AuthGroupFile&#160;/www/.htgroup<br/>
Pfad&#160;zu&#160;einer&#160;Gruppendatei<br/>
AuthName&#160;&#34;Tux&#160;;-)&#34;<br/>
AuthType&#160;Basic<br/>
&lt;Limit&#160;GET&gt;<br/>
require&#160;group&#160;logins<br/>
&lt;/Limit&gt;<br/>
9.6.3.&#160;Gruppendatei&#160;(.htgroup)<br/>
cat&#160;.htgroup&#160;--&gt;<br/>
logins:&#160;benutzer1&#160;benutzer2&#160;...<br/>
9.6.4.&#160;Passwort-Datei&#160;(.htpasswd)<br/>
htpasswd&#160;-c&#160;Passwortdatei&#160;Benutzername<br/>
erzeugt&#160;eine&#160;neue&#160;Passwortdatei<br/>
und&#160;ein&#160;Benutzer<br/>
htpasswd&#160;Passwortdatei&#160;Benutzername<br/>
erzeugt&#160;ein&#160;Benutzer<br/>
9.6.5.&#160;Erstellen&#160;eines&#160;SSL-Zertifikats<br/>
openssl&#160;req&#160;-new&#160;&gt;&#160;firma.csr<br/>
openssl&#160;rsa&#160;-in&#160;privkey.pem&#160;-out&#160;firma.key<br/>
openssl&#160;x509&#160;-in&#160;firma.csr&#160;-out&#160;firma.crt&#160;-req&#160;-signkey&#160;firma.key&#160;-days&#160;10000<br/>
cp&#160;firma.key&#160;/etc/httpd/ssl.key/server.key<br/>
cp&#160;firma.crt&#160;/etc/httpd/ssl.crt/server.crt<br/>
cp&#160;firma.csr&#160;/etc/httpd/ssl.csr/server.csr<br/>
chown&#160;root&#160;privkey.pem<br/>
chmod&#160;400&#160;privkey.pem<br/>
9.6.6.&#160;LinkIcon&#160;(favicon.ico)<br/>
Was&#160;ist&#160;ein&#160;favicon.ico?<br/>
Immer&#160;wenn&#160;ein&#160;IE5&#160;Benutzer&#160;eine&#160;Seite&#160;seinen&#160;Favoriten&#160;hinzufügt,&#160;sucht&#160;der&#160;IE5<br/>
nach&#160;einem&#160;Icon&#160;das&#160;er&#160;anstatt&#160;des&#160;Standardicons&#160;in&#160;der&#160;Favoritenliste&#160;anzeigen&#160;kann.<br/>
Er&#160;sucht&#160;zuerst&#160;im&#160;aktuellen&#160;Verzeichnis&#160;und&#160;geht&#160;dann&#160;Ebene&#160;für&#160;Ebene&#160;weiter&#160;bis<br/>
zum&#160;Wurzelverzeichnis.&#160;Nehmen&#160;wir&#160;mal&#160;an,&#160;das&#160;aktuelle&#160;Dokument&#160;befindet&#160;sich&#160;un-<br/>
ter&#160;http://www.bjoernsworld.de/suchmaschinen/&#160;optimieren/aufraeumen.html,&#160;dann<br/>
wird&#160;der&#160;IE&#160;5&#160;so&#160;nach&#160;dem&#160;Icon&#160;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.&#160;Benutzerhandbuch<br/>
Er&#160;sucht&#160;solange,&#160;bis&#160;er&#160;eines&#160;gefunden&#160;hat&#160;oder&#160;bei&#160;/favicon.ico&#160;angekommen&#160;ist.<br/>
Das&#160;gilt&#160;nur&#160;für&#160;den&#160;Internet&#160;Explorer&#160;Version&#160;5.0&#160;und&#160;5.01;&#160;Version&#160;5.5&#160;sucht&#160;nur&#160;noch<br/>
nach&#160;/favicon.ico&#160;selbstständig.&#160;Hat&#160;er&#160;eins&#160;gefunden,&#160;zeigt&#160;er&#160;es&#160;in&#160;der&#160;Favoritenliste<br/>
an&#160;und&#160;beim&#160;erneuten&#160;Besuch&#160;der&#160;Seite&#160;auch&#160;links&#160;neben&#160;der&#160;URL&#160;in&#160;der&#160;Adresszeile:<br/>
Welches&#160;Format&#160;hat&#160;das&#160;favicon.ico?<br/>
Das&#160;favicon.ico&#160;ist&#160;ein&#160;Icon&#160;im&#160;Microsoft&#160;Windows&#160;Icon&#160;File&#160;Format.&#160;Windows&#160;Be-<br/>
nutzer&#160;sehen&#160;täglich&#160;solche&#160;Icons&#160;auf&#160;ihrem&#160;Desktop,&#160;in&#160;ihrem&#160;Startmenü,&#160;etc.&#160;In&#160;der<br/>
Favoritenliste&#160;wird&#160;dieses&#160;Icon&#160;in&#160;der&#160;Größe&#160;16x16&#160;Pixel&#160;dargestellt,&#160;daher&#160;sollte&#160;man<br/>
das&#160;Icon&#160;auch&#160;in&#160;dieser&#160;Größe&#160;erstellen.&#160;Die&#160;Farbzahl&#160;beschränkt&#160;sich&#160;auf&#160;16&#160;bzw.&#160;256<br/>
Farben,&#160;wobei&#160;eine&#160;als&#160;transparente&#160;Farbe&#160;gilt.<br/>
Welchen&#160;MIME-Type&#160;hat&#160;das&#160;favicon.ico?<br/>
Der&#160;korrekte&#160;MIME-Type&#160;für&#160;das&#160;favicon.ico&#160;ist&#160;image/x-icon.&#160;Beim&#160;Apache&#160;Webserver<br/>
kann&#160;man&#160;das&#160;in&#160;einer&#160;.htaccess&#160;mit&#160;der&#160;Zeile:<br/>
AddType&#160;image/x-icon&#160;.ico<br/>
konfigurieren.<br/>
Wie&#160;erstelle&#160;ich&#160;ein&#160;favicon.ico?<br/>
Man&#160;braucht&#160;dafür&#160;einen&#160;Icon&#160;Editor&#160;wie&#160;man&#160;sie&#160;zuhauf&#160;bei&#160;Tucows&#160;oder&#160;Winfiles.&#160;com<br/>
finden&#160;kann.&#160;Mit&#160;z.B.&#160;dem&#160;Freeware&#160;Tool&#160;Irfan&#160;View&#160;ist&#160;es&#160;ohne&#160;Probleme&#160;möglich,<br/>
eine&#160;Gifdatei&#160;in&#160;das&#160;Icon&#160;Format&#160;zu&#160;konvertieren.&#160;Macintosh&#160;Benutzer&#160;können&#160;den<br/>
GraphicConverter&#160;von&#160;Thorsten&#160;Lemke&#160;oder&#160;den&#160;Iconographer&#160;von&#160;MscapeSoftware<br/>
benutzen&#160;um&#160;das&#160;Icon&#160;zu&#160;erstellen.&#160;Bei&#160;favicon.com&#160;gibt&#160;es&#160;einen&#160;Online&#160;Editor&#160;in<br/>
Java,&#160;mit&#160;dem&#160;man&#160;online&#160;sein&#160;eigenes&#160;favicon.ico&#160;erstellen&#160;kann.<br/>
Wohin&#160;muss&#160;das&#160;favicon.ico?<br/>
Wie&#160;oben&#160;schon&#160;gesagt,&#160;sucht&#160;der&#160;IE5,&#160;vor&#160;Version&#160;5.5,&#160;zuerst&#160;im&#160;aktuellen&#160;Verzeichnis<br/>
und&#160;geht&#160;dann&#160;Ebene&#160;um&#160;Ebene&#160;nach&#160;oben,&#160;bis&#160;er&#160;unter&#160;http://host/favicon.ico&#160;ein<br/>
Icon&#160;findet&#160;oder&#160;eben&#160;nicht.&#160;Man&#160;kann&#160;entweder&#160;in&#160;jedes&#160;Verzeichnis&#160;ein&#160;favicon.ico<br/>
plazieren,&#160;oder&#160;im&#160;&lt;HEAD&gt;&#160;einer&#160;jeden&#160;HTML&#160;Datei&#160;auf&#160;ein&#160;Icon&#160;verweisen:<br/>
&lt;link&#160;rel=&#34;SHORTCUT&#160;ICON&#34;&#160;href=&#34;/favicon.ico&#34;&#160;title=&#34;external:/favicon.ico&#34;&gt;<br/>
Wenn&#160;der&#160;Apache&#160;Webserver&#160;mit&#160;mod_rewrite&#160;benutzt&#160;wird,&#160;kann&#160;man&#160;mit&#160;dieser<br/>
Regel:<br/>
RewriteEngine&#160;on<br/>
RewriteRule&#160;^(.+)/favicon\.ico$&#160;/favicon.ico&#160;[R=permanent]&#160;[L]<br/>
87<br/>
<hr/>
<a name=88></a>9.&#160;Apache<br/>
(z.B.&#160;in&#160;der&#160;.htaccess)&#160;alle&#160;Anfragen&#160;für&#160;favicons&#160;in&#160;Unterverzeichnissen&#160;auf&#160;das<br/>
favicon.ico&#160;im&#160;Root-Verzeichnis&#160;der&#160;Domain&#160;umleiten.<br/>
Wenn&#160;mod_rewrite&#160;nicht&#160;zur&#160;Verfügung&#160;steht,&#160;wohl&#160;aber&#160;Zugriff&#160;auf&#160;die&#160;Konfigu-<br/>
rationsdateien&#160;Apache&#160;Web&#160;Servers,&#160;kann&#160;man&#160;in&#160;z.B.&#160;der&#160;&lt;VirtualHost&gt;&#160;Sektion<br/>
folgenden&#160;Befehl&#160;einfügen:<br/>
RedirectMatch&#160;Permanent&#160;^(.+)/favicon\.ico$&#160;http://server.de/favicon.ico<br/>
Wie&#160;kann&#160;man&#160;diese&#160;Funktion&#160;abstellen?<br/>
Es&#160;gibt&#160;meines&#160;Wissens&#160;nach&#160;keine&#160;Möglichkeit&#160;den&#160;IE5&#160;dazu&#160;zu&#160;bringen,&#160;nicht&#160;nach<br/>
dem&#160;favicon.ico&#160;zu&#160;suchen.<br/>
Links&#160;zum&#160;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.&#160;MySQL<br/>
10.1.&#160;Einleitung<br/>
MySQL&#160;ist&#160;eine&#160;Datenbank&#160;und&#160;phpMyAdmin&#160;eine&#160;Web-Oberfläche,&#160;um&#160;MySQL&#160;zu<br/>
konfigurieren.<br/>
10.2.&#160;Kompilieren&#160;und&#160;Installieren<br/>
10.2.1.&#160;Anforderungen<br/>
&#160;MySQL-Quellcode&#160;4.x.xx,&#160;erhältlich&#160;bei&#160;http://www.mysql.com/<br/>
&#160;Linux&#160;2.x.xx<br/>
&#160;ANSI-C-Compiler&#160;und&#160;Generierungswerkzeuge,&#160;GNU&#160;C&#160;Compiler&#160;(GCC)&#160;ab&#160;Ver-<br/>
sion&#160;2.95.4,&#160;wesentliche&#160;Generierungswerkzeuge&#160;wie&#160;make<br/>
&#160;phpMyAdmin&#160;2.x.x(optional),&#160;erhältlich&#160;bei&#160;http://www.phpmyadmin.net/,&#160;Web-<br/>
Server,&#160;Apache&#160;1&#160;oder&#160;2&#160;mit&#160;PHP&#160;4&#160;oder&#160;5<br/>
10.2.2.&#160;Vorbereitungen<br/>
su<br/>
als&#160;root&#160;anmelden<br/>
mkdir&#160;/usr/local/src<br/>
das&#160;Verzeichnis&#160;/usr/local/src&#160;anlegen,<br/>
wenn&#160;es&#160;noch&#160;nicht&#160;vorhanden&#160;ist<br/>
chmod&#160;777&#160;/usr/local/src<br/>
Verzeichnis-Rechte&#160;setzen<br/>
exit<br/>
root&#160;abmelden<br/>
cp&#160;Quelldateien&#160;/usr/local/src<br/>
Quelldateien&#160;kopieren<br/>
10.2.3.&#160;MySQL<br/>
cd&#160;/usr/local/src<br/>
Verzeichnis&#160;wechseln<br/>
tar&#160;xvfz&#160;mysql-4.0.21.tar.gz<br/>
Quelldateien&#160;entpacken<br/>
cd&#160;mysql-4.0.21<br/>
in&#160;das&#160;Quelldatei-Verzeichnis&#160;wechseln<br/>
./configure&#160;--help<br/>
Hilfe&#160;zu&#160;den&#160;miöglichen&#160;Optionen<br/>
./configure&#160;--prefix=/usr/local/mysql/4.0.21&#160;--localstatedir=/var/mysql/data<br/>
prefix:&#160;Installations-Verzeichnis<br/>
localstatedir:&#160;Daten-Verzeichnis<br/>
make<br/>
Programm&#160;herstellen<br/>
89<br/>
<hr/>
<a name=90></a>10.&#160;MySQL<br/>
su<br/>
als&#160;root&#160;anmelden<br/>
make&#160;install<br/>
Programm&#160;installieren&#160;(als&#160;root!)<br/>
ln&#160;-s&#160;/usr/local/mysql/4.0.21&#160;/usr/local/mysql/current<br/>
Link&#160;zu&#160;MySQL<br/>
cp&#160;support-files/mysql.server&#160;/etc/init.d/mysql<br/>
Startdatei&#160;kopieren<br/>
chmod&#160;755&#160;/etc/init.d/mysql<br/>
Dateirechte&#160;einstellen<br/>
ln&#160;-s&#160;/etc/init.d/mysql&#160;/etc/rc5.d/S20mysql<br/>
Link&#160;zum&#160;Starten&#160;in&#160;Runlevel5&#160;anlegen<br/>
ln&#160;-s&#160;/etc/init.d/mysql&#160;/etc/rc6.d/K20mysql<br/>
Link&#160;zum&#160;Beenden&#160;in&#160;Runlevel6&#160;anlegen<br/>
ln&#160;-s&#160;/etc/init.d/mysql&#160;/etc/rc0.d/K20mysql<br/>
Link&#160;zum&#160;Beenden&#160;in&#160;Runlevel0&#160;anlegen<br/>
groupadd&#160;mysql<br/>
Gruppe&#160;mysql&#160;anlegen<br/>
useradd&#160;-g&#160;mysql&#160;-d&#160;/usr/local/mysql/current&#160;-s&#160;/bin/false&#160;mysql<br/>
Benutzer&#160;mysql&#160;anlengen<br/>
mkdir&#160;-p&#160;/var/mysql/data<br/>
Daten-Verzeichnis&#160;anlegen<br/>
./scripts/mysql_install_db&#160;--user=mysql&#160;initiale&#160;Datenbank&#160;installieren<br/>
cd&#160;/usr/local/mysql/current<br/>
in&#160;das&#160;mysql&#160;Verzeichnis&#160;wechseln<br/>
cp&#160;share/mysql/my-medium.cnf&#160;/var/mysql/data/my.cnf<br/>
Konfiguration&#160;anlegen<br/>
chown&#160;-R&#160;root:mysql&#160;.<br/>
Benutzer-Gruppen-Rechte&#160;setzen<br/>
chown&#160;-R&#160;mysql:mysql&#160;/var/mysql/data<br/>
Rechte&#160;für&#160;das&#160;Daten-Verzeichnis&#160;setzen<br/>
/etc/init.d/mysql&#160;start<br/>
mysql&#160;starten<br/>
./bin/mysqladmin&#160;-u&#160;root&#160;password&#160;geheim<br/>
Datenbank-Passwort&#160;setzen<br/>
Achtung&#160;!&#160;das&#160;Passwort&#160;steht&#160;danach&#160;in<br/>
der&#160;~/.bash_history<br/>
10.2.4.&#160;MySQL&#160;Testen<br/>
./bin/mysql&#160;-D&#160;mysql&#160;-u&#160;root&#160;-p<br/>
Client&#160;starten&#160;und&#160;zugriff&#160;auf&#160;die<br/>
Steuerungs-Datenbank&#160;nehmen<br/>
mysql&gt;&#160;show&#160;tables;<br/>
Tabelle&#160;anzeigen<br/>
+-----------------+<br/>
|&#160;Tables_in_mysql&#160;|<br/>
+-----------------+<br/>
|&#160;columns_priv<br/>
|<br/>
|&#160;db<br/>
|<br/>
|&#160;func<br/>
|<br/>
|&#160;host<br/>
|<br/>
|&#160;tables_priv<br/>
|<br/>
|&#160;user<br/>
|<br/>
90<br/>
<hr/>
<a name=91></a>10.2.&#160;Kompilieren&#160;und&#160;Installieren<br/>
+-----------------+<br/>
6&#160;rows&#160;in&#160;set&#160;(0.00&#160;sec)<br/>
mysql&gt;&#160;exit;<br/>
Client&#160;beenden<br/>
Bye<br/>
exit<br/>
root&#160;abmelden<br/>
10.2.5.&#160;phpMyAdmin<br/>
su<br/>
als&#160;root&#160;anmelden<br/>
cd&#160;/srv/www/htdocs<br/>
in&#160;das&#160;Apache1.3-Verzeichnis&#160;wechseln<br/>
cd&#160;/srv/www2/htdocs<br/>
in&#160;das&#160;Apache2-Verzeichnis&#160;wechseln<br/>
tar&#160;xvfj&#160;/usr/local/src/phpMyAdmin-2.5.7-pl1.tar.bz2<br/>
Dateien&#160;entpacken<br/>
ln&#160;-s&#160;phpMyAdmin-2.5.7-pl1&#160;phpMyAdmin<br/>
Link&#160;zu&#160;phpMyAdmin&#160;anlegen<br/>
vi&#160;phpMyAdmin/config.inc.php<br/>
phpMyAdmin&#160;anpassen<br/>
$cfg[PmaAbsoluteUri]&#160;=&#160;http://localhost/phpMyAdmin/;<br/>
URL&#160;zu&#160;Apache1.3<br/>
$cfg[PmaAbsoluteUri]&#160;=&#160;http://localhost:81/phpMyAdmin/;<br/>
URL&#160;zu&#160;Apache2<br/>
$cfg[Servers][$i][user]<br/>
=&#160;root;<br/>
//&#160;MySQL&#160;user<br/>
$cfg[Servers][$i][password]<br/>
=&#160;geheim;&#160;//&#160;MySQL&#160;password<br/>
vi&#160;phpMyAdmin/.htaccess<br/>
htaccess&#160;anlegen<br/>
AuthType&#160;Basic<br/>
AuthName&#160;&#34;PhpMyAdmin&#34;<br/>
AuthUserFile&#160;/srv/www/htdocs/phpMyAdmin/.htpasswd<br/>
Apache1.3<br/>
AuthUserFile&#160;/srv/www2/htdocs/phpMyAdmin/.htpasswd<br/>
Apache2<br/>
AuthGroupFile&#160;/dev/null<br/>
&lt;Limit&#160;GET&#160;POST&gt;<br/>
require&#160;valid-user<br/>
&lt;/Limit&gt;<br/>
cd&#160;/usr/local/apache/current/bin<br/>
Verzeichnis&#160;wechseln,&#160;Apache1.3<br/>
cd&#160;/usr/local/apache2/current/bin<br/>
Verzeichnis&#160;wechseln,&#160;Apache2<br/>
./htpasswd&#160;--help<br/>
Hilfe&#160;zu&#160;htpasswd<br/>
./htpasswd&#160;-c&#160;/srv/www/htdocs/phpMyAdmin/.htpasswd&#160;root<br/>
Apache1.3<br/>
./htpasswd&#160;-c&#160;/srv/www2/htdocs/phpMyAdmin/.htpasswd&#160;root<br/>
Apache2<br/>
vi&#160;/etc/apache/httpd.conf<br/>
Apache1.3&#160;anpassen<br/>
91<br/>
<hr/>
<a name=92></a>10.&#160;MySQL<br/>
vi&#160;/etc/apache2/httpd.conf<br/>
Apache2&#160;anpassen<br/>
&lt;Directory&#160;&#34;/srv/www/htdocs&#34;&gt;<br/>
Options&#160;Indexes&#160;FollowSymLinks&#160;MultiViews<br/>
AllowOverride&#160;AuthConfig<br/>
None&#160;-&gt;&#160;AuthConfig<br/>
Order&#160;allow,deny<br/>
Allow&#160;from&#160;all<br/>
&lt;/Directory&gt;<br/>
/etc/init.d/apache&#160;graceful<br/>
Einstellungen&#160;neu&#160;einlesen,&#160;Apache1.3<br/>
/etc/init.d/apache2&#160;graceful<br/>
Einstellungen&#160;neu&#160;einlesen,&#160;Apache2<br/>
exit<br/>
root&#160;abmelden<br/>
92<br/>
<hr/>
<a name=93></a>11.&#160;PHP<br/>
11.1.&#160;Einleitung<br/>
Wer&#160;hat&#160;PHP&#160;erfunden&#160;?<br/>
Der&#160;Kanada-Däne&#160;Rasmus&#160;Lerdorf&#160;!<br/>
Was&#160;heist&#160;PHP&#160;?<br/>
Personal&#160;Home&#160;Page&#160;Tools<br/>
Was&#160;ist&#160;PHP&#160;?<br/>
Eine&#160;einfache&#160;Skriptsprache.&#160;Sie&#160;wird&#160;direkt<br/>
in&#160;HTML-Seiten&#160;eingefügt&#160;und&#160;vom&#160;Webserver<br/>
interpretiert.<br/>
Wie&#160;funktioniert&#160;PHP&#160;?<br/>
Der&#160;Browser&#160;schickt&#160;einen&#160;HTTP-Request&#160;an&#160;den<br/>
Webserver.&#160;Der&#160;Server&#160;reagiert,&#160;liest&#160;die<br/>
PHP-Seite&#160;ein,&#160;und&#160;führt&#160;die&#160;Skripte&#160;aus&#160;und<br/>
schickt&#160;erst&#160;das&#160;fertig&#160;zusammengesetzte<br/>
Dokument&#160;zurück&#160;an&#160;den&#160;Browser&#160;!<br/>
LAMP&#160;-&#160;Linux-Apache-MySQL-PHP<br/>
WAMP&#160;-&#160;Windows-Apache-MySQL-PHP<br/>
11.2.&#160;Kompilieren&#160;und&#160;Installieren<br/>
11.2.1.&#160;Anforderungen<br/>
&#160;PHP&#160;4&#160;oder&#160;5,&#160;erhältlich&#160;bei&#160;http://www.php.net/<br/>
&#160;Linux&#160;ab&#160;2.4.xx(z.B.Debian&#160;Sarge&#160;3.1)<br/>
&#160;ANSI-C-Compiler&#160;und&#160;Generierungswerkzeuge,&#160;GNU&#160;C&#160;Compiler&#160;(GCC)&#160;ab&#160;Ver-<br/>
sion&#160;2.7.2,&#160;wesentliche&#160;Generierungswerkzeuge&#160;wie&#160;make<br/>
&#160;Webserver&#160;z.B.&#160;Apache&#160;1.3&#160;oder&#160;2<br/>
&#160;GD-Library&#160;ab&#160;2.x.x,&#160;erhältlich&#160;bei&#160;http://www.boutell.com/gd/,&#160;Freetype&#160;ab<br/>
2.x.x,&#160;erhältlich&#160;bei&#160;http://www.freetype.org/,&#160;Zlib&#160;ab&#160;1.x.x,&#160;erhältlich&#160;bei&#160;http://www.gzip.org/zlib/,<br/>
IJG&#160;JPEG,&#160;erhältlich&#160;bei&#160;http://www.ijg.org/<br/>
11.2.2.&#160;Vorbereitungen<br/>
su<br/>
als&#160;root&#160;anmelden<br/>
mkdir&#160;/usr/local/src<br/>
das&#160;Verzeichnis&#160;/usr/local/src&#160;anlegen,<br/>
wenn&#160;es&#160;noch&#160;nicht&#160;vorhanden&#160;ist<br/>
93<br/>
<hr/>
<a name=94></a>11.&#160;PHP<br/>
chmod&#160;777&#160;/usr/local/src<br/>
Verzeichnis-Rechte&#160;setzen<br/>
exit<br/>
root&#160;abmelden<br/>
cp&#160;Quelldateien&#160;/usr/local/src<br/>
Quelldateien&#160;kopieren<br/>
11.2.3.&#160;Libraries&#160;für&#160;Zusatzfunktionen<br/>
Freetype<br/>
cd&#160;/usr/local/src<br/>
Verzeichnis&#160;wechseln<br/>
tar&#160;xvfj&#160;freetype-2.1.9.tar.bz2<br/>
Quelldateien&#160;entpacken<br/>
cd&#160;freetype-2.1.9<br/>
in&#160;das&#160;Quelldatei-Verzeichnis&#160;wechseln<br/>
./configure<br/>
Codebaum&#160;konfigurieren<br/>
make<br/>
Programm&#160;herstellen<br/>
su<br/>
als&#160;root&#160;anmelden<br/>
make&#160;install<br/>
Programm&#160;installieren<br/>
exit<br/>
root&#160;abmelden<br/>
Zlib<br/>
cd&#160;/usr/local/src<br/>
Verzeichnis&#160;wechseln<br/>
tar&#160;xvfz&#160;zlib-1.2.1.tar.gz<br/>
Quelldateien&#160;entpacken<br/>
cd&#160;zlib-1.2.1<br/>
in&#160;das&#160;Quelldatei-Verzeichnis&#160;wechseln<br/>
./configure<br/>
Codebaum&#160;konfigurieren<br/>
make<br/>
Programm&#160;herstellen<br/>
su<br/>
als&#160;root&#160;anmelden<br/>
make&#160;install<br/>
Programm&#160;installieren<br/>
exit<br/>
root&#160;abmelden<br/>
IJG&#160;JPEG<br/>
cd&#160;/usr/local/src<br/>
Verzeichnis&#160;wechseln<br/>
tar&#160;xvfz&#160;jpegsrc.v6b.tar.gz<br/>
Quelldateien&#160;entpacken<br/>
cd&#160;jpeg-6b<br/>
in&#160;das&#160;Quelldatei-Verzeichnis&#160;wechseln<br/>
./configure&#160;--help<br/>
Hilfe&#160;zu&#160;den&#160;möglichen&#160;Optionen<br/>
./configure&#160;--enable-shared<br/>
--enable-static<br/>
--prefix=/usr/local<br/>
make<br/>
Programm&#160;herstellen<br/>
make&#160;test<br/>
Programm&#160;testen<br/>
su<br/>
als&#160;root&#160;anmelden<br/>
make&#160;install<br/>
Programm&#160;installieren<br/>
exit<br/>
root&#160;abmelden<br/>
GD-Library<br/>
cd&#160;/usr/local/src<br/>
Verzeichnis&#160;wechseln<br/>
94<br/>
<hr/>
<a name=95></a>11.2.&#160;Kompilieren&#160;und&#160;Installieren<br/>
tar&#160;xvfz&#160;gd-2.0.28.tar.gz<br/>
Quelldateien&#160;entpacken<br/>
cd&#160;gd-2.0.28<br/>
in&#160;das&#160;Quelldatei-Verzeichnis&#160;wechseln<br/>
./configure<br/>
Codebaum&#160;konfigurieren<br/>
make<br/>
Programm&#160;herstellen<br/>
su<br/>
als&#160;root&#160;anmelden<br/>
make&#160;install<br/>
Programm&#160;installieren<br/>
exit<br/>
root&#160;abmelden<br/>
11.2.4.&#160;PHP<br/>
cd&#160;/usr/local/src<br/>
Verzeichnis&#160;wechseln<br/>
tar&#160;xvfj&#160;php-5.0.1.tar.bz2<br/>
Quelldateien&#160;entpacken<br/>
cd&#160;php-5.0.1<br/>
in&#160;das&#160;Quelldatei-Verzeichnis&#160;wechseln<br/>
./configure&#160;--help<br/>
Hilfe&#160;zu&#160;den&#160;möglichen&#160;Optionen<br/>
./configure&#160;--with-apxs=/usr/local/apache/current/bin/apxs<br/>
Apache&#160;1.3&#160;oder<br/>
--with-apxs2=/usr/local/apache2/current/bin/apxs<br/>
Apache&#160;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&#160;herstellen<br/>
su<br/>
als&#160;root&#160;anmelden<br/>
make&#160;install<br/>
Programm&#160;installieren<br/>
cp&#160;php.ini-dist&#160;/etc/php.ini<br/>
PHP-Konfiguration&#160;kopieren<br/>
vi&#160;/etc/apache/httpd.conf<br/>
Apache1.3&#160;anpassen<br/>
vi&#160;/etc/apache2/httpd.conf<br/>
Apache2&#160;anpassen<br/>
LoadModule&#160;php5_module<br/>
modules/libphp5.so<br/>
Apache2<br/>
LoadModule&#160;php5_module<br/>
libexec/libphp5.so<br/>
Apache1.3<br/>
AddModule&#160;mod_php5.c<br/>
Apache1.3<br/>
DirectoryIndex&#160;index.html&#160;index.htm&#160;index.html.var&#160;index.php&#160;index.phtml<br/>
AddType&#160;application/x-httpd-php&#160;.php<br/>
AddType&#160;application/x-httpd-php-source&#160;.phps<br/>
exit<br/>
root&#160;abmelden<br/>
95<br/>
<hr/>
<a name=96></a>11.&#160;PHP<br/>
11.3.&#160;Referenz<br/>
11.3.1.&#160;Grundlagen<br/>
&lt;?php&#160;,&#160;&lt;?&#160;oder&#160;&lt;%<br/>
Beginn&#160;des&#160;PHP-Abschnitts<br/>
?&gt;&#160;oder&#160;%&gt;<br/>
Ende&#160;des&#160;PHP-Abschnitts<br/>
;<br/>
Zeilenende<br/>
//&#160;Kommentartext<br/>
Einzeiliger&#160;Kommentartext<br/>
/*&#160;Kommentartext<br/>
Einleitung,&#160;mehrzeiliger&#160;Kommentartext<br/>
Kommentartext&#160;*/<br/>
Abschluss,&#160;mehrzeiliger&#160;Kommentartext<br/>
$<br/>
Variablen&#160;anfang<br/>
echo&#160;&#34;Text&#34;&#160;;<br/>
Text&#160;ausgeben<br/>
echo&#160;&#34;Text&#160;$Variable&#160;Text&#34;&#160;;<br/>
Variable&#160;ausgeben<br/>
echo&#160;&#34;Text&#34;.$Variable.&#34;Text&#34;&#160;;&#160;.&#160;Verketten&#160;von&#160;Zeichenfolgen<br/>
echo&#160;&#34;Text\n&#34;&#160;;<br/>
\n&#160;Erzeugt&#160;eine&#160;neue&#160;Zeile<br/>
echo&#160;&#34;Text\r&#34;&#160;;<br/>
\r&#160;Erzeugt&#160;einen&#160;neuen&#160;Absatz&#160;(return)<br/>
echo&#160;&#34;Text\tText&#34;&#160;;<br/>
\t&#160;Erzeugt&#160;ein&#160;Tabulatorschritt<br/>
echo&#160;&#34;\&#34;Text\&#34;&#34;&#160;;<br/>
\&#34;&#160;Gänsefüßchen&#160;ausgeben<br/>
echo&#160;&#34;\Text\&#34;&#160;;<br/>
\&#160;Einfache&#160;Anführungszeichen&#160;ausgeben<br/>
echo&#160;&#34;\$Text\$&#34;&#160;;<br/>
\$&#160;Dollar-Zeichen&#160;ausgeben<br/>
echo&#160;&#34;\\Text\\&#34;&#160;;<br/>
\\&#160;Backslash&#160;ausgeben<br/>
$Array[Indexwert]=&#34;Wert&#34;&#160;;<br/>
Wert&#160;einer&#160;Array-Variable&#160;zuweisen&#160;(Langform)<br/>
$Array=array(&#34;W0&#34;,&#34;W1&#34;)&#160;;<br/>
Werte&#160;einer&#160;Array-Variable&#160;zuweisen&#160;(Kurzform)<br/>
echo&#160;$Array[Indexwert]&#160;;<br/>
Wert&#160;einer&#160;Array-Variable&#160;ausgeben<br/>
$Array[Index-Ersatz]=&#34;Wert&#34;&#160;;<br/>
Wert&#160;eines&#160;Assoziativen-Arrays&#160;zuweisen&#160;(Langf.)<br/>
$Array=array(&#34;I-E0&#34;=&gt;&#34;W0&#34;,&#34;I-E1&#34;=&gt;&#34;W1&#34;)&#160;;<br/>
Werte&#160;eines&#160;Assoziativen-Arrays&#160;zuweisen(Kurzf.)<br/>
echo&#160;$Array[Index-Ersatz]&#160;;<br/>
Wert&#160;eines&#160;Assoziativen-Arrays&#160;ausgeben<br/>
$a=$b+$c&#160;;<br/>
Addition&#160;von&#160;$b&#160;und&#160;$c&#160;gleich&#160;$a<br/>
$a=$b-$c&#160;;<br/>
Subtraktion&#160;von&#160;$b&#160;minus&#160;$c&#160;gleich&#160;$a<br/>
$a=$b*$c&#160;;<br/>
Multiplikation&#160;von&#160;$b&#160;mal&#160;$c&#160;gleich&#160;$a<br/>
$a=$b/$c&#160;;<br/>
Division&#160;$b&#160;geteilt&#160;durch&#160;$c&#160;gleich&#160;$a<br/>
$a++&#160;;<br/>
$a=$a+1&#160;;<br/>
$a--&#160;;<br/>
$a=$a-1&#160;;<br/>
$a=3.1415&#160;;<br/>
.&#160;Dezimaltrenner<br/>
11.3.2.&#160;Funktionen<br/>
phpinfo()&#160;;<br/>
PHP-Informationen&#160;ausgeben<br/>
$Wochentag=date(&#34;w&#34;)&#160;;<br/>
Wochentag&#160;ermitteln&#160;0-So&#160;bis&#160;6-Sa<br/>
$Monatszahl=date(&#34;m&#34;)&#160;;<br/>
Monatszahl&#160;ermitteln<br/>
$Anzahl=count($Array)&#160;;<br/>
Elemet-Anzahl&#160;eines&#160;Arrays&#160;ermitteln<br/>
$Wert=round($Wert,Nachkommastellen)&#160;;<br/>
Rundet&#160;den&#160;Wert&#160;mit&#160;Nachkommastellen<br/>
$Wert=sprintf(&#34;%01.2f&#34;,$Wert)&#160;;&#160;Rundet&#160;den&#160;Wert&#160;auf&#160;2&#160;:Nachkommastellen<br/>
96<br/>
<hr/>
<a name=97></a>12.&#160;Squid<br/>
12.1.&#160;Proxy<br/>
Squid&#160;=&#160;Proxy-Cache&#160;=&#160;Stellvertreter-Zwischenspeicher<br/>
12.2.&#160;Einfacher&#160;Cache<br/>
*---------------*<br/>
*------------*&#160;|&#160;*---------*&#160;|&#160;*------------*<br/>
|&#160;lokaler&#160;Cache&#160;|&lt;---&gt;|&#160;WWW-Client&#160;|&lt;---&gt;|&#160;Intenet&#160;|&lt;---&gt;|&#160;WWW-Server&#160;|<br/>
*---------------*<br/>
*------------*&#160;|&#160;*---------*&#160;|&#160;*------------*<br/>
Die&#160;einfachste&#160;form&#160;des&#160;Caches<br/>
|<br/>
|<br/>
12.3.&#160;Proxy&#160;Cache<br/>
*------------*<br/>
|&#160;WWW-Client&#160;|&lt;-+<br/>
|<br/>
|<br/>
*------------*&#160;|<br/>
|<br/>
|<br/>
|<br/>
|<br/>
|<br/>
*------------*&#160;|&#160;*-------------*&#160;|&#160;*---------*&#160;|&#160;*------------*<br/>
|&#160;WWW-Client&#160;|&lt;-+-&gt;|&#160;Proxy&#160;Cache&#160;|&lt;---&gt;|&#160;Intenet&#160;|&lt;---&gt;|&#160;WWW-Server&#160;|<br/>
*------------*&#160;|&#160;*-------------*&#160;|&#160;*---------*&#160;|&#160;*------------*<br/>
|<br/>
|<br/>
|<br/>
*------------*&#160;|<br/>
|<br/>
|<br/>
|&#160;WWW-Client&#160;|&lt;-+<br/>
|<br/>
|<br/>
*------------*<br/>
12.4.&#160;Aufgaben<br/>
&#160;Zwischenspeichern&#160;von&#160;Internetseitten&#160;-&gt;&#160;Beschleunigter&#160;Zugriff&#160;auf&#160;Internetin-<br/>
halte<br/>
&#160;Abkoppelung&#160;vom&#160;direkten&#160;Zugriff&#160;auf&#160;das&#160;Internet&#160;-&gt;&#160;Erhöte&#160;Sicherheit&#160;im<br/>
lokalem&#160;Netz<br/>
&#160;Filterung&#160;von&#160;Interrnetseiten<br/>
&#160;Protokollierung&#160;des&#160;Internetverkehrs<br/>
97<br/>
<hr/>
<a name=98></a>12.&#160;Squid<br/>
12.5.&#160;Eigenschaften<br/>
&#160;Größe&#160;des&#160;Cache&#160;kann&#160;frei&#160;definiert&#160;werden<br/>
&#160;Aufbau&#160;von&#160;Cache-Hierarchien<br/>
&#160;Eigener&#160;DNS-Cache<br/>
&#160;Authentifizierung&#160;über&#160;zusätzliche&#160;Module&#160;möglich<br/>
&#160;Für&#160;Win,&#160;OS/2,&#160;Linux,&#160;BSD,&#160;Solaris&#160;verfügbar<br/>
&#160;Ausfilterung&#160;und&#160;Anonymisierung&#160;der&#160;Anfragen<br/>
&#160;Sehr&#160;flexible&#160;Zugriffskontrolle<br/>
&#160;Filterung&#160;über&#160;externe&#160;Programme&#160;(Squid-Guard)<br/>
12.6.&#160;Protokolle<br/>
12.6.1.&#160;Client-Kommunikation<br/>
&#160;Hyper&#160;Text&#160;Transfer&#160;Protocol&#160;(HTTP)<br/>
&#160;File&#160;Transfer&#160;Protocol&#160;(FTP)<br/>
&#160;Gopher<br/>
&#160;Wide&#160;Area&#160;Information&#160;Service&#160;(WAIS)<br/>
&#160;Secure&#160;Socket&#160;Layer&#160;(SSL)<br/>
12.6.2.&#160;Kommunikation&#160;zwischen&#160;Proxy-Cache-Servern<br/>
&#160;HyperText&#160;Transfer&#160;Protocol&#160;(HTTP)<br/>
&#160;Internet&#160;Cache&#160;Protocol&#160;(ICP(3130))<br/>
&#160;Cache&#160;Digests&#160;(Index&#160;von&#160;anderen&#160;Caches&#160;abfragen)<br/>
&#160;Simple&#160;Network&#160;Management&#160;Protocol&#160;(SNMP)<br/>
&#160;HyperText&#160;Caching&#160;Protocol&#160;(HTCP(4837))<br/>
&#160;Web&#160;Cache&#160;Coordination&#160;Protocol&#160;(WCCP)<br/>
98<br/>
<hr/>
<a name=99></a>12.7.&#160;Systemvoraussetzungen<br/>
12.7.&#160;Systemvoraussetzungen<br/>
&#160;Langsamme&#160;CPU<br/>
&#160;Viel&#160;RAM<br/>
&#160;Schnelle&#160;Festplatte(n)<br/>
&#160;Große&#160;Festplatte(n)<br/>
12.8.&#160;SuSE&#160;Linux<br/>
rcsquid&#160;start<br/>
Squid&#160;starten<br/>
rcsquid&#160;stop<br/>
Squid&#160;stoppen<br/>
rcsquid&#160;restart<br/>
Squid&#160;stoppen&#160;und&#160;dann&#160;starten<br/>
rcsquid&#160;status<br/>
Squid&#160;info<br/>
12.9.&#160;Automatische&#160;Starten&#160;von&#160;Squit<br/>
cd&#160;/etc/rc.d/rc5.d/<br/>
ln&#160;-s&#160;../squid&#160;S22squid<br/>
Link&#160;zum&#160;automatischen&#160;Starten&#160;in&#160;Runlevel&#160;5<br/>
anlegen.<br/>
ln&#160;-s&#160;../squid&#160;K02squid<br/>
Link&#160;zum&#160;automatischen&#160;Beenden&#160;in&#160;Runlevel&#160;5<br/>
anlegen.<br/>
12.10.&#160;Squiddateien<br/>
/etc/squid.conf<br/>
Squid&#160;Konfigurationsdatei<br/>
/usr/share/squid/errors/<br/>
Fehlermeldungen&#160;die&#160;der&#160;Squid&#160;ausgibt<br/>
/var/cache/squid/<br/>
Squid-Cache<br/>
/var/log/squid/access.log<br/>
Log-Datei&#160;mit&#160;allen&#160;Zugriffen<br/>
/var/log/squid/cache.log<br/>
Cache-Aktivitaeten<br/>
12.11.&#160;squid.conf<br/>
http_port:&#160;Proxy-Portnummer<br/>
#&#160;http_port&#160;3128<br/>
http_port&#160;8080<br/>
cache_mem:&#160;Hauptspeicherverbrauch&#160;(x3)<br/>
#&#160;cache_mem&#160;8&#160;MB<br/>
maximum_object_size:&#160;maximale&#160;groeße&#160;einer&#160;Datei&#160;die&#160;der&#160;Proxy&#160;speichert<br/>
#&#160;maximum_object_size&#160;4096&#160;KB<br/>
99<br/>
<hr/>
<a name=100></a>12.&#160;Squid<br/>
minimum_object_size:&#160;minimale&#160;groeße&#160;einer&#160;Datei&#160;die&#160;der&#160;Proxy&#160;speichert<br/>
#&#160;minimum_object_size&#160;0&#160;KB<br/>
cache_dir:&#160;Verzeichnisname&#160;GroeßeMByte&#160;Ebene1&#160;Ebene2<br/>
#&#160;cache_dir&#160;ufs&#160;/var/cache/squid&#160;100&#160;16&#160;256<br/>
cache_dir&#160;ufs&#160;/var/cache/squid&#160;400&#160;16&#160;256<br/>
cache_access_log:&#160;Log-Datei&#160;mit&#160;allen&#160;Zugriffen<br/>
#&#160;cache_access_log&#160;/var/log/squid/access.log<br/>
cache_log:&#160;Log-Datei&#160;fuer&#160;alle&#160;Cache-Aktivitaeten<br/>
#&#160;cache_log&#160;/var/log/squid/cache.log<br/>
debug_options:&#160;ALL,1-normal&#160;9-maximal<br/>
#&#160;debug_options&#160;ALL,1<br/>
log_fqdn:&#160;Bei&#160;on&#160;wird&#160;der&#160;Name&#160;und&#160;bei&#160;off&#160;wird&#160;die&#160;IP-Nummer<br/>
in&#160;der&#160;access.log&#160;speichert<br/>
#&#160;log_fqdn&#160;off<br/>
log_fqdn&#160;off<br/>
client_netmask:&#160;Zum&#160;Anonymisieren<br/>
255.255.255.255&#160;volle&#160;IP-Nr.,<br/>
255.255.255.0&#160;ersten&#160;3&#160;Stellen<br/>
#&#160;client_netmask&#160;255.255.255.255<br/>
ftp_user:&#160;Anonymer&#160;FTP-Name<br/>
#&#160;ftp_user&#160;Squid@<br/>
ftp_user&#160;Anonymous@<br/>
dns_children:&#160;maximale&#160;Anzahl&#160;der&#160;DNS&#160;Prozesse<br/>
#&#160;dns_children&#160;5<br/>
dns_nameservers:&#160;Eintrag&#160;fuer&#160;DNS-Server<br/>
#dns_nameservers&#160;194.25.2.129&#160;192.168.6.66<br/>
reference_age:&#160;maximale&#160;Alter&#160;der&#160;Cachefiles&#160;(0.0&#160;week/days/months/hours)<br/>
#&#160;reference_age&#160;1&#160;year<br/>
negative_ttl:&#160;gibt&#160;an&#160;wie&#160;lange&#160;eine&#160;negative&#160;DNS&#160;Aufloesung&#160;gueltig&#160;ist<br/>
#&#160;negative_ttl&#160;5&#160;minutes<br/>
http_access:&#160;Zugriffsrechte&#160;fuer&#160;den&#160;Cache<br/>
100<br/>
<hr/>
<a name=101></a>12.11.&#160;squid.conf<br/>
#&#160;acl&#160;-&#160;aclname&#160;acltype&#160;string&#160;-&#160;definiert&#160;eine&#160;Zuganskontrolle&#160;und&#160;Sperrliste<br/>
#&#160;src&#160;-&#160;Client&#160;IP-Adresse/Adressbereich<br/>
#&#160;dst&#160;-&#160;Zielserver&#160;IP-Adresse/Adressbereich<br/>
#&#160;srcdomain&#160;-&#160;Client&#160;(Domain-)Name<br/>
#&#160;dstdomain&#160;-&#160;Zielserver&#160;(Domain-)Name<br/>
#&#160;srcdom_regex&#160;-&#160;Cient&#160;(Domain-)Name&#160;als&#160;RegEx<br/>
#&#160;dstdom_regex&#160;-&#160;Zielserver&#160;(Domain-)Name&#160;als&#160;RegEx<br/>
#&#160;port&#160;-&#160;Port&#160;oder&#160;-bereich&#160;für&#160;Verbindungen<br/>
#&#160;proto&#160;-&#160;Protokoll&#160;(z.B.&#160;HTTP,&#160;FTP&#160;...)&#160;für&#160;die&#160;Verbindung<br/>
#&#160;method&#160;-&#160;Methode&#160;der&#160;Verbindung&#160;(z.B.&#160;GET,&#160;POST&#160;...)<br/>
#&#160;proxy_auth&#160;-&#160;Benutzernamen&#160;bei&#160;Authentifizierung<br/>
#&#160;urlpath_regex&#160;Teil&#160;einer&#160;URL&#160;als&#160;RegEx<br/>
acl&#160;all&#160;src&#160;0.0.0.0/0.0.0.0<br/>
acl&#160;rotten&#160;dstdomain&#160;www.rotten.com<br/>
http_access&#160;deny&#160;rotten<br/>
http_access&#160;allow&#160;all<br/>
cache_mgr:&#160;E-Mail&#160;bei&#160;einen&#160;Fehler&#160;an:&#160;E-Mail&#160;oder&#160;Alias(/etc/aliases)<br/>
#&#160;cache_mgr&#160;webmaster<br/>
cache_effective_user:&#160;BenutzerName/ID<br/>
#&#160;cache_effective_user&#160;squid<br/>
cache_effective_group:&#160;GruppenName/ID<br/>
#&#160;cache_effective_group&#160;nogroup<br/>
visible_hostname:&#160;ServerName&#160;bei&#160;Fehlermeldungen<br/>
#&#160;none<br/>
visible_hostname&#160;proxy.gelbdmz.loc<br/>
logfile_rotate:&#160;Zeit&#160;der&#160;Logdateien&#160;in&#160;Wochen<br/>
#&#160;logfile_rotate&#160;0<br/>
append_domain:&#160;Kein&#160;Punkt&#160;in&#160;der&#160;URL&#160;?&#160;Dann&#160;diesen&#160;Domainnamen&#160;anhaengen<br/>
#&#160;none<br/>
append_domain&#160;.meak.de<br/>
error_directory:&#160;Verzeichnis&#160;zu&#160;den&#160;Fehlermeldungen&#160;die&#160;der&#160;Squid&#160;ausgibt<br/>
#error_directory&#160;/usr/share/squid/errors<br/>
101<br/>
<hr/>
<a name=102></a><hr/>
<a name=103></a>Teil&#160;IV.<br/>
Programmieren<br/>
103<br/>
<hr/>
<a name=104></a><hr/>
<a name=105></a>13.&#160;Bash<br/>
13.1.&#160;Einleitung<br/>
Was&#160;heist&#160;BASH&#160;?<br/>
Bourne-Again&#160;SHell<br/>
Was&#160;ist&#160;die&#160;BASH&#160;?<br/>
Standard-Shell&#160;der&#160;meisten&#160;Linux-Distributionen<br/>
Eine&#160;fast&#160;komplette&#160;Programmiersprache<br/>
BASH-Programme&#160;werden&#160;auch&#160;SScripte&#34;(Protokolle)&#160;genannt&#160;!<br/>
13.2.&#160;Referenz<br/>
#!/bin/bash<br/>
Pfad&#160;zur&#160;Shell&#160;die&#160;das&#160;Programm&#160;ausführen&#160;soll<br/>
chmod&#160;u+x&#160;Script<br/>
Macht&#160;das&#160;Script&#160;ausführbar<br/>
bash&#160;Script&#160;oder&#160;sh&#160;Script<br/>
so&#160;gehts&#160;auch<br/>
#<br/>
Kommentar&#160;bis&#160;Zeilenende<br/>
:<br/>
Null-Funktion.&#160;Ein&#160;Befehl,&#160;der&#160;nichts&#160;tut.<br/>
((&#160;oder&#160;[<br/>
))&#160;oder&#160;]<br/>
echo&#160;Text<br/>
Gibt&#160;den&#160;Text&#160;aus<br/>
echo&#160;&#34;Text&#34;<br/>
Gibt&#160;den&#160;Text&#160;aus<br/>
echo&#160;Text<br/>
Text<br/>
Gibt&#160;den&#160;Text&#160;mit&#160;nur&#160;einer&#160;Leerstelle&#160;aus<br/>
echo&#160;&#34;Text<br/>
Text&#34;<br/>
Gibt&#160;den&#160;Text&#160;mit&#160;allen&#160;Leerstellen&#160;aus<br/>
echo&#160;Text\&#160;\&#160;\&#160;Text<br/>
Gibt&#160;den&#160;Text&#160;mit&#160;allen&#160;Leerstellen&#160;aus<br/>
Variable=7<br/>
Speichert&#160;7&#160;in&#160;der&#160;Variable<br/>
Variable=z<br/>
Speichert&#160;z&#160;in&#160;der&#160;Variable<br/>
echo&#160;$Variable<br/>
Gibt&#160;den&#160;Inhalt&#160;der&#160;Variable&#160;aus<br/>
echo&#160;${Variable}<br/>
Gibt&#160;den&#160;Inhalt&#160;der&#160;Variable&#160;aus<br/>
Wert=$[$Wert+1]<br/>
Wert=Wert+1<br/>
Wert=$(($Wert+1))<br/>
Wert=Wert+1<br/>
:&#160;$[Wert+=1]<br/>
Wert=Wert+1<br/>
:&#160;$((Wert+=1))<br/>
Wert=Wert+1<br/>
105<br/>
<hr/>
<a name=106></a>13.&#160;Bash<br/>
13.3.&#160;Steuer&#160;und&#160;Sonderzeichen&#160;der&#160;Bash<br/>
Zeichen<br/>
Funktion<br/>
-------<br/>
--------<br/>
Leerzeichen&#160;(space)<br/>
Trenner&#160;zwischen&#160;Programm-Parametern<br/>
Tabulator&#160;(tab)<br/>
Trenner&#160;zwischen&#160;Programm-Parametern<br/>
Return&#160;(newline)<br/>
Befehlseingabe<br/>
\&#160;(backslash)<br/>
Escape-Zeichen<br/>
|&#160;(pipe)<br/>
Verkettung&#160;der&#160;Ein-/Ausgabe&#160;mehrerer&#160;Programme<br/>
&amp;&#160;(ampersand)<br/>
Programm&#160;als&#160;Hintergrund-Prozess&#160;starten,<br/>
Ein-/Ausgabeumleitung<br/>
;&#160;(semikolon)<br/>
Trenner&#160;zwischen&#160;zwei&#160;Programmaufrufen<br/>
(&#160;)&#160;(braces)<br/>
Gruppierung,&#160;Berechnung<br/>
106<br/>
<hr/>
<a name=107></a>14.&#160;git<br/>
14.1.&#160;Dokumentation<br/>
git&#160;help&#160;status<br/>
Manpage&#160;von&#160;git&#160;status&#160;anzeigen<br/>
git&#160;status&#160;--help<br/>
Manpage&#160;von&#160;git&#160;status&#160;anzeigen<br/>
man&#160;git-status<br/>
Manpage&#160;von&#160;git&#160;status&#160;anzeigen<br/>
14.2.&#160;Konfiguration<br/>
git&#160;config&#160;--global&#160;...<br/>
Speichern&#160;im&#160;Homeverzeichnis&#160;.gitconfig<br/>
git&#160;config&#160;--system&#160;...<br/>
/etc/gitconfig&#160;konfigurieren&#160;unueblich<br/>
git&#160;config&#160;...<br/>
Arbeitsverzeichnis&#160;.git/config<br/>
git&#160;config&#160;user.name&#160;&#34;Max&#160;Mustermann&#34;<br/>
Name&#160;konfigurieren<br/>
git&#160;config&#160;user.email&#160;&#34;max.mustermann@examle.com&#34;<br/>
E-Mail&#160;konfigurieren<br/>
git&#160;config&#160;--unset&#160;user.name<br/>
Name&#160;löschen<br/>
git&#160;config&#160;alias.st&#160;status<br/>
Alias&#160;status&#160;-&gt;&#160;st&#160;herstellen<br/>
[alias]<br/>
nützliche&#160;Abkürzungen<br/>
st&#160;=&#160;status<br/>
ci&#160;=&#160;commit<br/>
br&#160;=&#160;branch<br/>
co&#160;=&#160;checkout<br/>
df&#160;=&#160;diff<br/>
he&#160;=&#160;help<br/>
cl&#160;=&#160;clone<br/>
git&#160;config&#160;-e<br/>
startet&#160;Editor&#160;auf&#160;der&#160;Konfiguration<br/>
git&#160;config&#160;color.ui&#160;auto<br/>
Farben&#160;einstellen<br/>
git&#160;config&#160;core.eol&#160;lf,crlf&#160;oder&#160;native&#160;Zeilenende&#160;lf-Linux&#160;crlf-Windows<br/>
native-System-Default<br/>
git&#160;config&#160;core.safecrlf<br/>
Verbietet&#160;Commit&#160;bei&#160;vermischung<br/>
git&#160;config&#160;core.autocrlf&#160;input<br/>
sichere&#160;Einstellung&#160;bei&#160;älteren<br/>
Git-Versionen&#160;unter&#160;Windows<br/>
git&#160;config&#160;il8n.commitEncoding&#160;ISO-8859-1Zeichenkodierung&#160;ISO-8859-1<br/>
Standart&#160;UTF-8<br/>
git&#160;config&#160;core.pager&#160;env&#160;LESSCHARSET=iso8859&#160;less<br/>
Zeichenkodierung&#160;für&#160;den&#160;Pager<br/>
git&#160;config&#160;core.editor&#160;vim<br/>
Vim&#160;als&#160;Editor&#160;einstellen<br/>
107<br/>
<hr/>
<a name=108></a>14.&#160;git<br/>
git&#160;config&#160;core.browser&#160;...<br/>
Browser&#160;einstellen<br/>
git&#160;config&#160;help.autocorrect&#160;n<br/>
beim&#160;Vertippen&#160;ähnliches&#160;Subkommando<br/>
ausführen,&#160;n&#160;Zentelsekunden&#160;bis&#160;zum<br/>
Ausführen,&#160;-1&#160;für&#160;sofort&#160;aus,&#160;0&#160;zeigt<br/>
nur&#160;Möglichkeiten&#160;an<br/>
git&#160;config&#160;--list<br/>
alle&#160;Einstellungen&#160;anzeigen<br/>
14.3.&#160;Konfigurationen&#160;über&#160;Umgebungsvariablen<br/>
GIT_EDITOR<br/>
Editor&#160;den&#160;Git&#160;verwendet<br/>
sonst&#160;greift&#160;die&#160;Variable&#160;EDITOR<br/>
GIT_PAGER<br/>
der&#160;wert&#160;cat&#160;schaltet&#160;den&#160;Pager&#160;aus<br/>
GIT_AUTHOR_EMAIL<br/>
E-Mail&#160;für&#160;den&#160;Autor&#160;des&#160;Commits<br/>
GIT_COMMITTER_EMAIL<br/>
E-Mail&#160;für&#160;das&#160;Commiter-Feld&#160;des&#160;Commits<br/>
GIT_AUTHOR_NAME<br/>
Name&#160;für&#160;den&#160;Autor&#160;des&#160;Commits<br/>
GIT_COMMITTER_NAME<br/>
Name&#160;für&#160;das&#160;Commiter-Feld&#160;des&#160;Commits<br/>
GIT_DIR<br/>
Verzeichnis,&#160;in&#160;dem&#160;sich&#160;das&#160;Git-Repository&#160;befindet<br/>
macht&#160;nur&#160;sinn&#160;bei&#160;einem&#160;Git-Repository<br/>
14.4.&#160;Der&#160;Index<br/>
Der&#160;Inhalt&#160;von&#160;Dateinen&#160;liegt&#160;für&#160;Git&#160;auf&#160;drei&#160;Ebenen,&#160;den&#160;Working&#160;Tree,&#160;dem&#160;Index<br/>
und&#160;dem&#160;Repository.<br/>
clone/fetch/pull<br/>
+----------+&#160;--------------------------------------------------&gt;&#160;+<br/>
|Repository|<br/>
|<br/>
--bare&#160;init&#160;|(origin)&#160;|&#160;push<br/>
|<br/>
----------&gt;&#160;+----------+&#160;&lt;---------------------------------------&#160;+<br/>
|<br/>
|<br/>
|<br/>
status<br/>
add<br/>
status<br/>
commit/--amend<br/>
|<br/>
|<br/>
+------------+&#160;---------&gt;&#160;+--------------+&#160;---------------------&gt;&#160;+----------+<br/>
|Working&#160;Tree|&#160;diff<br/>
|Index<br/>
|&#160;diff&#160;--staged/--cached&#160;|Repository|<br/>
|<br/>
|&#160;&lt;--------&gt;&#160;|(Staging&#160;Area)|&#160;&lt;--------------------&gt;&#160;|<br/>
|<br/>
+------------+&#160;&lt;---------&#160;+--------------+&#160;&lt;---------------------&#160;+----------+<br/>
|&#160;reset&#160;HEAD<br/>
reset&#160;HEAD&#160;--<br/>
|<br/>
|<br/>
+&#160;-------------------------------------------------&gt;&#160;+<br/>
|<br/>
checkout&#160;--<br/>
|<br/>
init<br/>
|<br/>
---------------------------------------------------------------------------&gt;&#160;+<br/>
git&#160;diff<br/>
zeigt&#160;den&#160;Unterschied&#160;zwischen&#160;Working&#160;Tree<br/>
und&#160;Index&#160;an<br/>
git&#160;diff&#160;--color-words<br/>
Änderugen&#160;Fablich&#160;anzeigen<br/>
108<br/>
<hr/>
<a name=109></a>14.5.&#160;Repository<br/>
grün-hinzugekommen&#160;rot-entfernt<br/>
git&#160;diff&#160;--word-diff&#160;--no-color&#160;ohne&#160;Frabe&#160;mit&#160;Zeichen<br/>
git&#160;diff&#160;--staged<br/>
zeigt&#160;den&#160;Unterschied&#160;zwischen<br/>
Index(Staging&#160;Area)&#160;und&#160;Repository&#160;an<br/>
git&#160;diff&#160;--cached<br/>
zeigt&#160;den&#160;Unterschied&#160;zwischen<br/>
Index(Staging&#160;Area)&#160;und&#160;Repository&#160;an<br/>
14.5.&#160;Repository<br/>
git&#160;init&#160;Beispiel<br/>
Neues&#160;Repository&#160;herstellen,&#160;legt&#160;Verzeichnis&#160;Beispiel<br/>
an&#160;wenn&#160;nicht&#160;schon&#160;vorhanden<br/>
git&#160;status<br/>
zeigt&#160;den&#160;aktuellen&#160;Zustand&#160;an<br/>
git&#160;log<br/>
die&#160;Commit&#160;Historie&#160;anzeigen<br/>
14.6.&#160;Commit<br/>
git&#160;add&#160;Datei<br/>
Datei&#160;zum&#160;Index&#160;hinzufügen<br/>
git&#160;add&#160;-u&#160;oder&#160;--update<br/>
Alle&#160;Veränderungen&#160;in&#160;den&#160;Index&#160;übertragen<br/>
git&#160;reset&#160;HEAD&#160;Datei<br/>
aus&#160;der&#160;Staging&#160;Area&#160;zu&#160;entfernen<br/>
git&#160;commit&#160;-m&#160;&#34;Erste&#160;Version&#34;<br/>
Index&#160;zum&#160;Working&#160;Tree&#160;hinzufügen<br/>
git&#160;add&#160;forgotten_file<br/>
Datei&#160;zum&#160;Index&#160;hinzufügen<br/>
git&#160;commit&#160;--amend<br/>
den&#160;letzten&#160;Commit&#160;ändern<br/>
git&#160;show<br/>
Commit&#160;einsehen<br/>
git&#160;log<br/>
Commits&#160;anzeigen<br/>
14.7.&#160;Dateien&#160;entfernen<br/>
git&#160;rm&#160;Datei<br/>
Datei&#160;in&#160;deinem&#160;Arbeitsverzeichnis&#160;behalten,<br/>
aber&#160;aus&#160;der&#160;Staging&#160;Area&#160;nehmen<br/>
git&#160;rm&#160;-f&#160;Datei<br/>
Datei&#160;aus&#160;dem&#160;Arbeitsverzeichis&#160;und&#160;Index&#160;löschen<br/>
git&#160;reset&#160;HEAD&#160;Datei<br/>
Datei&#160;in&#160;Deinem&#160;Arbeitsverzeichnis&#160;behalten,<br/>
aber&#160;aus&#160;der&#160;Staging&#160;Area&#160;nehmen<br/>
14.8.&#160;Dateien&#160;verschieben<br/>
git&#160;mv&#160;Datei_alt&#160;Datei_neu<br/>
Datei&#160;verschieben<br/>
14.9.&#160;Änderung&#160;an&#160;einer&#160;Datei&#160;rückgängig&#160;machen<br/>
git&#160;checkout&#160;--&#160;Datei<br/>
Datei&#160;zurückversetzen&#160;auf&#160;den&#160;letzten&#160;Commit&#160;oder&#160;Klone<br/>
109<br/>
<hr/>
<a name=110></a>14.&#160;git<br/>
14.10.&#160;Dateien&#160;ignorieren<br/>
Dateien&#160;im&#160;Projektverzeichnis&#160;die&#160;nicht&#160;versioniert&#160;im&#160;Repository&#160;sein&#160;sollen<br/>
kommen&#160;in&#160;die&#160;Datei&#160;.gitignore.<br/>
.gitignore#<br/>
Zeile&#160;mit&#160;#&#160;oder&#160;leere&#160;wird&#160;ignoriert<br/>
*.o<br/>
ignoriert&#160;alle&#160;Dateien&#160;die&#160;mit&#160;.o&#160;enden<br/>
!lib.o<br/>
wird&#160;nicht&#160;ignoriert<br/>
/TODO<br/>
ignoriert&#160;den&#160;Ordner&#160;TODO<br/>
build/<br/>
ignoriert&#160;alle&#160;Dateien&#160;im&#160;build&#160;Verzeichnis<br/>
doc/*.txt<br/>
ignoriert&#160;alle&#160;.txt&#160;Dateien&#160;im&#160;doc&#160;Verzeichnis<br/>
doc/**/*.txt<br/>
ignoriert&#160;alle&#160;.txt&#160;Dateien&#160;unterhalb&#160;des&#160;doc<br/>
Verzeichnis<br/>
14.11.&#160;Mit&#160;externen&#160;Repositorys&#160;arbeiten<br/>
git&#160;clone&#160;git://git.kernel.org/pub/scm/git/git.git<br/>
git&#160;Repository&#160;herunterladen,&#160;Port&#160;9418<br/>
git&#160;clone&#160;file:///home/git/project.git<br/>
Repository&#160;herunterladen,&#160;legt&#160;harte<br/>
Links&#160;an&#160;wenn&#160;möglich<br/>
git&#160;clone&#160;ssh://user@server/project.git&#160;ssh&#160;Repository&#160;herunterladen,&#160;Port&#160;22<br/>
git&#160;clone&#160;http(s)://example.com/gitproject.git<br/>
http(s)&#160;Repository&#160;herunterladen,<br/>
Port&#160;80(443)<br/>
git&#160;remote&#160;-v<br/>
zeigt&#160;an,&#160;welche&#160;externen&#160;Server&#160;für<br/>
das&#160;Projekt&#160;lokal&#160;konfiguriert&#160;sind<br/>
git&#160;remote&#160;add&#160;Name&#160;URL<br/>
Remote&#160;Repository&#160;hinzufügen<br/>
git&#160;remote&#160;add&#160;origin&#160;ssh://git@sonne:/srv/git/linux.git<br/>
Beispiel<br/>
git&#160;fetch&#160;Name<br/>
Informationen&#160;aus&#160;dem&#160;Remote&#160;Repository<br/>
herunterladen<br/>
git&#160;pull&#160;Name<br/>
entspricht&#160;git&#160;fetch&#160;git&#160;merge<br/>
git&#160;checkout&#160;-b&#160;Branch&#160;origin/Branch<br/>
erstellt&#160;einen&#160;lokalen&#160;bearbeitbaren<br/>
Branch<br/>
git&#160;push&#160;origin&#160;master<br/>
Änderungen&#160;in&#160;ein&#160;Remote&#160;Repository<br/>
hochladen<br/>
git&#160;push&#160;Remote&#160;Branch<br/>
Brauch&#160;auf&#160;Remote&#160;hochladen<br/>
git&#160;push&#160;Remote&#160;:Branch<br/>
löschen&#160;entfernter&#160;Branches<br/>
git&#160;remote&#160;show&#160;Name<br/>
zeigt&#160;die&#160;URL&#160;für&#160;das&#160;Remote<br/>
Repository,&#160;die&#160;Information&#160;welche<br/>
Branches&#160;verfolgt&#160;werden&#160;und&#160;welcher<br/>
Branch&#160;aus&#160;dem&#160;Remote&#160;Repository&#160;mit<br/>
dem&#160;eigenen&#160;Master&#160;zusammengeführt<br/>
wird,&#160;wenn&#160;Du&#160;git&#160;pull&#160;ausführst<br/>
110<br/>
<hr/>
<a name=111></a>14.12.&#160;Tags<br/>
git&#160;remote&#160;rename&#160;Name_alt&#160;Name_neu<br/>
Name&#160;des&#160;Remote&#160;Repository&#160;lokal&#160;ändern<br/>
git&#160;remote&#160;rm&#160;Name<br/>
Remote&#160;Repository&#160;entfernen<br/>
14.12.&#160;Tags<br/>
git&#160;tag<br/>
vorhandene&#160;Tags&#160;anzeigen<br/>
git&#160;tag&#160;-a&#160;v1.4&#160;-m&#160;my&#160;version&#160;1.4<br/>
einen&#160;kommentierten&#160;Tag&#160;anlegen<br/>
git&#160;tag&#160;-s&#160;v1.5&#160;-m&#160;my&#160;signed&#160;1.5&#160;tag<br/>
einen&#160;kommentierten&#160;und&#160;signierten&#160;Tag&#160;anlegen<br/>
git&#160;tag&#160;-v&#160;v1.4.2.1<br/>
einen&#160;signierten&#160;Tag&#160;zu&#160;verifizieren<br/>
git&#160;tag&#160;-a&#160;v1.2&#160;-m&#160;version&#160;1.2&#160;Checksumme<br/>
im&#160;Nachhinein&#160;taggen,&#160;Checksumme&#160;des&#160;Commits<br/>
oder&#160;einen&#160;Teil&#160;davon&#160;angeben<br/>
git&#160;log&#160;--pretty=oneline<br/>
Commit&#160;Historie&#160;mit&#160;Checksumme<br/>
git&#160;push&#160;origin&#160;v1.5<br/>
Tag&#160;veröffentlichen<br/>
git&#160;push&#160;origin&#160;--tags<br/>
Tags&#160;veröffentlichen<br/>
git&#160;tag&#160;-d&#160;v1.5<br/>
Tag&#160;löschen<br/>
git&#160;push&#160;origin&#160;:refs/tags/v1.5&#160;veröffentlichen&#160;Tag&#160;löschen<br/>
14.13.&#160;Branch<br/>
Was&#160;ist&#160;ein&#160;Branch?&#160;Ein&#160;Zeiger,&#160;der&#160;auf&#160;den&#160;gleichen&#160;Commit&#160;zeigt,&#160;auf&#160;dem&#160;Du&#160;gerade<br/>
arbeitest.<br/>
git&#160;branch&#160;testing<br/>
erstellt&#160;einen&#160;neuen&#160;Branch&#160;mit&#160;dem&#160;Namen&#160;testing<br/>
git&#160;checkout&#160;testing<br/>
um&#160;zu&#160;einem&#160;anderen&#160;Branch&#160;zu&#160;wechseln<br/>
git&#160;branch&#160;-b&#160;testing<br/>
erstellt&#160;und&#160;wechselt&#160;zu&#160;dem&#160;Branch<br/>
git&#160;merge&#160;testing<br/>
führt&#160;testing&#160;mit&#160;dem&#160;Master-Branch&#160;zusammen<br/>
git&#160;branch&#160;-d&#160;testing<br/>
entfernt&#160;testing<br/>
git&#160;merge&#160;master<br/>
Deinem&#160;Zweig&#160;mit&#160;dem&#160;master&#160;kombinieren<br/>
git&#160;rebase&#160;master<br/>
alle&#160;Änderungen&#160;auf&#160;einem&#160;Branch,&#160;auf&#160;einen&#160;anderen<br/>
Branch&#160;erneut&#160;anwenden&#160;(nur&#160;mit&#160;unveröffendlichen<br/>
Branch&#160;machen)<br/>
git&#160;mergetool<br/>
grafischen&#160;Tool&#160;zur&#160;Bereinigung&#160;von&#160;Merge-Konflikten<br/>
git&#160;branch<br/>
Liste&#160;aller&#160;Branches&#160;anzeigen<br/>
git&#160;branch&#160;-v<br/>
für&#160;jeden&#160;Branch&#160;den&#160;letzten&#160;Commit&#160;anzeigen&#160;lassen<br/>
git&#160;branch&#160;--merged<br/>
Liste&#160;gemergter&#160;Branches<br/>
git&#160;branch&#160;--no-merged<br/>
Liste&#160;nicht&#160;gemergter&#160;Branches<br/>
14.14.&#160;Git&#160;Aliase<br/>
git&#160;config&#160;--global&#160;alias.co&#160;checkout<br/>
co&#160;anstelle&#160;von&#160;checkout&#160;schreiben<br/>
111<br/>
<hr/>
<a name=112></a>14.&#160;git<br/>
git&#160;config&#160;--global&#160;alias.br&#160;branch<br/>
br&#160;anstelle&#160;von&#160;branch&#160;schreiben<br/>
git&#160;config&#160;--global&#160;alias.ci&#160;commit<br/>
ci&#160;anstelle&#160;von&#160;commit&#160;schreiben<br/>
git&#160;config&#160;--global&#160;alias.st&#160;status<br/>
st&#160;anstelle&#160;von&#160;status&#160;schreiben<br/>
14.15.&#160;Git&#160;auf&#160;einen&#160;Server&#160;bekommen<br/>
git&#160;clone&#160;--bare&#160;my_project&#160;my_project.git<br/>
Projekt&#160;zu&#160;Projekt.git&#160;klonen<br/>
scp&#160;-r&#160;my_project.git&#160;user@git.example.com:/opt/git<br/>
Projekt&#160;per&#160;ssh&#160;hochladen<br/>
git&#160;clone&#160;user@git.example.com:/opt/git/my_project.git<br/>
Projekt&#160;per&#160;ssh&#160;zum&#160;Arbeiten&#160;herunterladen<br/>
ssh&#160;user@git.example.com<br/>
auf&#160;dem&#160;Server&#160;anmelden<br/>
cd&#160;/opt/git/my_project.git<br/>
Projektverzeichnis&#160;betreten<br/>
git&#160;init&#160;--bare&#160;--shared<br/>
Gruppenschreibrechte&#160;zu&#160;einem&#160;Repository<br/>
hinzufügen<br/>
14.16.&#160;Git&#160;auf&#160;dem&#160;SSH-Server&#160;einrichten<br/>
Einrichtung&#160;des&#160;SSH-Zugangs&#160;auf&#160;dem&#160;Server&#160;mit&#160;der&#160;Authorized-Keys-Methode&#160;zur<br/>
Authentifizierung&#160;der&#160;Benutzer.<br/>
sudo&#160;adduser&#160;git<br/>
Benutzer&#160;git&#160;anlegen<br/>
su&#160;git<br/>
Rechte&#160;von&#160;User&#160;git&#160;erlagen<br/>
cd<br/>
ins&#160;Home&#160;~&#160;Verzeichnis&#160;des&#160;Users&#160;wechseln<br/>
mkdir&#160;.ssh<br/>
Verzeichnis&#160;.ssh&#160;anlegen<br/>
-&#160;öffentliche&#160;SSH-Schlüssel&#160;der&#160;Entwickler&#160;zu&#160;der&#160;Authorized-Keys-Datei&#160;des&#160;Benut-<br/>
zers&#160;git&#160;hinzuzufügen.<br/>cat&#160;/tmp/id_rsa.user1.pub&#160;&gt;&#160;~/.ssh/authorized_keys<br/>
authorized_keys&#160;erstellen&#160;und&#160;User1&#160;einfügen<br/>
cat&#160;/tmp/id_rsa.user2.pub&#160;&gt;&gt;&#160;~/.ssh/authorized_keys<br/>
User2&#160;einfügen<br/>
cat&#160;/tmp/id_rsa.user3.pub&#160;&gt;&gt;&#160;~/.ssh/authorized_keys<br/>
User3&#160;einfügen<br/>
-&#160;Leeren&#160;Ordner&#160;anlegen&#160;und&#160;mit&#160;der&#160;Option&#160;bare&#160;ein&#160;Repository&#160;ohne&#160;ein&#160;Arbeits-<br/>
verzeichnis&#160;erzeugen.<br/>cd&#160;/srv<br/>
in&#160;den&#160;Ordner&#160;srv&#160;wechseln<br/>
mkdir&#160;git<br/>
git&#160;Ordner&#160;anlegen<br/>
cd&#160;git<br/>
in&#160;den&#160;Ordner&#160;git&#160;wechseln<br/>
mkdir&#160;project.git<br/>
project.git&#160;Ordner&#160;anlegen<br/>
cd&#160;project.git<br/>
in&#160;den&#160;Ordner&#160;project.git&#160;wechseln<br/>
git&#160;--bare&#160;init<br/>
Repository&#160;ohne&#160;ein&#160;Arbeitsverzeichnis&#160;erzeugen<br/>
112<br/>
<hr/>
<a name=113></a>14.17.&#160;Öffentlicher&#160;Webserver-Zugang<br/>
-&#160;Die&#160;erste&#160;Version&#160;des&#160;Projektes&#160;in&#160;das&#160;Repository&#160;hochladen<br/>
cd&#160;project<br/>
in&#160;das&#160;Projekt&#160;wechseln<br/>
git&#160;init<br/>
Projekt&#160;Repository&#160;herstellen<br/>
git&#160;add&#160;.<br/>
alle&#160;Dateien&#160;um&#160;Index&#160;hinzufügen<br/>
git&#160;commit&#160;-m&#160;initial&#160;commit<br/>
Index&#160;zum&#160;Working&#160;Tree&#160;hinzufügen<br/>
git&#160;remote&#160;add&#160;origin&#160;git@gitserver:/srv/git/project.git<br/>
Server&#160;hinzufügen<br/>
git&#160;push&#160;origin&#160;master<br/>
Commits&#160;und&#160;Referenzen&#160;auf&#160;den&#160;Server&#160;hochladen<br/>
-&#160;Repository&#160;klonen&#160;und&#160;Änderungen&#160;hochladen<br/>
git&#160;clone&#160;git@gitserver:/srv/git/project.git<br/>
Repository&#160;klonen<br/>
cd&#160;project<br/>
ins&#160;Projekt&#160;wechseln<br/>
vim&#160;README<br/>
Projekt&#160;bearbeiten<br/>
git&#160;commit&#160;-am&#160;fix&#160;for&#160;the&#160;README&#160;file<br/>
Änderung&#160;speichern<br/>
git&#160;push&#160;origin&#160;master<br/>
Änderung&#160;hochladen<br/>
-&#160;Git-Zugang&#160;absichen<br/>
/etc/passwd<br/>
git:x:1000:1000::/home/git:/bin/sh<br/>
/bin/sh&#160;auf<br/>
git:x:1000:1000::/home/git:/usr/bin/git-shell<br/>
/usr/bin/git-shell&#160;ändern<br/>
14.17.&#160;Öffentlicher&#160;Webserver-Zugang<br/>
Anonymen&#160;Lese-Zugriff&#160;zu&#160;Deinem&#160;Projekt&#160;ermöglichen,&#160;per&#160;git&#160;clone&#160;http://git.gitserver.loc/project.git.<br/>
-&#160;Hook&#160;aktivieren<br/>
cd&#160;project.git<br/>
in&#160;das&#160;Projekt&#160;wechseln<br/>
mv&#160;hooks/post-update.sample&#160;hooks/post-update<br/>
post-update&#160;umbenennen<br/>
chmod&#160;a+x&#160;hooks/post-update<br/>
post-update&#160;ausfürbar&#160;machen<br/>
-&#160;VirtualHost&#160;Eintrag&#160;zur&#160;Apache-Konfiguration&#160;hinzufügen<br/>
&lt;VirtualHost&#160;*:80&gt;<br/>
ServerName&#160;git.gitserver.loc<br/>
ServerAdmin&#160;webmaster@localhost<br/>
DocumentRoot&#160;/srv/git<br/>
#<br/>
&lt;Directory&#160;/srv/git/&gt;<br/>
#<br/>
Order&#160;allow,&#160;deny<br/>
#<br/>
allow&#160;from&#160;all<br/>
#<br/>
&lt;/Directory&gt;<br/>
&lt;Directory&#160;/srv/git/&gt;<br/>
Options&#160;Indexes&#160;FollowSymLinks<br/>
AllowOverride&#160;None<br/>
113<br/>
<hr/>
<a name=114></a>14.&#160;git<br/>
Require&#160;all&#160;granted<br/>
&lt;/Directory&gt;<br/>
ErrorLog&#160;${APACHE_LOG_DIR}/git.gitserver.loc-error.log<br/>
CustomLog&#160;${APACHE_LOG_DIR}/git.gitserver.loc-access.log&#160;combined<br/>
&lt;/VirtualHost&gt;<br/>
Nach&#160;dem&#160;nächsten&#160;push&#160;kann&#160;per&#160;&#34;git&#160;clone&#160;http://git.gitserver.loc/project.git&#34;das<br/>
Projekt&#160;anonym&#160;herunter&#160;geladen&#160;werden.<br/>
14.18.&#160;Grundbegriffe<br/>
Versionkontrollsystem&#160;(Version&#160;Control&#160;System,&#160;VCS)<br/>
Eine&#160;Versionsverwaltung&#160;ist&#160;ein&#160;System,&#160;das&#160;zur&#160;Erfassung&#160;von&#160;Änderungen<br/>
an&#160;Dokumenten&#160;oder&#160;Dateien&#160;verwendet&#160;wird.<br/>
Zum&#160;Beispiel:<br/>
Zentrale&#160;Systeme&#160;-&#160;zentraler&#160;Server<br/>
RCS-Revision&#160;Control&#160;System,&#160;CVS-Concurrent&#160;Versions&#160;System,<br/>
SVN-Subversion<br/>
Verteilte&#160;Systeme&#160;-&#160;Kein&#160;zentraler&#160;Server<br/>
Bazaar,&#160;Darcs,&#160;Fossil,&#160;Git,&#160;GNU&#160;arch,&#160;Mercurial,&#160;Monotone<br/>
Repository<br/>
Nutzt&#160;Git&#160;als&#160;Dantenbank&#160;in&#160;der&#160;die&#160;verschiedenen&#160;Zustände&#160;jeder&#160;Datei<br/>
eines&#160;Projektes&#160;über&#160;die&#160;Zeit&#160;hinweg&#160;ablegt.&#160;Jede&#160;Änderrung&#160;wird&#160;als<br/>
Commit&#160;verpackt&#160;und&#160;abgespeichert.<br/>
Working&#160;Tree<br/>
Das&#160;Arbeitsverzeichnis&#160;von&#160;Git,&#160;oft&#160;auch&#160;Working&#160;Directory&#160;genannt.<br/>
Commit&#160;Das&#160;speichern&#160;der&#160;veränderten&#160;Dateien&#160;im&#160;Repository.<br/>
HEAD<br/>
Eine&#160;symbolische&#160;Referenz&#160;auf&#160;den&#160;neusten&#160;Commit&#160;im&#160;aktuellen&#160;Branch.<br/>
SHA-1<br/>
Der&#160;Secure&#160;Hash&#160;Algorithm&#160;erstellt&#160;eine&#160;eindeutige,&#160;160&#160;Bit&#160;lange<br/>
Prüfsumme.&#160;Alle&#160;Commits&#160;in&#160;Git&#160;werden&#160;nach&#160;ihrer&#160;SHA-1-Summe&#160;benannt,<br/>
die&#160;aus&#160;dem&#160;Inhalt&#160;und&#160;den&#160;Metadaten&#160;des&#160;Commits&#160;errechnet&#160;wird.<br/>
Objektmodell<br/>
Ein&#160;Git-Repository&#160;lässt&#160;sich&#160;als&#160;Graph&#160;von&#160;Commits&#160;modellieren,&#160;der<br/>
durch&#160;Git-Kommandos&#160;manipuliert&#160;wird.<br/>
Index<br/>
Der&#160;Index&#160;ist&#160;eine&#160;Zwischenstufe&#160;zwischen&#160;Working&#160;Tree&#160;und&#160;Repository,<br/>
in&#160;der&#160;Sie&#160;einen&#160;Commit&#160;vorbereiten.&#160;Enthält&#160;also&#160;die&#160;Dateien&#160;für&#160;den<br/>
nästen&#160;Commit.<br/>
Clone<br/>
Wenn&#160;Sie&#160;sich&#160;ein&#160;Git-Repository&#160;aus&#160;dem&#160;Internet&#160;herrunterladen.<br/>
Enthält&#160;die&#160;gesamte&#160;Versionsgeschichte&#160;einschließlich&#160;aller&#160;Commits.<br/>
114<br/>
<hr/>
<a name=115></a>14.18.&#160;Grundbegriffe<br/>
Branch&#160;Eine&#160;Abzweigung&#160;in&#160;der&#160;Entwicklung.&#160;Zum&#160;Beispiel&#160;für&#160;neue&#160;Featurs,<br/>
Release&#160;vorbereitung&#160;oder&#160;alte&#160;Versionen&#160;mit&#160;Bugfixes&#160;zu&#160;versorgen.<br/>
master&#160;Beim&#160;Initialisieren&#160;eines&#160;neuen&#160;Repositorys&#160;wird&#160;der&#160;Branch&#160;master<br/>
erstellt&#160;analog&#160;trunk&#160;in&#160;anderen&#160;Systemen.<br/>
Tag<br/>
Tags&#160;sind&#160;symbolische&#160;Namen&#160;für&#160;schwer&#160;zu&#160;merkende&#160;SHA-1-Summen.<br/>
Wichtige&#160;Commits,&#160;wie&#160;zum&#160;Beispiel&#160;Releases&#160;v1.2.3.&#160;oder&#160;können<br/>
zusätzliche&#160;Metadateien&#160;wie&#160;Autor,&#160;Beschreibung&#160;und&#160;GPG-Signatur<br/>
enthalten.<br/>
115<br/>
<hr/>
<a name=116></a><hr/>
<a name=117></a>15.&#160;C/C++<br/>
15.1.&#160;Befehle&#160;und&#160;Grundelemente<br/>
gcc&#160;Datei.c<br/>
Programm&#160;übersetzen&#160;-&gt;&#160;a.out<br/>
g++&#160;Datei.cpp<br/>
Programm&#160;übersetzen&#160;-&gt;&#160;a.out&#160;(C++)<br/>
gcc&#160;-c&#160;Datei.c<br/>
Objektdatei&#160;herstellen&#160;-&gt;&#160;Datei.o<br/>
g++&#160;-c&#160;Datei.cpp<br/>
Objektdatei&#160;herstellen&#160;-&gt;&#160;Datei.o&#160;(C++)<br/>
gcc&#160;-o&#160;Programmname&#160;Datei1.o&#160;Datei2.o<br/>
Datei1.o+Datei2.o&#160;-&gt;&#160;Programmname<br/>
g++&#160;-o&#160;Programmname&#160;Datei1.o&#160;Datei2.o<br/>
Datei1.o+Datei2.o&#160;-&gt;&#160;Programmname&#160;(C++)<br/>
gcc&#160;-o&#160;Programmname&#160;Datei.c<br/>
Programm&#160;übersetzen&#160;-&gt;&#160;Programmname<br/>
g++&#160;-o&#160;Programmname&#160;Datei.cpp<br/>
Programm&#160;übersetzen&#160;-&gt;&#160;Programmname(C++)<br/>
Programmname<br/>
Programm&#160;starten<br/>
configure<br/>
Makefile&#160;konfigurieren<br/>
make<br/>
Programm&#160;übersetzen,<br/>
wenn&#160;Makefile&#160;vorhanden<br/>
make&#160;install<br/>
Programm&#160;installieren<br/>
/*<br/>
Kommentar&#160;einleiten<br/>
*/<br/>
Kommentar&#160;abschließen<br/>
//<br/>
Kommentar&#160;einleiten&#160;bis&#160;zum&#160;Zeilenende&#160;(C++)<br/>
{<br/>
Blockbeginn<br/>
}<br/>
Blockende<br/>
,<br/>
mehrere&#160;Variablen&#160;vom&#160;gleichen&#160;Typ&#160;deklarieren&#160;z.B.&#160;int&#160;a,&#160;b,&#160;c;<br/>
;<br/>
Funktions-,Operations-&#160;und&#160;Zeilen-ende&#160;(leere&#160;Anweisung)<br/>
#include&lt;Datei&gt;&#160;Datei&#160;aus&#160;/usr/include/&#160;bei&#160;UNIX&#160;einlesen<br/>
#include&#34;Datei&#34;&#160;Datei&#160;aus&#160;dem&#160;aktuellen&#160;Verzeichnis&#160;einlesen<br/>
char<br/>
Variablentyp&#160;character&#160;-&#160;Zeichen<br/>
int<br/>
Variablentyp&#160;integer&#160;-&#160;ganzzahlig&#160;mit&#160;Vorzeichen<br/>
main()<br/>
Hauptfunktion<br/>
return()<br/>
Wert&#160;aus&#160;einer&#160;Funktion&#160;zurückliefern<br/>
15.2.&#160;Steuersequenzen&#160;für&#160;ANSI-Bildschirme&#160;-<br/>
Innerhalb&#160;von&#160;Texten<br/>
\a<br/>
BEL<br/>
bell<br/>
Alarm/Piepton<br/>
117<br/>
<hr/>
<a name=118></a>15.&#160;C/C++<br/>
\b<br/>
BS<br/>
backspace<br/>
Rücksetzen&#160;um&#160;ein&#160;Zeichen<br/>
\f<br/>
FF<br/>
formfeed<br/>
Seitenvorschub<br/>
\n<br/>
NL<br/>
new&#160;line<br/>
Zeilenvorschub<br/>
\r<br/>
CR<br/>
carriage&#160;return<br/>
Wagenrücklauf<br/>
\t<br/>
HT<br/>
horizontal&#160;tabulation<br/>
horizontaler&#160;Tabulator<br/>
\v<br/>
VT<br/>
vertical&#160;tabulation<br/>
vertikaler&#160;Tabulator<br/>
\0<br/>
NULL<br/>
null<br/>
kein&#160;Zeichen&#160;Textende<br/>
\?<br/>
?<br/>
Fragezeichen&#160;(kein&#160;Dreierzeichen)<br/>
\<br/>
<br/>
Hochkomma<br/>
\&#34;<br/>
&#34;<br/>
Anführungszeichen<br/>
\\<br/>
\<br/>
umgekehrter&#160;Schrägstrich<br/>
\ddd<br/>
Zeichencode&#160;in&#160;oktaler&#160;Notation<br/>
\xdd<br/>
Zeichencode&#160;in&#160;hexadezimaler&#160;Notation<br/>
\e[1;1H<br/>
Cursor&#160;auf&#160;x1&#160;und&#160;y1&#160;setzen<br/>
\e[1;1f<br/>
-&gt;&#160;\e[1;1H<br/>
\e[5A<br/>
Cursor&#160;5&#160;Zeilen&#160;aufwärts&#160;bewegen<br/>
\e[5B<br/>
Cursor&#160;5&#160;Zeilen&#160;abwärts&#160;bewegen<br/>
\e[5C<br/>
Cursor&#160;5&#160;Spalten&#160;vorwärts(rechts)&#160;bewegen<br/>
\e[5D<br/>
Cursor&#160;5&#160;Spalten&#160;rückwärts(links)&#160;bewegen<br/>
\e[2J<br/>
Bildschirm&#160;löschen<br/>
\e[6n<br/>
Ausgabe&#160;der&#160;Cursor&#160;position&#160;z.B.&#160;^[[32;6R<br/>
\e[s<br/>
merkt&#160;die&#160;aktuelle&#160;Cursor&#160;Position<br/>
\e[u<br/>
Cursor&#160;auf&#160;gemerkte&#160;Position&#160;setzen<br/>
\e[Schrift;Vordergrund;Hintergrundmerkmale<br/>
setzt&#160;Bildschirmmerkmale<br/>
Schrift<br/>
Vordergrund&#160;Hintergrund<br/>
0&#160;normal<br/>
30&#160;schwarz&#160;40<br/>
1&#160;grell<br/>
31&#160;rot<br/>
41<br/>
4&#160;unterstrichen&#160;32&#160;grün<br/>
42<br/>
5&#160;blinken<br/>
33&#160;gelb<br/>
43&#160;braun<br/>
7&#160;reverse<br/>
34&#160;blau<br/>
44<br/>
35&#160;magenta&#160;45<br/>
36&#160;cyan<br/>
46<br/>
37&#160;weiß<br/>
47&#160;grau<br/>
15.3.&#160;stdio.h&#160;-&gt;&#160;Standard&#160;Ein-&#160;und&#160;Ausgabe<br/>
c=getchar();<br/>
Eingabe&#160;eines&#160;Zeichens,&#160;ohne&#160;Wagenrücklauf<br/>
putchar(a);<br/>
Ausgabe&#160;eines&#160;Zeichens,&#160;ohne&#160;Wagenrücklauf<br/>
puts(&#34;Text&#34;);<br/>
Zeichenkette&#160;ausgeben,&#160;mit&#160;Wagenrücklauf<br/>
fputs(&#34;Text&#34;,stdount);&#160;Zeichenkette&#160;ausgeben,&#160;ohne&#160;Wagenrücklauf<br/>
fputs(&#34;Text&#34;,stderr);<br/>
Zeichenkette&#160;ausgeben,&#160;ohne&#160;Wagenrücklauf<br/>
printf(&#34;Text&#160;%d&#34;,Zahl);&#160;Zeichenkette&#160;formatiert&#160;ausgeben,&#160;ohne&#160;Wagenrücklauf<br/>
%&#160;F&#160;Z1&#160;.&#160;Z2&#160;L&#160;U<br/>
|&#160;|&#160;|&#160;|&#160;|&#160;|&#160;+&#160;Umwandlungszeichen:&#160;%d-dezimal<br/>
%u-unsigned<br/>
118<br/>
<hr/>
<a name=119></a>15.4.&#160;ctype.h<br/>
|&#160;|&#160;|&#160;|&#160;|&#160;|<br/>
%o-oktal<br/>
%s-Text&#160;%c-Zeichen<br/>
|&#160;|&#160;|&#160;|&#160;|&#160;|<br/>
%f-Flieskomma<br/>
%e-Expotential<br/>
|&#160;|&#160;|&#160;|&#160;|&#160;|<br/>
%x-hexadezimal&#160;%p-pointer<br/>
|&#160;|&#160;|&#160;|&#160;|&#160;+--&#160;Long-Ausgabe:&#160;notwendig&#160;für&#160;long&#160;int<br/>
|&#160;|&#160;|&#160;|&#160;+-----&#160;Nachkommastellen:&#160;z.B&#160;3&#160;für&#160;drei&#160;stellen<br/>
|&#160;|&#160;|&#160;+-------&#160;Trenzeichen,&#160;falls&#160;Z1&#160;und&#160;Z2<br/>
|&#160;|&#160;+----------&#160;Größe&#160;des&#160;Ausgabefensters:&#160;z.B&#160;7&#160;für&#160;sieben&#160;stellen<br/>
|&#160;+------------&#160;Ausrichtung:&#160;ohne&#160;Angabe&#160;rechtsbündig,<br/>
|<br/>
mit&#160;Minuszeichen&#160;linksbündig<br/>
+--------------&#160;Fluchtsymbol<br/>
scanf(&#34;%c&#34;,&amp;text);<br/>
Zeichen&#160;in&#160;&amp;text&#160;einlesen<br/>
%&#160;*&#160;Z&#160;L&#160;U<br/>
|&#160;|&#160;|&#160;|&#160;+------&#160;Umwandlungszeichen<br/>
|&#160;|&#160;|&#160;+--------&#160;Long-Ausgabe<br/>
|&#160;|&#160;+----------&#160;Größe&#160;des&#160;Eingabefensters<br/>
|&#160;+------------&#160;Wegwerfen<br/>
+--------------&#160;Fluchtsymbol<br/>
15.4.&#160;ctype.h<br/>
if(isascii(zeichen))<br/>
überprüft&#160;ob&#160;es&#160;sich&#160;um&#160;ein&#160;ASCII-Zeichen&#160;handelt<br/>
if(isxdigit(zeichen))<br/>
überprüft&#160;ob&#160;es&#160;sich&#160;um&#160;ein&#160;Hex-Zeichen&#160;handelt<br/>
15.5.&#160;string.h<br/>
char&#160;*strcat(char&#160;text1,&#160;char&#160;text2)&#160;;&#160;hängt&#160;Text2(mit&#160;\0)&#160;an&#160;Text1<br/>
char&#160;*strchr(const&#160;char&#160;*text,<br/>
int&#160;zeichen)&#160;;<br/>
sucht&#160;das&#160;erste&#160;vorkommende<br/>
Zeichen&#160;im&#160;Text,&#160;liefert&#160;Adresse<br/>
oder&#160;NULL<br/>
char&#160;*strcpy(char&#160;text1,&#160;char&#160;text2)&#160;;&#160;kopiert&#160;Text2(mit&#160;\0)&#160;zum&#160;Text1<br/>
sitze_t&#160;strlen(const&#160;char&#160;*text)&#160;;<br/>
liefert&#160;die&#160;Länge&#160;von&#160;Text(ohne&#160;\0)<br/>
char&#160;*strncat(char&#160;*text1,<br/>
const&#160;char&#160;*text2,&#160;sitze_t&#160;n)&#160;;<br/>
hängt&#160;Text2&#160;mit&#160;n&#160;Zeichen<br/>
an&#160;Text1(mit&#160;\0)<br/>
char&#160;*strtok(char&#160;*text,<br/>
const&#160;char&#160;*kette)&#160;;<br/>
1.Aufruf:&#160;sucht&#160;im&#160;Text&#160;das&#160;erste<br/>
Zeichen&#160;das&#160;nicht&#160;in&#160;Kette&#160;vorkommt<br/>
(wird&#160;kein&#160;Zeichen&#160;gefunden&#160;gibt&#160;strtok<br/>
einen&#160;NULL-Zeiger&#160;zurück),&#160;wird&#160;ein<br/>
Zeichen&#160;gefunden&#160;gibt&#160;strtok&#160;den&#160;Zeiger<br/>
zurück,&#160;dann&#160;sucht&#160;strtok&#160;ab&#160;Zeiger&#160;das<br/>
erste&#160;Zeichen&#160;das&#160;in&#160;der&#160;Kette&#160;vorkommt<br/>
119<br/>
<hr/>
<a name=120></a>15.&#160;C/C++<br/>
und&#160;überschreibt&#160;es&#160;mit&#160;\0,&#160;strtok&#160;merkt<br/>
sich&#160;den&#160;Zeiger&#160;auf&#160;das&#160;nächste&#160;Zeichen<br/>
char&#160;*strtok(NULL,&#160;const&#160;char&#160;*kette)&#160;;&#160;2.-n.Aufruf:&#160;wie&#160;1.Aufruf&#160;ab&#160;gemerkten<br/>
Zeiger<br/>
15.6.&#160;Kontrollstrukturen<br/>
if(Ausdruck)<br/>
wenn&#160;der&#160;Ausdruck&#160;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&#160;zum&#160;Ausdruck<br/>
{<br/>
case&#160;1:&#160;Anweisung-en1;&#160;Ausdruck1:<br/>
Anweisung-en1<br/>
case&#160;2:&#160;Anweisung-en2;&#160;Ausdruck2:<br/>
Anweisung-en2<br/>
break;<br/>
Anweisungen&#160;beenden<br/>
case&#160;n:&#160;Anweisung-enn;&#160;Ausdruckn:<br/>
Anweisung-enn<br/>
break;<br/>
Anweisungen&#160;beenden<br/>
default:&#160;Anweisung-en;<br/>
Ausdruck&#160;nicht&#160;vorhanden:<br/>
Aneisung-en<br/>
}<br/>
continue;<br/>
unterbricht&#160;die&#160;Abarbeitung&#160;und&#160;geht&#160;zur&#160;Ausdrucksbedingung<br/>
break;<br/>
verlässt&#160;die&#160;Schleife&#160;oder&#160;Verbundsanweisung<br/>
for(Ausdruck1;Ausdruck2;Ausdruck3)<br/>
Ausdruck1&#160;einmal&#160;ausführen<br/>
{<br/>
so&#160;lange&#160;der&#160;Ausdruck2&#160;stimmt,<br/>
vorher&#160;noch&#160;Ausdruck3<br/>
Anweisug-en;<br/>
Anweisung-en<br/>
}<br/>
while(Ausdruck)<br/>
so&#160;lange&#160;der&#160;Ausdruck&#160;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.&#160;ASCII(American&#160;Standart&#160;Code&#160;for&#160;Information&#160;Interchange)-Tabelle<br/>
while(Ausdruck);<br/>
so&#160;lange&#160;der&#160;Ausdruck&#160;stimmt<br/>
15.7.&#160;ASCII(American&#160;Standart&#160;Code&#160;for&#160;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&#160;0<br/>
$10&#160;16&#160;$20&#160;32&#160;$30&#160;48&#160;$40&#160;64&#160;$50&#160;80&#160;$60&#160;96&#160;$70&#160;112<br/>
SOH<br/>
DC1<br/>
!<br/>
1<br/>
A<br/>
Q<br/>
a<br/>
q<br/>
0001<br/>
$1&#160;1<br/>
$11&#160;17&#160;$21&#160;33&#160;$31&#160;49&#160;$41&#160;65&#160;$51&#160;81&#160;$61&#160;97&#160;$71&#160;113<br/>
STX<br/>
DC2<br/>
&#34;<br/>
2<br/>
B<br/>
R<br/>
b<br/>
r<br/>
0010<br/>
$2&#160;2<br/>
$12&#160;18&#160;$22&#160;34&#160;$32&#160;50&#160;$42&#160;66&#160;$52&#160;82&#160;$62&#160;98&#160;$72&#160;114<br/>
ETX<br/>
DC3<br/>
#<br/>
3<br/>
C<br/>
S<br/>
c<br/>
s<br/>
0011<br/>
$3&#160;3<br/>
$13&#160;19&#160;$23&#160;35&#160;$33&#160;51&#160;$43&#160;67&#160;$53&#160;83&#160;$63&#160;99&#160;$73&#160;115<br/>
EOT<br/>
DC4<br/>
$<br/>
4<br/>
D<br/>
T<br/>
d<br/>
t<br/>
0100<br/>
$4&#160;4<br/>
$14&#160;20&#160;$24&#160;36&#160;$34&#160;52&#160;$44&#160;68&#160;$54&#160;84&#160;$64&#160;100&#160;$74&#160;116<br/>
ENQ<br/>
NAK<br/>
%<br/>
5<br/>
E<br/>
U<br/>
e<br/>
u<br/>
0101<br/>
$5&#160;5<br/>
$15&#160;21&#160;$25&#160;37&#160;$35&#160;53&#160;$45&#160;69&#160;$55&#160;85&#160;$65&#160;101&#160;$75&#160;117<br/>
ACK<br/>
SYN<br/>
&amp;<br/>
6<br/>
F<br/>
V<br/>
f<br/>
v<br/>
0110<br/>
$6&#160;6<br/>
$16&#160;22&#160;$26&#160;38&#160;$36&#160;54&#160;$46&#160;70&#160;$56&#160;86&#160;$66&#160;102&#160;$76&#160;118<br/>
BEL<br/>
ETB<br/>
<br/>
7<br/>
G<br/>
W<br/>
g<br/>
w<br/>
0111<br/>
$7&#160;7<br/>
$17&#160;23&#160;$27&#160;39&#160;$37&#160;55&#160;$47&#160;71&#160;$57&#160;87&#160;$67&#160;103&#160;$77&#160;119<br/>
BS<br/>
CAN<br/>
(<br/>
8<br/>
H<br/>
X<br/>
h<br/>
x<br/>
1000<br/>
$8&#160;8<br/>
$18&#160;24&#160;$28&#160;40&#160;$38&#160;56&#160;$48&#160;72&#160;$58&#160;88&#160;$68&#160;104&#160;$78&#160;120<br/>
HT<br/>
EM<br/>
)<br/>
9<br/>
I<br/>
Y<br/>
i<br/>
y<br/>
1001<br/>
$9&#160;9<br/>
$19&#160;25&#160;$29&#160;41&#160;$39&#160;57&#160;$49&#160;73&#160;$59&#160;89&#160;$69&#160;105&#160;$79&#160;121<br/>
LF<br/>
SUB<br/>
*<br/>
:<br/>
J<br/>
Z<br/>
j<br/>
z<br/>
1010<br/>
$A&#160;10<br/>
$1A&#160;26&#160;$2A&#160;42&#160;$3A&#160;58&#160;$4A&#160;74&#160;$5A&#160;90&#160;$6A&#160;106&#160;$7A&#160;122<br/>
VT<br/>
ESC<br/>
+<br/>
;<br/>
K<br/>
<br/>
k<br/>
<br/>
1011<br/>
$B&#160;11<br/>
$1B&#160;27&#160;$2B&#160;43&#160;$3B&#160;59&#160;$4B&#160;75&#160;$5B&#160;91&#160;$6B&#160;107&#160;$7B&#160;123<br/>
121<br/>
<hr/>
<a name=122></a>15.&#160;C/C++<br/>
FF<br/>
FS<br/>
,<br/>
&lt;<br/>
L<br/>
<br/>
l<br/>
<br/>
1100<br/>
$C&#160;12<br/>
$1C&#160;28&#160;$2C&#160;44&#160;$3C&#160;60&#160;$4C&#160;76&#160;$5C&#160;92&#160;$6C&#160;108&#160;$7C&#160;124<br/>
CR<br/>
GS<br/>
-<br/>
=<br/>
M<br/>
<br/>
m<br/>
<br/>
1101<br/>
$D&#160;13<br/>
$1D&#160;29&#160;$2D&#160;45&#160;$3D&#160;61&#160;$4D&#160;77&#160;$5D&#160;93&#160;$7D&#160;109&#160;$7D&#160;125<br/>
SO<br/>
RS<br/>
.<br/>
&gt;<br/>
N<br/>
^<br/>
n<br/>
<br/>
1110<br/>
$E&#160;14<br/>
$1E&#160;30&#160;$2E&#160;46&#160;$3E&#160;62&#160;$4E&#160;78&#160;$5E&#160;94&#160;$7E&#160;110&#160;$7E&#160;126<br/>
SI<br/>
US<br/>
/<br/>
?<br/>
O<br/>
_<br/>
o<br/>
DEL<br/>
1111<br/>
$F&#160;15<br/>
$1F&#160;31&#160;$2F&#160;47&#160;$3F&#160;63&#160;$4F&#160;79&#160;$5F&#160;95&#160;$7F&#160;111&#160;$7F&#160;127<br/>
15.7.1.&#160;Unterteilung&#160;der&#160;Steuerzeichen:<br/>
TC<br/>
transmission&#160;control<br/>
Übertragungssteuerzeichen<br/>
FE<br/>
format&#160;effects<br/>
Formatsteuerzeichen<br/>
IS<br/>
information&#160;separators&#160;Informationstrennzeichen<br/>
DC<br/>
device&#160;control<br/>
Gerätesteuerzeichen<br/>
15.7.2.&#160;Bedeutung&#160;der&#160;Steuerzeichen:<br/>
NUL<br/>
null<br/>
kein&#160;Zeichen<br/>
SOH<br/>
TC<br/>
start&#160;of&#160;heading<br/>
Anfang&#160;des&#160;Kopfes<br/>
STX<br/>
TC<br/>
start&#160;of&#160;text<br/>
Anfang&#160;des&#160;Textes<br/>
ETX<br/>
TC<br/>
end&#160;of&#160;text<br/>
Ende&#160;des&#160;Textes<br/>
EOT<br/>
TC<br/>
end&#160;of&#160;transmission<br/>
Ende&#160;der&#160;Übertragung<br/>
ENQ<br/>
TC<br/>
enquiry<br/>
Stationsaufforderung<br/>
ACK<br/>
TC<br/>
acknowledge<br/>
positive&#160;Rückmeldung<br/>
BEL<br/>
bell<br/>
Alarm&#160;/&#160;Piepton<br/>
BS<br/>
FE<br/>
backspace<br/>
Rückwärtsschritt<br/>
HT<br/>
FE<br/>
horizontal&#160;tabulation<br/>
horizontaler&#160;Tabulator<br/>
LF<br/>
FE<br/>
line&#160;feed<br/>
Zeilenvorschub<br/>
VT<br/>
FE<br/>
vertical&#160;tabulation<br/>
vertikaler&#160;Tabulator<br/>
FF<br/>
FE<br/>
form&#160;feed<br/>
Seitenvorschub<br/>
CR<br/>
FE<br/>
carriage&#160;return<br/>
Wagenrücklauf<br/>
SO<br/>
shift&#160;out<br/>
Dauerumschaltung<br/>
SI<br/>
shift&#160;in<br/>
Rückschaltung<br/>
DLE<br/>
TC<br/>
data&#160;link&#160;escape<br/>
Datenübertragungsumschaltung<br/>
DCn<br/>
DC<br/>
device&#160;control<br/>
Gerätesteuerzeichen<br/>
NAK<br/>
TC<br/>
negative&#160;acknowledge<br/>
negative&#160;Rückmeldung<br/>
SYN<br/>
TC<br/>
synchronous&#160;idle<br/>
Synchronisierung<br/>
ETB<br/>
TC<br/>
end&#160;of&#160;transmission&#160;block<br/>
Ende&#160;des&#160;Übertragungsblocks<br/>
CAN<br/>
cancel<br/>
ungültig<br/>
EM<br/>
end&#160;of&#160;medium<br/>
Ende&#160;der&#160;Aufzeichnung<br/>
122<br/>
<hr/>
<a name=123></a>15.8.&#160;Operatoren&#160;und&#160;Ausdrücke<br/>
SUB<br/>
substitute&#160;character<br/>
Substitution<br/>
ESC<br/>
escape<br/>
Umschaltung<br/>
FS<br/>
IS<br/>
file&#160;separator<br/>
Hauptgruppentrennung<br/>
GS<br/>
IS<br/>
group&#160;separator<br/>
Gruppentrennung<br/>
RS<br/>
IS<br/>
record&#160;separator<br/>
Untergruppentrennung<br/>
US<br/>
IS<br/>
unit&#160;separator<br/>
Teilgruppentrennung<br/>
SP<br/>
space<br/>
Leerzeichen<br/>
DEL<br/>
delete<br/>
löschen<br/>
15.8.&#160;Operatoren&#160;und&#160;Ausdrücke<br/>
15.8.1.&#160;Arithmetische&#160;Operatoren:<br/>
Operator<br/>
Bedeutung<br/>
Assoziativität&#160;Rang<br/>
Beispiel<br/>
--------<br/>
---------<br/>
--------------&#160;----<br/>
--------<br/>
+<br/>
Addition<br/>
&gt;<br/>
5<br/>
a+b<br/>
-<br/>
Subtraktion<br/>
&gt;<br/>
5<br/>
a-b<br/>
*<br/>
Multiplikation<br/>
&gt;<br/>
4<br/>
a*b<br/>
/<br/>
Division<br/>
&gt;<br/>
4<br/>
a/b<br/>
%<br/>
Modulo<br/>
&gt;<br/>
4<br/>
a%b<br/>
15.8.2.&#160;Vergleichsoperatoren:<br/>
Operator<br/>
Bedeutung<br/>
Assoziativität&#160;Rang<br/>
Beispiel<br/>
--------<br/>
---------<br/>
--------------&#160;----<br/>
--------<br/>
&lt;<br/>
kleiner&#160;als<br/>
&gt;<br/>
7<br/>
a&lt;b<br/>
&lt;=<br/>
kleiner&#160;oder&#160;gleich<br/>
&gt;<br/>
7<br/>
a&lt;=b<br/>
&gt;<br/>
größer<br/>
&gt;<br/>
7<br/>
a&gt;b<br/>
&gt;=<br/>
größer&#160;oder&#160;gleich<br/>
&gt;<br/>
7<br/>
a&gt;=b<br/>
==<br/>
gleich<br/>
&gt;<br/>
8<br/>
a==b<br/>
!=<br/>
ungleich<br/>
&gt;<br/>
8<br/>
a!=b<br/>
15.8.3.&#160;Logische&#160;Operatoren:<br/>
Operator<br/>
Bedeutung<br/>
Assoziativität&#160;Rang<br/>
Beispiel<br/>
--------<br/>
---------<br/>
--------------&#160;----<br/>
--------<br/>
&amp;<br/>
bitweises&#160;AND<br/>
&gt;<br/>
9<br/>
a&amp;b<br/>
|<br/>
bitweises&#160;OR<br/>
&gt;<br/>
11<br/>
a|b<br/>
^<br/>
bitweises&#160;XOR<br/>
&gt;<br/>
10<br/>
a^b<br/>
&lt;&lt;<br/>
bitweises&#160;Linksschieben<br/>
&gt;<br/>
6<br/>
a&lt;&lt;n<br/>
&gt;&gt;<br/>
bitweises&#160;Rechtsschieben<br/>
&gt;<br/>
6<br/>
a&gt;&gt;n<br/>
~<br/>
Einerkomplement<br/>
&lt;<br/>
2<br/>
~a<br/>
&amp;&amp;<br/>
logisches&#160;AND<br/>
&gt;<br/>
12<br/>
a&amp;&amp;b<br/>
||<br/>
logisches&#160;OR<br/>
&gt;<br/>
13<br/>
a||b<br/>
!<br/>
logische&#160;Negation<br/>
&lt;<br/>
2<br/>
!a<br/>
123<br/>
<hr/>
<a name=124></a>15.&#160;C/C++<br/>
15.8.4.&#160;Zuweisungsoperatoren:<br/>
Operator<br/>
Bedeutung<br/>
Assoziativität&#160;Rang<br/>
Beispiel<br/>
--------<br/>
---------<br/>
--------------&#160;----<br/>
--------<br/>
=<br/>
Zuweisung<br/>
&lt;<br/>
15<br/>
a=b<br/>
+=<br/>
Zuweisung&#160;nach&#160;Addition<br/>
&lt;<br/>
15<br/>
a+=b<br/>
-=<br/>
Zuweisung&#160;nach&#160;Subtraktion<br/>
&lt;<br/>
15<br/>
a-=b<br/>
*=<br/>
Zuweisung&#160;nach&#160;Multiplikation<br/>
&lt;<br/>
15<br/>
a*=b<br/>
/=<br/>
Zuweisung&#160;nach&#160;Division<br/>
&lt;<br/>
15<br/>
a/=b<br/>
%=<br/>
Zuweisung&#160;nach&#160;Modulo<br/>
&lt;<br/>
15<br/>
a%=b<br/>
&lt;&lt;=<br/>
Zuweisung&#160;nach&#160;bitweisem<br/>
&lt;<br/>
15<br/>
a&lt;&lt;=b<br/>
Linksschieben<br/>
&gt;&gt;=<br/>
Zuweisung&#160;nach&#160;bitweisem<br/>
&lt;<br/>
15<br/>
a&gt;&gt;=b<br/>
Rechtsschieben<br/>
&amp;=<br/>
Zuweisung&#160;nach&#160;bitweisem&#160;AND<br/>
&lt;<br/>
15<br/>
a&amp;=b<br/>
|=<br/>
Zuweisung&#160;nach&#160;bitweisem&#160;OR<br/>
&lt;<br/>
15<br/>
a|=b<br/>
^=<br/>
Zuweisung&#160;nach&#160;bitweisem&#160;XOR<br/>
&lt;<br/>
15<br/>
a^=b<br/>
15.8.5.&#160;Post-&#160;und&#160;Prefix-&#160;Operatoren:<br/>
Operator<br/>
Bedeutung<br/>
Assoziativität&#160;Rang<br/>
Beispiel<br/>
--------<br/>
---------<br/>
--------------&#160;----<br/>
--------<br/>
++<br/>
Inkrement<br/>
&gt;&#160;&lt;<br/>
1&#160;2<br/>
a++&#160;++a<br/>
--<br/>
Dekrement<br/>
&gt;&#160;&lt;<br/>
1&#160;2<br/>
a--&#160;--a<br/>
()<br/>
Funktionsaufruf<br/>
&gt;<br/>
1<br/>
sqrt(a)<br/>
[]<br/>
Arrayelement<br/>
&gt;<br/>
1<br/>
feld[a]<br/>
.<br/>
Feld&#160;einer&#160;structur&#160;oder&#160;union&#160;&gt;<br/>
1<br/>
tag.dat<br/>
-&gt;<br/>
Zeiger&#160;auf&#160;structur<br/>
&gt;<br/>
1<br/>
zeig-&gt;ele<br/>
(&#160;type&#160;)<br/>
expl.&#160;Typenumwandlung<br/>
&lt;<br/>
2<br/>
double(a)<br/>
15.8.6.&#160;Zeigeroperatoren:<br/>
Operator<br/>
Bedeutung<br/>
Assoziativität&#160;Rang<br/>
Beispiel<br/>
--------<br/>
---------<br/>
--------------&#160;----<br/>
--------<br/>
&amp;<br/>
Adresse&#160;von<br/>
&lt;<br/>
2<br/>
&amp;a<br/>
*<br/>
Indirektion<br/>
&lt;<br/>
2<br/>
*a<br/>
.*<br/>
Dereferenzzeiger<br/>
&gt;<br/>
3<br/>
tag.*dat<br/>
-&gt;*<br/>
Dereferenzzeiger<br/>
&gt;<br/>
3<br/>
tag-&gt;dat<br/>
15.8.7.&#160;Diverse&#160;Kategorien:<br/>
Operator<br/>
Bedeutung<br/>
Assoziativität&#160;Rang<br/>
Beispiel<br/>
--------<br/>
---------<br/>
--------------&#160;----<br/>
--------<br/>
?:<br/>
Bedinung<br/>
&lt;<br/>
14<br/>
a?b:c<br/>
i&#160;=&#160;x&lt;y&#160;?&#160;6&#160;:&#160;k+1&#160;;<br/>
x&#160;kleiner&#160;y&#160;dann&#160;6&#160;sonst&#160;k+1<br/>
124<br/>
<hr/>
<a name=125></a>15.9.&#160;Inkrementieren&#160;und&#160;Dekrementieren<br/>
,<br/>
Aufzählungsoperator<br/>
&gt;<br/>
16<br/>
a,b,&#160;...<br/>
-<br/>
unäres&#160;Minus<br/>
&lt;<br/>
2<br/>
-n<br/>
+<br/>
unäres&#160;Plus<br/>
&lt;<br/>
2<br/>
+n<br/>
sizeof(typ)<br/>
Größe&#160;des&#160;Types&#160;in&#160;Byte<br/>
&lt;<br/>
2<br/>
sizeof(a)<br/>
new<br/>
dynam.&#160;Objekt&#160;erzeugen<br/>
&lt;<br/>
2<br/>
b&#160;=&#160;new&#160;float[a]<br/>
delete<br/>
dynam.&#160;Objekt&#160;löschen<br/>
&lt;<br/>
2<br/>
delete&#160;b<br/>
::<br/>
Zugiffs-/Bereichsoperator<br/>
&lt;<br/>
2<br/>
adr::nam<br/>
15.9.&#160;Inkrementieren&#160;und&#160;Dekrementieren<br/>
i++&#160;;<br/>
i&#160;=&#160;i&#160;+&#160;1<br/>
++i&#160;;<br/>
i&#160;=&#160;i&#160;+&#160;1<br/>
x&#160;=&#160;i++&#160;;<br/>
1.&#160;x&#160;=&#160;i<br/>
2.&#160;i&#160;=&#160;i&#160;+&#160;1<br/>
x&#160;=&#160;++i&#160;;<br/>
1.&#160;i&#160;=&#160;i&#160;+&#160;1<br/>
2.&#160;x&#160;=&#160;i<br/>
i--&#160;;<br/>
i&#160;=&#160;i&#160;-&#160;1<br/>
--i&#160;;<br/>
i&#160;=&#160;i&#160;-&#160;1<br/>
x&#160;=&#160;i--&#160;;<br/>
1.&#160;x&#160;=&#160;i<br/>
2.&#160;i&#160;=&#160;i&#160;-&#160;1<br/>
x&#160;=&#160;--i&#160;;<br/>
2.&#160;i&#160;=&#160;i&#160;-&#160;1<br/>
2.&#160;x&#160;=&#160;i<br/>
15.10.&#160;Wertebereich&#160;und&#160;Genauigkeit&#160;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&#160;char<br/>
8<br/>
0<br/>
255<br/>
short&#160;int<br/>
16<br/>
-32768<br/>
32767<br/>
unsigned&#160;short&#160;int&#160;16<br/>
0<br/>
65535<br/>
int<br/>
(16)32(64)<br/>
-2147483648<br/>
2147483647<br/>
unsigned&#160;int<br/>
16<br/>
0<br/>
65535<br/>
long&#160;int<br/>
32(64)<br/>
-2147483648<br/>
2147483647<br/>
unsigned&#160;long&#160;int&#160;32<br/>
0<br/>
4294967295<br/>
float<br/>
32<br/>
ca.&#160;3.4E-38<br/>
3.4E38<br/>
&gt;=&#160;6&#160;Ziffern<br/>
double<br/>
64<br/>
ca.&#160;1.7E-308<br/>
1.7E308<br/>
&gt;=&#160;10&#160;Ziffern<br/>
long&#160;double<br/>
80<br/>
ca.&#160;1.2E-4932<br/>
1.2E4932<br/>
&gt;=&#160;double<br/>
15.11.&#160;Variableninitialisierung<br/>
Nichtinitialisierte&#160;Variabeln&#160;haben&#160;nicht&#160;automatisch&#160;den&#160;Wert&#160;0!<br/>
short&#160;faktor=10&#160;;<br/>
short&#160;laktor,&#160;messwert&#160;;<br/>
125<br/>
<hr/>
<a name=126></a>15.&#160;C/C++<br/>
messwert=faktor&#160;;<br/>
15.12.&#160;Konstanten<br/>
Konstanten&#160;werden&#160;mit&#160;dem&#160;vorangestellten&#160;Schlüsselwort&#160;const&#160;wie&#160;Variabeln&#160;dekla-<br/>
riert.&#160;Der&#160;dem&#160;Namen&#160;über&#160;das&#160;=-Zeichen&#160;zugeordnete&#160;Wert&#160;kann&#160;nicht&#160;im&#160;Programm<br/>
verändert&#160;werden.&#160;Für&#160;eine&#160;fehlende&#160;Typenangabe&#160;wird&#160;int&#160;angenommen.<br/>
cont&#160;float<br/>
PI&#160;=<br/>
3.14159&#160;;<br/>
//&#160;bevorzugen<br/>
#define<br/>
PI<br/>
3.14159&#160;;<br/>
15.12.1.&#160;Ganzzahlkonstanten<br/>
dezimal&#160;=&#160;30&#160;;&#160;oktal&#160;=&#160;036&#160;;&#160;hexadezimal&#160;=&#160;0x1E&#160;;&#160;Zusätzlich&#160;kann&#160;frau&#160;eine&#160;Ganz-<br/>
zahlkonstante&#160;durch&#160;das&#160;Suffix&#160;L&#160;oder&#160;l&#160;als&#160;long&#160;und&#160;durch&#160;U&#160;oder&#160;u&#160;als&#160;unsigned<br/>
kennzeichnen&#160;(z.B.&#160;30U).<br/>
15.12.2.&#160;Gleitkommakonstanten<br/>
0.033&#160;+.033&#160;33E-3&#160;+33.0e-03&#160;Zusätzlich&#160;kann&#160;frau&#160;eine&#160;Gleitkommakonstante&#160;durch<br/>
das&#160;Suffix&#160;F&#160;oder&#160;f&#160;als&#160;float&#160;und&#160;durch&#160;L&#160;oder&#160;l&#160;als&#160;long&#160;double&#160;kennzeichnen&#160;(z.B.<br/>
0.033L).<br/>
15.12.3.&#160;Zeichen-&#160;und&#160;Zeichenkettenkonstanten<br/>
n<br/>
“zeichenkette&#34;<br/>
126<br/>
<hr/>
<a name=127></a>16.&#160;Tcl/Tk<br/>
wish<br/>
startet&#160;den&#160;Tcl/Tk-Interpeter<br/>
exit<br/>
beendet&#160;den&#160;Tcl/Tk-Interpeter<br/>
wish&#160;Programm.tcl<br/>
startet&#160;das&#160;Programm.tcl<br/>
button&#160;.name&#160;Option/en&#160;Knopf&#160;definieren&#160;Optionen:<br/>
-text&#160;&#34;Aufschrift&#34;<br/>
Knopf-Aufschrift<br/>
-text&#160;[Befehl]<br/>
Knopf-Aufschrift&#160;vom&#160;Befehl<br/>
-command&#160;{Befehl}<br/>
Knopf-Befehl<br/>
Befehl:&#160;z.B.&#160;exec&#160;ls&#160;oder&#160;exec&#160;xterm&#160;-e&#160;vi&#160;&amp;<br/>
-relief&#160;flat<br/>
Knopf&#160;flach<br/>
-relief&#160;raised<br/>
Knopf&#160;erhoben<br/>
-relief&#160;sunken<br/>
Knopf&#160;eingedrückt<br/>
-relief&#160;ridge<br/>
Knopf&#160;Band&#160;erhoben<br/>
-relief&#160;groove<br/>
Knopf&#160;Band&#160;eingedrückt<br/>
-padx&#160;Pixelzahl<br/>
Abstand&#160;zum&#160;Rand&#160;in&#160;x-Richtung<br/>
-pady&#160;Pixelzahl<br/>
Abstand&#160;zum&#160;Rand&#160;in&#160;y-Richtung<br/>
-image&#160;[&#160;image&#160;create&#160;photo&#160;-file&#160;Bildname&#160;]<br/>
Knopf&#160;mit&#160;gif,&#160;ppm&#160;oder&#160;pgm<br/>
-foreground&#160;Farbe<br/>
Schriftfarbe&#160;&#34;#rgb&#34;-&gt;&#34;#ff0000&#34;&#160;oder&#160;red<br/>
-fg&#160;Farbe<br/>
Abkürzung&#160;für&#160;-foreground&#160;Farbe<br/>
-background&#160;Farbe<br/>
Knopffarbe<br/>
-bg&#160;Farbe<br/>
Abkürzung&#160;für&#160;-background&#160;Farbe<br/>
-width&#160;Pixelbreite<br/>
Knopfbreite<br/>
-height&#160;Pixelhöhe<br/>
Knopfhöhe<br/>
-font&#160;Zeichensatz<br/>
Schrift&#160;für&#160;den&#160;Knopf<br/>
pack&#160;.name&#160;Option/en<br/>
Knopf&#160;anzeigen&#160;Option:<br/>
-fill&#160;x<br/>
Knopf&#160;an&#160;die&#160;Fensterbreite&#160;anpassen<br/>
-expand&#160;true<br/>
Knopf&#160;im&#160;großen&#160;Fenster&#160;aufteilen<br/>
127<br/>
<hr/>
<a name=128></a><hr/>
<a name=129></a>17.&#160;Perl<br/>
perl&#160;-v<br/>
überprüfen&#160;ob&#160;Perl&#160;installiert&#160;ist<br/>
129<br/>
<hr/>
<a name=130></a><hr/>
<a name=131></a>18.&#160;CGI+Perl<br/>
18.1.&#160;Einleitung<br/>
Was&#160;ist&#160;CGI?<br/>
Common&#160;Gateway&#160;Interface.&#160;Web-Server-Schnittstelle,&#160;um&#160;mit<br/>
anderen&#160;Programmen&#160;zusammenzuarbeiten.<br/>
Was&#160;ist&#160;Perl?<br/>
Practical&#160;Extraction&#160;and&#160;Report&#160;Language.&#160;Interpreter-Skript-<br/>
Sprache,&#160;die&#160;häufig&#160;zur&#160;Programmierung&#160;von&#160;CGI-Anwendungen<br/>
benutzt&#160;wird.<br/>
18.2.&#160;Perl<br/>
18.2.1.&#160;Texte&#160;und&#160;Strings<br/>
#&#160;Kommentartext<br/>
(Hash)&#160;Einzeiliger&#160;Kommentartext<br/>
print&#160;&#34;Text&#34;&#160;;<br/>
Text&#160;ausgeben<br/>
print&#160;&#34;Text\n&#34;&#160;;<br/>
\n&#160;Neue&#160;Zeile<br/>
print&#160;&#34;Text\r&#34;&#160;;<br/>
\r&#160;Wagenrücklauf<br/>
print&#160;&#34;Text\t&#34;&#160;;<br/>
\t&#160;Tabulator<br/>
print&#160;&#34;Text\v&#34;&#160;;<br/>
\v&#160;Vertikalzeichen<br/>
print&#160;&#34;Text\f&#34;&#160;;<br/>
\f&#160;Papiereinzugszeichen<br/>
print&#160;&#34;Text\b&#34;&#160;;<br/>
\b&#160;Rücksetzzeichen<br/>
print&#160;&#34;Text\a&#34;&#160;;<br/>
\a&#160;Piepton<br/>
print&#160;&#34;Text\e&#34;&#160;;<br/>
\e&#160;Unterbrechungszeichen<br/>
print&#160;$Variable&#160;;<br/>
Variable&#160;ausgeben<br/>
print&#160;&#34;Text\&#34;&#34;&#160;;<br/>
\&#34;&#160;Gänsefüßchen&#160;ausgeben<br/>
print&#160;&#34;Text\&#34;&#160;;<br/>
\&#160;Einfache&#160;Anführungszeichen&#160;ausgeben<br/>
print&#160;&#34;Text\$&#34;&#160;;<br/>
\$&#160;Dollar-Zeichen&#160;ausgeben<br/>
print&#160;&#34;Text\\&#34;&#160;;<br/>
\\&#160;Backslash&#160;ausgeben<br/>
print&#160;&#34;Text&#34;.$Var.&#34;Text&#34;&#160;;<br/>
.&#160;Verketten&#160;von&#160;Zeichenfolgen<br/>
print&#160;&#34;Text&#34;x10&#160;;<br/>
Text&#160;10&#160;mal&#160;zusgeben<br/>
18.2.2.&#160;Rechenoperationen<br/>
$a=$b+$c&#160;;<br/>
Addition&#160;von&#160;$b&#160;und&#160;$c&#160;gleich&#160;$a<br/>
$a=$b-$c&#160;;<br/>
Subtraktion&#160;von&#160;$b&#160;minus&#160;$c&#160;gleich&#160;$a<br/>
$a=$b*$c&#160;;<br/>
Multiplikation&#160;von&#160;$b&#160;mal&#160;$c&#160;gleich&#160;$a<br/>
$a=$b/$c&#160;;<br/>
Division&#160;$b&#160;geteilt&#160;durch&#160;$c&#160;gleich&#160;$a<br/>
131<br/>
<hr/>
<a name=132></a>18.&#160;CGI+Perl<br/>
$a=$b**$c&#160;;<br/>
Potenz&#160;$b&#160;hoch&#160;$c&#160;gleich&#160;$a<br/>
$a=$b%$c&#160;;<br/>
Modulo&#160;$b&#160;geteilt&#160;durch&#160;$c&#160;Rest&#160;gleich&#160;$a<br/>
$a++&#160;;<br/>
$a=$a+1&#160;;<br/>
$a--&#160;;<br/>
$a=$a-1&#160;;<br/>
$a=3.1415&#160;;<br/>
.&#160;Dezimaltrenner<br/>
18.2.3.&#160;Arrays&#160;(Listen)<br/>
@Array=(&#34;W0&#34;,&#34;W1&#34;)&#160;;<br/>
Werte&#160;einer&#160;Array-Variable&#160;zuweisen&#160;(Kurzform)<br/>
$Array[Indexwert]=&#34;Wert&#34;&#160;;<br/>
Wert&#160;einer&#160;Array-Variable&#160;zuweisen&#160;(Langform)<br/>
@Array=$Liste[2,4,8]&#160;;<br/>
Werte&#160;eines&#160;Arrays&#160;eines&#160;Arrays&#160;zuweisen<br/>
print&#160;@Array&#160;;<br/>
Gesamtes&#160;Array&#160;ausgeben<br/>
print&#160;$Array[Indexwert]&#160;;<br/>
Wert&#160;einer&#160;Array-Variable&#160;ausgeben<br/>
print&#160;$#Array&#160;;<br/>
Nummer&#160;des&#160;letzten&#160;Listenelements&#160;ausgeben<br/>
18.2.4.&#160;String-&#160;und&#160;Zahlenvergleichsoperratoren<br/>
Vergleich<br/>
Zahlenvergleich&#160;Stringvergleich<br/>
Gleich<br/>
==<br/>
eq<br/>
Ungleich<br/>
!=<br/>
ne<br/>
Kleiner&#160;als<br/>
&lt;<br/>
lt<br/>
Größer&#160;als<br/>
&gt;<br/>
gt<br/>
Kleiner&#160;oder&#160;gleich<br/>
&lt;=<br/>
le<br/>
Größer&#160;oder&#160;gleich<br/>
&gt;=<br/>
ge<br/>
18.2.5.&#160;if-Bedingung<br/>
if&#160;(Bedingung)<br/>
Wenn&#160;die&#160;Bedingung&#160;Wahr,<br/>
{<br/>
Befehle&#160;;<br/>
Befehle&#160;ausführen<br/>
}<br/>
18.2.6.&#160;if-else-Bedingung<br/>
if&#160;(Bedingung)<br/>
Wenn&#160;die&#160;Bedingung&#160;Wahr,<br/>
{<br/>
Befehle&#160;;<br/>
Befehle&#160;ausführen<br/>
}<br/>else<br/>
sonst<br/>
{<br/>
Befehle&#160;;<br/>
Befehle&#160;ausführen<br/>
}<br/>
132<br/>
<hr/>
<a name=133></a>18.3.&#160;Funktionen<br/>
18.2.7.&#160;if-elseif-Bedingung<br/>
if&#160;(Bedingung)<br/>
Wenn&#160;die&#160;Bedingung&#160;Wahr,<br/>
{<br/>
Befehle&#160;;<br/>
Befehle&#160;ausführen<br/>
}<br/>elseif&#160;(Bedingung)<br/>
sonst&#160;Wenn&#160;die&#160;Bedingung&#160;Wahr,<br/>
{<br/>
Befehle&#160;;<br/>
Befehle&#160;ausführen<br/>
}<br/>
18.3.&#160;Funktionen<br/>
18.3.1.&#160;String&#160;Funktionen<br/>
$Var=chop($String)&#160;;<br/>
Löscht&#160;das&#160;letzte&#160;Zeichen&#160;von&#160;String&#160;und<br/>
gibt&#160;es&#160;an&#160;Var<br/>
18.3.2.&#160;Rechen&#160;Funktionen<br/>
$a=sqrt($b)&#160;;<br/>
Quadratwurzel&#160;von&#160;$b&#160;nach&#160;$a<br/>
$a=log($b)&#160;;<br/>
Logarithmus<br/>
$a=exp($b)&#160;;<br/>
Exponenten<br/>
$a=abs($b)&#160;;<br/>
Absoluterwert<br/>
$a=int($b)&#160;;<br/>
Ganzzahlwert<br/>
18.3.3.&#160;Array&#160;Funktionen<br/>
push(@Liste,@Elemente)&#160;;<br/>
Setzt&#160;ein&#160;oder&#160;mehrere&#160;Elemente&#160;an<br/>
das&#160;Ende&#160;der&#160;Liste<br/>
unshift(@Liste,&#34;Wert&#34;)&#160;;<br/>
Setzt&#160;ein&#160;oder&#160;mehrere&#160;Elemente&#160;an<br/>
den&#160;Anfang&#160;der&#160;Liste<br/>
$a=shift(@Liste)&#160;;<br/>
Entfernt&#160;das&#160;erste&#160;Element&#160;aus&#160;der&#160;Liste<br/>
und&#160;gibt&#160;es&#160;an&#160;$a<br/>
$a=pop(@Liste)&#160;;<br/>
Entfernt&#160;das&#160;letzte&#160;Element&#160;aus&#160;der&#160;Liste<br/>
und&#160;gibt&#160;es&#160;an&#160;$a<br/>
splice(@Liste,Start,Anzahl,Element)&#160;;<br/>
Entfernt&#160;die&#160;Anzahl&#160;vom&#160;Start&#160;der&#160;Liste<br/>
und&#160;fügt&#160;Element&#160;ein<br/>
133<br/>
<hr/>
<a name=134></a><hr/>
<a name=135></a>19.&#160;Java<br/>
19.1.&#160;Funktion&#160;von&#160;Java<br/>
+---------------+&#160;+--------------------------+&#160;+---------------------+<br/>
|&#160;Programm&#160;Code&#160;|-&gt;|&#160;Java&#160;Compiler&#160;(java.exe)&#160;|-&gt;|&#160;Bytecode&#160;(01010011)&#160;|<br/>
+---------------+&#160;+--------------------------+&#160;+---------------------+<br/>
|<br/>
|<br/>
V<br/>
V<br/>
+--------------+<br/>
+--------------+<br/>
|&#160;Ineterpreter&#160;|<br/>
|&#160;Browser/<br/>
|<br/>
|&#160;(java.exe)<br/>
|<br/>
|&#160;Appletviewer&#160;|<br/>
+--------------+<br/>
+--------------+<br/>
javac.exe&#160;progammcode.java&#160;-&gt;&#160;programmcode.class<br/>
Programm&#160;compilieren<br/>
java.exe&#160;programmcode<br/>
Programm&#160;ausführen<br/>
appletviewer.exe<br/>
Applets&#160;ausführen<br/>
19.2.&#160;Sprache&#160;und&#160;Syntax&#160;von&#160;Java<br/>
19.2.1.&#160;Kommentrare<br/>
/*<br/>
Kommentar-Anfang<br/>
*/<br/>
Kommentar-Ende<br/>
//<br/>
Einzeiliger&#160;Kommentar&#160;ohne&#160;Ende<br/>
;<br/>
Anweisung&#160;abschließen<br/>
19.2.2.&#160;Datentypen<br/>
Typ<br/>
Inhalt<br/>
Standdartwert<br/>
Größe<br/>
Wertebereich<br/>
boolean&#160;True&#160;oder&#160;False<br/>
False<br/>
1&#160;Bit&#160;-<br/>
char<br/>
Unicode&#160;Zeichen<br/>
0000<br/>
16&#160;Bit<br/>
0000&#160;bis&#160;FFFF&#160;(Hex.)<br/>
byte<br/>
Ganzzahl&#160;mit&#160;Vorzeichen&#160;0<br/>
8&#160;Bit<br/>
-256&#160;bis&#160;255<br/>
short<br/>
Ganzzahl&#160;mit&#160;Vorzeichen&#160;0<br/>
16&#160;Bit&#160;-32768&#160;bis&#160;32767<br/>
int<br/>
Ganzzahl&#160;mit&#160;Vorzeichen&#160;0<br/>
32&#160;Bit<br/>
-2^31&#160;bis&#160;2^31-1<br/>
long<br/>
Ganzzahl&#160;mit&#160;Vorzeichen&#160;0<br/>
64&#160;Bit<br/>
-2^63&#160;bis&#160;2^63-1<br/>
float<br/>
Kommazahl<br/>
0.0<br/>
32&#160;Bit&#160;-<br/>
double&#160;Kommazahl<br/>
0.0<br/>
64&#160;Bit&#160;-<br/>
135<br/>
<hr/>
<a name=136></a>19.&#160;Java<br/>
19.2.3.&#160;Variablen<br/>
Variable&#160;deklarieren<br/>
boolean&#160;myBool;<br/>
int&#160;x&#160;=&#160;32;<br/>
double&#160;y&#160;=&#160;3.2;<br/>
char&#160;buchstabe;<br/>
Variabeln&#160;ansprechen<br/>
this.buchstabe;<br/>
bezieht&#160;sich&#160;auf&#160;die&#160;aktuelle&#160;Klasse<br/>
19.3.&#160;Pakete&#160;und&#160;Verzeichnisstrukturen<br/>
19.3.1.&#160;Sichtbarkeit&#160;und&#160;Zugriffsrechte&#160;von&#160;Klassen&#160;und<br/>
Methoden<br/>
public<br/>
Klasse,&#160;Methode&#160;oder&#160;Variable&#160;die&#160;überall&#160;sichtbar&#160;ist<br/>
protected<br/>
Methode&#160;oder&#160;Variable&#160;die&#160;nur&#160;im&#160;eigenen&#160;Paket&#160;und<br/>
abgeleiteten&#160;Klassen&#160;sichtbar&#160;ist<br/>
default<br/>
Klasse,&#160;Methode&#160;oder&#160;Variable&#160;die&#160;Sichtbarkei&#160;beschrängt<br/>
sich&#160;auf&#160;das&#160;eigen&#160;Paket<br/>
private&#160;protected<br/>
Methode&#160;oder&#160;Variable&#160;die&#160;nur&#160;in&#160;abgeleiteten&#160;Klassen<br/>
sichtbar&#160;ist<br/>
private<br/>
Methode&#160;oder&#160;Variable&#160;die&#160;nur&#160;in&#160;der&#160;eigenen&#160;Klasse<br/>
sichtbar&#160;ist<br/>
Zugriff<br/>
public&#160;protected&#160;default&#160;private&#160;protected&#160;private<br/>
-------<br/>
------&#160;---------&#160;-------&#160;-----------------&#160;-------<br/>
Zugriff&#160;...<br/>
...&#160;im&#160;selben&#160;Paket<br/>
Ja<br/>
Ja<br/>
Ja<br/>
Nein<br/>
Nein<br/>
...&#160;von&#160;anderen&#160;Paketen<br/>
Ja<br/>
Nein<br/>
Nein<br/>
Nein<br/>
Nein<br/>
Vererbt&#160;...<br/>
...&#160;Klassen&#160;im&#160;selben&#160;Paket<br/>
Ja<br/>
Ja<br/>
Ja<br/>
Ja<br/>
Nein<br/>
...&#160;Klassen&#160;an&#160;andere&#160;Pakete&#160;Ja<br/>
Ja<br/>
Nein<br/>
Ja<br/>
Nein<br/>
19.3.2.&#160;Klassen<br/>
class&#160;Klasse<br/>
Klassendeklaration<br/>
{<br/>
...<br/>
}<br/>
public&#160;class&#160;Klasse<br/>
öffendliche&#160;Klassendeklaration<br/>
136<br/>
<hr/>
<a name=137></a>19.3.&#160;Pakete&#160;und&#160;Verzeichnisstrukturen<br/>
{<br/>
-ohne&#160;public&#160;ist&#160;die&#160;Klasse&#160;automatisch&#160;&#34;privat&#34;<br/>
...<br/>
}<br/>
package&#160;Paketklasse;<br/>
Klassen&#160;zusammenfassen&#160;d.h.&#160;Paketklasse.Klasse<br/>
public&#160;class&#160;Klasse<br/>
{<br/>
...<br/>
}<br/>
package&#160;Paket.Paketklasse<br/>
Oberklassen&#160;zusammenfassen&#160;d.h.<br/>
Paket.Paketklasse.Klasse<br/>
19.3.3.&#160;Konstruktoren&#160;und&#160;Destruktoren<br/>
class&#160;Klasse<br/>
Konstruktor<br/>
{<br/>
-----------<br/>
public&#160;Klasse()<br/>
Methode&#160;die&#160;beim&#160;Erschaffen&#160;eines&#160;neuen&#160;Objektes<br/>
{<br/>
automatisch&#160;aufgerufen&#160;wird<br/>
...<br/>
}<br/>
Destruktor<br/>
----------<br/>
protected&#160;void&#160;finalize()<br/>
Methode&#160;die&#160;beim&#160;Löschen&#160;eines&#160;alten<br/>
{<br/>
Objektes&#160;automatisch&#160;aufgerufen&#160;wird<br/>
...<br/>
}<br/>
}<br/>
19.3.4.&#160;Methoden&#160;überladen<br/>
class&#160;Klasse<br/>
{<br/>
Methode()<br/>
Dieselbe&#160;Metode&#160;mehrmals&#160;mit&#160;unterschielichen<br/>
{<br/>
Parametern&#160;schaffen<br/>
...<br/>
}<br/>Methode(int&#160;var)<br/>
Dieselbe&#160;Metode&#160;mehrmals&#160;mit&#160;unterschielichen<br/>
{<br/>
Parametern&#160;schaffen<br/>
...<br/>
}<br/>
}<br/>
19.3.5.&#160;Objekte<br/>
objekt&#160;Neuobjekt&#160;=&#160;new&#160;objekt();<br/>
Neues&#160;Objekt&#160;Neuobjekt&#160;von&#160;der&#160;Klasse<br/>
137<br/>
<hr/>
<a name=138></a>19.&#160;Java<br/>
objekt&#160;erstellen<br/>
19.3.6.&#160;Vererbung<br/>
public&#160;class&#160;NeuKlasse&#160;extends&#160;Klasse&#160;{}<br/>
neue&#160;Klasse&#160;NeuKlasse&#160;herstellen<br/>
alle&#160;sichtbaren&#160;Eigenschaften<br/>
und&#160;Methoden&#160;werden&#160;übernommen<br/>
19.3.7.&#160;Schnittstellen<br/>
public&#160;interface&#160;Klasse&#160;{<br/>
Schnittstelle&#160;erschaffen<br/>
Methodenkopf();<br/>
Variablen;<br/>
}<br/>
class&#160;NeuKlasse&#160;extends&#160;Klasse&#160;implements&#160;IntKlasse<br/>
neue&#160;Klasse&#160;NeuKlasse<br/>
herstellen<br/>
alle&#160;sichtbaren&#160;Eigenschaften<br/>
und&#160;Methoden&#160;werden&#160;übernommen<br/>
und&#160;die&#160;Schnittstelle&#160;IntKlasse<br/>
hinzufügen<br/>
19.4.&#160;Elementare&#160;Syntax&#160;von&#160;Java<br/>
19.4.1.&#160;Operratoren<br/>
x&#160;=&#160;10;<br/>
Das&#160;Gleichheitszeichen&#160;weist&#160;immer&#160;den&#160;rechten&#160;Wert&#160;dem&#160;auf<br/>
der&#160;linken&#160;Seite&#160;zu<br/>
19.4.2.&#160;Verknüpfungsoperatoren<br/>
Operator<br/>
Bedeutung<br/>
Beispiel<br/>
--------<br/>
---------<br/>
--------<br/>
+<br/>
Addition<br/>
7&#160;=&#160;3&#160;+&#160;4;<br/>
-<br/>
Subtraktion<br/>
1&#160;=&#160;7&#160;-&#160;6;<br/>
*<br/>
Multiplikation&#160;6&#160;=&#160;2&#160;*&#160;3;<br/>
/<br/>
Division<br/>
3&#160;=&#160;9&#160;/&#160;3;<br/>
%<br/>
Modulo(Rest)<br/>
1&#160;=&#160;9&#160;%&#160;4;<br/>
19.4.3.&#160;Inkrement-Operator<br/>
x++;<br/>
x&#160;=&#160;x&#160;+&#160;1;<br/>
138<br/>
<hr/>
<a name=139></a>19.4.&#160;Elementare&#160;Syntax&#160;von&#160;Java<br/>
19.4.4.&#160;Dekrement-Operator<br/>
x--;<br/>
x&#160;=&#160;x&#160;-&#160;1;<br/>
19.4.5.&#160;Arithmetische&#160;Zuweisungsoperatoren<br/>
Operator<br/>
Beispiel<br/>
Bedeutung<br/>
--------<br/>
--------<br/>
---------<br/>
+=<br/>
x&#160;+=&#160;3;<br/>
x&#160;=&#160;x&#160;+&#160;3;<br/>
-=<br/>
x&#160;-=&#160;3;<br/>
x&#160;=&#160;x&#160;-&#160;3;<br/>
*=<br/>
x&#160;*=&#160;3;<br/>
x&#160;=&#160;x&#160;*&#160;3;<br/>
/=<br/>
x&#160;/=&#160;3;<br/>
x&#160;=&#160;x&#160;/&#160;3;<br/>
%=<br/>
x&#160;%=&#160;3;<br/>
x&#160;=&#160;x&#160;%&#160;3;<br/>
19.4.6.&#160;Bedingungen&#160;und&#160;Entscheidungen<br/>
if(Bedingung)&#160;{<br/>
wenn&#160;Bedingung&#160;wahr&#160;dann&#160;Anweisungen<br/>
Anweisungen;<br/>
if&#160;(&#160;x&#160;!=&#160;y&#160;)&#160;{&#160;z++;&#160;}<br/>
}<br/>
Operator<br/>
Beschreibung<br/>
--------<br/>
------------<br/>
==<br/>
Gleichheit<br/>
!=<br/>
Ungleichheit<br/>
&lt;<br/>
kleiner&#160;als<br/>
&gt;<br/>
größer&#160;als<br/>
&lt;=<br/>
kleiner&#160;gleich<br/>
&gt;=<br/>
größer&#160;gleich<br/>
19.4.7.&#160;if&#160;-&#160;else&#160;-&#160;Bedingungen<br/>
if(Bedingung)&#160;{<br/>
wenn&#160;Bedingung&#160;wahr&#160;dann&#160;Anweisungen1&#160;sonst&#160;Anweisungen2<br/>
Anweisungen1;<br/>
if&#160;(&#160;x&#160;!=&#160;y&#160;)&#160;{&#160;z++;&#160;}&#160;else&#160;{&#160;z--;&#160;}<br/>
}&#160;else&#160;{Anweisungen2;<br/>
}<br/>
19.4.8.&#160;Verschachtelte&#160;Bedingungen<br/>
if(Bedingung1)&#160;{<br/>
wenn&#160;Bedingung1&#160;und&#160;Bedingung2&#160;dann&#160;Anweisungen1<br/>
if(Bedingung2){<br/>
sonst&#160;Anweisungen2<br/>
Anweisungen1;<br/>
if(&#160;x&#160;!=&#160;y&#160;)&#160;{&#160;if(&#160;a&#160;&lt;&#160;b&#160;){z++;}&#160;}&#160;else&#160;{&#160;z--;&#160;}<br/>
}<br/>
}&#160;else&#160;{Anweisungen2<br/>
}<br/>
139<br/>
<hr/>
<a name=140></a>19.&#160;Java<br/>
19.4.9.&#160;Fallunterscheidung&#160;mit&#160;switch&#160;-&#160;case<br/>
switch(Ausdruck)&#160;{<br/>
switch(2)&#160;{<br/>
Route&#160;2&#160;also<br/>
case&#160;Wert1:&#160;Anweisungen1;<br/>
case&#160;1:&#160;x++;<br/>
x&#160;=&#160;x&#160;-&#160;1;<br/>
break;<br/>
break;<br/>
case&#160;Wert2:&#160;Anweisungen2;<br/>
case&#160;2:&#160;x--;<br/>
break;<br/>
break;<br/>
case&#160;Wert3:&#160;Anweisungen3;<br/>
}<br/>
break;<br/>
}<br/>
19.5.&#160;Schleifen<br/>
19.5.1.&#160;Die&#160;while&#160;-&#160;Schleife<br/>
while(Bedingung)&#160;{<br/>
int&#160;x=0;<br/>
solange&#160;Bedingung&#160;wahr<br/>
Anweisungen;<br/>
while(x&lt;10)&#160;{<br/>
Anweisungen<br/>
}<br/>
x++;<br/>
}<br/>
19.5.2.&#160;Die&#160;do&#160;-&#160;while&#160;-&#160;Schleife<br/>
do&#160;{<br/>
int&#160;x=0;<br/>
Anweisungen&#160;dann&#160;solange<br/>
Anweisungen;<br/>
do&#160;{<br/>
Bedingung&#160;wahr<br/>
}&#160;while(Bedingung);<br/>
x++;<br/>
Anweisungen<br/>
}&#160;while(x&lt;10);<br/>
19.5.3.&#160;Die&#160;for&#160;-&#160;Schleife<br/>
for(Initialisierung;&#160;Bedingung;&#160;Schleifenschritt)&#160;{<br/>
solange&#160;Bedingung&#160;wahr<br/>
Anweisungen;<br/>
Anweisungen<br/>
}<br/>
for(x=0;x&lt;10;x++)&#160;{<br/>
y++;<br/>
}<br/>
19.5.4.&#160;Schleifen&#160;mit&#160;break&#160;verlassen<br/>
for(x=0;x&lt;10;x++)&#160;{<br/>
Die&#160;Schleife&#160;wird&#160;vor&#160;dem&#160;y++&#160;verlassen<br/>
break;<br/>
y++;<br/>
}<br/>
19.5.5.&#160;Schleife&#160;mit&#160;continue&#160;wiederholen<br/>
for(x=0;x&lt;10;x++)&#160;{<br/>
Die&#160;Schleife&#160;wird&#160;vor&#160;dem&#160;y++&#160;wiederholt<br/>
140<br/>
<hr/>
<a name=141></a>19.6.&#160;Komplexe&#160;Datentypen<br/>
continue;<br/>
y++;<br/>
}<br/>
19.6.&#160;Komplexe&#160;Datentypen<br/>
19.6.1.&#160;Arrays<br/>
int&#160;liste[]&#160;=&#160;new&#160;int[10];<br/>
schafft&#160;ein&#160;Array&#160;dass&#160;zehn&#160;verschiedene&#160;int-<br/>
Werte&#160;speichern&#160;kann<br/>
int&#160;Array[][]&#160;=&#160;new&#160;int[3][3];&#160;schafft&#160;ein&#160;zweidimensionales&#160;Array<br/>
int&#160;liste[]&#160;=&#160;{3,&#160;5,&#160;7};<br/>
schaft&#160;ein&#160;Array&#160;mit&#160;3&#160;Werten<br/>
liste[0]&#160;=&#160;Wert;<br/>
Wert&#160;des&#160;1.&#160;Elements&#160;zuweisen<br/>
liste[0][0]&#160;=&#160;Wert;<br/>
Wert&#160;des&#160;1.&#160;Elements&#160;zuweisen<br/>
Wert&#160;=&#160;liste[0];<br/>
Wert&#160;des&#160;1.&#160;Elements&#160;abrufen<br/>
Wert&#160;=&#160;liste[0][0];<br/>
Wert&#160;des&#160;1.&#160;Elements&#160;abrufen<br/>
liste.length<br/>
enthält&#160;die&#160;Länge&#160;des&#160;Arrays&#160;liste<br/>
19.7.&#160;Die&#160;Anweisung&#160;import<br/>
import&#160;haus.wand.stein;<br/>
import&#160;erlaubt&#160;es&#160;Klassen&#160;im&#160;Sourcecode<br/>
getAnzahl();<br/>
über&#160;einen&#160;gekürzten&#160;Namen&#160;anzuspechen<br/>
haus.wand.stein.getAnzahl()&#160;-&gt;&#160;getAnzahl()<br/>
import&#160;java.lang.*;<br/>
importiert&#160;alle&#160;Bestandteile&#160;ins&#160;Programm<br/>
19.8.&#160;Java&#160;eigene&#160;Klassen<br/>
19.8.1.&#160;Die&#160;Klasse&#160;Math<br/>
Math.*<br/>
bietet&#160;mathematische&#160;Funktionen<br/>
Math.E<br/>
Eulersche&#160;Zahl<br/>
Math.PI<br/>
PI<br/>
Math.random()<br/>
Zufallszahl&#160;zwischen&#160;0&#160;und&#160;1<br/>
Math.round()<br/>
rundet&#160;zu&#160;Ganzzahlen<br/>
19.9.&#160;Die&#160;Klasse&#160;Object<br/>
19.9.1.&#160;Die&#160;Klasse&#160;Object<br/>
getClass()<br/>
liefert&#160;die&#160;Klasse&#160;eines&#160;Objektes&#160;zurück<br/>
equals()<br/>
vergleicht&#160;zwei&#160;Objekte&#160;gibt&#160;true&#160;oder&#160;false<br/>
141<br/>
<hr/>
<a name=142></a>19.&#160;Java<br/>
19.10.&#160;Die&#160;Klasse&#160;Runtime<br/>
Um&#160;diese&#160;Klasse&#160;zu&#160;nutzen,muss&#160;mit&#160;getRuntime()&#160;erst&#160;ein&#160;Objekt&#160;erstellt&#160;werden!<br/>
Runtime&#160;mySystem&#160;=&#160;Runtime.getRuntime();<br/>
Objekt&#160;Runtime&#160;erstellen<br/>
freeMemory()<br/>
freier&#160;Speicher<br/>
totalMemory()<br/>
gesamter&#160;Speicher<br/>
exit(0)<br/>
Programm&#160;sofort&#160;mit&#160;Wert&#160;verlassen<br/>
exec()<br/>
Systemprogramme&#160;starten&#160;(s.&#160;Exceptions)<br/>
19.11.&#160;Die&#160;Klasse&#160;String<br/>
String&#160;s&#160;=&#160;&#34;Hallo&#34;&#160;+&#160;&#34;&#160;Du&#160;!&#34;;<br/>
Strings&#160;zusammenfassen<br/>
charAt()<br/>
gibt&#160;einen&#160;Buchstaben&#160;aus&#160;dem&#160;String&#160;zurück<br/>
indexOf()<br/>
Position&#160;von&#160;Buchstaben/ketten&#160;feststellen<br/>
substring()<br/>
String&#160;auseinanderschneiden<br/>
lenght()<br/>
Länge&#160;eines&#160;Strings&#160;bestimmen<br/>
19.12.&#160;Die&#160;Klasse&#160;Stringbuffer<br/>
19.12.1.&#160;Die&#160;Klasse&#160;Stringbuffer<br/>
Um&#160;diese&#160;Klasse&#160;zu&#160;nutzen,&#160;muss&#160;erst&#160;ein&#160;Objekt&#160;erstellt&#160;werden!<br/>
Stringbuffer&#160;buffer&#160;=&#160;newStringbuffer(&#34;&#34;);<br/>
Objekt&#160;Stringbuffer&#160;erstellen<br/>
setCharAt()<br/>
änderrung&#160;eines&#160;bestimmten&#160;Buchstaben&#160;im&#160;String<br/>
delete()<br/>
löscht&#160;Teile&#160;aus&#160;dem&#160;String<br/>
replace()<br/>
ersetzt&#160;Teile&#160;im&#160;String<br/>
insert()<br/>
setzt&#160;Teile&#160;im&#160;String&#160;ein<br/>
19.13.&#160;Die&#160;Klasse&#160;System<br/>
Standardeingabe&#160;-&#160;in,&#160;Standardausgabe&#160;-&#160;out,&#160;Fehlerausgabe&#160;-&#160;err<br/>
System.out.println(&#34;Text&#34;)<br/>
Text&#160;ausgeben<br/>
byte[]&#160;b&#160;=&#160;new&#160;byte[80];<br/>
System.in.read(b);<br/>
Einlesen&#160;von&#160;Daten<br/>
19.14.&#160;Das&#160;Paket&#160;java.util<br/>
import&#160;java.util.*;<br/>
Paket&#160;einbinden<br/>
142<br/>
<hr/>
<a name=143></a>19.15.&#160;Ausnahmen&#160;(Exceptions)<br/>
19.14.1.&#160;Die&#160;Klasse&#160;Date<br/>
Date&#160;myDate&#160;=&#160;new&#160;Date();<br/>
Objekt&#160;Date&#160;erstellen<br/>
toString()<br/>
Datum&#160;in&#160;einen&#160;String&#160;umwandeln<br/>
getTime()<br/>
UNIX-Timestamp,&#160;der&#160;die&#160;Sekunden&#160;seit&#160;dem<br/>
1.1.1970&#160;ausgibt<br/>
before()<br/>
vergleicht&#160;das&#160;Datumsobjekt&#160;od&#160;es&#160;davor&#160;ist<br/>
after()<br/>
vergleicht&#160;das&#160;Datumsobjekt&#160;od&#160;es&#160;danach&#160;ist<br/>
Erweiterte&#160;Funktionen&#160;rund&#160;um&#160;das&#160;Datum&#160;gibt&#160;es&#160;in&#160;der&#160;Klasse&#160;Calendar&#160;bzw.<br/>
DateFormat&#160;in&#160;der&#160;Java-API<br/>
19.14.2.&#160;Die&#160;Klasse&#160;Random<br/>
Random&#160;zz&#160;=&#160;new&#160;Random();<br/>
Objekt&#160;Random&#160;erstellen<br/>
Methode<br/>
Bereich<br/>
Typ<br/>
-------<br/>
-------<br/>
---<br/>
nextInt()<br/>
-2^31&#160;bis&#160;2^31-1<br/>
int<br/>
nextLong()<br/>
-2^63&#160;bis&#160;2^63-1<br/>
long<br/>
nextFloat()<br/>
0.0&#160;bis&#160;1.0<br/>
float<br/>
nextDouble()<br/>
0.0&#160;bis&#160;1.0<br/>
double<br/>
nextGaussian()<br/>
gibt&#160;eine&#160;Zufallszahl&#160;zurück,&#160;die&#160;nach&#160;dem&#160;Gauß-<br/>
Verfahren&#160;ermittelt&#160;wurde<br/>
19.14.3.&#160;Die&#160;Klasse&#160;Stack<br/>
Stack&#160;myStack&#160;=&#160;new&#160;Stack();<br/>
Objekt&#160;Stack&#160;erstellen<br/>
push()<br/>
legt&#160;ein&#160;Objekt&#160;auf&#160;dem&#160;Stack&#160;ab<br/>
pop()<br/>
holt&#160;das&#160;oberste&#160;Objekt&#160;vom&#160;Stack&#160;und&#160;löscht&#160;es<br/>
peek()<br/>
holt&#160;das&#160;oberste&#160;Objekt&#160;vom&#160;Stack<br/>
19.15.&#160;Ausnahmen&#160;(Exceptions)<br/>
import&#160;java.io.*;<br/>
public&#160;class&#160;trycatchfinally&#160;{<br/>
public&#160;static&#160;void&#160;main(String&#160;args[])&#160;{<br/>
Runtime&#160;mySystem&#160;=&#160;Runtime.getRuntime();<br/>
//Objekt&#160;Runtime&#160;erstellen<br/>
try{<br/>
//unsichere&#160;Anweisungen<br/>
mySystem.exec(&#34;xaos&#34;);<br/>
}&#160;catch(IOException&#160;e)&#160;{<br/>
//Fehlerbehandlung<br/>
System.err.println(&#34;Es&#160;ist&#160;ein&#160;Fehler&#160;aufgetreten:&#160;&#34;&#160;+&#160;e);<br/>
143<br/>
<hr/>
<a name=144></a>19.&#160;Java<br/>
}&#160;finally&#160;{<br/>
//Anweisungen&#160;werden&#160;immer&#160;ausgeführt<br/>
System.out.println(&#34;Kritischer&#160;Bereich&#160;wurde&#160;ausgeführt!&#34;);<br/>
}<br/>
}<br/>
}<br/>
19.15.1.&#160;Eigene&#160;Ausnahme&#160;erzeugen&#160;(throw)<br/>
Methode(int&#160;zahl)&#160;{<br/>
if(zahl&lt;0)&#160;{<br/>
throw(new&#160;Exception(&#34;Fehler!&#34;));<br/>
}&#160;elese&#160;{zahl++;<br/>
}<br/>
}<br/>
19.16.&#160;Multitasking&#160;mit&#160;Threads<br/>
19.16.1.&#160;Arbeiten&#160;mit&#160;Threads<br/>
java.lang<br/>
die&#160;Klasse&#160;Thread&#160;ist&#160;ein&#160;Bestandteil&#160;des&#160;Paketes<br/>
public&#160;class&#160;Klasse&#160;implements&#160;Runnable&#160;{}<br/>
neue&#160;Klasse&#160;über&#160;die<br/>
Schnittstelle&#160;Runnable&#160;erstellen<br/>
run()<br/>
Methode&#160;run()&#160;(Code&#160;des&#160;Threads)<br/>
muss&#160;überschrieben&#160;werden<br/>
Klasse&#160;test&#160;=&#160;new&#160;Klasse();<br/>
In&#160;main():&#160;Objekt&#160;der&#160;eigenen&#160;Klasse<br/>
test.start();<br/>
erstellen&#160;und&#160;Startmethode<br/>
aufrufen<br/>
public&#160;void&#160;start()&#160;{<br/>
Thread&#160;myThread&#160;=&#160;new&#160;Thread(this);<br/>
Objekt&#160;aus&#160;der&#160;Klasse&#160;Thrad<br/>
erstellen&#160;und&#160;deren&#160;Konstruktor<br/>
das&#160;aktuelle&#160;Objekt&#160;als<br/>
parameter&#160;übergeben<br/>
myThread.start();<br/>
Thread&#160;starten<br/>
...;<br/>
myThread.stop();<br/>
Thread&#160;beenden<br/>
}<br/>
myThread.sleep(x);<br/>
Thread&#160;x&#160;Milisekunden&#160;pausieren<br/>
muss&#160;mit&#160;Ausnahme&#160;abgefangen<br/>
144<br/>
<hr/>
<a name=145></a>19.17.&#160;Applets<br/>
werden&#160;InterruptedException<br/>
myThread.suspend();<br/>
Thraed&#160;anhalten<br/>
myThread.resume();<br/>
Thread&#160;wieder&#160;starten<br/>
myThread.destroy();<br/>
Thread&#160;zerstören/anhalten<br/>
19.17.&#160;Applets<br/>
19.17.1.&#160;Applets&#160;in&#160;eine&#160;Webseite&#160;einbinden<br/>
&lt;html&gt;<br/>
&lt;head&gt;<br/>
&lt;title&gt;Mein&#160;erstes&#160;Applet&lt;/title&gt;<br/>
&lt;/head&gt;<br/>
&lt;body&gt;<br/>
&lt;applet&#160;code=&#34;myApplet.class&#34;&#160;width=150&#160;height=150&gt;<br/>
&lt;parm&#160;name=&#34;var1&#34;&#160;value=&#34;Hallo&#34;&gt;<br/>
&lt;parm&#160;name=&#34;var2&#34;&#160;value=&#34;Java!&#34;&gt;<br/>
&lt;/applet&gt;<br/>
&lt;/body&gt;<br/>
&lt;/html&gt;<br/>
19.17.2.&#160;Das&#160;erste&#160;Java&#160;Applet<br/>
import&#160;java.applet.*;<br/>
import&#160;java.awt.*;<br/>
public&#160;class&#160;MyApplet&#160;extends&#160;Applet&#160;{<br/>
public&#160;void&#160;paint(Graphics&#160;g)&#160;{<br/>
g.drawString(&#34;Mein&#160;erstes&#160;Applet&#160;!&#34;,&#160;20,&#160;40);<br/>
}<br/>
}<br/>
19.17.3.&#160;Die&#160;Methoden&#160;eines&#160;Applets<br/>
init()<br/>
wird&#160;automatisch&#160;bei&#160;der&#160;Initialisierung&#160;des&#160;Applets&#160;aufgerufen<br/>
start()<br/>
wird&#160;automatisch&#160;aufgerufen,&#160;wenn&#160;das&#160;Applet&#160;im&#160;sichtbaren<br/>
Browser-Bereich&#160;erscheint<br/>
stop()<br/>
wird&#160;automatisch&#160;aufgerufen,&#160;wenn&#160;das&#160;Applet&#160;den&#160;sichtbaren<br/>
Bereich&#160;verläßt<br/>
destroy()<br/>
wird&#160;automatisch&#160;beim&#160;verlassen&#160;der&#160;Seite&#160;oder&#160;schließen&#160;des<br/>
Browsers&#160;aufgerufen<br/>
19.17.4.&#160;Ein&#160;Applet&#160;im&#160;Überblick<br/>
import&#160;java.applet.*;<br/>
import&#160;java.awt.*;<br/>
145<br/>
<hr/>
<a name=146></a>19.&#160;Java<br/>
public&#160;class&#160;newApplet&#160;extends&#160;Applet&#160;{<br/>
public&#160;void&#160;init()&#160;{<br/>
//initialisierung&#160;aller&#160;nötigen&#160;Werte&#160;für&#160;das&#160;Programm<br/>
}<br/>public&#160;void&#160;start()&#160;{<br/>
//Start&#160;des&#160;Applets<br/>
}<br/>public&#160;void&#160;paint(Graphics&#160;g)&#160;{<br/>
//Grafikausgabe&#160;über&#160;das&#160;Objekt&#160;g&#160;!<br/>
}<br/>public&#160;void&#160;stop()&#160;{<br/>
//Stop&#160;des&#160;Applets<br/>
}<br/>public&#160;void&#160;destroy()&#160;{<br/>
//Ende&#160;des&#160;Applets<br/>
//Speicher&#160;wird&#160;freigegeben<br/>
}<br/>
}<br/>
19.17.5.&#160;Pakete<br/>
java.awt<br/>
dient&#160;zur&#160;Bearbeitung&#160;und&#160;Ausgabe&#160;von&#160;Grafiken&#160;und<br/>
Fensterelementen&#160;in&#160;Applikationen&#160;und&#160;Applets<br/>
(advanced&#160;window&#160;toolkit)<br/>
java.applet<br/>
eine&#160;Grundvoraussetzung&#160;für&#160;ein&#160;Applet<br/>
19.17.6.&#160;Die&#160;Klasse&#160;Graphics<br/>
public&#160;void&#160;paint(Graphics&#160;g)&#160;{<br/>
um&#160;in&#160;das&#160;Applet&#160;zu&#160;zeichnen<br/>
drawString(&#34;Text&#34;,x,y);<br/>
Text&#160;im&#160;Applet&#160;ausgeben<br/>
}<br/>
drawLine()<br/>
Linie&#160;zeichnen<br/>
drawRect()<br/>
Rechteck&#160;zeichnen<br/>
fillRect()<br/>
gefülltes&#160;Rechteck&#160;zeichen<br/>
drawRoundRect()<br/>
Rechteck&#160;mit&#160;abgerundeten&#160;Ecken&#160;zeichnen<br/>
fillRoundRect()<br/>
gefülltes&#160;Rundeck&#160;zeichnen<br/>
drawOval()<br/>
Kreis/Elipse&#160;zeichnen<br/>
fillOval()<br/>
gefüllte/r&#160;Kreis/Elipse&#160;zeichnen<br/>
copyArea()<br/>
kopieren&#160;eines&#160;sichtbaren&#160;Bereiches<br/>
19.17.7.&#160;Die&#160;Klasse&#160;Color<br/>
Color&#160;farbe&#160;=&#160;new&#160;Color(r,g,b);<br/>
Farben&#160;erzeugen&#160;r=0-255&#160;g=0-255&#160;r=0-255<br/>
Color&#160;dfarbe&#160;=&#160;farbe.darker();<br/>
nächst&#160;dunklere&#160;Farbe<br/>
146<br/>
<hr/>
<a name=147></a>19.17.&#160;Applets<br/>
Color&#160;hfarbe&#160;=&#160;farbe.brighter();<br/>
nächst&#160;hellere&#160;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.&#160;Die&#160;Klasse&#160;Font<br/>
Windows<br/>
Java<br/>
-------<br/>
----<br/>
Arial<br/>
Helvetica<br/>
Courier&#160;New<br/>
Corier<br/>
MS&#160;Sans&#160;Serif<br/>
Dialog<br/>
Times&#160;New&#160;Roman&#160;TimesRoman<br/>
WingDings<br/>
ZapfDingbats<br/>
Arial<br/>
default<br/>
Font&#160;f&#160;=&#160;new&#160;Font(&#34;art&#34;,&#160;stil,&#160;größe);<br/>
neue&#160;Schrift&#160;erstellen<br/>
stil:&#160;plain(normal),<br/>
italic(kursiv),&#160;blod(fett)<br/>
19.17.9.&#160;Die&#160;Klasse&#160;Image<br/>
Image&#160;myImage&#160;=&#160;getImage(getCodeBase(),&#160;&#34;Bild.jpg&#34;);<br/>
Bildobjekt&#160;erschaffen<br/>
drawImage()<br/>
Bild&#160;anzeigen<br/>
19.17.10.&#160;Die&#160;Klasse&#160;Button<br/>
Button&#160;myButton&#160;=&#160;new&#160;Button(&#34;Klick&#34;);<br/>
Buttonobjekt&#160;erschaffen<br/>
setLabel()<br/>
Beschriftung&#160;des&#160;Buttons&#160;ändern<br/>
getLabel()<br/>
Beschriftung&#160;des&#160;Buttons&#160;auslesen<br/>
147<br/>
<hr/>
<a name=148></a>19.&#160;Java<br/>
19.18.&#160;Eventhandling<br/>
java.awt.event.*;<br/>
Paket&#160;zur&#160;Ereignisbehandlung&#160;einbinden<br/>
19.18.1.&#160;Mouse&#160;Events<br/>
public&#160;class&#160;myApplet&#160;extends&#160;Applet&#160;implements&#160;MouseListener&#160;{}<br/>
Schnittstelle&#160;MouseListener&#160;implementieren<br/>
Methode<br/>
Aufgabe<br/>
-------<br/>
-------<br/>
mousePressed()&#160;Maustaste&#160;wird&#160;gedrückt<br/>
mouseReleased()&#160;Maustaste&#160;wird&#160;losgelassen<br/>
mouseClicked()&#160;Mausklick<br/>
mouseEntered()&#160;Maus&#160;bewegt&#160;sich&#160;in&#160;das&#160;Applet<br/>
mouseExited()<br/>
Maus&#160;verlässt&#160;das&#160;Applet<br/>
addMouseListener(this);<br/>
Listener&#160;soll&#160;auf&#160;das&#160;gesamte&#160;Applet&#160;achten<br/>
public&#160;void&#160;mousePressed(mouseEvent&#160;e)&#160;{<br/>
int&#160;x&#160;=&#160;e.getX();<br/>
Maustaste&#160;an&#160;X&#160;gedrückt<br/>
int&#160;y&#160;=&#160;e.getY();<br/>
Maustaste&#160;an&#160;Y&#160;gedrückt<br/>
}<br/>
addMouseMotionListener(this);<br/>
MotionListener&#160;soll&#160;auf&#160;das&#160;Applet&#160;achten<br/>
mouseMoved()<br/>
bewegte&#160;Mausereignisse<br/>
mouseDragged()<br/>
19.18.2.&#160;Action&#160;Events<br/>
public&#160;class&#160;myApplet&#160;extends&#160;Applet&#160;implements&#160;ActionListener&#160;{}<br/>
Schnittstelle&#160;ActionListener&#160;implementieren<br/>
Button&#160;myButton&#160;=&#160;new&#160;Button(&#34;Knopf&#34;);&#160;Button&#160;erstellen<br/>
this.add(myButton);<br/>
Button&#160;setzen<br/>
myButton.addActionListener(this);<br/>
Button&#160;mit&#160;ActionListener&#160;versehen<br/>
public&#160;void&#160;actionPerformed(ActionEvent&#160;e)&#160;{<br/>
Aufruf&#160;beim&#160;Anklicken&#160;des&#160;Button<br/>
String&#160;Klick&#160;=&#160;e.getActionCommand();<br/>
gibt&#160;die&#160;Aufschift&#160;des&#160;Button<br/>
}<br/>
19.18.3.&#160;Parameter&#160;an&#160;ein&#160;Applet<br/>
&lt;applet&#160;code=&#34;myApplet.class&#34;&#160;width=150&#160;height=150&gt;<br/>
148<br/>
<hr/>
<a name=149></a>19.18.&#160;Eventhandling<br/>
&lt;parm&#160;name=&#34;var1&#34;&#160;value=&#34;Hallo&#34;&gt;<br/>
Parameter1<br/>
&lt;parm&#160;name=&#34;var2&#34;&#160;value=&#34;Java!&#34;&gt;<br/>
Parameter2<br/>
&lt;/applet&gt;<br/>
String&#160;var1&#160;=&#160;getParameter(&#34;var1&#34;);<br/>
Parameter1&#160;an&#160;den&#160;String&#160;var1<br/>
String&#160;var2&#160;=&#160;getParameter(&#34;var2&#34;);<br/>
und&#160;var2&#160;übergeben<br/>
19.18.4.&#160;Weitere&#160;wichtige&#160;Pakete<br/>
java.net<br/>
Klassen&#160;und&#160;Schnittstellen&#160;für&#160;Netzwerkentwicklung<br/>
java.beans<br/>
wieder&#160;verwentbare&#160;Komponenten<br/>
java.security<br/>
erhöte&#160;Sicherheit&#160;innerhalb&#160;von&#160;Applikationen/Applets<br/>
java.rmi<br/>
Verteilung&#160;eines&#160;Programms&#160;auf&#160;mehrere&#160;Rechner<br/>
java.sql<br/>
Anbindung&#160;an&#160;SQL-Datenbanken<br/>
java.servlet<br/>
Applikationen&#160;die&#160;serverseitig&#160;laufen<br/>
149<br/>
<hr/>
<a name=150></a><hr/>
<a name=151></a>20.&#160;JavaScript<br/>
20.1.&#160;Einbindung&#160;von&#160;JavaScript<br/>
20.1.1.&#160;Einbindung&#160;in&#160;den&#160;Head<br/>
&lt;html&gt;<br/>
&lt;head&gt;<br/>
&lt;title&gt;&lt;/title&gt;<br/>
&lt;script&#160;language=&#34;JavaScript&#34;&gt;<br/>
Leitet&#160;den&#160;JavaScript-Quelltext&#160;ein<br/>
&lt;!--<br/>
Kommentar&#160;anfang&#160;für&#160;alte&#160;Browser&#160;die<br/>
Definition&#160;von&#160;Fnktionen&#160;und<br/>
kein&#160;JavaScript&#160;unterstüzen<br/>
Variablen<br/>
JavaScript-Quelltext<br/>
//--&gt;<br/>
Kommentar&#160;ende<br/>
&lt;/script&gt;<br/>
Beendet&#160;den&#160;JavaScript-Quelltext<br/>
&lt;/head&gt;<br/>
&lt;body&gt;<br/>
&lt;/body&gt;<br/>
&lt;/html&gt;<br/>
20.1.2.&#160;Einbindung&#160;in&#160;den&#160;Body<br/>
&lt;html&gt;<br/>
&lt;head&gt;<br/>
&lt;title&gt;&lt;/title&gt;<br/>
&lt;/head&gt;<br/>
&lt;body&gt;<br/>
&lt;script&gt;<br/>
Leitet&#160;den&#160;JavaScript-Quelltext&#160;ein<br/>
&lt;/script&gt;<br/>
Beendet&#160;den&#160;JavaScript-Quelltext<br/>
&lt;/body&gt;<br/>
&lt;/html&gt;<br/>
20.1.3.&#160;Ausführen&#160;bei&#160;bestimmten&#160;Aktionen<br/>
&lt;html&gt;<br/>
&lt;head&gt;<br/>
&lt;title&gt;&lt;/title&gt;<br/>
&lt;/head&gt;<br/>
&lt;body&#160;onLoad=&#34;JavaScript-Quelltext&#34;&gt;&#160;Beim&#160;Laden&#160;wird&#160;der&#160;JavaScript-Quelltext<br/>
151<br/>
<hr/>
<a name=152></a>20.&#160;JavaScript<br/>
ausgeführt<br/>
&lt;/body&gt;<br/>
&lt;/html&gt;<br/>
20.2.&#160;Variablen<br/>
var&#160;GlobaleVariable<br/>
Globale&#160;Variable&#160;deklarieren<br/>
function()&#160;{<br/>
var&#160;LokaleVariable<br/>
Lokale&#160;Variable&#160;deklarieren<br/>
}<br/>
var&#160;variable<br/>
Variable&#160;deklarieren<br/>
variable&#160;=&#160;&#34;Wert&#34;<br/>
Wert&#160;zuweisen<br/>
var&#160;zahl=9<br/>
Variable&#160;deklarieren&#160;und&#160;Wert&#160;zuweisen<br/>
+<br/>
Verketten<br/>
20.3.&#160;Objekte<br/>
20.3.1.&#160;Standardobjekte<br/>
document.write(&#34;Hallo&#34;)<br/>
Hallo&#160;auf&#160;der&#160;Seite&#160;ausgeben<br/>
document.writeln(&#34;Hallo&#34;)<br/>
Hallo&#160;auf&#160;der&#160;Seite&#160;mit&#160;Zeilenumruch<br/>
ausgeben<br/>
document.close()<br/>
Schreiben&#160;schließen<br/>
document.bgColor=(&#34;ffffff&#34;)<br/>
Hintergrunffarbe<br/>
document.fgColor=(&#34;000000&#34;)<br/>
Fordergrundfarbe<br/>
document.linkColor=(&#34;00ff00&#34;)<br/>
Neuer&#160;Link<br/>
document.vlinkColor=(&#34;ffff00&#34;)<br/>
Besuchter&#160;Link<br/>
document.alinkColor=(&#34;ff0000&#34;)<br/>
Aktiver&#160;Link<br/>
document.referrer<br/>
URL&#160;von&#160;der&#160;aufgerufen&#160;wurde<br/>
document.location<br/>
URL&#160;der&#160;Datei&#160;selber<br/>
document.title<br/>
Titel&#160;der&#160;Seite<br/>
document.Name.src=&#34;bild2.gif&#34;<br/>
&lt;img&#160;src=&#34;bild.gif&#34;&#160;name=&#34;Name&#34;&gt;&#160;um&#160;auf<br/>
das&#160;Bild&#160;zuzugreifen<br/>
document.forms[0].Name.value<br/>
Formular&#160;1(0);&#160;aktueller&#160;Text&#160;im<br/>
Eingabefeld&#160;auslesen&#160;oder&#160;überschreiben<br/>
document.forms[0].Name.defaultValue<br/>
Defaultwert&#160;auslesen&#160;oder&#160;überschreiben<br/>
document.forms[0].Name.select()<br/>
Text&#160;im&#160;Eingabefeld&#160;makieren<br/>
document.forms[0].Name.focus()<br/>
Cursor&#160;in&#160;das&#160;Eingabefeld&#160;setzen<br/>
152<br/>
<hr/>
<a name=153></a>20.3.&#160;Objekte<br/>
document.forms[0].Name[0].checked<br/>
Radio-Checkbuttons&#160;liest&#160;oder&#160;schreibt,<br/>
ob&#160;ein&#160;Button&#160;ausgewählt&#160;ist<br/>
document.forms[0].Name[0].defaultCheckedVoreinstellung&#160;eines&#160;Button&#160;lesen&#160;oder<br/>
schreiben<br/>
nicht&#160;markiert<br/>
markiert<br/>
0<br/>
1<br/>
false<br/>
true<br/>
document.forms[0].Name.options[0].selectedIndex<br/>
Auswahlliste&#160;auslesen&#160;oder&#160;schreiben<br/>
document.forms[0].Name.options[0].value&#160;Wert&#160;auslesen&#160;oder&#160;schreiben<br/>
parent.frames[0].location.href=<br/>
Frameinhalt&#160;ändern&#160;0&#160;-&gt;&#160;Frame&#160;1<br/>
&#34;frame.htm&#34;<br/>
parent.<br/>
verzweigt&#160;in&#160;den&#160;nächsthöheren&#160;Frame<br/>
top.<br/>
verzweigt&#160;in&#160;den&#160;höchsten&#160;Frame&#160;im<br/>
Browser<br/>
frames[n]<br/>
verzweigt&#160;auf&#160;die&#160;nächstniedrigere&#160;Stufe<br/>
in&#160;den&#160;Frame&#160;mit&#160;dem&#160;Index&#160;n<br/>
window.status=(&#34;Hallo&#34;)<br/>
Hallo&#160;in&#160;der&#160;Statusleiste&#160;ausgeben<br/>
myWindow=window.open(&#34;Dateiname&#34;,&#34;Fenstername&#34;,&#34;Eigenschaften&#34;)<br/>
Öffnet&#160;ein&#160;neues&#160;Fenster<br/>
Eigenschaften:&#160;width=(Pixel)<br/>
gibt&#160;die&#160;Breite&#160;an<br/>
height=(Pixel)<br/>
gibt&#160;die&#160;Höhe&#160;an<br/>
resizable=yes/no<br/>
größe&#160;des&#160;Fensters&#160;veränderbar&#160;?<br/>
menubar=yes/no<br/>
Menüleiste&#160;vorhanden&#160;?<br/>
toolbar=yes/no<br/>
Buttonleiste&#160;vorhanden&#160;?<br/>
location=yes/no<br/>
Adresszeile&#160;vorhanden&#160;?<br/>
status=yes/no<br/>
Statuszeile&#160;vorhanden&#160;?<br/>
scrollbars=yes/no<br/>
Bildlaufleiste&#160;vorhanden&#160;?<br/>
dependent=yes/no<br/>
Vom&#160;aktuellen&#160;Fenster&#160;abhängig&#160;?<br/>
myWindow.close()<br/>
Schließt&#160;das&#160;neue&#160;Fenster<br/>
myWindow.closed<br/>
Zugriff&#160;auf&#160;den&#160;Fensterzustand<br/>
20.3.2.&#160;String-Objekt<br/>
String.length<br/>
Anzahl&#160;der&#160;Zeichen&#160;des&#160;Strings<br/>
String.substring(Anfang,Ende)<br/>
Gibt&#160;den&#160;Anfang&#160;bis&#160;Ende&#160;des&#160;Strings&#160;zurück<br/>
String.toLowerCase<br/>
Wandelt&#160;alle&#160;Buchstaben&#160;in&#160;Kleinbuchstaben<br/>
String.toUpperCase<br/>
Wandelt&#160;alle&#160;Buchstaben&#160;in&#160;Großbuchstaben<br/>
153<br/>
<hr/>
<a name=154></a>20.&#160;JavaScript<br/>
20.3.3.&#160;Eigene&#160;Objekte<br/>
function&#160;person(name,&#160;alter)&#160;{<br/>
Funktion<br/>
this.name&#160;=&#160;name<br/>
zum<br/>
this.alter&#160;=&#160;alter<br/>
Objekt<br/>
}<br/>
anlegen<br/>
var&#160;meier&#160;=&#160;new&#160;person(&#34;Geier&#160;Meier&#34;,&#160;18)<br/>
Objekt&#160;erzeugen<br/>
meier.name&#160;=&#160;&#34;Mr.&#160;Geier&#160;Meier&#34;<br/>
Wert&#160;ändern<br/>
meier.alter&#160;=&#160;20<br/>
Wert&#160;ändern<br/>
meier&#160;=&#160;new&#160;Object<br/>
Objekt&#160;erzeugen<br/>
meier.vorname&#160;=&#160;&#34;Geier&#34;<br/>
Wert&#160;zuweisen<br/>
meier.nachname&#160;=&#160;&#34;Meier&#34;<br/>
Wert&#160;zuweisen<br/>
20.3.4.&#160;Arrays<br/>
Variable&#160;=&#160;new&#160;Array<br/>
Array&#160;erzeugen<br/>
Variable[0]&#160;=&#160;&#34;hallo&#34;<br/>
Wert&#160;zuweisen<br/>
20.4.&#160;Mathematische&#160;Operationen<br/>
c&#160;=&#160;a&#160;+&#160;b<br/>
Addition<br/>
a++&#160;;&#160;a&#160;=&#160;a&#160;+&#160;1<br/>
c&#160;=&#160;a&#160;-&#160;b<br/>
Subtraktion<br/>
a--&#160;;&#160;a&#160;=&#160;a&#160;-&#160;1<br/>
c&#160;=&#160;a&#160;*&#160;b<br/>
Multiplikation<br/>
c&#160;=&#160;a&#160;/&#160;b<br/>
Division<br/>
a&#160;=&#160;Math.round(b)<br/>
Ganzzahlige&#160;Rundung<br/>
20.5.&#160;Bedingte&#160;Ausführung<br/>
if(Ausdruck)<br/>
wenn&#160;der&#160;Ausdruck&#160;stimmt,<br/>
{<br/>
Anweisung-en1<br/>
Anweisung-en1<br/>
}<br/>
20.6.&#160;Schleifen<br/>
for(Ausdruck1;Ausdruck2;Ausdruck3)<br/>
Ausdruck1&#160;einmal&#160;ausführen<br/>
{<br/>
so&#160;lange&#160;der&#160;Ausdruck2&#160;stimmt,<br/>
vorher&#160;noch&#160;Ausdruck3<br/>
Anweisug-en<br/>
Anweisung-en<br/>
154<br/>
<hr/>
<a name=155></a>20.7.&#160;Event-Handler<br/>
}<br/>
while(Ausdruck)<br/>
so&#160;lange&#160;der&#160;Ausdruck&#160;stimmt,<br/>
{<br/>
Anweisung-en<br/>
Anweisung-en<br/>
}<br/>
20.7.&#160;Event-Handler<br/>
onLoad=&#34;Aktion&#34;<br/>
Beim&#160;Laden&#160;Aktion&#160;ausführen<br/>
onUnload=&#34;Aktion&#34;<br/>
Beim&#160;Schließen&#160;Aktion&#160;ausführen<br/>
onMouseOver=&#34;Aktion&#34;<br/>
Beim&#160;Überfahren&#160;Aktion&#160;ausführen<br/>
onMouseOut=&#34;Aktion&#34;<br/>
Beim&#160;Verlassen&#160;Aktion&#160;ausführen<br/>
onFocus=&#34;Aktion&#34;<br/>
Beim&#160;Setzen&#160;des&#160;Cursors&#160;auf&#160;das&#160;Element<br/>
(Einsatz&#160;in&#160;Formularen)<br/>
onBlur=&#34;Aktion&#34;<br/>
Beim&#160;Verlassen&#160;des&#160;Elementes<br/>
onChange=&#34;Aktion&#34;<br/>
Beim&#160;Verlassen&#160;des&#160;Elementes&#160;wenn&#160;verändert<br/>
onClick=&#34;Aktion&#34;<br/>
Beim&#160;Anklicken&#160;eines&#160;Formularelements<br/>
&lt;a&#160;href=&#34;javascript:function(Link)&#34;&gt;Verweistext&lt;/a&gt;<br/>
onSubmit=&#34;Aktion&#34;<br/>
Beim&#160;Senden&#160;eines&#160;Formulares&#160;Aktion&#160;ausführen<br/>
20.8.&#160;Funktionen<br/>
function&#160;Name(var1,var2)<br/>
Definiert&#160;eine&#160;Funktion&#160;mit&#160;dem&#160;Name<br/>
{&#160;alert(var2)<br/>
Hier&#160;kommt&#160;der&#160;Funktionsinhalt&#160;rein<br/>
}<br/>
return(&#34;Hallo&#34;)<br/>
Hallo&#160;zurück&#160;geben<br/>
alert(&#34;Text&#34;)<br/>
Öffnet&#160;ein&#160;Fenster&#160;und&#160;gibt&#160;den&#160;Text&#160;aus<br/>
uhrzeit=new&#160;Date()<br/>
Datum&#160;und&#160;Uhrzeit&#160;in&#160;das&#160;Objekt&#160;uhrzeit<br/>
schreiben<br/>
st=uhrzeit.getHours()<br/>
Stunden&#160;aus&#160;dem&#160;Objekt&#160;uhrzeit&#160;der&#160;Variable<br/>
st&#160;zuweisen<br/>
min=uhrzeit.getMinutes()<br/>
Minuten&#160;aus&#160;dem&#160;Objekt&#160;uhrzeit&#160;der&#160;Variable<br/>
min&#160;zuweisen<br/>
setTimeout(&#34;Funktion&#34;,Millisekunden)<br/>
Funktion&#160;nach&#160;Millisekunden&#160;aufrufen<br/>
Math.random()<br/>
155<br/>
<hr/>
<a name=156></a>20.&#160;JavaScript<br/>
20.9.&#160;Reservierte&#160;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.&#160;Reservierte&#160;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&#160;V.<br/>
Anhang<br/>
159<br/>
<hr/>
<a name=160></a><hr/>
<a name=161></a>21.&#160;Glossar<br/>
Abhängigkeiten&#160;Ein&#160;von&#160;rpm&#160;verwendetes&#160;System,&#160;um&#160;die&#160;Verwaltung&#160;installierter<br/>
Software&#160;zu&#160;vereinfachen.&#160;Jedes&#160;Paket&#160;enthält&#160;ein&#160;Skript,&#160;das&#160;dem&#160;lokalen&#160;rpm<br/>
mitteilt,&#160;welche&#160;anderen&#160;Pakete&#160;es&#160;zur&#160;Ausführung&#160;benötigt.&#160;Sind&#160;die&#160;erforderli-<br/>
chen&#160;Pakete&#160;nicht&#160;installiert,&#160;wird&#160;die&#160;Installation&#160;abgebrochen.&#160;Gleiches&#160;gilt&#160;für<br/>
die&#160;Deinstallation.<br/>
Andere,&#160;others&#160;In&#160;UNIX&#160;die&#160;Gruppe&#160;der&#160;Benutzer,&#160;die&#160;weder&#160;Eigetümer&#160;einer&#160;Datei<br/>
sind,&#160;noch&#160;zur&#160;Besitzergruppe&#160;gehören.&#160;Es&#160;ist&#160;generell&#160;eine&#160;gute&#160;Idee,&#160;die&#160;Rechte<br/>
dieser&#160;Gruppe&#160;so&#160;restriktiv&#160;wie&#160;möglich&#160;zu&#160;handhaben.&#160;Siehe&#160;auch&#160;Besitzergrup-<br/>
pe.<br/>
alias&#160;Ein&#160;Shell-Mechanismus,&#160;um&#160;eine&#160;Zeichenkette&#160;durch&#160;einen&#160;anderen&#160;zu&#160;ersetzen,<br/>
bevor&#160;ein&#160;Kommando&#160;ausgeführt&#160;wird.&#160;Einen&#160;Überblick&#160;über&#160;alle&#160;definierten<br/>
Aliasse&#160;erhalten&#160;Sie&#160;mit&#160;dem&#160;Kommando&#160;alias.<br/>
Anzeigehilfe&#160;Programm&#160;zum&#160;Anzeigen&#160;einer&#160;(Text-)&#160;Datei.&#160;Es&#160;bietet&#160;die&#160;Möglichkeit<br/>
einfach&#160;vorwärts&#160;und&#160;rückwärts&#160;durch&#160;das&#160;Dokument&#160;zu&#160;navigieren&#160;sowie&#160;Zei-<br/>
chenketten&#160;zu&#160;suchen.&#160;Wir&#160;empfehlen&#160;Ihnen&#160;das&#160;Programm&#160;less&#160;zu&#160;verwenden<br/>
(u.a.&#160;da&#160;es&#160;die&#160;selben&#160;Tastaturkürzel&#160;wie&#160;vim&#160;verwendet).<br/>
APM&#160;Advanced&#160;Power&#160;Management&#160;(”Fortgeschrittenes&#160;Energiemanagement”).&#160;Wird<br/>
von&#160;einigen&#160;BIOSsen&#160;dazu&#160;benutzt,&#160;die&#160;Maschine&#160;nach&#160;einer&#160;Periode&#160;von&#160;Inakti-<br/>
vität&#160;in&#160;einen&#160;energiesparenden&#160;Ruhezustand&#160;zu&#160;bringen.&#160;Auf&#160;Laptops&#160;ist&#160;APM<br/>
auch&#160;dafür&#160;zuständig,&#160;Informationen&#160;über&#160;den&#160;Batteriestatus&#160;bzw.&#160;die&#160;verblei-<br/>
bende&#160;Arbeitszeit&#160;bereit&#160;zu&#160;stellen.<br/>
Arbeitsfläche&#160;Wenn&#160;Sie&#160;das&#160;X-Windows-System&#160;verwenden,&#160;ist&#160;die&#160;Arbeitsfläche&#160;der<br/>
teil&#160;des&#160;Bildschirmes,&#160;auf&#160;dem&#160;Sie&#160;arbeiten&#160;und&#160;auf&#160;dem&#160;Ihre&#160;Symbole&#160;und&#160;Fenster<br/>
dargestellt&#160;werden.&#160;Manschmal&#160;wird&#160;auch&#160;lachs&#160;vom&#160;”Hitergrund”&#160;gesprochen.<br/>
Siehe&#160;auch:&#160;virtuelle&#160;Arbeitsfläche.<br/>
ARP&#160;Address&#160;Resolution&#160;Protocol.&#160;(”Protokoll&#160;zur&#160;Adress-Auflösungs”).&#160;Das&#160;Protokoll<br/>
um&#160;IP-Adressen&#160;dynamisch&#160;in&#160;physikalische&#160;(Hardware-)Adressen&#160;umzuwandeln.<br/>
Nur&#160;möglich&#160;auf&#160;direkt&#160;verbundenen&#160;Netzwerken&#160;im&#160;Hardware-&#160;Broadcasting.<br/>
ASCII&#160;Abkürzung&#160;für&#160;American&#160;Standart&#160;Code&#160;for&#160;Information&#160;Interchange.&#160;Es&#160;han-<br/>
delt&#160;sich&#160;um&#160;den&#160;meistvervwendeten&#160;7-Bit-Kode&#160;zur&#160;Darstellung&#160;von&#160;Ziffern,<br/>
Buchstaben&#160;und&#160;Sonderzeichen.&#160;Der&#160;ASCII-Code&#160;ist&#160;mittlerweile&#160;per&#160;”normati-<br/>
ver&#160;Kraft&#160;des&#160;Faktischen”&#160;durch&#160;den&#160;ISO&#160;Standart&#160;8859-1&#160;abgelöst&#160;(Siehe&#160;ISO<br/>
8859).<br/>
161<br/>
<hr/>
<a name=162></a>21.&#160;Glossar<br/>
Assembler&#160;Maschinensprache.&#160;Vorstufe&#160;des&#160;Objekt-Kodes.&#160;Programme&#160;werden&#160;meist<br/>
in&#160;sogenannten&#160;Hochsprachen&#160;(wie&#160;C)&#160;geschrieben,&#160;die&#160;dann&#160;per&#160;Kompilation&#160;in<br/>
Assembler&#160;umgewandelt&#160;werden.<br/>
ATAPI&#160;eine&#160;Familie&#160;von&#160;CD-ROM-Laufwerken,&#160;die&#160;an&#160;den&#160;IDE-Controller&#160;angeschlos-<br/>
sen&#160;werden.&#160;Es&#160;gibt&#160;auch&#160;SCSI-Laufwerke,&#160;die&#160;am&#160;SCSI-Controler&#160;betrieben&#160;wer-<br/>
den,&#160;sowie&#160;proprietäre&#160;Laufwerke,&#160;die&#160;ihren&#160;eigenen&#160;Controller&#160;benutzen&#160;oder&#160;an<br/>
die&#160;Soundkarte&#160;angeschlossen&#160;werden.<br/>
atomar&#160;Eine&#160;Gruppe&#160;von&#160;Operationen,&#160;die&#160;nicht&#160;weiter&#160;aufgeteilt&#160;werden&#160;kann.<br/>
ausführlicher&#160;Modus&#160;Befehle&#160;produzieren&#160;im&#160;ausführlichen&#160;Modus&#160;Zusatzinformatio-<br/>
nen,&#160;die&#160;auf&#160;die&#160;Standardausgabe&#160;oder&#160;Standart-Fehlerausgabe&#160;ausgegeben&#160;wer-<br/>
den.&#160;Einige&#160;Programme&#160;bieten&#160;die&#160;Möglichkeit&#160;einzustellen&#160;wie&#160;”redselig”&#160;sie&#160;sein<br/>
sollen.<br/>
HTTP&#160;HyperText&#160;Transfer&#160;Protokoll(Hypertext-Übertragungsprotokoll).&#160;Ist&#160;ein&#160;Pro-<br/>
tokoll&#160;zur&#160;Übertragung&#160;von&#160;Daten&#160;über&#160;ein&#160;Netzwerk.&#160;Es&#160;wird&#160;hauptsächlich&#160;ein-<br/>
gesetzt,&#160;um&#160;Webseiten&#160;aus&#160;dem&#160;World&#160;Wide&#160;Web&#160;(WWW)&#160;in&#160;einen&#160;Webbrowser<br/>
zu&#160;laden.<br/>
URL&#160;Uniform&#160;Resource&#160;Locator&#160;(Einheitlicher&#160;Quellenanzeiger).&#160;Bezeichnet&#160;man&#160;ei-<br/>
ne&#160;Unterart&#160;von&#160;Uniform&#160;Resource&#160;Identifiern&#160;(URIs).&#160;URLs&#160;identifizieren&#160;und<br/>
lokalisieren&#160;eine&#160;Ressource&#160;über&#160;die&#160;zu&#160;verwendende&#160;Zugriffsmethode&#160;(z.&#160;B.&#160;das<br/>
verwendete&#160;Netzwerkprotokoll&#160;wie&#160;HTTP&#160;oder&#160;FTP)&#160;und&#160;den&#160;Ort&#160;(engl.&#160;locati-<br/>
on)&#160;der&#160;Ressource&#160;in&#160;Computernetzwerken.&#160;Im&#160;allgemeinen&#160;Sprachgebrauch&#160;wer-<br/>
den&#160;sie&#160;auch&#160;als&#160;Internetadresse&#160;bezeichnet,&#160;wobei&#160;damit&#160;(der&#160;umgangssprachlich<br/>
häufigen&#160;Gleichsetzung&#160;von&#160;Internet&#160;und&#160;WWW&#160;folgend)&#160;meist&#160;speziell&#160;URLs<br/>
von&#160;Webseiten&#160;gemeint&#160;sind.<br/>
USV&#160;Unterbrechungsfreie&#160;Stromversorgung.&#160;Sehr&#160;großer&#160;Akku&#160;(aufladbare&#160;Baterie)<br/>
der&#160;bei&#160;einem&#160;Stromausfall&#160;den&#160;Rechner&#160;mit&#160;Strom&#160;versorgt.<br/>
WWW&#160;World&#160;Wide&#160;Web(Weltweites&#160;Netz).&#160;Ist&#160;ein&#160;über&#160;das&#160;Internet&#160;abrufbares&#160;Hypertext-<br/>
System,&#160;bestehend&#160;aus&#160;elektronischen&#160;Dokumenten,&#160;die&#160;durch&#160;Hyperlinks&#160;mit-<br/>
einander&#160;verknüpft&#160;sind.<br/>
162<br/>
<hr/>
<a name=163></a>Stichwortverzeichnis<br/>
&amp;,&#160;<a href="linuxs.html#30">30</a><br/>
Eigentümer,&#160;<a href="linuxs.html#28">28</a><br/>
htop,&#160;<a href="linuxs.html#30">30</a><br/>
emerge,&#160;<a href="linuxs.html#33">33</a><br/>
affs,&#160;<a href="linuxs.html#49">49</a><br/>
env-update,&#160;<a href="linuxs.html#31">31</a><br/>
ifconfig,&#160;<a href="linuxs.html#34">34</a><br/>
alias,&#160;<a href="linuxs.html#22">22</a><br/>
equery,&#160;<a href="linuxs.html#33">33</a><br/>
info,&#160;<a href="linuxs.html#20">20</a><br/>
apt,&#160;<a href="linuxs.html#32">32</a><br/>
etc-update,&#160;<a href="linuxs.html#33">33</a><br/>
init,&#160;<a href="linuxs.html#19">19,&#160;</a><a href="linuxs.html#20">20</a><br/>
apt-get,&#160;<a href="linuxs.html#32">32</a><br/>
euse,&#160;<a href="linuxs.html#33">33</a><br/>
initctl,&#160;<a href="linuxs.html#20">20</a><br/>
insmod,&#160;<a href="linuxs.html#17">17</a><br/>
bash,&#160;<a href="linuxs.html#55">55</a><br/>
expand,&#160;<a href="linuxs.html#25">25</a><br/>
ip,&#160;<a href="linuxs.html#34">34</a><br/>
bg,&#160;<a href="linuxs.html#30">30</a><br/>
export,&#160;<a href="linuxs.html#31">31,&#160;</a><a href="linuxs.html#38">38,&#160;</a><a href="linuxs.html#55">55</a><br/>
iso9660,&#160;<a href="linuxs.html#49">49</a><br/>
Bildschirmschoner,&#160;<a href="linuxs.html#19">19,</a><br/>
ext2,&#160;<a href="linuxs.html#49">49</a><br/>
<a href="linuxs.html#39">39</a><br/>
ext3,&#160;<a href="linuxs.html#49">49</a><br/>
jobs,&#160;<a href="linuxs.html#30">30</a><br/>
blockorientiert,&#160;<a href="linuxs.html#28">28</a><br/>
fakeroot,&#160;<a href="linuxs.html#17">17</a><br/>
bzip2,&#160;<a href="linuxs.html#17">17</a><br/>
Kernel,&#160;<a href="linuxs.html#17">17</a><br/>
fdformat,&#160;<a href="linuxs.html#27">27</a><br/>
kill,&#160;<a href="linuxs.html#30">30</a><br/>
cat,&#160;<a href="linuxs.html#23">23</a><br/>
fdisk,&#160;<a href="linuxs.html#27">27</a><br/>
ksh,&#160;<a href="linuxs.html#55">55</a><br/>
cd,&#160;<a href="linuxs.html#23">23</a><br/>
fg,&#160;<a href="linuxs.html#30">30</a><br/>
cfdsik,&#160;<a href="linuxs.html#27">27</a><br/>
fgrep,&#160;<a href="linuxs.html#24">24</a><br/>
last,&#160;<a href="linuxs.html#20">20</a><br/>
chgrp,&#160;<a href="linuxs.html#28">28</a><br/>
file,&#160;<a href="linuxs.html#22">22</a><br/>
ldd,&#160;<a href="linuxs.html#34">34</a><br/>
chmod,&#160;<a href="linuxs.html#28">28</a><br/>
find,&#160;<a href="linuxs.html#24">24</a><br/>
less,&#160;<a href="linuxs.html#23">23</a><br/>
chown,&#160;<a href="linuxs.html#28">28</a><br/>
finger,&#160;<a href="linuxs.html#20">20</a><br/>
ln,&#160;<a href="linuxs.html#23">23</a><br/>
chroot,&#160;<a href="linuxs.html#31">31</a><br/>
free,&#160;<a href="linuxs.html#20">20</a><br/>
locate,&#160;<a href="linuxs.html#55">55</a><br/>
clock,&#160;<a href="linuxs.html#21">21</a><br/>
fsck,&#160;<a href="linuxs.html#27">27</a><br/>
login,&#160;<a href="linuxs.html#19">19</a><br/>
cmp,&#160;<a href="linuxs.html#25">25</a><br/>
fstab,&#160;<a href="linuxs.html#48">48</a><br/>
logout,&#160;<a href="linuxs.html#19">19</a><br/>
comm,&#160;<a href="linuxs.html#25">25</a><br/>
ftp,&#160;<a href="linuxs.html#34">34</a><br/>
losetup,&#160;<a href="linuxs.html#28">28</a><br/>
compress,&#160;<a href="linuxs.html#25">25</a><br/>
lpq,&#160;<a href="linuxs.html#25">25</a><br/>
cp,&#160;<a href="linuxs.html#23">23</a><br/>
gpg,&#160;<a href="linuxs.html#17">17,&#160;</a><a href="linuxs.html#36">36</a><br/>
lpr,&#160;<a href="linuxs.html#25">25</a><br/>
csh,&#160;<a href="linuxs.html#55">55</a><br/>
grep,&#160;<a href="linuxs.html#24">24</a><br/>
lprm,&#160;<a href="linuxs.html#25">25</a><br/>
group,&#160;<a href="linuxs.html#49">49</a><br/>
ls,&#160;<a href="linuxs.html#22">22</a><br/>
date,&#160;<a href="linuxs.html#20">20,&#160;</a><a href="linuxs.html#21">21</a><br/>
grub,&#160;<a href="linuxs.html#31">31</a><br/>
lsmod,&#160;<a href="linuxs.html#17">17</a><br/>
Datum,&#160;<a href="linuxs.html#21">21</a><br/>
Gruppe,&#160;<a href="linuxs.html#28">28</a><br/>
dd,&#160;<a href="linuxs.html#27">27</a><br/>
gzip,&#160;<a href="linuxs.html#17">17</a><br/>
mail,&#160;<a href="linuxs.html#37">37</a><br/>
df,&#160;<a href="linuxs.html#20">20</a><br/>
make,&#160;<a href="linuxs.html#17">17,&#160;</a><a href="linuxs.html#34">34</a><br/>
diff,&#160;<a href="linuxs.html#25">25</a><br/>
halt,&#160;<a href="linuxs.html#19">19</a><br/>
make-kpkg,&#160;<a href="linuxs.html#17">17</a><br/>
dmesg,&#160;<a href="linuxs.html#17">17</a><br/>
Hardlink,&#160;<a href="linuxs.html#23">23</a><br/>
man,&#160;<a href="linuxs.html#20">20</a><br/>
dpkg,&#160;<a href="linuxs.html#17">17,&#160;</a><a href="linuxs.html#32">32</a><br/>
head,&#160;<a href="linuxs.html#23">23</a><br/>
mfomat,&#160;<a href="linuxs.html#27">27</a><br/>
host,&#160;<a href="linuxs.html#34">34</a><br/>
minix,&#160;<a href="linuxs.html#49">49</a><br/>
echo,&#160;<a href="linuxs.html#20">20</a><br/>
hosts,&#160;<a href="linuxs.html#50">50</a><br/>
mkdir,&#160;<a href="linuxs.html#23">23</a><br/>
egrep,&#160;<a href="linuxs.html#24">24</a><br/>
hpfs,&#160;<a href="linuxs.html#49">49</a><br/>
mkdosfs,&#160;<a href="linuxs.html#27">27</a><br/>
163<br/>
<hr/>
<a name=164></a>STICHWORTVERZEICHNIS<br/>
mke2fs,&#160;<a href="linuxs.html#27">27</a><br/>
rpm,&#160;<a href="linuxs.html#32">32</a><br/>
umount,&#160;<a href="linuxs.html#27">27</a><br/>
mkfs,&#160;<a href="linuxs.html#27">27</a><br/>
umsdos,&#160;<a href="linuxs.html#49">49</a><br/>
modprobe,&#160;<a href="linuxs.html#28">28</a><br/>
sax,&#160;<a href="linuxs.html#38">38</a><br/>
uname,&#160;<a href="linuxs.html#17">17</a><br/>
more,&#160;<a href="linuxs.html#23">23</a><br/>
scp,&#160;<a href="linuxs.html#34">34,&#160;</a><a href="linuxs.html#35">35</a><br/>
uncompress,&#160;<a href="linuxs.html#25">25</a><br/>
mount,&#160;<a href="linuxs.html#27">27</a><br/>
setenv,&#160;<a href="linuxs.html#55">55</a><br/>
uniq,&#160;<a href="linuxs.html#25">25</a><br/>
msdos,&#160;<a href="linuxs.html#49">49</a><br/>
settherm,&#160;<a href="linuxs.html#19">19</a><br/>
unpack,&#160;<a href="linuxs.html#25">25</a><br/>
mv,&#160;<a href="linuxs.html#23">23</a><br/>
sh,&#160;<a href="linuxs.html#55">55</a><br/>
unset,&#160;<a href="linuxs.html#55">55</a><br/>
shutdown,&#160;<a href="linuxs.html#19">19</a><br/>
unsetenv,&#160;<a href="linuxs.html#55">55</a><br/>
ncpfs,&#160;<a href="linuxs.html#49">49</a><br/>
smbfs,&#160;<a href="linuxs.html#49">49</a><br/>
Upstart,&#160;<a href="linuxs.html#20">20</a><br/>
netcat,&#160;<a href="linuxs.html#34">34</a><br/>
Softlink,&#160;<a href="linuxs.html#23">23</a><br/>
useradd,&#160;<a href="linuxs.html#28">28</a><br/>
netdate,&#160;<a href="linuxs.html#21">21</a><br/>
source,&#160;<a href="linuxs.html#31">31</a><br/>
userdel,&#160;<a href="linuxs.html#28">28</a><br/>
nfs,&#160;<a href="linuxs.html#49">49</a><br/>
ssh,&#160;<a href="linuxs.html#34">34,&#160;</a><a href="linuxs.html#35">35</a><br/>
usermod,&#160;<a href="linuxs.html#28">28</a><br/>
nl,&#160;<a href="linuxs.html#23">23</a><br/>
ssh-keygen,&#160;<a href="linuxs.html#35">35</a><br/>
UTC,&#160;<a href="linuxs.html#21">21</a><br/>
nmap,&#160;<a href="linuxs.html#34">34</a><br/>
startx,&#160;<a href="linuxs.html#38">38</a><br/>
nslookup,&#160;<a href="linuxs.html#34">34</a><br/>
stderr,&#160;<a href="linuxs.html#19">19</a><br/>
vfat,&#160;<a href="linuxs.html#49">49</a><br/>
ntfs,&#160;<a href="linuxs.html#49">49</a><br/>
stdin,&#160;<a href="linuxs.html#19">19,&#160;</a><a href="linuxs.html#56">56</a><br/>
vi,&#160;<a href="linuxs.html#24">24,&#160;</a><a href="linuxs.html#61">61</a><br/>
vipw,&#160;<a href="linuxs.html#28">28</a><br/>
od,&#160;<a href="linuxs.html#23">23</a><br/>
stdout,&#160;<a href="linuxs.html#19">19</a><br/>
strace,&#160;<a href="linuxs.html#34">34</a><br/>
w,&#160;<a href="linuxs.html#20">20</a><br/>
passwd,&#160;<a href="linuxs.html#28">28,&#160;</a><a href="linuxs.html#53">53</a><br/>
strings,&#160;<a href="linuxs.html#23">23</a><br/>
wc,&#160;<a href="linuxs.html#22">22</a><br/>
ping,&#160;<a href="linuxs.html#34">34</a><br/>
su,&#160;<a href="linuxs.html#28">28</a><br/>
wget,&#160;<a href="linuxs.html#17">17</a><br/>
pr,&#160;<a href="linuxs.html#25">25</a><br/>
sux,&#160;<a href="linuxs.html#28">28</a><br/>
whatis,&#160;<a href="linuxs.html#20">20</a><br/>
proc,&#160;<a href="linuxs.html#49">49</a><br/>
systemctl,&#160;<a href="linuxs.html#19">19</a><br/>
which,&#160;<a href="linuxs.html#20">20</a><br/>
ps,&#160;<a href="linuxs.html#30">30</a><br/>
sysv,&#160;<a href="linuxs.html#49">49</a><br/>
who,&#160;<a href="linuxs.html#20">20</a><br/>
pstree,&#160;<a href="linuxs.html#30">30</a><br/>
whoami,&#160;<a href="linuxs.html#20">20</a><br/>
pwd,&#160;<a href="linuxs.html#20">20</a><br/>
tail,&#160;<a href="linuxs.html#23">23</a><br/>
tar,&#160;<a href="linuxs.html#27">27</a><br/>
xf86config,&#160;<a href="linuxs.html#38">38</a><br/>
rcsshd,&#160;<a href="linuxs.html#36">36</a><br/>
tcsh,&#160;<a href="linuxs.html#55">55</a><br/>
XF86Setup,&#160;<a href="linuxs.html#38">38</a><br/>
reboot,&#160;<a href="linuxs.html#19">19</a><br/>
telnet,&#160;<a href="linuxs.html#34">34</a><br/>
xset,&#160;<a href="linuxs.html#39">39</a><br/>
recode,&#160;<a href="linuxs.html#23">23</a><br/>
timedatectl,&#160;<a href="linuxs.html#21">21</a><br/>
xsetroot,&#160;<a href="linuxs.html#39">39</a><br/>
reiserfs,&#160;<a href="linuxs.html#49">49</a><br/>
top,&#160;<a href="linuxs.html#30">30</a><br/>
revdep-rebuild,&#160;<a href="linuxs.html#33">33</a><br/>
tr,&#160;<a href="linuxs.html#25">25</a><br/>
yast,&#160;<a href="linuxs.html#20">20</a><br/>
rlogin,&#160;<a href="linuxs.html#34">34</a><br/>
tune2fs,&#160;<a href="linuxs.html#27">27</a><br/>
rm,&#160;<a href="linuxs.html#23">23</a><br/>
zcat,&#160;<a href="linuxs.html#17">17</a><br/>
rmdir,&#160;<a href="linuxs.html#23">23</a><br/>
ufs,&#160;<a href="linuxs.html#49">49</a><br/>
zeichenorientiert,&#160;<a href="linuxs.html#28">28</a><br/>
rmmod,&#160;<a href="linuxs.html#17">17</a><br/>
Uhrzeit,&#160;<a href="linuxs.html#21">21</a><br/>
Zeit,&#160;<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 -&gt; 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>