⛏️ index : haiku.git

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">
<head>
<!-- 
 *
 * Copyright 2010-2016, Haiku. All rights reserved.
 * Distributed under the terms of the MIT License.
 *
 * Authors:
 *		Humdinger <humdingerb@gmail.com>
 * Translators:
 *		Humdinger
 *		taos
 *
-->
	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
	<meta http-equiv="Content-Style-Type" content="text/css" />
	<meta name="robots" content="all" />
	<title>Konsolenprogramme</title>
	<meta name="viewport" content="width=device-width, initial-scale=1.0" />
	<link rel="stylesheet" type="text/css" href="../../Haiku-doc.css" />
</head>
<body>

<div id="banner">
<div><span>User Guide</span></div>
</div>

<div class="nav">
<div class="inner">
<ul class="lang-menu">
<li class="now"><img src="../../images/flags/de.png" alt="" /> Deutsch</li>
<li><a href="../../ca/applications/cli-apps.html"><img src="../../images/flags/ca.png" alt="" />CatalΓ </a></li>
<li><a href="../../en/applications/cli-apps.html"><img src="../../images/flags/gb.png" alt="" />English</a></li>
<li><a href="../../es/applications/cli-apps.html"><img src="../../images/flags/es.png" alt="" />EspaΓ±ol</a></li>
<li><a href="../../fr/applications/cli-apps.html"><img src="../../images/flags/fr.png" alt="" />FranΓ§ais</a></li>
<li><a href="../../it/applications/cli-apps.html"><img src="../../images/flags/it.png" alt="" />Italiano</a></li>
<li><a href="../../hu/applications/cli-apps.html"><img src="../../images/flags/hu.png" alt="" />Magyar</a></li>
<li><a href="../../pl/applications/cli-apps.html"><img src="../../images/flags/pl.png" alt="" />Polski</a></li>
<li><a href="../../pt_PT/applications/cli-apps.html"><img src="../../images/flags/pt_PT.png" alt="" />PortuguΓͺs</a></li>
<li><a href="../../pt_BR/applications/cli-apps.html"><img src="../../images/flags/pt_BR.png" alt="" />PortuguΓͺs (Brazil)</a></li>
<li><a href="../../ro/applications/cli-apps.html"><img src="../../images/flags/ro.png" alt="" />RomÒnă</a></li>
<li><a href="../../sk/applications/cli-apps.html"><img src="../../images/flags/sk.png" alt="" />Slovenčina</a></li>
<li><a href="../../fi/applications/cli-apps.html"><img src="../../images/flags/fi.png" alt="" />Suomi</a></li>
<li><a href="../../sv_SE/applications/cli-apps.html"><img src="../../images/flags/sv_SE.png" alt="" />Svenska</a></li>
<li><a href="../../zh_CN/applications/cli-apps.html"><img src="../../images/flags/zh_CN.png" alt="" />Β δΈ­ζ–‡ οΌ»δΈ­ζ–‡οΌ½</a></li>
<li><a href="../../ru/applications/cli-apps.html"><img src="../../images/flags/ru.png" alt="" />Русский</a></li>
<li><a href="../../uk/applications/cli-apps.html"><img src="../../images/flags/uk.png" alt="" />Π£ΠΊΡ€Π°Ρ—Π½ΡΡŒΠΊΠ°</a></li>
<li><a href="../../jp/applications/cli-apps.html"><img src="../../images/flags/jp.png" alt="" />ζ—₯本θͺž</a></li>
</ul>

<span>
 «  <a href="list-cli-apps.html">List of commands</a> 
::Β Β <a href="../applications.html#cli-apps" class="uplink">Applications</a>Β 
</span></div>
</div>

<div id="content">
<div>

