Haiku 独自のコマンドラインアプリケーション
場所: | /boot/system/bin/ /boot/system/non-packaged/bin/ ~/config/bin/ ~/config/non-packaged/bin/ |
Haiku に標準装備されているすべてのコマンドラインアプリケーションは、/boot/system/bin/ の中にあります。ユーザー自身の、または追加でインストールしたコマンドラインアプリケーションは同様にそこにあるか、hpkg パッケージからインストールされているなら、~/config/bin/ に現れるでしょう。これらはまた、/boot/system/non-packaged/bin/ あるいは、~/config/non-packaged/bin/ に置けます。これらすべてのパスは PATH 環境変数の一部なので、コマンドは自動的に見つかります。
以下は、Haiku 独自のコマンドラインアプリケーションの完全なリストではありません。試しに、もっとも有用な一部のコマンドを単に強調しているだけです。bin/ フォルダーにあるものをユーザー自身で少し調査することを促します。コマンドを --help 引数を付けて実行すると、コマンドの使い方とさまざまなオプションについて表示します。
属性に関するコマンド: listattr, catattr、addattr、rmattr、copyattr
これらのコマンドは、ファイル属性を表示、出力、追加、および削除するために使用します。現在のところ、これらのメタデータは BFS で初期化されたボリュームでのみ使用できることに注意してください。BFS 以外のファイルシステムにファイルを移動させると、すべての属性が失われてしまいます!
これらのコマンドは、ターミナルでの属性のトピックで解説しています。
インデックスに関するコマンド: lsindex, mkindex, reindex, rmindex
これらのコマンドによって、インデックスの一覧表示やインデックスの生成・再生成、BFS のインデックスへ結びつけられた属性の削除が行えます。各ボリュームは固有のインデックスを保持しています。ファイルをあるボリュームから別のボリュームへコピーするときには、この点に注意してください。
これらのコマンドは、インデックスのトピックで解説しています。
パッケージ管理に関するコマンド: package, pkgman
package コマンドは、HPKG パッケージを管理するのに用いられます。アプリケーションのインストール の記事を見て、基礎の基礎について学んでください。いわゆる recipe から自動的にパッケージをビルドするためには、通常、haikuporter というツールが使われます。
pkgman は、パッケージの検索、インストール、更新、およびアンインストールに使われるツールです。パッケージリポジトリは、追加、削除、およびパッケージリストのリフレッシュができます。full-sync パラメーターと共に実行すると、特別な種類の更新が行われます。それはより積極的で、必要であればパッケージのダウングレードまたは削除も行います。
パラメーターについて詳しくは、"--help" を追加して実行してください。例. pkgman search --help
スクリプト処理に役立つコマンド
以下では、スクリプト処理 (Bash とスクリプト処理のトピックも併せて参照ください) に対して特に便利なコマンドラインツールを紹介します。
alert | alert は既定のアイコンと説明文、および 3 つのボタンの付いた典型的な警告ウィンドウを表示します。このコマンドは、クリックされたボタンのタイトルと終了ステータス (0 から始まります) を返します。たとえば、下図は次の 1 行で作成されます: alert --idea "FantasticApp(tm) installed successfully! \ Would you like a link to it?" "On Desktop" "In Deskbar" "No thanks" | |
filepanel | filepanel はファイルの読み込み / 書き込みパネルを表示して、ユーザーがファイルや場所を選択できるようにします。戻り値として選択されたファイルまたはフォルダーのパスが得られます。既定のディレクトリを指定したり、ウィンドウタイトルを設定したり、ファイルを保存する際の既定のファイル名および許可するファイルタイプを指定したりするための引数がいくつか利用できます。下図は次のコマンドを実行した場合の例です: filepanel -s -t "Save your logfile" -d ~/config/settings -n Fantastic.log | |
hey | hey は、BMessage をアプリケーションに送信し、アプリケーションからの返信を出力する小さなヘルパーツールです。それは、アプリケーションスクリプティングに使用されます。つまり、あるプログラムを、スクリプトまたはコマンドラインから "リモートコントロール" します。使い方はすこし複雑です... Humdinger 氏の ブログへの投稿 が良い入門書となります。また、Scot Hacker 氏の BeOS Bible のおかげで、Chris Herborth によるさらに広範囲の hey チュートリアルがあります。 | |
notify | notify は、メッセージ入りの通知パネルを表示します。notify --help を呼び出すと、さまざまなパラメーターが表示されます。また、通知は何らかのアクションの進捗表示にも使用されます。その際、messageID を設定して、進捗 (0.0 と 1.0 の間の浮動小数点値で、% として表示されます) を更新するときに常に使用することが大切です。そうしないと、設定されたタイムアウトより早く更新した場合、いくつかの通知パネルが表示されます。 notify --type progress --group "--group" --title "--title" --icon /boot/home/bebook.hvif \ --messageID MyMessageID --progress .75 "Keep waiting" | |
query | query は、検索 (Find) パネルのコマンドラインバージョンです。ちなみに、検索語句をすばやく生成するには、検索パネルでクエリを生成し、 に切り替えて先頭と末尾にダブルクオート (") を追加し、その文字列全体をターミナルまたはスクリプトの query コマンドの後に貼り付けます。 | |
waitfor | waitfor は特定のアプリケーションやスレッドの開始および終了を待つのに良い方法です。 |
ほかのコマンド
checkfs | checkfs はファイルシステムのエラーをチェックする重要なツールです。実行は単に /Haiku のようなボリューム名またはデバイス名を追加するだけです。すると、すべてのファイルを走査して、可能なら不整合を修復します。 | |
desklink | desklink を使用すると、任意のファイルやフォルダー、クエリ、アプリケーションのアイコンを Deskbar トレイにインストールできます。特別なアクションを実行するためにアイコンを右クリックしたときに表示されるコンテキストメニューを定義するオプションもあります。例として、次のようにいろいろなオプション (1 行目の "\" はターミナルでの改行を表します) を付けて、スクリーンショット (screenshot) を Deskbar に追加してみましょう。 desklink "cmd=Active window (2s):/bin/screenshot --window --border --delay 2" \ "cmd=Remove replicant:desklink --remove=screenshot" /bin/screenshot | |
diskimage | diskimage は、普通のファイルをディスクデバイスとして登録します。たとえば、Haiku anyboot イメージを登録して、Tracker 中にマウントし、インストーラーのソースとして使う前にそこに存在するファイルの編集 / コピー / 削除ができます。 | |
launch_roster | launch_daemon は、起動時に各種サービスやアプリケーションを開始します。いくつかの物に対しては、終了後再起動するように教えられています。それを望まないのであれば – たぶん、たとえば修正した Tracker をテストしたい場合、launch_roster を使って、アプリケーションの終了前に再起動を停止 (stop) させます。同様に、それを再び起動 (start) することや、それについての情報 (info) を得ることもできます。引数がないと、launch_roster はコントロールしているすべてのアプリ / サービスの一覧を出力します。 launch_roster stop x-vnd.be-tskb | |
mountvolume | mountvolume は、ローカルのパーティションやディスクをマウントするのに多くの人に好まれます。なぜなら、使い方がとても簡単だからです。パーティション名とともに呼び出して、それでおしまいです。追加のオプションについては、--help を試してください。 さらに、mount は、NFS4 のようなネットワークファイルシステムを使うことで、リモートディスクをマウントできます。-t 引数で使用するファイルシステムを指定し、-p 引数でリモートの場所を指定します。ファイルシステム引数については、/system/add-ons/kernel/file_system (および、もちろん、~/config または "non-packaged" 以下の対応するファイル階層) で見つかるものをすべて使用できます。また、マウントポイントとしてフォルダーを作成する必要があります。以下に例を示します。 mkdir -p /DiskStation mount -t nfs4 -p "192.168.178.3:volume1" /DiskStation | |
open | open は非常に便利な小さいツールです。このコマンドを使うと任意のファイルを適切なアプリケーションで開け、また、正確なパスを知らなくてもシグネチャーを用いて特定のアプリケーションを起動できます。このコマンドは URL や「仮想的な」ディレクトリを用いることさえできます。ディレクトリの場合は . で現在のディレクトリを、.. で親ディレクトリを表すことができ、そのフォルダーを Tracker 内に開きます。 | |
ramdisk | RAM ディスク (ramdisk) は、コンピューターのメモリ内だけで動くハードディスクのようなものです。メモリ内で動くことは、RAM ディスクを非常に高速にしますが、しかしまた揮発性にもします。それは、コンピューターをシャットダウンするか、クラッシュするか、停電を経験することでその内容は消えてなくなるからです。 ramdisk create -s 1gb mkfs -q -t bfs /dev/disk/virtual/ram/0/raw RAMses mountvolume RAMses 注意: RAM ディスクを作成する際、ramdisk コマンドは RAM ディスクへのパスを出力します。複数のラムディスクを作成する場合、そのパス /dev/disk/virtual/ram/0/raw は変化します! 少なくとも停電などの災難が襲わない場合、内容を保存するために、RAM ディスクはハードディスク上のイメージを読み書きできるよう設定できます。そのためには、RAM ディスクの起動毎に読みだし、アンマウント時に書き込む、望ましいサイズのファイルを提供する必要があります。"RAMimage" という 500MiB のイメージを作成してフォーマットするには、以下のようにします: dd if=/dev/zero of=RAMimage bs=500M count=1 mkfs -q -t bfs /dev/disk/virtual/ram/0/raw RAMimage 今後は、以下のように RAM ディスクを開始します: ramdisk create RAMimage mountvolume RAMimage Tracker からか、unmount /RAMimage のどちらかで、RAM ディスクを常に正常にアンマウントすることはとても重要です。そうしなければ、変更がイメージファイルに書き込まれないでしょう! | |
screenmode | このコマンドはスクリーンモード (解像度、色深度、リフレッシュレート) を設定します。通常それらは画面プリファレンスで設定します。もう一つの引数がショートカットプリファレンスとの組み合わせでこのコマンドを便利にします。たとえば、 --brightness +3 は明るさを "3" に上げます。キーコンビネーションで明るさを変化させるのに便利です。 | |
setvolume | このコマンドはマスター出力のボリュームを設定します。dB で値を指定するほかに、--togglemute, --mute または --unmute でき、ボリュームの --increase または --decrease もできます。ショートカットプリファレンスでキーコンビネーションを割り当てると便利です。 |