Service Registry 3 2005Q4 管理指南

使用管理工具命令

下面几个部分将介绍可用的命令。对于每个命令,选项和操作数的一般形式和说明遵守以下印刷约定:

其他内容是运行命令时必须包括的字符文本。

add association

向 Registry 中添加 Association 对象。

一般形式

add association -type association-type sourceURN targetURN

说明

add association 命令用于向 Registry 中添加指定类型的 Association 对象。您可以使用以下类型:

选项

-type

Association 对象的类型。

操作数

sourceURN

源对象的 URN。

targetURN

目标对象的 URN。

示例

以下命令(全都在一行)将在具有两个指定 URN 的对象之间创建 RelatedTo 关系。


admin> add association -type RelatedTo 
urn:uuid:ab80d8f7-3bea-4467-ad26-d04a40045446 
urn:uuid:7a54bbca-2131-4a49-8ecc-e7b4ac86c4fd

add user

向 Registry 中添加用户。

一般形式

add user [-edit] [-load filename] [-firstname string] [-lastname string] [-middleName string] -alias string -keypass string [-post1.type string] [-post1.city string] [-post1.country string] [- post1.postalcode string] [-post1.stateOrProvince string] [-post1.street string] [-post2.streetNumber string] [-post2.type string] [-post2.city string] [- post2.country string] [-post2.postalcode string] [-post2.stateOrProvince string] [-post2.street string] [-post2.streetNumber string] [-post3.type string] [-post3.city string] [- post3.country string] [-post3.postalcode string] [-post3.stateOrProvince string] [-post3.street string] [-post3.streetNumber string] [-telephone1.type string] [-telephone1.areaCode string] [-telephone1.countryCode string] [-telephone1.extension string] [-telephone1.number string] [- telephone1.URL string] [-telephone2.type string] [-telephone2.areaCode string] [-telephone2.countryCode string] [-telephone2.extension string] [-telephone2.number string] [-telephone2.URL string] [-telephone3.type string] [-telephone3.areaCode string] [-telephone3.countryCode string] [-telephone3.extension string] [-telephone3.number string] [- telephone3.URL string] [-email1.type string] [-email1.address string] [-email2.type string] [-email12address string] [- email3.type string] [-email3.address string]

说明

add user 命令用于添加 User 对象。通常,User 对象至少包含一个 PostalAddressTelephoneNumberEmailAddress 对象。

在命令行中或通过使用 -load 选项指定含有信息的 Java 属性文件来指定有关用户的信息。将按照信息选项和 -load 选项在命令行中显示的顺序求值。例如,您可以在命令行中指定一些属性,从某个属性文件中装入其他属性,然后用后面的命令行选项覆盖该属性文件中的信息。

您最多可以为一个新用户指定三组地址、电话号码和电子邮件地址。如果需要指定更多信息,您可以在以后使用 Web 控制台或 JAXR 来添加。

当您指定地址、电话号码或电子邮件地址时,必须提供针对其类型的值:例如,-emailType OfficeEmail

您可以在命令行中使用简写选项(例如 -fn)以提供每个用户需要的一些通用信息。但是,当您在属性文件中提供信息时,必须使用选项的完整形式。例如,您可以在命令行中使用 -email1.address-emailAddress-email 指定用户的第一个电子邮件地址。但是,当您在属性文件中指定第一个电子邮件地址时,必须使用 email1.address=。由于用户的第二个电子邮件地址只有一个选项,因此在命令行中必须使用 -email2.address,在属性文件中必须使用 email2.address=

如果指定了 -edit 选项,管理工具将启动编辑器,以使您可以编辑新用户的信息。有关详细信息,请参见选项说明。


注 –

使用 -load 装入或使用 -edit 编辑的属性文件使用 IS0-8859-1 字符集,就象所有 Java 属性文件一样。有关如何在属性文件中表示不属于 ISO-8859-1 的字符的详细信息,请参见 java.util.Properties.load(InputStream) 文档。


