Haiku专用命令行程序
位置: | /boot/system/bin/ /boot/system/non-packaged/bin/ ~/config/bin/ ~/config/non-packaged/bin/ |
All commandline applications shipped with Haiku are in /boot/system/bin/. Your own or additionally installed commandline apps will appear there as well, or in ~/config/bin/, when installed from a .hpkg package. Otherwise you can put them into /boot/system/non-packaged/bin/ or ~/config/non-packaged/bin/. All these locations are part of the PATH variable and are therefore automatically found.
The following isn't an exhaustive list of all Haiku-specific CLI apps, it serves just to highlight a few of the most useful to give you a taste. Feel encouraged to explore what's in the bin/ folders on your own a bit. Executing an app with the parameter --help shows the usage of the command and all its various options.
关于文件属性的命令: listattr, catattr, addattr, rmattr, copyattr
这些命令用于显示,读取,添加和删除文件的属性;需要注意的是,这些元数据仅仅可用于BFS格式的磁盘和分区,而且移动文件到其他的文件系统将会把其相关的属性移除!
上面的命令在终端中的属性会有相关的描述。
关于文件索引的命令:lsindex, mkindex, reindex, rmindex
利用这些命令,您可以对BFS的索引属性进行排序,新建,重新索引和删除等操作。由于每个卷都有自己独立的索引,所以在不同的卷之间拷贝文件时尤其要注意。
上述这些命令在索引主题中会有详细的描述。
Relating to package management: package, pkgman
The package command is used to manage HPKG packages. Have a look at the article Installing applications to learn the very basics. Usually the tool haikuporter is used to create so-called recipes for automatic package building.
pkgman is used to search, install, update and uninstall packages. Package repositories can be added, dropped and their package lists refreshed. A special kind of update is invoked with the parameter full-sync: It is more aggressive and also downgrades or removes packages, if necessary.
For more details on a parameter, append "--help", e.g. pkgman search --help.
有用的脚本命令
下面是一些非常有用的命令行工具,尤其适用于撰写脚本(详情请参阅 Bash和脚本)。
alert | alert 该命令将会打开一个带有预定义图标,说明注记和三个按钮的典型警示窗口,并且在终端中返回已选中按钮的标题和退出状态(以0开始)。例如,下面就是一个例子: 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 是一个小巧的帮助工具,可以发送 BMessages 给应用,并打印出回复结果。它可以用于应用脚本,例如,通过命令行或者脚本 “远程控制” 一个程序。它的使用会有一点复杂。非常感谢 Scot Hacker 的 BeOS 圣经,其中有一个 Chris Herborth 编写的 hey 入门指南。 | |
query | query 是查询面板的命令行版本。实际上,一个创建搜索项目的快速方式是在搜索面板创建一个查询,选择 ,在查询词的前后添加双引号("),然后在终端或者脚本中的 query 命令之后粘贴所要查找的整个查询词。 | |
waitfor | waitfor 是一个用于等待特殊的程序或者进程启动或者终止的非常好的方式。 |
其他命令
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 | |
diskimage | diskimage可用于注册普通文件作为磁盘设备。例如,您可以注册 Haiku anyboot 镜像,将其挂载在文件浏览器中,并且可以在安装器使用之前,编辑和移动其中的文件。 | |
mountvolume | mountvolume is preferred by many to mount local partitions and disks, because its usage is so easy: just call it with the name of the partition and you're done. Try --help for more options. mount can additionally mount remote disks by using a network filesystem, like NFS4. You specify the used filesystem with the -t parameter and the remote location with the -p parameter. As filesystem parameter you can use anything you find in /system/add-ons/kernel/file_system (and corresponding file hierarchies under ~/config or "non-packaged", of course). You also have to create a folder as mountpoint. Here's an example: mkdir -p /DiskStation mount -t nfs4 -p "192.168.178.3:volume1" /DiskStation | |
open | open是一个非常小巧的工具。通过它,您可以以默认的程序打开任何文件,或者利用程序的签名还打开该程序而无需知道它的路径。它也可以用于打开网页,甚至“虚拟” 的目录, . 用于当前目录或者 .. 用于上层目录,并且可以在 Tracker 中打开相应的文件夹。 |