cli-app-icon_64.pngHaiku专用命令行程序

位置:/boot/system/bin/
~/config/bin/
~/config/non-packaged/bin/


所有 Haiku 附带的命令行程序都放置在 /boot/system/bin 目录。您自己的或额外安装的通过 .hpkg 安装的命令行程序将放置在 ~/config/bin 目录。或者您也可以将它们放置在 ~/config/non-packaged/bin/。所有这些位置都是 PATH 变量的一部分,并且可以自动被发现。
下面给出的列表并没有包含所有的用于 Haiku 的命令行程序,它只是给出了最常用的几个以方便您的尝试使用。您需要勇敢地去探索 bin/ 文件夹中的命令。以 --help 参数来运行命令行程序,这样会给出该命令的用途和相应的参数选项。

index 关于文件属性的命令: listattr, catattr, addattr, rmattr, copyattr

这些命令用于显示,读取,添加和删除文件的属性;需要注意的是,这些元数据仅仅可用于BFS格式的磁盘和分区,而且移动文件到其他的文件系统将会把其相关的属性移除!
上面的命令在终端中的属性会有相关的描述。

index 关于文件索引的命令:lsindex, mkindex, reindex, rmindex

利用这些命令,您可以对BFS的索引属性进行排序,新建,重新索引和删除等操作。由于每个卷都有自己独立的索引,所以在不同的卷之间拷贝文件时尤其要注意。
上述这些命令在索引主题中会有详细的描述。

index 有用的脚本命令

下面是一些非常有用的命令行工具,尤其适用于撰写脚本(详情请参阅 Bash和脚本)。

alert

alert 该命令将会打开一个带有预定义图标,说明注记和三个按钮的典型警示窗口,并且在终端中返回已选中按钮的标题和退出状态(以0开始)。例如,下面就是一个例子:

alert --idea "FantasticApp(tm) installed successfully!
Would you like a link to it?" "On Desktop" "In Deskbar" "No thanks"

cli-alert.png

filepanel

filepanel 显示一个装载或者保存文件的面板,并且让用户选择相应的文件和位置。同时您将会获取到一个文件或者文件的路径作为返回值。并且还有几个参数可供使用,例如,设置起始目录,窗体的标题,默认保存的文件名。下面是一个例子:

filepanel -s -t "Save your logfile" -d ~/config/settings -n Fantastic.log

cli-alert.png

hey

hey 是一个小巧的帮助工具,可以发送 BMessages 给应用,并打印出回复结果。它可以用于应用脚本,例如,通过命令行或者脚本 “远程控制” 一个程序。它的使用会有一点复杂。非常感谢 Scot Hacker 的 BeOS 圣经,其中有一个 Chris Herborth 编写的 hey 入门指南

query

query 是查询面板的命令行版本。实际上,一个创建搜索项目的快速方式是在搜索面板创建一个查询,选择 by formula ,在查询词的前后添加双引号("),然后在终端或者脚本中的 query 命令之后粘贴所要查找的整个查询词。

waitfor

waitfor 是一个用于等待特殊的程序或者进程启动或者终止的非常好的方式。

index 其他命令

checkfs

checkfs是一个非常重要的工具,主要用于检查文件系统中的错误。只需在该命令之后添加磁卷,如 /Haiku 或者设备名,它就会遍历所有的文件,然后修复所有可能出现不一致的地方。

desklink

desklink可以为任何文件,文件夹,查询或者程序在桌面栏托盘中安装图标。它也可以为相应的图标提供一个右键菜单。例如,尝试下面的脚本,为 Screenshot 添加不同的选项 (第一行中的"\" 用于在终端中进行换行):

desklink "cmd=Active window (2s):/boot/system/apps/Screenshot --window --border --delay 2" \
"cmd=Remove replicant:desklink --remove=Screenshot" /boot/system/apps/Screenshot

cli-alert.png

diskimage

diskimage可用于注册普通文件作为磁盘设备。例如,您可以注册 Haiku anyboot 镜像,将其挂载在文件浏览器中,并且可以在安装器使用之前,编辑和移动其中的文件。

open

open是一个非常小巧的工具。通过它,您可以以默认的程序打开任何文件,或者利用程序的签名还打开该程序而无需知道它的路径。它也可以用于打开网页,甚至“虚拟” 的目录, . 用于当前目录或者 .. 用于上层目录,并且可以在 Tracker 中打开相应的文件夹。