<h2><img src="../../images/apps-images/cli-app-icon_64.png" alt="cli-app-icon_64.png" width="64" height="64" />Haiku-spezifische Konsolenprogramme</h2>
<table summary="layout" border="0" cellspacing="0" cellpadding="2">
<tr><td>Ort:</td><td style="width:15px;"></td><td><span class="path">/boot/system/bin/</span><br />
<span class="path">/boot/system/non-packaged/bin/</span><br /><span class="path">~/config/bin/</span><br /><span class="path">~/config/non-packaged/bin/</span></td></tr>
</table>
<p><br /></p>
<p>Alle Konsolenprogramme, die zusammen mit Haiku installiert werden, befinden sich in <span class="path">/boot/system/bin</span>. Eigene oder zusΓ€tzliche Konsolenprogramme erscheinen falls sie aus einem .hpkg Paket stammen entweder auch dort oder in <span class="path">~/config/bin/</span>. Ansonsten werden sie in <span class="path">/boot/system/non-packaged/bin/</span> oder <span class="path">~/config/non-packaged/bin/</span> abgelegt. Diese Orte sind alle Teil der PATH Variable und werden daher automatisch gefunden.<br />
Die folgende Liste an Haiku-spezifischen Programmen ist natΓΌrlich nicht vollstΓ€ndig; sie beschreibt nur einige der nΓΌtzlichsten um auf den Geschmack zu kommen. Es ist empfehlenswert die <span class="path">bin/</span> Verzeichnisse selbst etwas zu erkunden. Wird ein Konsolenprogramm mit dem Parameter <tt>--help</tt> aufgerufen, wird der Gebrauch des Befehls mit sΓ€mtlichen Optionen angezeigt.</p>

<h3><a href="#"><img src="../../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="cli-attributes" name="cli-attributes">Attribute betreffend: <span class="cli">listattr</span>, <span class="cli">catattr</span>, <span class="cli">addattr</span>, <span class="cli">rmattr</span>, <span class="cli">copyattr</span></a></h3>
<p>Diese Befehle werden benutzt, um Attribute einer Datei aufzulisten, anzuzeigen, hinzuzufΓΌgen, zu entfernen und zu kopieren. Diese Metadaten werden momentan nur auf BFS formatierten Medien unterstΓΌtzt. Schiebt man die Dateien auf andere Dateisysteme, gehen alle Attribute verloren!<br />
All diese Befehle sind im Kapitel  <a href="../attributes.html#attributes-terminal">Attribute im Terminal</a> beschrieben.</p>

<h3><a href="#"><img src="../../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="cli-index" name="cli-index">Index betreffend: <span class="cli">lsindex</span>, <span class="cli">mkindex</span>, <span class="cli">reindex</span>, <span class="cli">rmindex</span></a></h3>
<p>Mit diesen Befehlen lassen sich Attribute in BFS' Index auflisten, hinzufΓΌgen, re-indizieren und entfernen. Werden Dateien zwischen Partitionen ausgetauscht, sollte man daran denken, dass jede Partition ihren eigenen Index hat.<br />
Die Befehle sind im Kapitel <a href="../index.html">Index</a> beschrieben.</p>

<h3><a href="#"><img src="../../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="cli-pkg" name="cli-pkg">Paketmanagement betreffend: <span class="cli">package</span>, <span class="cli">pkgman</span></a></h3>
<p>Mit dem <span class="cli">package</span> Befehl werden HPKG Pakete verwaltet. Der Artikel <a href="https://www.haiku-os.org/guides/daily-tasks/install-applications">Installing applications</a> zeigt die grundsΓ€tzliche Anwendung. Normalerweise wird das Tool <a href="https://github.com/haikuports/haikuports/wiki">haikuporter</a> benutzt, um automatisiert Pakete aus sogenannten "Recipes" ("Rezepten") zu erstellen.</p>
<p>Mit <span class="cli">pkgman</span> lassen sich Pakete suchen, installieren, aktualisieren und deinstallieren. Paket-Repositories kΓΆnnen hinzugefΓΌgt, entfernt und deren Paketlisten aktualisiert werden. Eine besondere Art des Updates ist der Parameter <tt>full-sync</tt>: Er geht aggressiver zu Werke und ersetzt wenn nΓΆtig auch eine Software mit einer Γ€lteren Version, oder entfernt Pakete komplett.<br />
Mehr Details zu einzelnen Parametern erhΓ€lt man durch AnhΓ€ngen von "--help", beispielsweise <tt>pkgman search --help</tt>.</p>

