本节的翻译还未完成。在未完成之前,所有的未完成部分都将使用英语原文。

cli-app-icon_64.png命令行程序

位置:/boot/system/bin
/boot/common/bin
~/config/bin


所有 Haiku 附带的命令行程序都放置在 /boot/system/bin 或者 /boot/common/bin 目录。您自己的或另行安装的命令行程序应该放置在 ~/config/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

waitfor

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

query

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

index 其他命令

checkfs

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

open

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

desklink

desklink can install an icon for any file, folder, query or application in the Deskbar tray. It also offers the option to provide a context menu when right-clicking an icon to execute special actions. As an example, try this to add the commandline app screenshot with various options (the "\" in the first line is just for the line break in Terminal):

 desklink "cmd=Active window (2s):/bin/screenshot --window --border --delay 2" \
"cmd=Remove replicant:desklink --remove=screenshot" /bin/screenshot

cli-alert.png