选项

-edit

使管理工具启动编辑器,以使您可以编辑新用户的信息。计算其他命令行参数之后,该工具将启动编辑器。因此,将启动编辑程序以便求得在命令行或属性文件中指定的所有信息的值。编辑程序必须在不出错的情况下终止,然后命令才能继续执行。管理工具将启动由 set editor 命令指定的编辑器(请参见set);默认情况下,此编辑器为 vi 编辑器。


注 –

在此版本中,-edit 可与 emacsclient 和 NetBeansTM 命令 bin/runide.sh --open 结合使用(但效果不是很好),但还不能与 vi 结合使用。


-load

指定用于指定用户属性的 Java 属性文件。属性名称与 add user 命令选项的长型名称(例如 lastNamepost1.type)相同。

-fn | -firstName

指定用户的名字。

-ln | -lastName

指定用户的姓氏。姓氏是必需的信息,必须在命令行或属性文件中指定姓氏。

-mn | -middleName

指定用户的中间名。

-alias

访问密钥库中的用户证书时使用的别名。此选项是必需的。别名的长度不能少于三个字符。

-keypass

访问密钥库中的用户证书时使用的密码。此选项是必需的。密码的长度不能少于六个字符。

-postalType | -post1.type

第一个 PostalAddress 的类型。类型是必需的信息,必须在命令行或属性文件中指定类型。该值是一个任意字符串(例如 OfficeHome)。

-city | -post1.city

第一个 PostalAddress 的城市。

-country | -post1.country

第一个 PostalAddress 的国家/地区。

-postalCode | -postcode | - zip | -post1.postalcode

第一个 PostalAddress 的邮政编码。

-stateOrProvince | -state | - province | -post1.stateOrProvince

第一个 PostalAddress 的省/自治区/直辖市。

-street | -post1.street

第一个 PostalAddress 的街道名称。

-streetNumber | -number | - -post1.streetNumber

第一个 PostalAddress 的门牌号码。

-post2.type

第二个 PostalAddress 的类型。如果指定了第二个 PostalAddress,则类型是必需的信息,必须在命令行或属性文件中指定类型。该值是一个任意字符串(例如 OfficeHome)。

-post2.city

第二个 PostalAddress 的城市。

-post2.country

第二个 PostalAddress 的国家/地区。

-post2.postalcode

第二个 PostalAddress 的邮政编码。

-post2.stateOrProvince

第二个 PostalAddress 的省/自治区/直辖市。

-post2.street

第二个 PostalAddress 的街道名称。

-post2.streetNumber

第二个 PostalAddress 的门牌号码。

-post3.type

第三个 PostalAddress 的类型。如果指定了第三个 PostalAddress,则类型是必需的信息,必须在命令行或属性文件中指定类型。该值是一个任意字符串(例如 OfficeHome)。

-post3.city

第三个 PostalAddress 的城市。

-post3.country

第三个 PostalAddress 的国家/地区。

-post3.postalcode

第三个 PostalAddress 的邮政编码。

-post3.stateOrProvince

第三个 PostalAddress 的省/自治区/直辖市。

-post3.street

第三个 PostalAddress 的街道名称。

-post3.streetNumber

第三个 PostalAddress 的门牌号码。

-phoneType | -telephone1.type

第一个 TelephoneNumber 的类型。类型是必需的信息,必须在命令行或属性文件中指定类型。该值是一个任意字符串,但您可以指定下面的一种已知类型:BeeperFAXHomePhoneMobilePhoneOfficePhone

-areaCode | -telephone1.areaCode

第一个 TelephoneNumber 的区号。

-countryCode | -telephone1.countryCode

第一个 TelephoneNumber 的国家/地区代码。

-extension | -telephone1.extension

第一个 TelephoneNumber 的分机。

-number | -telephone1.number

第一个 TelephoneNumber 的电话号码后缀(不包括国家/地区代码或区号)。该号码是必需的信息,必须在命令行或属性文件中指定该号码。