<h3><a href="#"><img src="../../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="cli-scripting" name="cli-scripting">NΓΌtzliche Skript-Befehle</a></h3>
<p>Hier einige Konsolenprogramme, die besonders beim Skripten interessant sind (siehe auch <a href="../bash-scripting.html">Bash und Skripten</a>).</p>
<table summary="scripting cli tools" border="0" cellpadding="2" cellspacing="0"> 
	<tr><td><p><span class="cli">alert</span></p></td><td style="width:10px;"> </td>
		<td valign="top"><p><span class="cli">alert</span> erzeugt das typische Hinweis-Fenster mit einem vordefinierten Symbol, erklΓ€renden Text und bis zu drei Buttons. Als RΓΌckgabewert dient der Titel des geklickten Buttons, bzw. ein Exitstatus, beginnend mit 0). Zum Beispiel:</p>
<pre class="terminal">alert --idea "SpitzenApp(tm) wurde erfolgreich installiert!
Soll eine VerknΓΌpfung erstellt werden?" "Auf dem Desktop" "In der Deskbar" "Nein Danke"</pre>
<p><img src="../images/apps-images/cli-alert.png" alt="cli-alert.png" /></p>
</td></tr>
<tr><td><p><span class="cli">filepanel</span></p></td><td style="width:10px;"> </td>
		<td valign="top"><p><span class="cli">filepanel</span> ΓΆffnet einen Γ–ffnen- oder Speicher-Dialog, in dem der Benutzer eine Datei oder Verzeichnis auswΓ€hlen kann. Der RΓΌckgabewert ist der gewΓ€hlte Datei- oder Ordnerpfad. Es stehen diverse Parameter zur VerfΓΌgung, um beispielsweise einen Startordner oder einen Fenstertitel zu setzen, oder einen Dateinamen beim Speichern vorzugeben oder erlaubte Dateitypen einzuschrΓ€nken. Zum Beispiel:</p>
