Update to r42014.
This commit is contained in:
parent
4c7b412de5
commit
e317b0f628
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=47441
1 changed files with 246 additions and 234 deletions
|
@ -5,7 +5,7 @@
|
|||
|
||||
$FreeBSD$
|
||||
$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">
|
||||
<info><title>Grundlagen des UNIX Betriebssystems</title>
|
||||
|
@ -18,8 +18,6 @@
|
|||
</authorgroup>
|
||||
</info>
|
||||
|
||||
|
||||
|
||||
<sect1 xml:id="basics-synopsis">
|
||||
<title>Übersicht</title>
|
||||
|
||||
|
@ -77,11 +75,12 @@
|
|||
<indexterm><primary>virtuelle Konsole</primary></indexterm>
|
||||
<indexterm><primary>Terminals</primary></indexterm>
|
||||
|
||||
<para>Sie können &os; mit einem Terminal benutzen, der nur Text
|
||||
darstellen kann. Wenn Sie FreeBSD auf diese Weise benutzen, stehen
|
||||
Ihnen alle Möglichkeiten eines &unix; Betriebssystems zur
|
||||
Verfügung. Dieser Abschnitt beschreibt was Terminals und
|
||||
Konsolen sind und wie sie unter &os; eingesetzt werden.</para>
|
||||
<para>&os; kann mit einem Terminal benutzt werden, der nur Text
|
||||
darstellen kann. Wird &os; auf diese Weise benutzt, so steht
|
||||
einem ein großer Teil der Flexibilität und Leistungsfähigkeit
|
||||
eines &unix; Betriebssystems zur Verfügung. Dieser Abschnitt
|
||||
beschreibt was Terminals und Konsolen sind und wie sie unter
|
||||
&os; eingesetzt werden.</para>
|
||||
|
||||
<sect2 xml:id="consoles-intro">
|
||||
<title>Die Konsole</title>
|
||||
|
@ -136,7 +135,8 @@ login:</screen>
|
|||
<screen>login:</screen>
|
||||
|
||||
<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>.
|
||||
Geben Sie dann das zum Benutzernamen zugeordnete Passwort ein
|
||||
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
|
||||
virtuelle Konsole verfügt über einen eigenen Anmeldeprompt und
|
||||
Ausgabekanal, und &os; kümmert sich um die ordnungsgemäße
|
||||
Umleitung von Tastatureingaben und Monitorausgaben, wenn Sie
|
||||
zwischen den virtuellen Konsolen umschalten.</para>
|
||||
Umleitung von Tastatureingaben und Monitorausgaben, wenn
|
||||
zwischen den virtuellen Konsolen umgeschaltet wird.</para>
|
||||
|
||||
<para>Zum Umschalten der Konsolen stellt &os; spezielle
|
||||
Tastenkombinationen bereit<footnote>
|
||||
|
@ -219,8 +219,9 @@ ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure</programlisting>
|
|||
<sect2 xml:id="consoles-singleuser">
|
||||
<title>Die Konsole im Single-User-Modus</title>
|
||||
|
||||
<para>Eine eingehende Beschreibung des Single-User-Modus findet sich
|
||||
in <xref linkend="boot-singleuser"/>. Im Single-User-Modus steht
|
||||
<para>Eine eingehende Beschreibung des
|
||||
<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.
|
||||
Die Einstellungen dieser Konsole befinden sich in diesem
|
||||
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>
|
||||
|
||||
<note>
|
||||
<para>In der Zeile, die mit <literal>console</literal> beginnt,
|
||||
kann <literal>secure</literal> durch
|
||||
<para>In der Zeile, die mit <literal>console</literal>
|
||||
beginnt, kann <literal>secure</literal> durch
|
||||
<literal>insecure</literal> ersetzt werden. Wenn danach in
|
||||
den Single-User-Modus gebootet wird, verlangt das System die
|
||||
Eingabe des <systemitem
|
||||
|
@ -242,9 +243,9 @@ console none unknown off secure</programlisting>
|
|||
kein Passwort verlangt.</para>
|
||||
|
||||
<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
|
||||
vergessen, wird es schwierig, in den
|
||||
vergessen wird, wird es schwierig in den
|
||||
Single-User-Modus zu gelangen, wenn man den Bootprozess von
|
||||
&os; nicht genau versteht.</para>
|
||||
</note>
|
||||
|
@ -298,6 +299,16 @@ console none unknown off secure</programlisting>
|
|||
Anfragen nach Hardware- und Peripheriegeräten, Speicher
|
||||
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,
|
||||
was das System verwaltet, einen Satz von Rechten, die bestimmen,
|
||||
wer die jeweilige Ressource lesen, schreiben oder ausführen
|
||||
|
@ -381,7 +392,7 @@ console none unknown off secure</programlisting>
|
|||
</tgroup>
|
||||
</informaltable>
|
||||
<indexterm>
|
||||
<primary><command>ls</command></primary>
|
||||
<primary>&man.ls.1;</primary>
|
||||
</indexterm>
|
||||
<indexterm><primary>Verzeichnisse</primary></indexterm>
|
||||
|
||||
|
@ -427,7 +438,7 @@ total 530
|
|||
Ausführungs-Bit hat eine etwas andere Bedeutung für
|
||||
ein Verzeichnis als für eine Datei. Die Ausführbarkeit
|
||||
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
|
||||
Namen bekannt sind, zugegriffen werden kann, vorausgesetzt die
|
||||
Zugriffsrechte der Dateien lassen dies zu.</para>
|
||||
|
@ -582,13 +593,10 @@ total 530
|
|||
</authorgroup>
|
||||
</info>
|
||||
|
||||
|
||||
|
||||
<para>Zusätzlich zu den Zugriffsrechten
|
||||
unterstützt &os; auch die Nutzung von
|
||||
<quote>Datei-Flags</quote>. Diese erhöhen die Sicherheit
|
||||
Ihres Systems, indem sie eine verbesserte Kontrolle von
|
||||
Dateien erlauben. Verzeichnisse werden allerdings nicht
|
||||
<para>Zusätzlich zu den Zugriffsrechten unterstützt &os; auch
|
||||
die Nutzung von <quote>Datei-Flags</quote>. Diese erhöhen die
|
||||
Sicherheit des Systems, indem sie eine verbesserte Kontrolle
|
||||
von Dateien erlauben. Verzeichnisse werden allerdings nicht
|
||||
unterstützt. Mit dem Einsatz von Datei-Flags kann sogar
|
||||
<systemitem class="username">root</systemitem> daran gehindert
|
||||
werden, Dateien zu löschen oder zu verändern.</para>
|
||||
|
@ -680,11 +688,11 @@ total 530
|
|||
umgehen.</para>
|
||||
</note>
|
||||
|
||||
<para>Um dies in Echtzeit zu beobachten, öffnen Sie zwei Terminals.
|
||||
Starten Sie auf einem den <command>passwd</command>-Prozess als normaler
|
||||
Benutzer. Während es auf die Passworteingabe wartet,
|
||||
überprüfen Sie die Prozesstabelle und sehen Sie sich die
|
||||
Informationen für <command>passwd</command> an.</para>
|
||||
<para>Um dies in Echtzeit zu beobachten, öffnen Sie zwei
|
||||
Terminals. Starten Sie auf einem <command>passwd</command>
|
||||
als normaler Benutzer. Während es auf die Passworteingabe
|
||||
wartet, überprüfen Sie die Prozesstabelle und sehen Sie sich
|
||||
die Informationen für &man.passwd.1; an:</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
|
||||
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
|
||||
normalen Benutzer ausgeführt, benutzt aber die effektive
|
||||
<acronym>UID</acronym> von <systemitem class="username">root</systemitem>.</para>
|
||||
<para>Obwohl &man.passwd.1; als normaler Benutzer ausgeführt
|
||||
wird, benutzt es die effektive <acronym>UID</acronym> von
|
||||
<systemitem class="username">root</systemitem>.</para>
|
||||
|
||||
<para>Die <literal>setgid</literal>-Berechtigung führt die gleiche
|
||||
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
|
||||
hat.</para>
|
||||
|
||||
<para>Um die <literal>setgid</literal>-Berechtigung auf einer Datei zu
|
||||
setzen, geben Sie <command>chmod</command> eine
|
||||
führende Zwei (2) mit:</para>
|
||||
<para>Um die <literal>setgid</literal>-Berechtigung auf einer
|
||||
Datei zu setzen, geben Sie &man.chmod.1; eine führende
|
||||
Zwei (2) mit:</para>
|
||||
|
||||
<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>
|
||||
<entry><filename>/etc/namedb/</filename></entry>
|
||||
<entry>Konfigurationsdateien von
|
||||
<command>named</command>. Weitere Details finden Sie
|
||||
in &man.named.8;.</entry>
|
||||
&man.named.8;.</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
|
@ -868,8 +875,7 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
|
|||
|
||||
<row>
|
||||
<entry><filename>/etc/ppp/</filename></entry>
|
||||
<entry>Konfigurationsdateien von <command>ppp</command>,
|
||||
wie in &man.ppp.8; beschrieben.</entry>
|
||||
<entry>Konfigurationsdateien von &man.ppp.8;.</entry>
|
||||
</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/share</filename> angelegt. Die
|
||||
Dokumentation der Ports findet sich in
|
||||
<filename>share/doc/port</filename>.
|
||||
<filename>share/doc/<replaceable>port</replaceable></filename>.
|
||||
</entry>
|
||||
</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
|
||||
<firstterm>Pfad</firstterm> zur Datei)
|
||||
<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>
|
||||
für die Trennung von Datei- und Verzeichnisnamen
|
||||
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
|
||||
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
|
||||
Dateisystem besitzt ein eigenes Wurzelverzeichnis, das
|
||||
zwei andere Verzeichnisse enthält:
|
||||
<filename>A1</filename>,
|
||||
<filename>A2</filename>,
|
||||
<filename>B1</filename>,
|
||||
<filename>B2</filename>,
|
||||
<filename>C1</filename> und
|
||||
<filename>C2</filename>.</para>
|
||||
<filename>A1</filename>, <filename>A2</filename>,
|
||||
<filename>B1</filename>, <filename>B2</filename>,
|
||||
<filename>C1</filename> und <filename>C2</filename>.</para>
|
||||
|
||||
<para>Das Wurzeldateisystem soll <literal>A</literal> sein.
|
||||
<command>ls</command> zeigt darin
|
||||
die beiden Verzeichnisse <filename>A1</filename>
|
||||
und <filename>A2</filename> an.
|
||||
&man.ls.1; zeigt darin die beiden Verzeichnisse
|
||||
<filename>A1</filename> und <filename>A2</filename> an.
|
||||
Der Verzeichnisbaum sieht wie folgt aus:</para>
|
||||
|
||||
<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
|
||||
Dateisystems eingehangen. Wir hängen nun das Dateisystem
|
||||
<literal>B</literal> in das Verzeichnis
|
||||
<filename>A1</filename> ein. Das
|
||||
Wurzelverzeichnis von <literal>B</literal> ersetzt nun
|
||||
das Verzeichnis <filename>A1</filename> und
|
||||
die Verzeichnisse des Dateisystems <literal>B</literal>
|
||||
werden sichtbar:</para>
|
||||
<filename>A1</filename> ein. Das Wurzelverzeichnis von
|
||||
<literal>B</literal> ersetzt nun das Verzeichnis
|
||||
<filename>A1</filename> und die Verzeichnisse des Dateisystems
|
||||
<literal>B</literal> werden sichtbar:</para>
|
||||
|
||||
<mediaobject>
|
||||
<imageobject>
|
||||
|
@ -1151,16 +1152,14 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
|
|||
</mediaobject>
|
||||
|
||||
<para>Jede Datei in den Verzeichnissen
|
||||
<filename>B1</filename> oder
|
||||
<filename>B2</filename> kann
|
||||
über den Pfad <filename>/A1/B1</filename>
|
||||
oder <filename>/A1/B2</filename>
|
||||
erreicht werden. Dateien aus dem Verzeichnis
|
||||
<filename>/A1</filename> sind jetzt
|
||||
verborgen. Wenn das Dateisystem <literal>B</literal>
|
||||
wieder <firstterm>abgehangen</firstterm> wird
|
||||
(<foreignphrase>umount</foreignphrase>), erscheinen
|
||||
die verborgenen Dateien wieder.</para>
|
||||
<filename>B1</filename> oder <filename>B2</filename> kann
|
||||
über den Pfad <filename>/A1/B1</filename> oder
|
||||
<filename>/A1/B2</filename> erreicht werden. Dateien aus dem
|
||||
Verzeichnis <filename>/A1</filename> sind jetzt verborgen.
|
||||
Wenn das Dateisystem <literal>B</literal> wieder
|
||||
<firstterm>abgehangen</firstterm> wird
|
||||
(<foreignphrase>umount</foreignphrase>), erscheinen die
|
||||
verborgenen Dateien wieder.</para>
|
||||
|
||||
<para>Wenn das Dateisystem <literal>B</literal> unter dem
|
||||
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>
|
||||
</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
|
||||
Dateisystem auskommen. Dies hat mehrere Nachteile
|
||||
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.
|
||||
Von Benutzern beschreibbare Dateisysteme
|
||||
wie <filename>/home</filename>
|
||||
können Sie mit der Option <firstterm>nosuid</firstterm>
|
||||
einhängen, wenn sie von anderen Dateisystemen getrennt
|
||||
sind. Die <firstterm>SUID</firstterm>- und
|
||||
können mit der Option <firstterm>nosuid</firstterm>
|
||||
eingehangen werden, wenn sie von anderen Dateisystemen
|
||||
getrennt sind. Die <firstterm>SUID</firstterm>- und
|
||||
<firstterm>GUID</firstterm>-Bits verlieren auf solchen
|
||||
Dateisystemen ihre Wirkung und die Sicherheit des
|
||||
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
|
||||
Bad-Block-Scanner, können so die
|
||||
<literal>c</literal>-Partition benutzen.
|
||||
Für gewöhnlich legen Sie in dieser
|
||||
Partition kein Dateisystem an.</entry>
|
||||
Für gewöhnlich wird in dieser Partition kein
|
||||
Dateisystem angelegt.</entry>
|
||||
</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.
|
||||
Anders als bei Slices werden Festplatten von Null beginnend
|
||||
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
|
||||
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>
|
||||
<secondary>fstab</secondary>
|
||||
</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
|
||||
Verzeichnisse, sofern sie nicht mit der Option <option>noauto</option>
|
||||
versehen sind, automatisch angehangen. Diese Datei enthält
|
||||
Einträge in folgendem Format:</para>
|
||||
Verzeichnisse, sofern sie nicht mit der Option
|
||||
<option>noauto</option> versehen sind, automatisch angehangen.
|
||||
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>
|
||||
|
||||
|
@ -1708,7 +1701,8 @@ root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
|
|||
</sect2>
|
||||
|
||||
<sect2 xml:id="disks-mount">
|
||||
<title>Das <command>mount</command> Kommando</title>
|
||||
<title>Verwendung von &man.mount.8;</title>
|
||||
|
||||
<indexterm>
|
||||
<primary>Dateisysteme</primary>
|
||||
<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 xml:id="disks-umount">
|
||||
<title>Das <command>umount</command> Kommando</title>
|
||||
<title>Verwendung von &man.umount.8;</title>
|
||||
|
||||
<indexterm>
|
||||
<primary>Dateisysteme</primary>
|
||||
<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
|
||||
als Elternprozess besitzt. Die Ausnahme hiervon ist ein
|
||||
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
|
||||
&man.ps.1; und &man.top.1;. Eine statische Liste der laufenden
|
||||
Prozesse, deren PID, Speicherverbauch und die Kommandozeile, mit
|
||||
der sie gestartet wurden, erhalten Sie mit &man.ps.1;. Um alle
|
||||
laufenden Prozesse in einer Anzeige zu sehen, die alle paar
|
||||
Sekunden aktualisiert wird, so dass Sie interaktiv sehen können
|
||||
was der Computer macht, benutzen Sie &man.top.1;.</para>
|
||||
Prozesse, deren <acronym>PID</acronym>s, Speicherverbrauch und
|
||||
die Kommandozeile, mit der sie gestartet wurden, erhalten Sie
|
||||
mit &man.ps.1;. Um alle laufenden Prozesse in einer Anzeige zu
|
||||
sehen, die alle paar Sekunden aktualisiert wird, so dass Sie
|
||||
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>
|
||||
|
||||
<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>
|
||||
|
||||
<para>Die Ausgabe von &man.ps.1; ist in einer Anzahl von Spalten
|
||||
organisiert. Die <literal>PID</literal> Splate zeigt die
|
||||
Prozess-ID. PIDs werden von 1 beginnend bis 99999 zugewiesen und
|
||||
fangen wieder von vorne an. Ist eine PID breits vergeben, wird
|
||||
diese allerdings nicht erneut vergeben.
|
||||
|
||||
|
||||
Die Spalte <literal>TT</literal> zeigt den Terminal, auf dem das
|
||||
Programm läuft. <literal>STAT</literal> zeigt den Status
|
||||
des Programms an und kann für die Zwecke dieser Diskussion ebenso
|
||||
wie <literal>TT</literal> ignoriert werden. <literal>TIME</literal>
|
||||
gibt die Zeit an, die das Programm auf der CPU gelaufen ist.
|
||||
Dies ist nicht unbedingt die Zeit, die seit dem Start des Programms
|
||||
vergangen ist, da die meisten Programme hauptsächlich auf
|
||||
bestimmte Dinge warten, bevor sie wirklich CPU-Zeit verbrauchen.
|
||||
Unter der Spalte <literal>COMMAND</literal> finden Sie schließlich
|
||||
die Kommandozeile, mit der das Programm gestartet wurde.</para>
|
||||
organisiert. Die <literal>PID</literal> Spalte zeigt die
|
||||
Prozess-ID. <acronym>PID</acronym>s werden von 1 beginnend bis
|
||||
99999 zugewiesen und fangen wieder von vorne an. Ist eine
|
||||
<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.
|
||||
<literal>STAT</literal> zeigt den Status des Programms und
|
||||
<literal>TIME</literal> gibt die Zeit an, die das Programm auf
|
||||
der CPU gelaufen ist. Dies ist nicht unbedingt die Zeit, die
|
||||
seit dem Start des Programms vergangen ist, da die meisten
|
||||
Programme hauptsächlich auf bestimmte Dinge warten, bevor sie
|
||||
wirklich CPU-Zeit verbrauchen. Unter der Spalte
|
||||
<literal>COMMAND</literal> findet sich schließlich die
|
||||
Kommandozeile, mit der das Programm gestartet wurde.</para>
|
||||
|
||||
<para>&man.ps.1; besitzt viele Optionen, um die angezeigten Informationen
|
||||
zu beeinflussen. Eine nützliche Kombination ist
|
||||
|
@ -1954,24 +1949,25 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
|
|||
...</screen>
|
||||
|
||||
<para>Die Ausgabe ist in zwei Abschnitte geteilt. In den ersten
|
||||
fünf Kopfzeilen finden sich die zuletzt zugeteilte PID, die
|
||||
Systemauslastung (engl. <foreignphrase>load average</foreignphrase>),
|
||||
die Systemlaufzeit (die Zeit seit dem letzten Reboot) und die
|
||||
momentane Zeit. Die weiteren Zahlen im Kopf beschreiben wie viele
|
||||
Prozesse momentan laufen (im Beispiel 47), wie viel Speicher
|
||||
und Swap verbraucht wurde und wie viel Zeit das System in den
|
||||
verschiedenen CPU-Modi verbringt.</para>
|
||||
fünf Kopfzeilen finden sich die zuletzt zugeteilte
|
||||
<acronym>PID</acronym>, die Systemauslastung
|
||||
(engl. <foreignphrase>load average</foreignphrase>), die
|
||||
Systemlaufzeit (die Zeit seit dem letzten Reboot) und die
|
||||
momentane Zeit. Die weiteren Zahlen im Kopf beschreiben wie
|
||||
viele Prozesse momentan laufen (im Beispiel 47), wie viel
|
||||
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
|
||||
Informationen wie in der Ausgabe von &man.ps.1;, wie
|
||||
beispielsweise die PID, den Besitzer, die verbrauchte
|
||||
CPU-Zeit und das Kommando, das den Prozess gestartet hat.
|
||||
&man.top.1; zeigt auch den Speicherverbrauch des Prozesses an,
|
||||
der in zwei Spalten aufgeteilt ist. Die erste Spalte gibt den
|
||||
gesamten Speicherverbrauch des Prozesses an, in der zweiten
|
||||
Informationen wie in der Ausgabe von &man.ps.1;,
|
||||
beispielsweise die <acronym>PID</acronym>, den Besitzer, die
|
||||
verbrauchte CPU-Zeit und das Kommando, das den Prozess gestartet
|
||||
hat. &man.top.1; zeigt in zwei Spalten den Speicherverbrauch
|
||||
des Prozesses an. Die erste Spalte gibt
|
||||
den gesamten Speicherverbrauch des Prozesses an, in der zweiten
|
||||
Spalte wird der aktuelle Verbrauch angegeben.
|
||||
<application>mutt</application> hat im gezeigten
|
||||
Beispiel insgesamt 8 MB Speicher verbraucht. Momentan benutzt
|
||||
<application>mutt</application> hat im gezeigten Beispiel
|
||||
insgesamt 8 MB Speicher verbraucht. Momentan benutzt
|
||||
es allerdings nur 5 MB.</para>
|
||||
|
||||
<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.
|
||||
<application>BIND</application> steht beispielsweise für
|
||||
Berkeley Internet Name Domain, das tatsächlich laufende Programm
|
||||
heißt aber <command>named</command>. Der
|
||||
<application>Apache</application> Webserver wird
|
||||
<command>httpd</command> genannt und der Druckerspool-Dämon
|
||||
heißt <command>lpd</command>. Dies ist allerdings nur eine
|
||||
Konvention. Der Dämon der Anwendung
|
||||
<application>sendmail</application> heißt beispielsweise
|
||||
<command>sendmail</command> und nicht
|
||||
<command>maild</command>.</para>
|
||||
heißt aber &man.named.8;. Der <application>Apache</application>
|
||||
Webserver wird <command>httpd</command> genannt und der
|
||||
Druckerspool-Dämon heißt &man.lpd.8;. Dies ist allerdings nur
|
||||
eine Konvention. Der Dämon der Anwendung
|
||||
<application>Sendmail</application> heißt beispielsweise
|
||||
&man.sendmail.8; und nicht <literal>maild</literal>.</para>
|
||||
|
||||
<para>Eine Möglichkeit mit einem Dämon oder einem laufenden
|
||||
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
|
||||
Signal schicken. Die Konfigurationsdatei von
|
||||
<command>inetd</command> ist <filename>/etc/inetd.conf</filename>.
|
||||
Diese Konfigurationsdatei liest <command>inetd</command> ein,
|
||||
&man.inetd.8; ist <filename>/etc/inetd.conf</filename>.
|
||||
Diese Konfigurationsdatei liest &man.inetd.8; ein,
|
||||
wenn er <literal>SIGHUP</literal> empfängt.</para>
|
||||
|
||||
<step>
|
||||
<para>Suchen Sie mit &man.pgrep.1; die Prozess-ID des
|
||||
Prozesses, dem Sie ein Signal schicken wollen. In diesem
|
||||
Beispiel ist die PID von &man.inetd.8; 198:</para>
|
||||
<para>Suchen Sie mit &man.pgrep.1; die <acronym>PID</acronym>
|
||||
des Prozesses, dem Sie ein Signal schicken wollen. In
|
||||
diesem Beispiel ist die <acronym>PID</acronym> von
|
||||
&man.inetd.8; 198:</para>
|
||||
|
||||
<screen>&prompt.user; <userinput>pgrep -l inetd</userinput>
|
||||
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,
|
||||
keine Ausgabe erzeugen, wenn das Kommando erfolgreich war.
|
||||
Wenn Sie versuchen, einem Prozess, der nicht Ihnen gehört,
|
||||
ein Signal zu senden, dann werden Sie die Meldung
|
||||
Wird versucht, einem Prozess der nicht dem Benutzer
|
||||
gehört, ein Signal zu senden, dann wird die Meldung
|
||||
<errorname>kill: <replaceable>PID</replaceable>: Operation
|
||||
not permitted</errorname> sehen. Ein Tippfehler bei der
|
||||
Eingabe der PID führt dazu, dass das Signal an einen
|
||||
falschen Prozess gesendet wird, was zu negativen Ergebnissen
|
||||
führen kann, oder das Signal wird an eine PID gesendet die
|
||||
derzeit nicht in Gebrauch ist, was zu dem Fehler
|
||||
not permitted</errorname> ausgegeben. Ein Tippfehler bei
|
||||
der Eingabe der <acronym>PID</acronym> führt dazu, dass das
|
||||
Signal an einen falschen Prozess gesendet wird, was zu
|
||||
negativen Ergebnissen führen kann, oder das Signal wird an
|
||||
eine <acronym>PID</acronym> gesendet die derzeit nicht in
|
||||
Gebrauch ist, was zu dem Fehler
|
||||
<errorname>kill: <replaceable>PID</replaceable>: No such
|
||||
process</errorname> führt.</para>
|
||||
|
||||
|
@ -2140,10 +2136,10 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
|
|||
|
||||
<important>
|
||||
<para>Das zufällige Beenden eines Prozesses kann gravierende
|
||||
Auswirkungen haben. Insbesondere &man.init.8;, mit der PID 1,
|
||||
ist ein Spezialfall. <command>/bin/kill -s KILL 1</command>
|
||||
ist ein schneller, jedoch nicht empfohlener Weg, das System
|
||||
herunterzufahren.
|
||||
Auswirkungen haben. Insbesondere &man.init.8;, mit der
|
||||
<acronym>PID</acronym> 1, ist ein Spezialfall.
|
||||
<command>/bin/kill -s KILL 1</command> ist ein schneller,
|
||||
jedoch nicht empfohlener Weg, das System herunterzufahren.
|
||||
Überprüfen Sie die Argumente von &man.kill.1;
|
||||
<emphasis>immer</emphasis> zweimal <emphasis>bevor</emphasis>
|
||||
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,
|
||||
beispielsweise eine Dateiverwaltung, die Vervollständigung von
|
||||
Dateinamen (Globbing), Kommandozeilen-Editor, sowie Makros und
|
||||
Umgebungsvariablen. &os; enthält die Shells
|
||||
<command>sh</command> (Bourne Shell) und <command>tcsh</command>
|
||||
(verbesserte C-Shell) im Basissystem. Weitere Shells, wie
|
||||
<command>zsh</command> oder <command>bash</command>, befinden
|
||||
sich in der Ports-Sammlung.</para>
|
||||
Umgebungsvariablen. &os; enthält einige Shells, darunter die
|
||||
Bourne Shell (&man.sh.1;) und die verbesserte C-Shell
|
||||
(&man.tcsh.1;). Weitere Shells, wie <command>zsh</command> oder
|
||||
<command>bash</command>, befinden sich in der
|
||||
Ports-Sammlung.</para>
|
||||
|
||||
<para>Die verwendete Shell ist letztlich eine Frage des
|
||||
Geschmacks. Ein C-Programmierer, findet vielleicht eine
|
||||
C-artige Shell wie <command>tcsh</command> angenehmer. Ein
|
||||
Linux-Benutzer bevorzugt vielleicht <command>bash</command>.
|
||||
C-artige Shell wie &man.tcsh.1; angenehmer. Ein
|
||||
&linux;-Benutzer bevorzugt vielleicht <command>bash</command>.
|
||||
Jede Shell hat ihre speziellen Eigenschaften, die mit der
|
||||
bevorzugten Arbeitsumgebung des Benutzers harmonieren kann oder
|
||||
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>
|
||||
</indexterm>
|
||||
<para>Das Setzen von Umgebungsvariablen unterscheidet sich
|
||||
von Shell zu Shell. In <command>tcsh</command> und
|
||||
<command>csh</command> wird dazu <command>setenv</command>
|
||||
benutzt. <command>sh</command> und <command>bash</command>
|
||||
benutzen <command>export</command> um Umgebungsvariablen zu
|
||||
setzen. Dieses Beispiel für die <command>tcsh</command>-Shell
|
||||
setzt die Variable <envar>EDITOR</envar> auf
|
||||
von Shell zu Shell. In &man.tcsh.1; und &man.csh.1; wird dazu
|
||||
<command>setenv</command> benutzt. &man.sh.1; und
|
||||
<command>bash</command> benutzen <command>export</command> um
|
||||
Umgebungsvariablen zu setzen. Dieses Beispiel für die
|
||||
&man.tcsh.1;-Shell setzt die Variable <envar>EDITOR</envar> auf
|
||||
<filename>/usr/local/bin/emacs</filename>:</para>
|
||||
|
||||
<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
|
||||
aktuellen Wert von<envar>$TERM</envar> aus.</para>
|
||||
|
||||
<para>Shells behandeln Spezialzeichen, so genannte
|
||||
Metazeichen, als besondere Darstellungen für Daten.
|
||||
Das häufigste Zeichen ist <literal>*</literal>, das eine
|
||||
beliebige Anzahl Zeichen in einem Dateinamen repräsentiert.
|
||||
Metazeichen können zur Vervollständigung von
|
||||
Dateinamen (Globbing) benutzt werden. Beispielsweise liefert
|
||||
<command>echo *</command> nahezu das gleiche wie
|
||||
<command>ls</command>, da die Shell alle
|
||||
Dateinamen die mit <literal>*</literal> übereinstimmen, an
|
||||
<command>echo</command> weitergibt.</para>
|
||||
<para>Shells behandeln Spezialzeichen, so genannte Metazeichen,
|
||||
als besondere Darstellungen für Daten. Das häufigste Zeichen
|
||||
ist <literal>*</literal>, das eine beliebige Anzahl Zeichen in
|
||||
einem Dateinamen repräsentiert. Metazeichen können zur
|
||||
Vervollständigung von Dateinamen (Globbing) benutzt werden.
|
||||
Beispielsweise liefert <command>echo *</command> nahezu das
|
||||
gleiche wie &man.ls.1;, da die Shell alle Dateinamen die mit
|
||||
<literal>*</literal> übereinstimmen, an <command>echo</command>
|
||||
weitergibt.</para>
|
||||
|
||||
<para>Um zu verhindern, dass die Shell ein Sonderzeichen
|
||||
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> startet den Editor, welcher durch
|
||||
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,
|
||||
den absoluten Pfad der neuen Shell ein.</para>
|
||||
|
||||
|
@ -2345,15 +2339,15 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
|
|||
<note>
|
||||
<para>Die neue Shell <emphasis>muss</emphasis> in
|
||||
<filename>/etc/shells</filename> aufgeführt sein. Wurde die
|
||||
Shell aus der <link linkend="ports">Ports-Sammlung</link>
|
||||
installiert, sollte sie automatisch zu dieser Datei
|
||||
hinzugefügt worden sein. Wenn der Eintrag fehlt, nutzen Sie
|
||||
folgenden Befehl, und ersetzen Sie den Pfad mit dem Pfad zur
|
||||
gewünschten Shell:</para>
|
||||
Shell aus der &os; Ports-Sammlung installiert, so wie in
|
||||
<xref linkend="ports"/> beschrieben, sollte sie automatisch
|
||||
zu dieser Datei hinzugefügt worden sein. Wenn der Eintrag
|
||||
fehlt, nutzen Sie folgenden Befehl, und ersetzen Sie den
|
||||
Pfad mit dem Pfad zur gewünschten Shell:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>echo "/usr/local/bin/bash" >> /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>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
@ -2370,7 +2364,7 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
|
|||
Ports-Sammlung.</para>
|
||||
|
||||
<indexterm>
|
||||
<primary><command>ee</command></primary>
|
||||
<primary>&man.ee.1;</primary>
|
||||
</indexterm>
|
||||
|
||||
<indexterm>
|
||||
|
@ -2378,28 +2372,29 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
|
|||
<secondary><command>ee</command></secondary>
|
||||
</indexterm>
|
||||
|
||||
<para>Ein einfach zu erlernender Editor ist
|
||||
<application>ee</application>, was für
|
||||
<foreignphrase>easy editor</foreignphrase> steht.
|
||||
Um diesen Editor zu starten, gibt man in der
|
||||
Kommandozeile <command>ee filename</command> ein, wobei
|
||||
<replaceable>filename</replaceable> den Namen der zu editierenden
|
||||
Datei darstellt. Einmal im Editor, finden sich alle Editor-Funktionen oben im
|
||||
Display aufgelistet. Das Einschaltungszeichen
|
||||
<literal>^</literal> steht für die <keycap>Ctrl</keycap> (oder
|
||||
<keycap>Strg</keycap>) Taste, mit <literal>^e</literal> ist also die
|
||||
Tastenkombination <keycombo action="simul"><keycap>Ctrl</keycap><keycap>e</keycap></keycombo>
|
||||
gemeint. Um <application>ee</application> zu verlassen, drücken
|
||||
Sie <keycap>Esc</keycap> und wählen dann im Hauptmenü <option>leave
|
||||
<para>Ein einfach zu erlernender Editor ist &man.ee.1;, was für
|
||||
<foreignphrase>easy editor</foreignphrase> steht. Um diesen
|
||||
Editor zu starten, gibt man in der Kommandozeile <command>ee
|
||||
<replaceable>filename</replaceable></command> ein, wobei
|
||||
<replaceable>filename</replaceable> den Namen der zu
|
||||
editierenden Datei darstellt. Einmal im Editor, finden sich
|
||||
alle Editor-Funktionen oben im Display aufgelistet. Das
|
||||
Einschaltungszeichen <literal>^</literal> steht für die
|
||||
<keycap>Ctrl</keycap> (oder <keycap>Strg</keycap>) Taste, mit
|
||||
<literal>^e</literal> ist also die Tastenkombination
|
||||
<keycombo
|
||||
action="simul"><keycap>Ctrl</keycap><keycap>e</keycap></keycombo>
|
||||
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
|
||||
möchten, wenn die Datei verändert wurde.</para>
|
||||
|
||||
<indexterm>
|
||||
<primary><command>vi</command></primary>
|
||||
<primary>&man.vi.1;</primary>
|
||||
</indexterm>
|
||||
<indexterm>
|
||||
<primary>Text Editoren</primary>
|
||||
<secondary><command>vi</command></secondary>
|
||||
<secondary>&man.vi.1;</secondary>
|
||||
</indexterm>
|
||||
<indexterm>
|
||||
<primary><command>emacs</command></primary>
|
||||
|
@ -2408,12 +2403,13 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
|
|||
<primary>Text Editoren</primary>
|
||||
<secondary><command>emacs</command></secondary>
|
||||
</indexterm>
|
||||
<para>&os; verfügt über leistungsfähigere
|
||||
Editoren wie <application>vi</application> als Teil des
|
||||
Basissystems. Andere Editoren wie <application>emacs</application>
|
||||
und <application>vim</application> sind Teil der Ports-Sammlung.
|
||||
Diese Editoren bieten höhere Funktionalität, jedoch auf Kosten einer etwas
|
||||
schwierigeren Erlernbarkeit. Das Erlernen eines
|
||||
|
||||
<para>&os; verfügt über leistungsfähigere Editoren wie &man.vi.1;
|
||||
als Teil des Basissystems. Andere Editoren wie
|
||||
<package>editors/emacs</package> und
|
||||
<package>editors/vim</package> sind Teil der Ports-Sammlung.
|
||||
Diese Editoren bieten höhere Funktionalität, jedoch auf Kosten
|
||||
einer etwas schwierigeren Erlernbarkeit. Das Erlernen eines
|
||||
leistungsfähigeren Editors, wie <application>vim</application>
|
||||
oder <application>Emacs</application>, kann auf lange Sicht Zeit
|
||||
einsparen.</para>
|
||||
|
@ -2422,7 +2418,7 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
|
|||
erwarten, werden automatisch einen Texteditor öffnen. Um den
|
||||
Standardeditor zu ändern, wird die Umgebungsvariable
|
||||
<envar>EDITOR</envar> gesetzt, wie im Abschnitt
|
||||
<link linkend="shells">Shells</link> beschrieben.</para>
|
||||
<xref linkend="shells"/> beschrieben.</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="basics-devices">
|
||||
|
@ -2448,10 +2444,27 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
|
|||
<sect1 xml:id="binary-formats">
|
||||
<title>Binärformate</title>
|
||||
|
||||
<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>
|
||||
<para>Wenn ein Kommando an die Shell übergeben wird, dann wird die
|
||||
Shell die ausführbare Datei in den Speicher laden und einen
|
||||
neuen Prozess erstellen. Ausführbare Dateien sind entweder
|
||||
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>
|
||||
<listitem>
|
||||
|
@ -2583,9 +2596,8 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
|
|||
Cross-Compilern durch beliebiges Einschalten verschiedener
|
||||
Formate hinzugefügt. Viele Leute wollten
|
||||
Cross-Compiler für &os; erstellen, aber sie hatten
|
||||
kein Glück, denn &os;'s ältere Sourcen
|
||||
für <application>as</application> und <application>ld</application>
|
||||
waren hierzu nicht geeignet. Die neuen
|
||||
kein Glück, denn &os;'s ältere Sourcen für &man.as.1; und
|
||||
&man.ld.1; waren hierzu nicht geeignet. Die neuen
|
||||
GNU-Werkzeuge (<application>binutils</application>) unterstützen
|
||||
Cross-Compilierung, <acronym>ELF</acronym>, Shared-Libraries und
|
||||
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>
|
||||
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,
|
||||
über das Sie etwas erfahren wollen. Um beispielsweise
|
||||
mehr über das Kommando <command>ls</command> zu lernen,
|
||||
geben Sie ein:</para>
|
||||
<para><replaceable>Kommando</replaceable> ist der Name des
|
||||
Kommandos, über das man etwas erfahren will. Um
|
||||
beispielsweise mehr über das Kommando &man.ls.1; zu
|
||||
erfahren, geben Sie ein:</para>
|
||||
|
||||
<screen>&prompt.user; <userinput>man ls</userinput></screen>
|
||||
|
||||
|
@ -2668,24 +2680,24 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
|
|||
</orderedlist>
|
||||
|
||||
<para>In einigen Fällen kann dasselbe Thema in mehreren
|
||||
Sektionen auftauchen. Es gibt zum Beispiel ein <command>chmod</command>
|
||||
Benutzerkommando und einen <function>chmod()</function>
|
||||
Systemaufruf. Sie können <command>man</command>
|
||||
sagen, aus welcher Sektion Sie die Information erhalten
|
||||
möchten, indem Sie die Sektionsnummer mit angeben:</para>
|
||||
Sektionen auftauchen. Es gibt zum Beispiel ein
|
||||
&man.chmod.1; Benutzerkommando und einen
|
||||
<function>chmod()</function> Systemaufruf. Um &man.man.1;
|
||||
mitzuteilen, aus welcher Sektion die Information angezeigt
|
||||
werden soll, kann die Sektionsnummer mit angeben
|
||||
werden:</para>
|
||||
|
||||
<screen>&prompt.user; <userinput>man 1 chmod</userinput></screen>
|
||||
|
||||
<para>Dies wird Ihnen die Manualpage für das Benutzerkommando
|
||||
<command>chmod</command> zeigen. Verweise auf eine Sektion
|
||||
der Manualpages werden traditionell in Klammern
|
||||
gesetzt. So bezieht sich &man.chmod.1; auf das
|
||||
Benutzerkommando <command>chmod</command> und mit
|
||||
&man.chmod.2; ist der Systemaufruf gemeint.</para>
|
||||
&man.chmod.1; zeigen. Verweise auf eine Sektion der
|
||||
Manualpages werden traditionell in Klammern gesetzt. So
|
||||
bezieht sich &man.chmod.1; auf das Benutzerkommando und
|
||||
&man.chmod.2; auf den Systemaufruf.</para>
|
||||
|
||||
<para>Wenn Sie den Namen des Kommandos kennen, benutzen Sie
|
||||
<command>man -k</command>, um nach Schlüsselbegriffen in den
|
||||
Kommandobeschreibungen zu suchen:</para>
|
||||
<para>Wenn der Name des Kommandos nicht bekannt ist, benutzt
|
||||
man <command>man -k</command>, um nach Schlüsselbegriffen in
|
||||
den Kommandobeschreibungen zu suchen:</para>
|
||||
|
||||
<screen>&prompt.user; <userinput>man -k <replaceable>mail</replaceable>
|
||||
</userinput></screen>
|
||||
|
@ -2712,14 +2724,14 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
|
|||
<sect2 xml:id="basics-info">
|
||||
<title>GNU Info Dateien</title>
|
||||
|
||||
<para>&os; enthält viele Anwendungen und Utilities
|
||||
der Free Software Foundation (FSF). Zusätzlich zu den
|
||||
Manualpages können diese Programme Hypertext-Dokumente
|
||||
enthalten, die <literal>info</literal>-Seiten genannt werden.
|
||||
Diese Dokumente können mit <command>info</command>
|
||||
ansehen kann. Wenn Sie <package>editors/emacs</package>
|
||||
installiert haben, können Sie auch den info-Modus von
|
||||
<application>emacs</application> benutzen.</para>
|
||||
<para>&os; enthält viele Anwendungen und Utilities der Free
|
||||
Software Foundation (FSF). Zusätzlich zu den Manualpages
|
||||
können diese Programme Hypertext-Dokumente enthalten, die
|
||||
<literal>info</literal>-Seiten genannt werden. Diese
|
||||
Dokumente können mit &man.info.1; ansehen kann. Wenn
|
||||
<package>editors/emacs</package> installiert ist, kann auch
|
||||
der info-Modus von <application>emacs</application> benutzt
|
||||
werden.</para>
|
||||
|
||||
<para>Um &man.info.1; zu benutzen, geben Sie ein:</para>
|
||||
|
||||
|
|
Loading…
Reference in a new issue