haiku/docs/userguide/jp/applications/cli-apps.html
2020-05-30 10:43:56 +01:00

178 lines
20 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

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

<?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="jp" xml:lang="jp">
<head>
<!--
*
* Copyright 2010-2018, Haiku. All rights reserved.
* Distributed under the terms of the MIT License.
*
* Authors:
* Humdinger <humdingerb@gmail.com>
* Translators:
* Humdinger
* log-1
* mt
*
-->
<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>コマンドラインアプリケーション</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">日本語&nbsp;<span class="dropdown-caret">&#9660;</span></li>
<li><a href="../../id/applications/cli-apps.html">Bahasa Indonesia</a></li>
<li><a href="../../ca/applications/cli-apps.html">Català</a></li>
<li><a href="../../de/applications/cli-apps.html">Deutsch</a></li>
<li><a href="../../en/applications/cli-apps.html">English</a></li>
<li><a href="../../es/applications/cli-apps.html">Español</a></li>
<li><a href="../../fr/applications/cli-apps.html">Français</a></li>
<li><a href="../../fur/applications/cli-apps.html">Furlan</a></li>
<li><a href="../../it/applications/cli-apps.html">Italiano</a></li>
<li><a href="../../hu/applications/cli-apps.html">Magyar</a></li>
<li><a href="../../pl/applications/cli-apps.html">Polski</a></li>
<li><a href="../../pt_PT/applications/cli-apps.html">Português</a></li>
<li><a href="../../pt_BR/applications/cli-apps.html">Português (Brazil)</a></li>
<li><a href="../../ro/applications/cli-apps.html">Română</a></li>
<li><a href="../../sk/applications/cli-apps.html">Slovenčina</a></li>
<li><a href="../../fi/applications/cli-apps.html">Suomi</a></li>
<li><a href="../../sv_SE/applications/cli-apps.html">Svenska</a></li>
<li><a href="../../tr/applications/cli-apps.html">Türkçe</a></li>
<li><a href="../../zh_CN/applications/cli-apps.html"> 中文 [中文]</a></li>
<li><a href="../../ru/applications/cli-apps.html">Русский</a></li>
<li><a href="../../uk/applications/cli-apps.html">Українська</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 特有のコマンドラインアプリケーション</h2>
<table summary="layout" border="0" cellspacing="0" cellpadding="2">
<tr><td>場所:</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>Haiku に標準装備されているすべてのコマンドラインアプリケーションは、<span class="path">/boot/system/bin/</span> の中にあります。ユーザー自身の、または追加でインストールしたコマンドラインアプリケーションは同様にそこにあるか、hpkg パッケージからインストールされているなら、<span class="path">~/config/bin/</span> に現れるでしょう。これらはまた、<span class="path">/boot/system/non-packaged/bin/</span> あるいは、<span class="path">~/config/non-packaged/bin/</span> に置けます。これらすべてのパスは PATH 環境変数の一部なので、コマンドは自動的に見つかります。<br />
以下は、Haiku 特有のコマンドラインアプリケーションの完全なリストではありません。味わってもらうために、もっとも有用な一部のコマンドを単に強調しているだけです。<span class="path">bin/</span> フォルダーにあるものをユーザー自身で少し調査することを促します。コマンドを <tt>--help</tt> 引数を付けて実行すると、コマンドの使い方とさまざまなオプションについて表示します。</p>
<h3><a href="#"><img src="../../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="cli-attributes" name="cli-attributes">属性に関するコマンド: <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>これらのコマンドは、ファイル属性を表示、出力、追加、および削除するために使用します。現在のところ、これらのメタデータは BFS で初期化されたボリュームでのみ使用できることに注意してください。BFS 以外のファイルシステムにファイルを移動させると、すべての属性が失われてしまいます!<br />
これらのコマンドは、<a href="../attributes.html#attributes-terminal">ターミナルでの属性</a>のトピックで解説しています。</p>
<h3><a href="#"><img src="../../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="cli-index" name="cli-index">インデックスに関するコマンド: <span class="cli">lsindex</span>, <span class="cli">mkindex</span>, <span class="cli">reindex</span>, <span class="cli">rmindex</span></a></h3>
<p>これらのコマンドによって、インデックスの一覧表示やインデックスの生成・再生成、BFS のインデックスへ結びつけられた属性の削除が行えます。各ボリュームは固有のインデックスを保持しています。ファイルをあるボリュームから別のボリュームへコピーするときには、この点に注意してください。<br />
これらのコマンドは、<a href="../index.html">インデックス</a>のトピックで解説しています。</p>
<h3><a href="#"><img src="../../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="cli-pkg" name="cli-pkg">パッケージ管理に関するコマンド: <span class="cli">package</span>, <span class="cli">pkgman</span></a></h3>
<p><span class="cli">package</span> コマンドは、HPKG パッケージを管理するのに用いられます。<a href="https://www.haiku-os.org/guides/daily-tasks/install-applications">アプリケーションのインストール</a> の記事を見て、基礎の基礎について学んでください。いわゆる recipe から自動的にパッケージをビルドするためには、通常、<a href="https://github.com/haikuports/haikuports/wiki">haikuporter</a> というツールが使われます。</p>
<p><span class="cli">pkgman</span> は、パッケージの検索、インストール、更新、およびアンインストールに使われるツールです。パッケージリポジトリは、追加、削除、およびパッケージリストのリフレッシュができます。<tt>full-sync</tt> パラメーターと共に実行すると、特別な種類の更新が行われます。それはより積極的で、必要であればパッケージのダウングレードまたは削除も行います。<br />
パラメーターについて詳しくは、"--help" を追加して実行してください。例. <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">スクリプト処理に役立つコマンド</a></h3>
<p>以下では、スクリプト処理 (<a href="../bash-scripting.html">Bash とスクリプト処理</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> は既定のアイコンと説明文、および 3 つのボタンの付いた典型的な警告ウィンドウを表示します。このコマンドは、クリックされたボタンのタイトルと終了ステータス (0 から始まります) を返します。たとえば、下図は次の 1 行で作成されます:</p>
<pre class="terminal">alert --idea "FantasticApp(tm) installed successfully! \
Would you like a link to it?" "On Desktop" "In Deskbar" "No thanks"</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> はファイルの読み込み / 書き込みパネルを表示して、ユーザーがファイルや場所を選択できるようにします。戻り値として選択されたファイルまたはフォルダーのパスが得られます。既定のディレクトリを指定したり、ウィンドウタイトルを設定したり、ファイルを保存する際の既定のファイル名および許可するファイルタイプを指定したりするための引数がいくつか利用できます。下図は次のコマンドを実行した場合の例です:</p>
<pre class="terminal">filepanel -s -t "Save your logfile" -d ~/config/settings -n Fantastic.log</pre>
<p><img src="../images/apps-images/cli-filepanel.png" alt="cli-filepanel.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> は、BMessage をアプリケーションに送信し、アプリケーションからの返信を出力する小さなヘルパーツールです。それは、アプリケーションスクリプティングに使用されます。つまり、あるプログラムを、スクリプトまたはコマンドラインから "リモートコントロール" します。使い方はすこし複雑です... <a href="https://www.haiku-os.org/blog/humdinger/2017-11-05_scripting_the_gui_with_hey/">Humdinger 氏の ブログへの投稿</a> が良い入門書となります。また、Scot Hacker 氏の BeOS Bible のおかげで、Chris Herborth によるさらに広範囲の <a href="http://www.birdhouse.org/beos/bible/bos/ch_scripting6.html">hey チュートリアル</a>があります。</p>
</td></tr>
<tr><td><p><span class="cli">notify</span></p></td><td style="width:10px;"> </td>
<td valign="top"><p><span class="cli">notify</span> は、メッセージ入りの通知パネルを表示します。<span class="cli">notify --help</span> を呼び出すと、さまざまなパラメーターが表示されます。また、通知は何らかのアクションの進捗表示にも使用されます。その際、<i>messageID</i> を設定して、進捗 (0.0 と 1.0 の間の浮動小数点値で、% として表示されます) を更新するときに常に使用することが大切です。そうしないと、設定されたタイムアウトより早く更新した場合、いくつかの通知パネルが表示されます。<br />
例:</p>
<pre class="terminal">notify --type progress --group "--group" --title "--title" --icon /boot/home/bebook.hvif \
--messageID MyMessageID --progress .75 "Keep waiting"</pre>
<p><img src="../images/apps-images/cli-notification.png" alt="cli-notification.png" /></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> は、検索 (Find) パネルのコマンドラインバージョンです。ちなみに、検索語句をすばやく生成するには、検索パネルでクエリを生成し、<span class="menu">式で検索 (by formula)</span> に切り替えて先頭と末尾にダブルクオート (<tt>"</tt>) を追加し、その文字列全体をターミナルまたはスクリプトの <span class="cli">query</span> コマンドの後に貼り付けます。</p></td></tr>
<tr><td><p><span class="cli">waitfor</span></p></td><td style="width:10px;"> </td>
<td valign="top"><p><span class="cli">waitfor</span> は特定のアプリケーションやスレッドの開始および終了を待つのに良い方法です。</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">ほかのコマンド</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> はファイルシステムのエラーをチェックする重要なツールです。実行は単に <span class="path">/Haiku</span> のようなボリューム名またはデバイス名を追加するだけです。すると、すべてのファイルを走査して、可能なら不整合を修復します。</p>
</td></tr>
<tr><td><p><span class="cli">desklink</span></p></td><td style="width:10px;"> </td>
<td valign="top"><p><span class="cli">desklink</span> を使用すると、任意のファイルやフォルダー、クエリ、アプリケーションのアイコンを Deskbar トレイにインストールできます。特別なアクションを実行するためにアイコンを右クリックしたときに表示されるコンテキストメニューを定義するオプションもあります。例として、次のようにいろいろなオプション (1 行目の "<tt>\</tt>" はターミナルでの改行を表します) を付けて、<span class="app">スクリーンショット (screenshot) </span> を Deskbar に追加してみましょう。</p>
<pre class="terminal">desklink "cmd=Active window (2s):/bin/screenshot --window --border --delay 2" \
"cmd=Remove replicant: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><span class="cli">diskimage</span> は、普通のファイルをディスクデバイスとして登録します。たとえば、Haiku anyboot イメージを登録して、Tracker 中にマウントし、インストーラーのソースとして使う前にそこに存在するファイルの編集 / コピー / 削除ができます。</p>
</td></tr>
<tr><td><p><span class="cli">launch_roster</span></p></td><td style="width:10px;"> </td>
<td valign="top"><p>launch_daemon は、起動時に各種サービスやアプリケーションを開始します。それらのいくつかに対しては、終了後再起動するように指示されています。それを望まないのであれば たぶん、たとえば修正した Tracker をテストする場合、<span class="cli">launch_roster</span> を使って、アプリケーションの終了前に再起動を停止 <tt>(stop)</tt> させます。同様に、それを再び起動 <tt>(start)</tt> することや、それについての情報 <tt>(info)</tt> を得ることもできます。引数 <tt>log</tt> は、launch_daemon に関連するすべてのイベントのログを出力します。<br />引数がないと、<span class="cli">launch_roster</span> はコントロールしているすべてのアプリ / サービスの一覧を出力します。<br />
例として、以下は Deskbar の再起動を停止します。</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> は、ローカルのパーティションやディスクをマウントするのに多くの人に好まれます。なぜなら、使い方がとても簡単だからです。パーティション名とともに呼び出して、それでおしまいです。追加のオプションについては、<tt>--help</tt> を試してください。</p>
<p>さらに、<span class="cli">mount</span> は、NFS4 のようなネットワークファイルシステムを使うことで、リモートディスクをマウントできます。<tt>-t</tt> 引数で使用するファイルシステムを指定し、<tt>-p</tt> 引数でリモートの場所を指定します。ファイルシステム引数については、<span class="path">/system/add-ons/kernel/file_system</span> (および、もちろん、<span class="path">~/config</span> または "<span class="path">non-packaged</span>" 以下の対応するファイル階層) で見つかるものをすべて使用できます。また、マウントポイントとしてフォルダーを作成する必要があります。以下に例を示します。</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> は非常に便利な小さいツールです。このコマンドを使うと任意のファイルを適切なアプリケーションで開け、また、正確なパスを知らなくてもシグネチャーを用いて特定のアプリケーションを起動できます。このコマンドは URL や「仮想的な」ディレクトリを用いることさえできます。ディレクトリの場合は <tt>.</tt> で現在のディレクトリを、<tt>..</tt> で親ディレクトリを表すことができ、そのフォルダーを Tracker 内に開きます。</p>
</td></tr>
<tr><td><p><span class="cli">ramdisk</span></p></td><td style="width:10px;"> </td>
<td valign="top"><p>RAM ディスク (ramdisk) は、コンピューターのメモリ内だけで動くハードディスクのようなものです。メモリ内で動くことは、RAM ディスクを非常に高速にしますが、しかしまた揮発性にもします。それは、コンピューターをシャットダウンするか、クラッシュするか、停電を経験することでその内容は消えてなくなるからです。<br />
1 GiB の RAM ディスクを作成し、"RAMses" の名前でフォーマットし、マウントするには、端末で以下を入力するかスクリプトを作成します:</p>
<pre class="terminal">ramdisk create -s 1gb
mkfs -q -t bfs /dev/disk/virtual/ram/0/raw RAMses
mountvolume RAMses</pre>
<p>注意: RAM ディスクを作成する際、<span class="cli">ramdisk</span> コマンドは RAM ディスクへのパスを出力します。複数のラムディスクを作成する場合、そのパス <span class="path">/dev/disk/virtual/ram/0/raw</span> は変化します!</p>
<p>少なくとも停電などの災難が襲わない場合、内容を保存するために、RAM ディスクはハードディスク上のイメージを読み書きできるよう設定できます。そのためには、RAM ディスクの起動毎に読みだし、アンマウント時に書き込む、望ましいサイズのファイルを提供する必要があります。"RAMimage" という 500MiB のイメージを作成してフォーマットするには、以下のようにします:</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>今後は、以下のように RAM ディスクを開始します:</p>
<pre class="terminal">ramdisk create RAMimage
mountvolume RAMimage</pre>
<p>Tracker からか、<span class="cli">unmount /RAMimage</span> のどちらかで、RAM ディスクを常に正常にアンマウントすることはとても重要です。そうしなければ、変更がイメージファイルに書き込まれないでしょう!</p></td></tr>
</table>
</div>
</div>
<div class="nav">
<div class="inner"><span>
« <a href="list-cli-apps.html">コマンドラインアプリケーションの一覧</a>
:: <a href="../applications.html#cli-apps" class="uplink">アプリケーション</a>
</span></div>
</div>
</body>
</html>