<pre class="terminal">filepanel -s -t "Logdatei speichern" -d ~/config/settings -n Spitzen.log</pre>
<p><img src="../images/apps-images/cli-filepanel.png" alt="cli-alert.png" /></p>
</td></tr>
<tr><td><p><span class="cli">hey</span></p></td><td style="width:10px;"> </td>
<td valign="top"><p><span class="cli">hey</span> ist ein kleines tool das BMessages an Anwendungen sendet und deren Antwort ausgibt. Es kann zum Skripten von Anwendungen benutzt werden, also zum "Fernsteuern" von Programmen mittels Skripts oder von der Kommandozeile aus. Das ist leider etwas kompliziert... <a href="https://www.haiku-os.org/blog/humdinger/2017-11-05_scripting_the_gui_with_hey/">Humdingers Blogpost</a> ist eine gute EinfΓΌhrung, und Dank Scot Hacker's BeOS Bible gibt es ein schΓΆnes <a href="http://www.birdhouse.org/beos/bible/bos/ch_scripting6.html">hey Tutorial</a> von Chris Herborth.</p></td></tr>
<tr><td><p><span class="cli">query</span></p></td><td style="width:10px;"> </td>
		<td valign="top"><p><span class="cli">query</span> ist die Konsolen-Variante des Find Panels. Um eine Suchformel bequem zu generieren lÀsst sich übrigens sehr gut eben dieses Find Panel benutzen: Einfach dort die entsprechende Suche zusammenklicken, dann umschalten zum "<span class="menu">by formula</span>" Mode, Anführungszeichen (<tt>"</tt>) an Anfang und Ende und anschließend das Ganze hinter den <span class="cli">query</span> Befehl ins Terminal oder Skript einfügen.</p>
</td></tr>
<tr><td><p><span class="cli">waitfor</span></p></td><td style="width:10px;"> </td>
		<td valign="top"><p>Mittels <span class="cli">waitfor</span> lΓ€sst sich auf den Start bzw. die Beendigung eines bestimmten Threads oder einer Anwendung warten.</p>
</td></tr></table>

<h3><a href="#"><img src="../../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="cli-other" name="cli-other">Weitere Befehle</a></h3>

<table summary="scripting cli tools" border="0" cellpadding="2" cellspacing="0"> 
	<tr><td><p><span class="cli">checkfs</span></p></td><td style="width:10px;"> </td>
		<td><p><span class="cli">checkfs</span> ist ein wichtiges Tool um das Dateisystem zu ΓΌberprΓΌfen. Es wird einfach ein Partitionsname, beispielsweise <span class="path">/Haiku</span> oder ein Device-Pfad ΓΌbergeben, um dort alle Dateien durchzusehen und Inkonsistenzen zu beheben, sofern mΓΆglich.</p>
</td></tr>
<tr><td><p><span class="cli">desklink</span></p></td><td style="width:10px;"> </td>
		<td valign="top"><p>Mit <span class="cli">desklink</span> kann im Deskbar Tray ein Icon fΓΌr jedwede Datei, Ordner, Query oder Anwendung installiert werden. Dabei gibt es die MΓΆglichkeit bei einem Rechtsklick auf das entsprechende Icon ein KontextmenΓΌ mit besonderen Funktionen anzubieten. Folgendes Beispiel macht das mit dem Konsolenprogramm <span class="app">screenshot</span> (das "<tt>\\</tt>" in der ersten Zeile dient nur einem Zeilenumbruch im Terminal):</p>
<pre class="terminal">desklink "cmd=Aktives Fenster (2s):/bin/screenshot --window --border --delay 2" \\
"cmd=Replicant entfernen:desklink --remove=screenshot" /bin/screenshot
</pre>
<p><img src="../images/apps-images/cli-desklink.png" alt="cli-alert.png" /></p>
</td></tr>
<tr><td><p><span class="cli">diskimage</span></p></td><td style="width:10px;"> </td>
		<td valign="top"><p>Mittels <span class="cli">diskimage</span> kânnen normale Dateien als "Disk" angemeldet werden. So lÀsst dich beispielsweise ein Haiku Anyboot Image anmelden. Anschließend kann es per Tracker eingehÀngt werden, um Dateien darauf zu kopieren, zu Àndern oder zu lâschen, bevor man es als Quelle für den Installer benutzt.</p>
</td></tr>
<tr><td><p><span class="cli">launch_roster</span></p></td><td style="width:10px;"> </td>
		<td valign="top"><p>Der launch_daemon startet beim Hochfahren verschiedene Dienste und Anwendungen. Einige werden bei ihrer Beendigung automatisch neu gestartet. Soll das nicht geschehen – vielleicht will man einen verΓ€nderten Tracker ausprobieren – kann man per <span class="cli">launch_roster stop</span> den Neustart der Anwendung verhindern, bevor man sie beendet. Mittels <tt>start</tt> lΓ€sst sich der automatische Neustart wieder einschalten,  <tt>info</tt> gibt zusΓ€tzliche Informationen aus. Mit <tt>log</tt> werden alle den launch_daemon betreffenden Ereignisse ausgegeben.<br />
Ohne Parameter zeigt <span class="cli">launch_roster</span> alle Anwendungen/Dienste an, die so gesteuert werden kΓΆnnen.<br />
So lΓ€sst sich zum Beispiel der Neustart der Deskbar anhalten:</p>
<pre class="terminal">launch_roster stop x-vnd.be-tskb</pre></td></tr>
<tr><td><p><span class="cli">mountvolume</span><br /><span class="cli">mount</span></p></td><td style="width:10px;"> </td>
		<td valign="top"><p><span class="cli">mountvolume</span> ist der allgemein bevorzugte Befehl zum EinhΓ€ngen lokaler Partitionen und Disks, weil er so simpel zu benutzen ist: einfach mit dem Namen der Partition aufrufen und fertig. <tt>--help</tt> zeigt die weiteren Optionen.</p>
<p><span class="cli">mount</span> kann zusÀtzlich auch nicht-lokale Disks per Netzwerk-Dateisystemen wie NFS4 einhÀngen. Das zu benutzende Dateisystem wird mit dem <tt>-t</tt> Parameter übergeben, die Zieladresse mit dem <tt>-p</tt> Parameter. Als Dateisystem kânnen alle unter <span class="path">/system/add-ons/kernel/file_system</span> (bzw. dessen Entsprechungen unter <span class="path">~/config</span> oder "<span class="path">non-packaged</span>") gelisteten benutzt werden. Außerdem muss ein Verzeichnis als EinhÀngepunkt angelegt werden. Ein Beispiel:</p>
<pre class="terminal">mkdir -p /DiskStation
mount -t nfs4 -p "192.168.178.3:volume1" /DiskStation</pre></td></tr>
<tr><td><p><span class="cli">open</span></p></td><td style="width:10px;"> </td>
		<td valign="top"><p><span class="cli">open</span> ist ein nΓΌtzliches kleines Tool. Es ΓΆffnet jedwede Datei mit ihrer bevorzugten Anwendung oder startet eine bestimmte Anwendung anhand ihrer Signatur ohne ihren genauen Pfad kennen zu mΓΌssen. Das funktioniert auch mit URLs und sogar den "virtuellen" Verzeichnissen, <tt>.</tt> fΓΌr das aktuelle Verzeichnis und <tt>..</tt> fΓΌr das ΓΌbergeordnete, die dann im Tracker geΓΆffnet werden.</p>
</td></tr>
<tr><td><p><span class="cli">ramdisk</span></p></td><td style="width:10px;"> </td>
		<td valign="top"><p>Eine Ramdisk lÀsst sich als eine Art Festplatte verstehen die ausschließlich im Speicher des Rechners lÀuft. Dadurch ist sehr schnell, aber auch vergÀnglich, da ihr Inhalt verschwindet sobald der Rechner ausgeschaltet wird, er abstürzt oder der Strom ausfÀllt.<br />
Um eine Ramdisk mit 1 GiB Grâße zu erzeugen, sie auf den Namen "RAMses" zu formatieren und einzuhÀngen, tippt man folgendes ins Terminal, bzw. macht ein Skript daraus:</p>
<pre class="terminal">ramdisk create -s 1gb
mkfs -q -t bfs /dev/disk/virtual/ram/0/raw RAMses
mountvolume RAMses</pre>
<p>Achtung: Erzeugt man eine Ramdisk, gibt der <span class="cli">ramdisk</span> Befehl deren Pfad aus. Erzeugt man mehrere Ramdisks, Γ€ndert sich der Pfad <span class="path">/dev/disk/virtual/ram/0/raw</span> !</p>
<p>Um den Inhalt zu behalten, zumindest sofern kein Unglück wie ein Stromausfall geschieht, lÀsst sich eine Ramdisk auch so einrichten, dass sie eine Imagedatei auf der Festplatte benutzt. Dazu muss man eine Datei mit einer entsprechenden Grâße zur Verfügung stellen, von der bei jedem Start der Ramdisk gelesen und beim AushÀngen geschrieben wird. So erzeugt man eine 500 MiB große Datei "RAMimage" und formatiert sie:</p>
<pre class="terminal">dd if=/dev/zero of=RAMimage bs=500M count=1
mkfs -q -t bfs /dev/disk/virtual/ram/0/raw RAMimage</pre>
<p>Ab jetzt lΓ€sst sich diese Ramdisk so starten:</p>
<pre class="terminal">ramdisk create RAMimage
mountvolume RAMimage</pre>
<p>Dabei ist es Γ€ußerst wichtig die Ramdisk immer sauber auszuhΓ€ngen, entweder im Tracker oder per <span class="cli">unmount /RAMimage</span>. Ansonsten werden die Γ„nderungen nicht zurΓΌck in die Imagedatei geschrieben!</p>
</td></tr>
</table>
</div>
</div>

<div class="nav">
<div class="inner"><span>
 «  <a href="list-cli-apps.html">Liste aller Konsolenprogramme</a> 
::Β Β <a href="../applications.html#cli-apps" class="uplink">Anwendungen</a>Β 
</span></div>
</div>

</body>
</html>