Update to r42014.

This commit is contained in:
Bjoern Heidotting 2015-09-26 16:57:40 +00:00
parent 4c7b412de5
commit e317b0f628
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=47441

View file

@ -5,7 +5,7 @@
$FreeBSD$ $FreeBSD$
$FreeBSDde$ $FreeBSDde$
basiert auf: r41814 basiert auf: r42014
--> -->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="basics"> <chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="basics">
<info><title>Grundlagen des UNIX Betriebssystems</title> <info><title>Grundlagen des UNIX Betriebssystems</title>
@ -18,8 +18,6 @@
</authorgroup> </authorgroup>
</info> </info>
<sect1 xml:id="basics-synopsis"> <sect1 xml:id="basics-synopsis">
<title>Übersicht</title> <title>Übersicht</title>
@ -77,11 +75,12 @@
<indexterm><primary>virtuelle Konsole</primary></indexterm> <indexterm><primary>virtuelle Konsole</primary></indexterm>
<indexterm><primary>Terminals</primary></indexterm> <indexterm><primary>Terminals</primary></indexterm>
<para>Sie können &os; mit einem Terminal benutzen, der nur Text <para>&os; kann mit einem Terminal benutzt werden, der nur Text
darstellen kann. Wenn Sie FreeBSD auf diese Weise benutzen, stehen darstellen kann. Wird &os; auf diese Weise benutzt, so steht
Ihnen alle Möglichkeiten eines &unix; Betriebssystems zur einem ein großer Teil der Flexibilität und Leistungsfähigkeit
Verfügung. Dieser Abschnitt beschreibt was Terminals und eines &unix; Betriebssystems zur Verfügung. Dieser Abschnitt
Konsolen sind und wie sie unter &os; eingesetzt werden.</para> beschreibt was Terminals und Konsolen sind und wie sie unter
&os; eingesetzt werden.</para>
<sect2 xml:id="consoles-intro"> <sect2 xml:id="consoles-intro">
<title>Die Konsole</title> <title>Die Konsole</title>
@ -136,7 +135,8 @@ login:</screen>
<screen>login:</screen> <screen>login:</screen>
<para>Geben Sie den Benutzernamen ein, der während der <para>Geben Sie den Benutzernamen ein, der während der
<link linkend="bsdinstall-addusers">Systeminstallation</link> Systeminstallation, wie in <link
linkend="bsdinstall-addusers"/> beschrieben,
konfiguriert wurde und drücken Sie <keycap>Enter</keycap>. konfiguriert wurde und drücken Sie <keycap>Enter</keycap>.
Geben Sie dann das zum Benutzernamen zugeordnete Passwort ein Geben Sie dann das zum Benutzernamen zugeordnete Passwort ein
und drücken <keycap>Enter</keycap>. Das Passwort wird aus und drücken <keycap>Enter</keycap>. Das Passwort wird aus
@ -158,8 +158,8 @@ login:</screen>
Konsolen zur Eingabe von Befehlen zur Verfügung stehen. Jede Konsolen zur Eingabe von Befehlen zur Verfügung stehen. Jede
virtuelle Konsole verfügt über einen eigenen Anmeldeprompt und virtuelle Konsole verfügt über einen eigenen Anmeldeprompt und
Ausgabekanal, und &os; kümmert sich um die ordnungsgemäße Ausgabekanal, und &os; kümmert sich um die ordnungsgemäße
Umleitung von Tastatureingaben und Monitorausgaben, wenn Sie Umleitung von Tastatureingaben und Monitorausgaben, wenn
zwischen den virtuellen Konsolen umschalten.</para> zwischen den virtuellen Konsolen umgeschaltet wird.</para>
<para>Zum Umschalten der Konsolen stellt &os; spezielle <para>Zum Umschalten der Konsolen stellt &os; spezielle
Tastenkombinationen bereit<footnote> Tastenkombinationen bereit<footnote>
@ -219,8 +219,9 @@ ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure</programlisting>
<sect2 xml:id="consoles-singleuser"> <sect2 xml:id="consoles-singleuser">
<title>Die Konsole im Single-User-Modus</title> <title>Die Konsole im Single-User-Modus</title>
<para>Eine eingehende Beschreibung des Single-User-Modus findet sich <para>Eine eingehende Beschreibung des
in <xref linkend="boot-singleuser"/>. Im Single-User-Modus steht <quote>Single-User-Modus</quote> findet sich in
<xref linkend="boot-singleuser"/>. Im Single-User-Modus steht
nur <emphasis>eine</emphasis> Konsole zur Verfügung. nur <emphasis>eine</emphasis> Konsole zur Verfügung.
Die Einstellungen dieser Konsole befinden sich in diesem Die Einstellungen dieser Konsole befinden sich in diesem
Abschnitt von <filename>/etc/ttys</filename>:</para> Abschnitt von <filename>/etc/ttys</filename>:</para>
@ -232,8 +233,8 @@ ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure</programlisting>
console none unknown off secure</programlisting> console none unknown off secure</programlisting>
<note> <note>
<para>In der Zeile, die mit <literal>console</literal> beginnt, <para>In der Zeile, die mit <literal>console</literal>
kann <literal>secure</literal> durch beginnt, kann <literal>secure</literal> durch
<literal>insecure</literal> ersetzt werden. Wenn danach in <literal>insecure</literal> ersetzt werden. Wenn danach in
den Single-User-Modus gebootet wird, verlangt das System die den Single-User-Modus gebootet wird, verlangt das System die
Eingabe des <systemitem Eingabe des <systemitem
@ -242,9 +243,9 @@ console none unknown off secure</programlisting>
kein Passwort verlangt.</para> kein Passwort verlangt.</para>
<para><emphasis>Setzen Sie <literal>insecure</literal> nicht <para><emphasis>Setzen Sie <literal>insecure</literal> nicht
leichtfertig ein.</emphasis> Wenn Sie das leichtfertig ein.</emphasis> Wenn das
<systemitem class="username">root</systemitem>-Passwort <systemitem class="username">root</systemitem>-Passwort
vergessen, wird es schwierig, in den vergessen wird, wird es schwierig in den
Single-User-Modus zu gelangen, wenn man den Bootprozess von Single-User-Modus zu gelangen, wenn man den Bootprozess von
&os; nicht genau versteht.</para> &os; nicht genau versteht.</para>
</note> </note>
@ -298,6 +299,16 @@ console none unknown off secure</programlisting>
Anfragen nach Hardware- und Peripheriegeräten, Speicher Anfragen nach Hardware- und Peripheriegeräten, Speicher
und CPU-Zeit unter den Benutzern.</para> und CPU-Zeit unter den Benutzern.</para>
<para>Weitere Informationen über Benutzerkonten finden Sie im
Kapitel <link linkend="users">Benutzer und grundlegende
Account-Verwaltung</link>. Es ist wichtig zu verstehen, dass
jeder Person (Benutzer) die den Computer verwendet, ein eigener
Benutzername und Passwort zugewiesen wird. Das System erkennt
die Personen auf Grundlage dieser Benutzernamen. Da es häufig
vorkommt, dass mehrere Personen am gleichen Projekt arbeiten,
stellt &unix; auch Gruppen zur Verfügung. Mehrere Benutzer
können der gleichen Gruppe zugewiesen werden.</para>
<para>Da das System mehrere Benutzer unterstützt, hat alles, <para>Da das System mehrere Benutzer unterstützt, hat alles,
was das System verwaltet, einen Satz von Rechten, die bestimmen, was das System verwaltet, einen Satz von Rechten, die bestimmen,
wer die jeweilige Ressource lesen, schreiben oder ausführen wer die jeweilige Ressource lesen, schreiben oder ausführen
@ -381,7 +392,7 @@ console none unknown off secure</programlisting>
</tgroup> </tgroup>
</informaltable> </informaltable>
<indexterm> <indexterm>
<primary><command>ls</command></primary> <primary>&man.ls.1;</primary>
</indexterm> </indexterm>
<indexterm><primary>Verzeichnisse</primary></indexterm> <indexterm><primary>Verzeichnisse</primary></indexterm>
@ -427,7 +438,7 @@ total 530
Ausführungs-Bit hat eine etwas andere Bedeutung für Ausführungs-Bit hat eine etwas andere Bedeutung für
ein Verzeichnis als für eine Datei. Die Ausführbarkeit ein Verzeichnis als für eine Datei. Die Ausführbarkeit
eines Verzeichnisses bedeutet, dass in das Verzeichnis, eines Verzeichnisses bedeutet, dass in das Verzeichnis,
zum Beispiel mit <command>cd</command>, gewechselt werden kann. zum Beispiel mit &man.cd.1;, gewechselt werden kann.
Das bedeutet auch, dass in dem Verzeichnis auf Dateien, deren Das bedeutet auch, dass in dem Verzeichnis auf Dateien, deren
Namen bekannt sind, zugegriffen werden kann, vorausgesetzt die Namen bekannt sind, zugegriffen werden kann, vorausgesetzt die
Zugriffsrechte der Dateien lassen dies zu.</para> Zugriffsrechte der Dateien lassen dies zu.</para>
@ -582,13 +593,10 @@ total 530
</authorgroup> </authorgroup>
</info> </info>
<para>Zusätzlich zu den Zugriffsrechten unterstützt &os; auch
die Nutzung von <quote>Datei-Flags</quote>. Diese erhöhen die
<para>Zusätzlich zu den Zugriffsrechten Sicherheit des Systems, indem sie eine verbesserte Kontrolle
unterstützt &os; auch die Nutzung von von Dateien erlauben. Verzeichnisse werden allerdings nicht
<quote>Datei-Flags</quote>. Diese erhöhen die Sicherheit
Ihres Systems, indem sie eine verbesserte Kontrolle von
Dateien erlauben. Verzeichnisse werden allerdings nicht
unterstützt. Mit dem Einsatz von Datei-Flags kann sogar unterstützt. Mit dem Einsatz von Datei-Flags kann sogar
<systemitem class="username">root</systemitem> daran gehindert <systemitem class="username">root</systemitem> daran gehindert
werden, Dateien zu löschen oder zu verändern.</para> werden, Dateien zu löschen oder zu verändern.</para>
@ -680,11 +688,11 @@ total 530
umgehen.</para> umgehen.</para>
</note> </note>
<para>Um dies in Echtzeit zu beobachten, öffnen Sie zwei Terminals. <para>Um dies in Echtzeit zu beobachten, öffnen Sie zwei
Starten Sie auf einem den <command>passwd</command>-Prozess als normaler Terminals. Starten Sie auf einem <command>passwd</command>
Benutzer. Während es auf die Passworteingabe wartet, als normaler Benutzer. Während es auf die Passworteingabe
überprüfen Sie die Prozesstabelle und sehen Sie sich die wartet, überprüfen Sie die Prozesstabelle und sehen Sie sich
Informationen für <command>passwd</command> an.</para> die Informationen für &man.passwd.1; an:</para>
<para>Im Terminal A:</para> <para>Im Terminal A:</para>
@ -698,9 +706,9 @@ Old Password:</screen>
<screen>trhodes 5232 0.0 0.2 3420 1608 0 R+ 2:10AM 0:00.00 grep passwd <screen>trhodes 5232 0.0 0.2 3420 1608 0 R+ 2:10AM 0:00.00 grep passwd
root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen> root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
<para>Wie oben erwähnt, wird <command>passwd</command> von einem <para>Obwohl &man.passwd.1; als normaler Benutzer ausgeführt
normalen Benutzer ausgeführt, benutzt aber die effektive wird, benutzt es die effektive <acronym>UID</acronym> von
<acronym>UID</acronym> von <systemitem class="username">root</systemitem>.</para> <systemitem class="username">root</systemitem>.</para>
<para>Die <literal>setgid</literal>-Berechtigung führt die gleiche <para>Die <literal>setgid</literal>-Berechtigung führt die gleiche
Aktion wie die <literal>setuid</literal>-Berechtigung durch, allerdings Aktion wie die <literal>setuid</literal>-Berechtigung durch, allerdings
@ -710,9 +718,9 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
Datei besitzt und nicht die des Benutzers, der den Prozess gestartet Datei besitzt und nicht die des Benutzers, der den Prozess gestartet
hat.</para> hat.</para>
<para>Um die <literal>setgid</literal>-Berechtigung auf einer Datei zu <para>Um die <literal>setgid</literal>-Berechtigung auf einer
setzen, geben Sie <command>chmod</command> eine Datei zu setzen, geben Sie &man.chmod.1; eine führende
führende Zwei (2) mit:</para> Zwei (2) mit:</para>
<screen>&prompt.root; <userinput>chmod 2755 sgidexample.sh</userinput></screen> <screen>&prompt.root; <userinput>chmod 2755 sgidexample.sh</userinput></screen>
@ -854,8 +862,7 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
<row> <row>
<entry><filename>/etc/namedb/</filename></entry> <entry><filename>/etc/namedb/</filename></entry>
<entry>Konfigurationsdateien von <entry>Konfigurationsdateien von
<command>named</command>. Weitere Details finden Sie &man.named.8;.</entry>
in &man.named.8;.</entry>
</row> </row>
<row> <row>
@ -868,8 +875,7 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
<row> <row>
<entry><filename>/etc/ppp/</filename></entry> <entry><filename>/etc/ppp/</filename></entry>
<entry>Konfigurationsdateien von <command>ppp</command>, <entry>Konfigurationsdateien von &man.ppp.8;.</entry>
wie in &man.ppp.8; beschrieben.</entry>
</row> </row>
<row> <row>
@ -964,7 +970,7 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
<filename>/usr/local</filename> anstelle unter <filename>/usr/local</filename> anstelle unter
<filename>/usr/local/share</filename> angelegt. Die <filename>/usr/local/share</filename> angelegt. Die
Dokumentation der Ports findet sich in Dokumentation der Ports findet sich in
<filename>share/doc/port</filename>. <filename>share/doc/<replaceable>port</replaceable></filename>.
</entry> </entry>
</row> </row>
@ -1073,7 +1079,7 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
befindet, lautet der vollständige Name der Datei (oder der befindet, lautet der vollständige Name der Datei (oder der
<firstterm>Pfad</firstterm> zur Datei) <firstterm>Pfad</firstterm> zur Datei)
<filename>foo/bar/readme.txt</filename>. Beachten Sie, dass <filename>foo/bar/readme.txt</filename>. Beachten Sie, dass
sich dies von &windows; unterscheidet, wo der sich dies von &windows; unterscheidet, wo der
<literal>\</literal> (<foreignphrase>Backslash</foreignphrase> <literal>\</literal> (<foreignphrase>Backslash</foreignphrase>
für die Trennung von Datei- und Verzeichnisnamen für die Trennung von Datei- und Verzeichnisnamen
verwendet wird. &os; benutzt keine Laufwerkbuchstaben oder verwendet wird. &os; benutzt keine Laufwerkbuchstaben oder
@ -1092,21 +1098,17 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
Verzeichnis, unabhängig von der Anzahl der Platten, auf der Verzeichnis, unabhängig von der Anzahl der Platten, auf der
selben Platte zu liegen.</para> selben Platte zu liegen.</para>
<para>Angenommen, Sie haben drei Dateisysteme <literal>A</literal>, <para>Betrachten wir die drei Dateisysteme <literal>A</literal>,
<literal>B</literal> und <literal>C</literal>. Jedes <literal>B</literal> und <literal>C</literal>. Jedes
Dateisystem besitzt ein eigenes Wurzelverzeichnis, das Dateisystem besitzt ein eigenes Wurzelverzeichnis, das
zwei andere Verzeichnisse enthält: zwei andere Verzeichnisse enthält:
<filename>A1</filename>, <filename>A1</filename>, <filename>A2</filename>,
<filename>A2</filename>, <filename>B1</filename>, <filename>B2</filename>,
<filename>B1</filename>, <filename>C1</filename> und <filename>C2</filename>.</para>
<filename>B2</filename>,
<filename>C1</filename> und
<filename>C2</filename>.</para>
<para>Das Wurzeldateisystem soll <literal>A</literal> sein. <para>Das Wurzeldateisystem soll <literal>A</literal> sein.
<command>ls</command> zeigt darin &man.ls.1; zeigt darin die beiden Verzeichnisse
die beiden Verzeichnisse <filename>A1</filename> <filename>A1</filename> und <filename>A2</filename> an.
und <filename>A2</filename> an.
Der Verzeichnisbaum sieht wie folgt aus:</para> Der Verzeichnisbaum sieht wie folgt aus:</para>
<mediaobject> <mediaobject>
@ -1126,11 +1128,10 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
<para>Ein Dateisystem wird in einem Verzeichnis eines anderen <para>Ein Dateisystem wird in einem Verzeichnis eines anderen
Dateisystems eingehangen. Wir hängen nun das Dateisystem Dateisystems eingehangen. Wir hängen nun das Dateisystem
<literal>B</literal> in das Verzeichnis <literal>B</literal> in das Verzeichnis
<filename>A1</filename> ein. Das <filename>A1</filename> ein. Das Wurzelverzeichnis von
Wurzelverzeichnis von <literal>B</literal> ersetzt nun <literal>B</literal> ersetzt nun das Verzeichnis
das Verzeichnis <filename>A1</filename> und <filename>A1</filename> und die Verzeichnisse des Dateisystems
die Verzeichnisse des Dateisystems <literal>B</literal> <literal>B</literal> werden sichtbar:</para>
werden sichtbar:</para>
<mediaobject> <mediaobject>
<imageobject> <imageobject>
@ -1151,16 +1152,14 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
</mediaobject> </mediaobject>
<para>Jede Datei in den Verzeichnissen <para>Jede Datei in den Verzeichnissen
<filename>B1</filename> oder <filename>B1</filename> oder <filename>B2</filename> kann
<filename>B2</filename> kann über den Pfad <filename>/A1/B1</filename> oder
über den Pfad <filename>/A1/B1</filename> <filename>/A1/B2</filename> erreicht werden. Dateien aus dem
oder <filename>/A1/B2</filename> Verzeichnis <filename>/A1</filename> sind jetzt verborgen.
erreicht werden. Dateien aus dem Verzeichnis Wenn das Dateisystem <literal>B</literal> wieder
<filename>/A1</filename> sind jetzt <firstterm>abgehangen</firstterm> wird
verborgen. Wenn das Dateisystem <literal>B</literal> (<foreignphrase>umount</foreignphrase>), erscheinen die
wieder <firstterm>abgehangen</firstterm> wird verborgenen Dateien wieder.</para>
(<foreignphrase>umount</foreignphrase>), erscheinen
die verborgenen Dateien wieder.</para>
<para>Wenn das Dateisystem <literal>B</literal> unter dem <para>Wenn das Dateisystem <literal>B</literal> unter dem
Verzeichnis <filename>A2</filename> Verzeichnis <filename>A2</filename>
@ -1243,12 +1242,6 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
</textobject> </textobject>
</mediaobject> </mediaobject>
<para>Normalerweise müssen Sie sich nicht mit Dateisystemen
beschäftigen. Während der Installation von &os; werden
die Dateisysteme und die Stellen, in der sie eingehangen werden,
festgelegt. Dateisysteme müssen erst wieder angelegt werden,
wenn Sie eine neue Platte hinzufügen.</para>
<para>Sie können sogar mit nur einem großen <para>Sie können sogar mit nur einem großen
Dateisystem auskommen. Dies hat mehrere Nachteile Dateisystem auskommen. Dies hat mehrere Nachteile
und einen Vorteil.</para> und einen Vorteil.</para>
@ -1265,9 +1258,9 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
kritische Dateien zu editieren oder zu löschen. kritische Dateien zu editieren oder zu löschen.
Von Benutzern beschreibbare Dateisysteme Von Benutzern beschreibbare Dateisysteme
wie <filename>/home</filename> wie <filename>/home</filename>
können Sie mit der Option <firstterm>nosuid</firstterm> können mit der Option <firstterm>nosuid</firstterm>
einhängen, wenn sie von anderen Dateisystemen getrennt eingehangen werden, wenn sie von anderen Dateisystemen
sind. Die <firstterm>SUID</firstterm>- und getrennt sind. Die <firstterm>SUID</firstterm>- und
<firstterm>GUID</firstterm>-Bits verlieren auf solchen <firstterm>GUID</firstterm>-Bits verlieren auf solchen
Dateisystemen ihre Wirkung und die Sicherheit des Dateisystemen ihre Wirkung und die Sicherheit des
Systems kann dadurch erhöht werden.</para> Systems kann dadurch erhöht werden.</para>
@ -1372,8 +1365,8 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
die auf der kompletten Slice arbeiten, wie ein die auf der kompletten Slice arbeiten, wie ein
Bad-Block-Scanner, können so die Bad-Block-Scanner, können so die
<literal>c</literal>-Partition benutzen. <literal>c</literal>-Partition benutzen.
Für gewöhnlich legen Sie in dieser Für gewöhnlich wird in dieser Partition kein
Partition kein Dateisystem an.</entry> Dateisystem angelegt.</entry>
</row> </row>
<row> <row>
@ -1428,7 +1421,7 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
Nummer, die angibt, um welche Festplatte es sich handelt. Nummer, die angibt, um welche Festplatte es sich handelt.
Anders als bei Slices werden Festplatten von Null beginnend Anders als bei Slices werden Festplatten von Null beginnend
durchnummeriert. Gängige Festplatten-Namen sind in durchnummeriert. Gängige Festplatten-Namen sind in
<xref linkend="basics-dev-codes"/> zusammengestellt.</para> <xref linkend="basics-dev-codes"/> aufgeführt.</para>
<para>Wenn Sie eine Partition angeben, beinhaltet das den <para>Wenn Sie eine Partition angeben, beinhaltet das den
Plattennamen, <literal>s</literal>, die Slice-Nummer und den Plattennamen, <literal>s</literal>, die Slice-Nummer und den
@ -1622,11 +1615,11 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
<primary>Dateisysteme</primary> <primary>Dateisysteme</primary>
<secondary>fstab</secondary> <secondary>fstab</secondary>
</indexterm> </indexterm>
<para>Während des <link linkend="boot">Boot-Prozesses</link> <para>Während des Boot-Prozesses (<xref linkend="boot"/>)
werden in <filename>/etc/fstab</filename> aufgeführte werden in <filename>/etc/fstab</filename> aufgeführte
Verzeichnisse, sofern sie nicht mit der Option <option>noauto</option> Verzeichnisse, sofern sie nicht mit der Option
versehen sind, automatisch angehangen. Diese Datei enthält <option>noauto</option> versehen sind, automatisch angehangen.
Einträge in folgendem Format:</para> Diese Datei enthält Einträge in folgendem Format:</para>
<programlisting><replaceable>device</replaceable> <replaceable>/mount-point</replaceable> <replaceable>fstype</replaceable> <replaceable>options</replaceable> <replaceable>dumpfreq</replaceable> <replaceable>passno</replaceable></programlisting> <programlisting><replaceable>device</replaceable> <replaceable>/mount-point</replaceable> <replaceable>fstype</replaceable> <replaceable>options</replaceable> <replaceable>dumpfreq</replaceable> <replaceable>passno</replaceable></programlisting>
@ -1708,7 +1701,8 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
</sect2> </sect2>
<sect2 xml:id="disks-mount"> <sect2 xml:id="disks-mount">
<title>Das <command>mount</command> Kommando</title> <title>Verwendung von &man.mount.8;</title>
<indexterm> <indexterm>
<primary>Dateisysteme</primary> <primary>Dateisysteme</primary>
<secondary>anhängen</secondary> <secondary>anhängen</secondary>
@ -1830,7 +1824,8 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
</sect2> </sect2>
<sect2 xml:id="disks-umount"> <sect2 xml:id="disks-umount">
<title>Das <command>umount</command> Kommando</title> <title>Verwendung von &man.umount.8;</title>
<indexterm> <indexterm>
<primary>Dateisysteme</primary> <primary>Dateisysteme</primary>
<secondary>abhängen</secondary> <secondary>abhängen</secondary>
@ -1875,17 +1870,19 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
gestartete Kommando ist dann ein neuer Prozess, der die Shell gestartete Kommando ist dann ein neuer Prozess, der die Shell
als Elternprozess besitzt. Die Ausnahme hiervon ist ein als Elternprozess besitzt. Die Ausnahme hiervon ist ein
spezieller Prozess namens &man.init.8;, der beim booten immer spezieller Prozess namens &man.init.8;, der beim booten immer
als erstes gestartet wird und der immer die PID 1 hat.</para> als erstes gestartet wird und der immer die
<acronym>PID</acronym> 1 hat.</para>
<para>Um die Prozesse auf dem System zu sehen, benutzen Sie <para>Um die Prozesse auf dem System zu sehen, benutzen Sie
&man.ps.1; und &man.top.1;. Eine statische Liste der laufenden &man.ps.1; und &man.top.1;. Eine statische Liste der laufenden
Prozesse, deren PID, Speicherverbauch und die Kommandozeile, mit Prozesse, deren <acronym>PID</acronym>s, Speicherverbrauch und
der sie gestartet wurden, erhalten Sie mit &man.ps.1;. Um alle die Kommandozeile, mit der sie gestartet wurden, erhalten Sie
laufenden Prozesse in einer Anzeige zu sehen, die alle paar mit &man.ps.1;. Um alle laufenden Prozesse in einer Anzeige zu
Sekunden aktualisiert wird, so dass Sie interaktiv sehen können sehen, die alle paar Sekunden aktualisiert wird, so dass Sie
was der Computer macht, benutzen Sie &man.top.1;.</para> interaktiv sehen können was der Computer macht, benutzen Sie
&man.top.1;.</para>
<para>Normal zeigt <command>ps</command> nur die laufenden <para>In der Voreinstellung zeigt &man.ps.1; nur die laufenden
Prozesse, die dem Benutzer gehören. Zum Beispiel:</para> Prozesse, die dem Benutzer gehören. Zum Beispiel:</para>
<screen>&prompt.user; <userinput>ps</userinput> <screen>&prompt.user; <userinput>ps</userinput>
@ -1906,22 +1903,20 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
285 v0 S 0:38.45 /usr/X11R6/bin/sawfish</screen> 285 v0 S 0:38.45 /usr/X11R6/bin/sawfish</screen>
<para>Die Ausgabe von &man.ps.1; ist in einer Anzahl von Spalten <para>Die Ausgabe von &man.ps.1; ist in einer Anzahl von Spalten
organisiert. Die <literal>PID</literal> Splate zeigt die organisiert. Die <literal>PID</literal> Spalte zeigt die
Prozess-ID. PIDs werden von 1 beginnend bis 99999 zugewiesen und Prozess-ID. <acronym>PID</acronym>s werden von 1 beginnend bis
fangen wieder von vorne an. Ist eine PID breits vergeben, wird 99999 zugewiesen und fangen wieder von vorne an. Ist eine
diese allerdings nicht erneut vergeben. <acronym>PID</acronym> bereits vergeben, wird diese allerdings
nicht erneut vergeben. Die Spalte <literal>TT</literal> zeigt
den Terminal, auf dem das Programm läuft.
Die Spalte <literal>TT</literal> zeigt den Terminal, auf dem das <literal>STAT</literal> zeigt den Status des Programms und
Programm läuft. <literal>STAT</literal> zeigt den Status <literal>TIME</literal> gibt die Zeit an, die das Programm auf
des Programms an und kann für die Zwecke dieser Diskussion ebenso der CPU gelaufen ist. Dies ist nicht unbedingt die Zeit, die
wie <literal>TT</literal> ignoriert werden. <literal>TIME</literal> seit dem Start des Programms vergangen ist, da die meisten
gibt die Zeit an, die das Programm auf der CPU gelaufen ist. Programme hauptsächlich auf bestimmte Dinge warten, bevor sie
Dies ist nicht unbedingt die Zeit, die seit dem Start des Programms wirklich CPU-Zeit verbrauchen. Unter der Spalte
vergangen ist, da die meisten Programme hauptsächlich auf <literal>COMMAND</literal> findet sich schließlich die
bestimmte Dinge warten, bevor sie wirklich CPU-Zeit verbrauchen. Kommandozeile, mit der das Programm gestartet wurde.</para>
Unter der Spalte <literal>COMMAND</literal> finden Sie schließlich
die Kommandozeile, mit der das Programm gestartet wurde.</para>
<para>&man.ps.1; besitzt viele Optionen, um die angezeigten Informationen <para>&man.ps.1; besitzt viele Optionen, um die angezeigten Informationen
zu beeinflussen. Eine nützliche Kombination ist zu beeinflussen. Eine nützliche Kombination ist
@ -1954,24 +1949,25 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
...</screen> ...</screen>
<para>Die Ausgabe ist in zwei Abschnitte geteilt. In den ersten <para>Die Ausgabe ist in zwei Abschnitte geteilt. In den ersten
fünf Kopfzeilen finden sich die zuletzt zugeteilte PID, die fünf Kopfzeilen finden sich die zuletzt zugeteilte
Systemauslastung (engl. <foreignphrase>load average</foreignphrase>), <acronym>PID</acronym>, die Systemauslastung
die Systemlaufzeit (die Zeit seit dem letzten Reboot) und die (engl. <foreignphrase>load average</foreignphrase>), die
momentane Zeit. Die weiteren Zahlen im Kopf beschreiben wie viele Systemlaufzeit (die Zeit seit dem letzten Reboot) und die
Prozesse momentan laufen (im Beispiel 47), wie viel Speicher momentane Zeit. Die weiteren Zahlen im Kopf beschreiben wie
und Swap verbraucht wurde und wie viel Zeit das System in den viele Prozesse momentan laufen (im Beispiel 47), wie viel
verschiedenen CPU-Modi verbringt.</para> Speicher und Swap verbraucht wurde und wie viel Zeit das System
in den verschiedenen CPU-Modi verbringt.</para>
<para>Darunter befinden sich einige Spalten mit ähnlichen <para>Darunter befinden sich einige Spalten mit ähnlichen
Informationen wie in der Ausgabe von &man.ps.1;, wie Informationen wie in der Ausgabe von &man.ps.1;,
beispielsweise die PID, den Besitzer, die verbrauchte beispielsweise die <acronym>PID</acronym>, den Besitzer, die
CPU-Zeit und das Kommando, das den Prozess gestartet hat. verbrauchte CPU-Zeit und das Kommando, das den Prozess gestartet
&man.top.1; zeigt auch den Speicherverbrauch des Prozesses an, hat. &man.top.1; zeigt in zwei Spalten den Speicherverbrauch
der in zwei Spalten aufgeteilt ist. Die erste Spalte gibt den des Prozesses an. Die erste Spalte gibt
gesamten Speicherverbrauch des Prozesses an, in der zweiten den gesamten Speicherverbrauch des Prozesses an, in der zweiten
Spalte wird der aktuelle Verbrauch angegeben. Spalte wird der aktuelle Verbrauch angegeben.
<application>mutt</application> hat im gezeigten <application>mutt</application> hat im gezeigten Beispiel
Beispiel insgesamt 8&nbsp;MB Speicher verbraucht. Momentan benutzt insgesamt 8&nbsp;MB Speicher verbraucht. Momentan benutzt
es allerdings nur 5&nbsp;MB.</para> es allerdings nur 5&nbsp;MB.</para>
<para>Die Anzeige wird von &man.top.1; automatisch alle zwei <para>Die Anzeige wird von &man.top.1; automatisch alle zwei
@ -2002,14 +1998,12 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
Konvention mit einem <quote>d</quote> am Ende benannt. Konvention mit einem <quote>d</quote> am Ende benannt.
<application>BIND</application> steht beispielsweise für <application>BIND</application> steht beispielsweise für
Berkeley Internet Name Domain, das tatsächlich laufende Programm Berkeley Internet Name Domain, das tatsächlich laufende Programm
heißt aber <command>named</command>. Der heißt aber &man.named.8;. Der <application>Apache</application>
<application>Apache</application> Webserver wird Webserver wird <command>httpd</command> genannt und der
<command>httpd</command> genannt und der Druckerspool-Dämon Druckerspool-Dämon heißt &man.lpd.8;. Dies ist allerdings nur
heißt <command>lpd</command>. Dies ist allerdings nur eine eine Konvention. Der Dämon der Anwendung
Konvention. Der Dämon der Anwendung <application>Sendmail</application> heißt beispielsweise
<application>sendmail</application> heißt beispielsweise &man.sendmail.8; und nicht <literal>maild</literal>.</para>
<command>sendmail</command> und nicht
<command>maild</command>.</para>
<para>Eine Möglichkeit mit einem Dämon oder einem laufenden <para>Eine Möglichkeit mit einem Dämon oder einem laufenden
Prozess zu kommunizieren, ist über das Versenden von Prozess zu kommunizieren, ist über das Versenden von
@ -2078,14 +2072,15 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
<para>Das folgende Beispiel zeigt, wie Sie &man.inetd.8; ein <para>Das folgende Beispiel zeigt, wie Sie &man.inetd.8; ein
Signal schicken. Die Konfigurationsdatei von Signal schicken. Die Konfigurationsdatei von
<command>inetd</command> ist <filename>/etc/inetd.conf</filename>. &man.inetd.8; ist <filename>/etc/inetd.conf</filename>.
Diese Konfigurationsdatei liest <command>inetd</command> ein, Diese Konfigurationsdatei liest &man.inetd.8; ein,
wenn er <literal>SIGHUP</literal> empfängt.</para> wenn er <literal>SIGHUP</literal> empfängt.</para>
<step> <step>
<para>Suchen Sie mit &man.pgrep.1; die Prozess-ID des <para>Suchen Sie mit &man.pgrep.1; die <acronym>PID</acronym>
Prozesses, dem Sie ein Signal schicken wollen. In diesem des Prozesses, dem Sie ein Signal schicken wollen. In
Beispiel ist die PID von &man.inetd.8; 198:</para> diesem Beispiel ist die <acronym>PID</acronym> von
&man.inetd.8; 198:</para>
<screen>&prompt.user; <userinput>pgrep -l inetd</userinput> <screen>&prompt.user; <userinput>pgrep -l inetd</userinput>
198 inetd -wW</screen> 198 inetd -wW</screen>
@ -2106,14 +2101,15 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
<para>&man.kill.1; wird, wie andere &unix; Kommandos auch, <para>&man.kill.1; wird, wie andere &unix; Kommandos auch,
keine Ausgabe erzeugen, wenn das Kommando erfolgreich war. keine Ausgabe erzeugen, wenn das Kommando erfolgreich war.
Wenn Sie versuchen, einem Prozess, der nicht Ihnen gehört, Wird versucht, einem Prozess der nicht dem Benutzer
ein Signal zu senden, dann werden Sie die Meldung gehört, ein Signal zu senden, dann wird die Meldung
<errorname>kill: <replaceable>PID</replaceable>: Operation <errorname>kill: <replaceable>PID</replaceable>: Operation
not permitted</errorname> sehen. Ein Tippfehler bei der not permitted</errorname> ausgegeben. Ein Tippfehler bei
Eingabe der PID führt dazu, dass das Signal an einen der Eingabe der <acronym>PID</acronym> führt dazu, dass das
falschen Prozess gesendet wird, was zu negativen Ergebnissen Signal an einen falschen Prozess gesendet wird, was zu
führen kann, oder das Signal wird an eine PID gesendet die negativen Ergebnissen führen kann, oder das Signal wird an
derzeit nicht in Gebrauch ist, was zu dem Fehler eine <acronym>PID</acronym> gesendet die derzeit nicht in
Gebrauch ist, was zu dem Fehler
<errorname>kill: <replaceable>PID</replaceable>: No such <errorname>kill: <replaceable>PID</replaceable>: No such
process</errorname> führt.</para> process</errorname> führt.</para>
@ -2140,10 +2136,10 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
<important> <important>
<para>Das zufällige Beenden eines Prozesses kann gravierende <para>Das zufällige Beenden eines Prozesses kann gravierende
Auswirkungen haben. Insbesondere &man.init.8;, mit der PID 1, Auswirkungen haben. Insbesondere &man.init.8;, mit der
ist ein Spezialfall. <command>/bin/kill -s KILL 1</command> <acronym>PID</acronym> 1, ist ein Spezialfall.
ist ein schneller, jedoch nicht empfohlener Weg, das System <command>/bin/kill -s KILL 1</command> ist ein schneller,
herunterzufahren. jedoch nicht empfohlener Weg, das System herunterzufahren.
Überprüfen Sie die Argumente von &man.kill.1; Überprüfen Sie die Argumente von &man.kill.1;
<emphasis>immer</emphasis> zweimal <emphasis>bevor</emphasis> <emphasis>immer</emphasis> zweimal <emphasis>bevor</emphasis>
Sie <keycap>Return</keycap> drücken.</para> Sie <keycap>Return</keycap> drücken.</para>
@ -2161,16 +2157,16 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
eingebaute Funktionen, die die tägliche Arbeit erleichtern, eingebaute Funktionen, die die tägliche Arbeit erleichtern,
beispielsweise eine Dateiverwaltung, die Vervollständigung von beispielsweise eine Dateiverwaltung, die Vervollständigung von
Dateinamen (Globbing), Kommandozeilen-Editor, sowie Makros und Dateinamen (Globbing), Kommandozeilen-Editor, sowie Makros und
Umgebungsvariablen. &os; enthält die Shells Umgebungsvariablen. &os; enthält einige Shells, darunter die
<command>sh</command> (Bourne Shell) und <command>tcsh</command> Bourne Shell (&man.sh.1;) und die verbesserte C-Shell
(verbesserte C-Shell) im Basissystem. Weitere Shells, wie (&man.tcsh.1;). Weitere Shells, wie <command>zsh</command> oder
<command>zsh</command> oder <command>bash</command>, befinden <command>bash</command>, befinden sich in der
sich in der Ports-Sammlung.</para> Ports-Sammlung.</para>
<para>Die verwendete Shell ist letztlich eine Frage des <para>Die verwendete Shell ist letztlich eine Frage des
Geschmacks. Ein C-Programmierer, findet vielleicht eine Geschmacks. Ein C-Programmierer, findet vielleicht eine
C-artige Shell wie <command>tcsh</command> angenehmer. Ein C-artige Shell wie &man.tcsh.1; angenehmer. Ein
Linux-Benutzer bevorzugt vielleicht <command>bash</command>. &linux;-Benutzer bevorzugt vielleicht <command>bash</command>.
Jede Shell hat ihre speziellen Eigenschaften, die mit der Jede Shell hat ihre speziellen Eigenschaften, die mit der
bevorzugten Arbeitsumgebung des Benutzers harmonieren kann oder bevorzugten Arbeitsumgebung des Benutzers harmonieren kann oder
nicht. Deshalb stehen mehrere Shells zur Auswahl.</para> nicht. Deshalb stehen mehrere Shells zur Auswahl.</para>
@ -2286,12 +2282,11 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
<secondary>Bourne Shell</secondary> <secondary>Bourne Shell</secondary>
</indexterm> </indexterm>
<para>Das Setzen von Umgebungsvariablen unterscheidet sich <para>Das Setzen von Umgebungsvariablen unterscheidet sich
von Shell zu Shell. In <command>tcsh</command> und von Shell zu Shell. In &man.tcsh.1; und &man.csh.1; wird dazu
<command>csh</command> wird dazu <command>setenv</command> <command>setenv</command> benutzt. &man.sh.1; und
benutzt. <command>sh</command> und <command>bash</command> <command>bash</command> benutzen <command>export</command> um
benutzen <command>export</command> um Umgebungsvariablen zu Umgebungsvariablen zu setzen. Dieses Beispiel für die
setzen. Dieses Beispiel für die <command>tcsh</command>-Shell &man.tcsh.1;-Shell setzt die Variable <envar>EDITOR</envar> auf
setzt die Variable <envar>EDITOR</envar> auf
<filename>/usr/local/bin/emacs</filename>:</para> <filename>/usr/local/bin/emacs</filename>:</para>
<screen>&prompt.user; <userinput>setenv EDITOR /usr/local/bin/emacs</userinput></screen> <screen>&prompt.user; <userinput>setenv EDITOR /usr/local/bin/emacs</userinput></screen>
@ -2306,16 +2301,15 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
ein. Zum Beispiel gibt <command>echo $TERM</command> den ein. Zum Beispiel gibt <command>echo $TERM</command> den
aktuellen Wert von<envar>$TERM</envar> aus.</para> aktuellen Wert von<envar>$TERM</envar> aus.</para>
<para>Shells behandeln Spezialzeichen, so genannte <para>Shells behandeln Spezialzeichen, so genannte Metazeichen,
Metazeichen, als besondere Darstellungen für Daten. als besondere Darstellungen für Daten. Das häufigste Zeichen
Das häufigste Zeichen ist <literal>*</literal>, das eine ist <literal>*</literal>, das eine beliebige Anzahl Zeichen in
beliebige Anzahl Zeichen in einem Dateinamen repräsentiert. einem Dateinamen repräsentiert. Metazeichen können zur
Metazeichen können zur Vervollständigung von Vervollständigung von Dateinamen (Globbing) benutzt werden.
Dateinamen (Globbing) benutzt werden. Beispielsweise liefert Beispielsweise liefert <command>echo *</command> nahezu das
<command>echo *</command> nahezu das gleiche wie gleiche wie &man.ls.1;, da die Shell alle Dateinamen die mit
<command>ls</command>, da die Shell alle <literal>*</literal> übereinstimmen, an <command>echo</command>
Dateinamen die mit <literal>*</literal> übereinstimmen, an weitergibt.</para>
<command>echo</command> weitergibt.</para>
<para>Um zu verhindern, dass die Shell ein Sonderzeichen <para>Um zu verhindern, dass die Shell ein Sonderzeichen
interpretiert, schützt man es, indem man einen interpretiert, schützt man es, indem man einen
@ -2331,7 +2325,7 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
<command>chsh</command> zu benutzen. <command>chsh</command> zu benutzen.
<command>chsh</command> startet den Editor, welcher durch <command>chsh</command> startet den Editor, welcher durch
die Umgebungsvariable <envar>EDITOR</envar> gesetzt ist. die Umgebungsvariable <envar>EDITOR</envar> gesetzt ist.
Standardmäßig ist dies <command>vi</command>. Standardmäßig ist dies &man.vi.1;.
Tragen Sie in die Zeile die mit <quote>Shell:</quote> beginnt, Tragen Sie in die Zeile die mit <quote>Shell:</quote> beginnt,
den absoluten Pfad der neuen Shell ein.</para> den absoluten Pfad der neuen Shell ein.</para>
@ -2345,15 +2339,15 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
<note> <note>
<para>Die neue Shell <emphasis>muss</emphasis> in <para>Die neue Shell <emphasis>muss</emphasis> in
<filename>/etc/shells</filename> aufgeführt sein. Wurde die <filename>/etc/shells</filename> aufgeführt sein. Wurde die
Shell aus der <link linkend="ports">Ports-Sammlung</link> Shell aus der &os; Ports-Sammlung installiert, so wie in
installiert, sollte sie automatisch zu dieser Datei <xref linkend="ports"/> beschrieben, sollte sie automatisch
hinzugefügt worden sein. Wenn der Eintrag fehlt, nutzen Sie zu dieser Datei hinzugefügt worden sein. Wenn der Eintrag
folgenden Befehl, und ersetzen Sie den Pfad mit dem Pfad zur fehlt, nutzen Sie folgenden Befehl, und ersetzen Sie den
gewünschten Shell:</para> Pfad mit dem Pfad zur gewünschten Shell:</para>
<screen>&prompt.root; <userinput>echo &quot;/usr/local/bin/bash&quot; &gt;&gt; /etc/shells</userinput></screen> <screen>&prompt.root; <userinput>echo &quot;/usr/local/bin/bash&quot; &gt;&gt; /etc/shells</userinput></screen>
<para>Danach können Sie <command>chsh</command> aufrufen.</para> <para>Danach kann &man.chsh.1; erneut aufgerufen werden.</para>
</note> </note>
</sect2> </sect2>
</sect1> </sect1>
@ -2370,7 +2364,7 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
Ports-Sammlung.</para> Ports-Sammlung.</para>
<indexterm> <indexterm>
<primary><command>ee</command></primary> <primary>&man.ee.1;</primary>
</indexterm> </indexterm>
<indexterm> <indexterm>
@ -2378,28 +2372,29 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
<secondary><command>ee</command></secondary> <secondary><command>ee</command></secondary>
</indexterm> </indexterm>
<para>Ein einfach zu erlernender Editor ist <para>Ein einfach zu erlernender Editor ist &man.ee.1;, was für
<application>ee</application>, was für <foreignphrase>easy editor</foreignphrase> steht. Um diesen
<foreignphrase>easy editor</foreignphrase> steht. Editor zu starten, gibt man in der Kommandozeile <command>ee
Um diesen Editor zu starten, gibt man in der <replaceable>filename</replaceable></command> ein, wobei
Kommandozeile <command>ee filename</command> ein, wobei <replaceable>filename</replaceable> den Namen der zu
<replaceable>filename</replaceable> den Namen der zu editierenden editierenden Datei darstellt. Einmal im Editor, finden sich
Datei darstellt. Einmal im Editor, finden sich alle Editor-Funktionen oben im alle Editor-Funktionen oben im Display aufgelistet. Das
Display aufgelistet. Das Einschaltungszeichen Einschaltungszeichen <literal>^</literal> steht für die
<literal>^</literal> steht für die <keycap>Ctrl</keycap> (oder <keycap>Ctrl</keycap> (oder <keycap>Strg</keycap>) Taste, mit
<keycap>Strg</keycap>) Taste, mit <literal>^e</literal> ist also die <literal>^e</literal> ist also die Tastenkombination
Tastenkombination <keycombo action="simul"><keycap>Ctrl</keycap><keycap>e</keycap></keycombo> <keycombo
gemeint. Um <application>ee</application> zu verlassen, drücken action="simul"><keycap>Ctrl</keycap><keycap>e</keycap></keycombo>
Sie <keycap>Esc</keycap> und wählen dann im Hauptmenü <option>leave gemeint. Um &man.ee.1; zu verlassen, drücken Sie
<keycap>Esc</keycap> und wählen dann im Hauptmenü <option>leave
editor</option> aus. Der Editor fragt nach, ob Sie speichern editor</option> aus. Der Editor fragt nach, ob Sie speichern
möchten, wenn die Datei verändert wurde.</para> möchten, wenn die Datei verändert wurde.</para>
<indexterm> <indexterm>
<primary><command>vi</command></primary> <primary>&man.vi.1;</primary>
</indexterm> </indexterm>
<indexterm> <indexterm>
<primary>Text Editoren</primary> <primary>Text Editoren</primary>
<secondary><command>vi</command></secondary> <secondary>&man.vi.1;</secondary>
</indexterm> </indexterm>
<indexterm> <indexterm>
<primary><command>emacs</command></primary> <primary><command>emacs</command></primary>
@ -2408,12 +2403,13 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
<primary>Text Editoren</primary> <primary>Text Editoren</primary>
<secondary><command>emacs</command></secondary> <secondary><command>emacs</command></secondary>
</indexterm> </indexterm>
<para>&os; verfügt über leistungsfähigere
Editoren wie <application>vi</application> als Teil des <para>&os; verfügt über leistungsfähigere Editoren wie &man.vi.1;
Basissystems. Andere Editoren wie <application>emacs</application> als Teil des Basissystems. Andere Editoren wie
und <application>vim</application> sind Teil der Ports-Sammlung. <package>editors/emacs</package> und
Diese Editoren bieten höhere Funktionalität, jedoch auf Kosten einer etwas <package>editors/vim</package> sind Teil der Ports-Sammlung.
schwierigeren Erlernbarkeit. Das Erlernen eines Diese Editoren bieten höhere Funktionalität, jedoch auf Kosten
einer etwas schwierigeren Erlernbarkeit. Das Erlernen eines
leistungsfähigeren Editors, wie <application>vim</application> leistungsfähigeren Editors, wie <application>vim</application>
oder <application>Emacs</application>, kann auf lange Sicht Zeit oder <application>Emacs</application>, kann auf lange Sicht Zeit
einsparen.</para> einsparen.</para>
@ -2422,7 +2418,7 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
erwarten, werden automatisch einen Texteditor öffnen. Um den erwarten, werden automatisch einen Texteditor öffnen. Um den
Standardeditor zu ändern, wird die Umgebungsvariable Standardeditor zu ändern, wird die Umgebungsvariable
<envar>EDITOR</envar> gesetzt, wie im Abschnitt <envar>EDITOR</envar> gesetzt, wie im Abschnitt
<link linkend="shells">Shells</link> beschrieben.</para> <xref linkend="shells"/> beschrieben.</para>
</sect1> </sect1>
<sect1 xml:id="basics-devices"> <sect1 xml:id="basics-devices">
@ -2448,10 +2444,27 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
<sect1 xml:id="binary-formats"> <sect1 xml:id="binary-formats">
<title>Binärformate</title> <title>Binärformate</title>
<para>Um zu verstehen, warum &os; das Format <para>Wenn ein Kommando an die Shell übergeben wird, dann wird die
&man.elf.5; benutzt, müssen zunächst die drei gegenwärtig Shell die ausführbare Datei in den Speicher laden und einen
<quote>dominanten</quote> ausführbaren Formate neuen Prozess erstellen. Ausführbare Dateien sind entweder
für &unix; beschrieben werden:</para> Binärdateien (die meist vom Linker während der Übersetzung
eines Programms erzeugt werden), oder ein Shell-Skript (eine
Textdatei, welche von einer Binärdatei, wie &man.sh.1; oder
&man.perl.1; interpretiert wird). Das Kommando &man.file.1;
kann für gewöhnlich bestimmen, von welchem Typ eine Datei
ist.</para>
<para>Binärdateien benötigen ein klar definiertes Format, damit
das System in der Lage ist, sie richtig zu verwenden. Ein Teil
der Datei enthält den ausführbaren Maschinencode (Anweisungen
die der CPU sagen, was zu tun ist), ein anderer Teil enthält
Daten mit vordefinierten Werten, ein weiterer wiederum Daten
ohne vordefinierte Werte. Im Laufe der Zeit wurden verschiedene
binäre Dateiformate entwickelt.</para>
<para>Um zu verstehen, warum &os; das Format &man.elf.5; benutzt,
müssen zunächst die drei gegenwärtig <quote>dominanten</quote>
ausführbaren Formate für &unix; beschrieben werden:</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
@ -2583,9 +2596,8 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
Cross-Compilern durch beliebiges Einschalten verschiedener Cross-Compilern durch beliebiges Einschalten verschiedener
Formate hinzugefügt. Viele Leute wollten Formate hinzugefügt. Viele Leute wollten
Cross-Compiler für &os; erstellen, aber sie hatten Cross-Compiler für &os; erstellen, aber sie hatten
kein Glück, denn &os;'s ältere Sourcen kein Glück, denn &os;'s ältere Sourcen für &man.as.1; und
für <application>as</application> und <application>ld</application> &man.ld.1; waren hierzu nicht geeignet. Die neuen
waren hierzu nicht geeignet. Die neuen
GNU-Werkzeuge (<application>binutils</application>) unterstützen GNU-Werkzeuge (<application>binutils</application>) unterstützen
Cross-Compilierung, <acronym>ELF</acronym>, Shared-Libraries und Cross-Compilierung, <acronym>ELF</acronym>, Shared-Libraries und
C++-Erweiterungen. Weiterhin geben viele C++-Erweiterungen. Weiterhin geben viele
@ -2617,12 +2629,12 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
erklärt. Diese Manuals können mit <command>man</command> erklärt. Diese Manuals können mit <command>man</command>
eingesehen werden:</para> eingesehen werden:</para>
<screen>&prompt.user; <userinput>man Kommando</userinput></screen> <screen>&prompt.user; <userinput>man <replaceable>Kommando</replaceable></userinput></screen>
<para><literal>Kommando</literal> ist der Name des Kommandos, <para><replaceable>Kommando</replaceable> ist der Name des
über das Sie etwas erfahren wollen. Um beispielsweise Kommandos, über das man etwas erfahren will. Um
mehr über das Kommando <command>ls</command> zu lernen, beispielsweise mehr über das Kommando &man.ls.1; zu
geben Sie ein:</para> erfahren, geben Sie ein:</para>
<screen>&prompt.user; <userinput>man ls</userinput></screen> <screen>&prompt.user; <userinput>man ls</userinput></screen>
@ -2668,24 +2680,24 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
</orderedlist> </orderedlist>
<para>In einigen Fällen kann dasselbe Thema in mehreren <para>In einigen Fällen kann dasselbe Thema in mehreren
Sektionen auftauchen. Es gibt zum Beispiel ein <command>chmod</command> Sektionen auftauchen. Es gibt zum Beispiel ein
Benutzerkommando und einen <function>chmod()</function> &man.chmod.1; Benutzerkommando und einen
Systemaufruf. Sie können <command>man</command> <function>chmod()</function> Systemaufruf. Um &man.man.1;
sagen, aus welcher Sektion Sie die Information erhalten mitzuteilen, aus welcher Sektion die Information angezeigt
möchten, indem Sie die Sektionsnummer mit angeben:</para> werden soll, kann die Sektionsnummer mit angeben
werden:</para>
<screen>&prompt.user; <userinput>man 1 chmod</userinput></screen> <screen>&prompt.user; <userinput>man 1 chmod</userinput></screen>
<para>Dies wird Ihnen die Manualpage für das Benutzerkommando <para>Dies wird Ihnen die Manualpage für das Benutzerkommando
<command>chmod</command> zeigen. Verweise auf eine Sektion &man.chmod.1; zeigen. Verweise auf eine Sektion der
der Manualpages werden traditionell in Klammern Manualpages werden traditionell in Klammern gesetzt. So
gesetzt. So bezieht sich &man.chmod.1; auf das bezieht sich &man.chmod.1; auf das Benutzerkommando und
Benutzerkommando <command>chmod</command> und mit &man.chmod.2; auf den Systemaufruf.</para>
&man.chmod.2; ist der Systemaufruf gemeint.</para>
<para>Wenn Sie den Namen des Kommandos kennen, benutzen Sie <para>Wenn der Name des Kommandos nicht bekannt ist, benutzt
<command>man -k</command>, um nach Schlüsselbegriffen in den man <command>man -k</command>, um nach Schlüsselbegriffen in
Kommandobeschreibungen zu suchen:</para> den Kommandobeschreibungen zu suchen:</para>
<screen>&prompt.user; <userinput>man -k <replaceable>mail</replaceable> <screen>&prompt.user; <userinput>man -k <replaceable>mail</replaceable>
</userinput></screen> </userinput></screen>
@ -2712,14 +2724,14 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
<sect2 xml:id="basics-info"> <sect2 xml:id="basics-info">
<title>GNU Info Dateien</title> <title>GNU Info Dateien</title>
<para>&os; enthält viele Anwendungen und Utilities <para>&os; enthält viele Anwendungen und Utilities der Free
der Free Software Foundation (FSF). Zusätzlich zu den Software Foundation (FSF). Zusätzlich zu den Manualpages
Manualpages können diese Programme Hypertext-Dokumente können diese Programme Hypertext-Dokumente enthalten, die
enthalten, die <literal>info</literal>-Seiten genannt werden. <literal>info</literal>-Seiten genannt werden. Diese
Diese Dokumente können mit <command>info</command> Dokumente können mit &man.info.1; ansehen kann. Wenn
ansehen kann. Wenn Sie <package>editors/emacs</package> <package>editors/emacs</package> installiert ist, kann auch
installiert haben, können Sie auch den info-Modus von der info-Modus von <application>emacs</application> benutzt
<application>emacs</application> benutzen.</para> werden.</para>
<para>Um &man.info.1; zu benutzen, geben Sie ein:</para> <para>Um &man.info.1; zu benutzen, geben Sie ein:</para>