-URL | -telephone1.URL

第一个 TelephoneNumber 的 URL(可以在网上拨打此号码的 URL)。

-telephone2.type

第二个 TelephoneNumber 的类型。如果指定了第二个 TelephoneNumber,则类型是必需的信息,必须在命令行或属性文件中指定类型。该值是一个任意字符串,但您可以指定下面的一种已知类型:BeeperFAXHomePhoneMobilePhoneOfficePhone

-telephone2.areaCode

第二个 TelephoneNumber 的区号。

-telephone2.countryCode

第二个 TelephoneNumber 的国家/地区代码。

-telephone2.extension

第二个 TelephoneNumber 的分机。

-telephone2.number

第二个 TelephoneNumber 的电话号码后缀(不包括国家/地区代码或区号)。如果指定了第二个 TelephoneNumber,则该号码是必需的信息,必须在命令行或属性文件中指定该号码。

-telephone2.URL

第二个 TelephoneNumber 的 URL(可以在网上拨打此号码的 URL)。

-telephone3.type

第三个 TelephoneNumber 的类型。如果指定了第三个 TelephoneNumber,则类型是必需的信息,必须在命令行或属性文件中指定类型。该值是一个任意字符串,但您可以指定下面的一种已知类型:BeeperFAXHomePhoneMobilePhoneOfficePhone

-telephone3.areaCode

第三个 TelephoneNumber 的区号。

-telephone3.countryCode

第三个 TelephoneNumber 的国家/地区代码。

-telephone3.extension

第三个 TelephoneNumber 的分机。

-telephone3.number

第三个 TelephoneNumber 的电话号码后缀(不包括国家/地区代码或区号)。如果指定了第三个 TelephoneNumber,则该号码是必需的信息,必须在命令行或属性文件中指定该号码。

-telephone3.URL

第三个 TelephoneNumber 的 URL(可以在网上拨打此号码的 URL)。

-emailType | -email1.type

第一个 EmailAddress 的类型。类型是必需的信息,必须在命令行或属性文件中指定类型。该值是一个任意字符串,但您可以指定下面的一种已知类型:HomeEmailOfficeEmail

-emailAddress | -email | - email1.address

第一个电子邮件地址。第一个电子邮件地址是必需的信息。

-email2.type

第二个 EmailAddress 的类型。如果指定了第二个 EmailAddress,则类型是必需的信息,必须在命令行或属性文件中指定类型。该值是一个任意字符串,但您可以指定下面的一种已知类型:HomeEmailOfficeEmail

-email2.address

第二个电子邮件地址。

-email3.type

第三个 EmailAddress 的类型。如果指定了第三个 EmailAddress,则类型是必需的信息,必须在命令行或属性文件中指定类型。该值是一个任意字符串,但您可以指定下面的一种已知类型:HomeEmailOfficeEmail

-email3.address

第三个电子邮件地址。

示例

以下命令将从用户主目录的 JaneSmith.properties 文件中装入 User 属性。


admin> add user -load ~/JaneSmith.properties

以下命令(全都在一行)将指定创建 User 对象所必需的最少属性。


admin> add user -ln Smith -postaltype Office -country US 
-phonetype Office -number 333-3333 -emailtype OfficeEmail 
-emailaddress JaneSmith@JaneSmith.com -alias 123 -keypass 123456

cd

更改 RegistryPackage 的位置。

一般形式

cd {locator | URN}

说明

cd 命令将目录(广义的)更改到指定路径处或具有指定 URN 的 RegistryPackage

当多个 RegistryPackage 对象以相同路径存在(对于当前语言环境)时,该命令将更改到指定的 URN。

操作数

locator

从系统信息库的根目录到系统信息库中某个对象的 Registry 对象名称的路径,每个名称前加上一个正斜杠 (/)。

例如,属于 registry RegistryPackage(其本身不是任何 RegistryPackage 的成员)成员的 userData RegistryPackage 的定位器为 /registry/userData。属于 userData RegistryPackage 成员的 folder1 RegistryPackage 的定位器为 /registry/userData/folder1

URN

RegistryPackage 的 URN,必须是以 urn: 为开头的 URN。

示例

以下命令将目录更改到 URN 为 urn:uuid:92d3fd01-a929-4eba-a5b4-a3f036733017RegistryPackage


admin> cd urn:uuid:92d3fd01-a929-4eba-a5b4-a3f036733017

以下命令将把目录更改到位置 /registry/userData/myData


admin> cd /registry/userData/myData

chown

更改 RegistryObject 的所有者。

一般形式

chown {URN | %index}

说明

chown 命令用于把前面的 select 命令所选取的对象的拥有权更改到前面的 users 命令列出时通过 URN 或引用用户的 URN 指定的用户。

只有具有管理员角色的用户才能成功地执行此命令。

操作数

URN

URN 指定的 User 对象。

%index

在前面的 users 命令中列出的 User 对象的 URN 的数字引用。

示例

以下命令将把选定对象的拥有权更改到 URN urn:uuid:26aa17e6-d669-4775-bfe8-a3a484d3e079 所指定的用户。


admin> chown urn:uuid:26aa17e6-d669-4775-bfe8-a3a484d3e079

以下命令将把选定对象的拥有权更改到前面的 users 命令中的编号为 2 的用户。


admin> chown %2

cp

将文件和文件夹复制到 Registry 中。

一般形式

cp [-owner] {URN | %index} [-exclude pattern]… [-include pattern]… pattern

说明

cp 命令将文件夹和文件分别作为 RegistryPackageExtrinsicObject 对象复制到 Registry 中。

从其中复制文件和文件夹的本地文件系统中的本地目录默认为启动管理工具的当前目录。启动管理工具时,您可以使用 -localdir 选项更改本地目录。管理工具启动后,您可以使用 lcd 命令更改本地目录。您可以使用 show localdir 命令获取当前本地目录的绝对路径。

该命令是递归命令。即,如果指定一个目录,则该命令将复制该目录下的所有文件和文件夹。

选项

-owner

将复制的 Registry 对象的拥有者设置为通过 URN%index 参数指定的用户。有关这些参数的说明,请参见 chown 命令的说明。您必须具有管理员角色才能指定您之外的拥有者。

-exclude

复制其文件名不包含指定模式的所有文件,其中 pattern 是由文字字符和特殊字符星号 (*)(表示零个或多个字符)和问号 (?)(表示一个字符,且仅表示一个字符)组成的模式。

可以多次指定此选项。

-include

复制其文件名包含指定模式的所有文件,其中 pattern 是由文字字符和特殊字符星号 (*)(表示零个或多个字符)和问号 (?)(表示一个字符,且仅表示一个字符)组成的模式。

可以多次指定此选项。

操作数

pattern

要复制的文件或文件夹,通过由文字字符和特殊字符星号 (*)(表示零个或多个字符)和问号 (?)(表示一个字符,且仅表示一个字符)组成的模式指定。可以指定多个 pattern

示例

以下命令将把目录 mydir 复制到 Registry,以将其归前面的 users 命令中编号为 4 的用户拥有。


admin> cp -owner %4 mydir

以下命令将把目录 mydir 复制到 Registry 中(以字符串 .z.c 结尾的文件和目录除外)。


admin> cp mydir -exclude \\.z -exclude \\.c

echo

回显字符串。

一般形式

echo string

说明

echo 命令用于将指定的 string 回显到输出中。在以批处理模式运行管理工具时,如果您在 -command 选项中指定此命令会十分有用。

操作数

string

一个字符序列。

示例

以下命令将把日期和 ls 命令的结果打印到日志文件中。


java -jar admin-tool.jar -command "echo ”date”; ls" > admin.log

help

显示关于命令的信息。

一般形式

help [command_name]

说明

help 命令用于显示关于可用命令或指定命令的信息。

对于具有子命令(例如 addshow)的命令,help 命令将显示关于子命令的信息。

如果不指定参数,help 命令将显示所有命令的用法信息。

操作数

command_name

管理工具命令的名称。

示例

以下命令将显示所有命令的用法信息。


admin> help

以下命令将显示 lcd 命令的用法信息。


admin> help lcd

以下命令将显示 add 子命令的用法信息。


admin> help add

lcd

更改本地文件系统中的当前目录。

一般形式

lcd [path_name]

说明

lcd 命令用于更改本地文件系统中的当前本地目录。

如果不指定参数,lcd 命令将把当前目录更改到您的默认主目录。

操作数

path_name

目录名称,可以是绝对目录,也可以是相对目录。

示例

以下命令将把当前本地目录更改到 /usr/share 目录。


admin> lcd /usr/share

以下命令将把当前本地目录更改到本地文件系统中的默认主目录。


admin> lcd

ls

列出当前 RegistryPackage 中的对象。

一般形式

ls {pattern | URN}

说明

不带有参数的情况下,ls 命令将列出当前 RegistryPackage 中的对象。如果提供了 patternURN,该命令将列出当前 RegistryPackage 中其名称(在当前语言环境中)或唯一标识符与 patternURN 匹配的对象。

操作数

pattern

由文字字符和特殊字符星号 (*)(表示零个或多个字符)和问号 (?)(表示一个字符,且仅表示一个字符)组成的模式。可以指定多个 pattern

URN

urn: 为开头的 URN,例如 urn:uuid:4a6741e7-4be1-4cfb-960a-e5520356c4fd。可以指定多个 URN。URN 必须是对象的唯一标识符(不能是逻辑标识符)。

示例

以下命令将列出当前 RegistryPackage 中的所有对象。


admin> ls

以下命令将列出名称与模式 urn:bird:poultry:chicken 相匹配或 ID 为 urn:bird:poultry:chicken 的所有对象。


admin> ls urn:bird:poultry:chicken

以下命令将列出名称与模式 *bird* 相匹配的所有对象。(如果 *bird* 是有效 ID,该命令还将列出 ID 为 *bird* 的对象。)


admin> ls *bird*

以下命令将列出名称与模式 *bird*urn:bird:poultry:chicken 相匹配或 ID 为 urn:bird:poultry:chicken 的所有对象。


admin> ls *bird* urn:bird:poultry:chicken

pwd

显示指向当前 RegistryPackage 的路径。

一般形式

pwd

说明

pwd 命令用于使用与当前语言环境匹配度最好的名称显示指向当前 RegistryPackage 的路径,该命令还用于显示路径的语言环境。

示例


admin> pwd
(en_US) /registry/userData

quit

退出管理工具。

一般形式

quit

说明

quit 命令用于退出管理工具。

示例


admin> quit

rm

RegistryPackage 中删除对象。

一般形式

rm [-d] [-r] {pattern | URN}

说明

rm 命令用于删除当前 RegistryPackage 中名称(当前语言环境中)与 patternURN 指定的模式相匹配的成员对象。

如果匹配的 RegistryObject 是多个 RegistryPackage 对象的成员,则此命令仅删除当前 RegistryPackage 与该对象之间的关联。仅当删除关联后该对象与任何其他 RegistryObject 都没有关联时才从 Registry 中删除该对象。

如果匹配的成员对象本身是一个包含其他对象的 RegistryPackage,则除非指定 -r 选项或 -d 选项,否则该对象和当前 RegistryPackage 与成员 RegistryPackage 之间的关联都不会被删除。

同时指定 -d-r 选项时将递归应用 -d 选项,因此无论是否有其他关联,所有由 -r 选取的对象(及其关联)都将被删除。

选项

-d

删除当前 RegistryPackage 与指定 RegistryPackage 之间的关联。仅当指定的 RegistryPackage 仅剩下与其成员对象之间的关联时才将前者删除。对于立即删除的 RegistryPackage 的成员对象,它们并非其他 HasMember 关联的目标,现在可以作为 Registry 根的成员来访问它们了。

-r

删除指定的 RegistryPackage 对象及其所有的子对象(对象具有其他关联时除外)。

操作数

pattern

由文字字符和特殊字符星号 (*)(表示零个或多个字符)和问号 (?)(表示一个字符,且仅表示一个字符)组成的模式。可以指定多个 pattern

URN

urn: 为开头的 URN,例如 urn:uuid:4a6741e7-4be1-4cfb-960a-e5520356c4fd。可以指定多个 URN

示例

以下命令将删除包含字符串 "stat" 的所有 RegistryPackage 对象及其所有子对象。


admin> rm -r *stat*

select

执行一个 SQL select 语句。

一般形式

select [SQL]

说明

select 命令用于选取并列出通过将整条命令作为一个 SQL 查询执行所指定的对象。如果不指定参数,该命令将列出由前面的 select 命令或 sqlselect 选项选取的所有对象。

操作数

SQL

SQL select 语句(前面无需加 select,因为已经以命令名称的方式提供了该语句)。

示例

以下命令将列出 Registry 中的所有 ClassificationScheme 对象:


admin> select s.* from ClassificationScheme s

set

设置属性值。

一般形式

set property value

说明

set 命令用于设置管理工具 Shell 的属性的值。

管理工具支持以下属性和值。

set debug {true | on | yes | false | off | no}

启用或禁用调试信息的输出。

set editor string

设置在管理工具启动交互式编辑器时使用的命令。在 UNIX 和 Linux 系统上的默认值为 /bin/vi

set verbose {true | on | yes | false | off | no}

启用或禁用执行命令时更详细的消息输出。

操作数

property

下列属性之一:debugeditorverbose

value

指定的属性所支持的值。有关详细信息,请参见“说明”部分。

示例

以下命令将把编辑器设置为 /usr/bin/vi,而不是默认的 /bin/vi


admin> set editor /usr/bin/vi

以下命令将启用调试。


admin> set debug true

以下命令将禁用详细输出。


admin> set verbose off

show

显示属性值。

一般形式

show [property]

说明

show 命令用于显示管理工具 Shell 的属性的值。

如果不指定参数,此命令将显示所有属性的值。

此命令支持以下属性:

debug

是否启用调试输出。

editor

管理工具启动交互式编辑器时使用的编辑器。

exception

从前面刚执行的命令返回的异常堆栈追踪(如果有)。

localdir

本地文件系统中的当前目录。使用 lcd 命令设置此属性。有关详细信息,请参见lcd

locale

当前语言环境。

verbose

是否启用详细输出。

操作数

property

要显示其当前值的属性。可以显示 exceptionlocale 属性,但不能使用 set 命令设置这两个属性。

示例

以下命令将显示上一个命令返回的异常。


admin> show exception

users

列出当前的 User 对象。

一般形式

users

说明

users 命令用于列出 Registry 中当前的 User 对象。

输出采用以下格式:


%index: URN lastname, firstname middlename

在输出中,index 是可以使用的数字值,包括百分号 (%),以在运行 chowncp 命令时引用用户。lastnamefirstnamemiddlename 分别是用户的姓氏、名字和中间名。

示例

以下命令将显示当前用户:


admin> users
%0:  urn:freebxml:registry:predefinedusers:registryoperator  Operator, Registry 
%1:  urn:freebxml:registry:predefinedusers:registryguest  Guest, Registry 
%2:  urn:freebxml:registry:predefinedusers:farrukh  Najmi, Farrukh Salahudin
%3:  urn:freebxml:registry:predefinedusers:nikola  Stojanovic, Nikola 
%4:  urn:uuid:799cc524-b7cd-4e51-8b34-d93b79ac52de  User, Test 
%5:  urn:uuid:85428d8e-1bd5-473b-a8c8-b9d595f82728  Parker, Miles