dcecp(8dce) — Maintenance
NAME
dcecp — Administrative interface for DCE management tasks
SYNOPSIS
dcecp [s ] [local ] [script_name | c command ]
Options
c command
A list containing one or more valid dcecp commands. For a description of the dcecp command format, see Administration Objects.
sTurns off inheritance of the login context. The default is to inherit the current login context of the principal that invokes dcecp .
localThe local option specifies that the dcecp session should operate on the local dced object while the dced object is in a partial-service state.
Arguments
script_name
Filename of a user-defined script containing dcecp commands.
Description
The DCE control program, dcecp , is the primary DCE administration interface, providing local and remote access to routine DCE administrative functions from any DCE Version 1.1 and later platform.
The DCE control program is built on a portable command language called the tool command language (Tcl). Tcl allows the use of variables, if statements, list processing functions, loop functions and many other features commonly found in command languages. The control program extends these features, providing a set of commands for manipulating specific DCE objects. The control program also includes task scripts to help administrators perform some routine DCE management functions. Refer to the OSF DCE Administration Guide—Core Components for information about the basic concepts and features of dcecp . All of Tcl is included in the dcecp language.
Invoking and Terminating dcecp
The DCE control program allows you to invoke dcecp commands in the following modes:
•Interactive mode
•Command-line mode
Interactive Mode
Activate interactive mode by entering the dcecp command without any arguments. At the dcecp prompt, enter a dcecp or Tcl command; dcecp executes the command, displays the result, and is ready to accept another command.
% dcecp
dcecp> directory list /.: -directories
/.:/hosts /.:/subsys
dcecp>
Command-Line Mode
Activate command-line mode from the system prompt by using one of the following methods:
•Enter the dcecp command with a filename of a script containing dcecp commands, other valid Tcl commands, or both, as follows:
% dcecp myown.Tcl
•Enter the dcecp command with the c option followed by a list containing one or more dcecp commands, as follows:
% dcecp -c directory create /.:/admin/printers
Enter multiple dcecp commands by separating them with a ; (semicolon) and enclosing the commands in "" (quotation marks). Remember to escape shell metacharacters (for example by enclosing them in quotation marks). Multiple commands must be on a single line, as follows:
% dcecp -c "directory create /.:/admin/printers;
directory show /.:/admin/printers"
When you use the c option, operation results return to the interpreter, not to the shell. If you enter multiple operations, the output of only the last operation is returned to the shell. This problem can be overcome by using the following ugly, but serviceable workaround:
% dcecp -c "puts [dir help]; puts [principal help]"
Terminate an interactive dcecp session by using the exit and quit commands. Use the following command syntax:
exit n
quit n
Use the n argument to specify the exit value returned to the shell. The following example terminates a session and returns an exit value of 56 to the shell:
exit 56
By default, dcecp returns 0 (zero) on success and 1 (one) if a command fails.
Startup Scripts
When you invoke dcecp , the following script files are executed in the order shown:
[info library]/init.tcl
Contains the standard Tcl initialization scripts with definitions for the unknown command and the auto_load facility.
$dcecp_library/init.dcecp
Contains the initialization scripts implementing the dcecp commands and tasks. The implementation sets the Tcl variable dcecp_library to dceshared/dcecp by default.
$HOME/.dcecprc
Contains user customizations.
Administration Objects
A dcecp command has the following syntax:
object operation [argument] [-option [opt_arg]] ...
where:
objectSpecifies the name of a dcecp administration object. Examples of administration objects are Cell Directory Service (CDS) directories, access control lists (ACLs), Distributed Time Service (DTS) servers, server control objects, and so on. Each administration object is briefly described below.
operationSpecifies the name of an action such as create , show , or remove, that is to be performed on an administration object. For complete descriptions of operations supported by each dcecp object, refer to individual object reference pages. Common operations are briefly described below.
argumentSpecifies the name of one or more specific objects to operate on. Most, but not all, dcecp objects take an argument. Refer to the individual reference pages for descriptions of the arguments supported by various objects.
-optionSpecifies a qualifier that controls the precise behavior of a dcecp command. Most, but not all, dcecp commands take options. Specify options by preceding the option name with a dash as in replica . Some options take an argument, opt_arg, that can be a name or a value. The following command shows a clearinghouse option and its argument, which is the name of a CDS clearinghouse:
directory create /.:/admin -clearinghouse /.:/boston_ch
The DCE control program supports the following dcecp administration objects. For complete descriptions of the administration objects, refer to the individual object reference pages.
accountManages an account in the DCE Security Service registry.
aclManages DCE ACLs.
attrlistManipulates attribute lists in scripts.
audManages the audit daemon on any DCE host.
audevents
Displays the audit event classes on any DCE host.
audfilterManages audit event filters on any DCE host.
audtrailDisplays audit trail files on the local host.
cdsManages the CDS server daemon on any DCE host.
cdsaliasManages cell names known to CDS.
cdscacheManages the CDS clerk cache on any DCE host.
cdsclientManages the CDS client daemon on any DCE host.
cellPerforms cellwide tasks.
cellaliasPerforms cell aliasing and connection tasks.
clearinghouse
Manages CDS clearinghouses on the local host.
clockManages the clock on any DCE host.
directoryManages directory entries in the CDS namespace.
dtsManages DTS on any host.
endpointDisplays remote endpoints, manages local endpoints.
groupManages DCE groups in the security service.
hostPerforms tasks involving a host in a DCE cell.
hostdataManages host-specific information on any DCE host.
hostvarManages host-specific variables on the local DCE host.
keytabManages server key tables on any DCE host.
linkManages softlinks in CDS.
logManages routing for DCE serviceability messages.
nameManages CDS name translation.
objectManages object entries in CDS.
organization
Manages DCE organizations in the Security Service.
principalManages DCE principals in the Security Service.
registryManages DCE security replicas and registry-wide information.
rpcentryManages a server entry in CDS.
rpcgroupManages a group entry in CDS.
rpcprofileManages a profile entry in CDS.
secvalManages the security validation service on any DCE host.
serverManages DCE servers on any DCE host.
userPerforms tasks involving individual user information.
utcManipulates Universal Time Coordinated (UTC) timestamps.
uuidManipulates (generates or compares) Universal Unique Identifiers (UUIDs).
xattrschema
Manages schemas for extended registry attributes (ERAs).
Common Operations
This section describes operations common to more than one object. Some operations presented here are implemented in all objects, some in only a few, and some only for specific types of objects such as containers (for instance, CDS directories).
addAdds an object to a container. It is implemented for all objects that represent containers. The argument is a list of names of containers. The required member option is used to specify the name of the member to be added to the containers. Its value is a list of members to be added. If lists are specified for both the member option and as the argument, then each member name is added to each container. For example, it is used to add a member to a remote procedure call (RPC) group and is used to add an element to an RPC profile. This operation returns an empty string on success.
catalogReturns the names of all instances of an object. It usually takes no argument. In some cases, though, an argument specifying a scope, such as a cell name, is optional. For example, the principal catalog command returns a list of all principals in the registry. By default, full names are returned. Some objects support a simplename option, which returns names in a shorter form (either relative or not fully qualified). The order of the returned list depends on the object.
createCreates a new instance of an object. It takes one argument, a list of names of instances to be created. This operation returns an empty string on success. Returns an error if the object already exists. For some objects this command takes a attribute option or a set of attribute options to specify attributes on the new object.
deleteDestroys an instance of the object. It takes one argument, a list of names of instances to be deleted. This operation returns an empty string on success. If the object does not exist, an error is returned.
helpReturns help information on the object as described in the Help section. It takes an argument, which may be an operation supported by the object or the verbose option to return more information.
listReturns a list of the names of all the members of a container. This operation returns names only and not any other information about the members. It is implemented on all objects that represent containers. The argument is a list of names of containers for which to return members. The order of the returned list depends on the object. If more than one container name is given, all member names are returned in one list.
modifyThis operation is used to modify attributes, policies, counters, or any other information in an object. Therefore, all attributes, policies, counters, and so forth must have unique names. This operation is not available to all objects. The argument is a list of names of objects to modify.
The specific modification to be made to an object is described by one or more of the add , remove , or change options. If more than one is used, the entire modify operation is treated atomically in that either it all will work or none of it will. The order of the options does not matter. Each option can be used only once per command invocation. This operation returns an empty string on success.
addUsed to add an attribute to an object or merely to add values to an existing attribute. The value of this option is an attribute list.
removeUsed to remove an entire attribute or merely some values from an attribute. The value of this option is an attribute list.
changeUsed to change one attribute value to another. The value of this option is an attribute list.
operations
Returns a list of the operations supported by the object. It takes no arguments, and always returns a Tcl list suitable for use in a foreach statement. The operations in the list are in alphabetical order with the exception of help and operations, which are listed last. To return the elements fully sorted, use the following command:
lsort [object operations]
removeRemoves an object from a container. It is implemented for all objects that represent containers. The argument is a list of names of containers. The remove operation requires one option, member , which is used to specify the name of the member to be removed from the container. The value is a list of names of members of the containers. If the value of this option and the argument to the command are both lists, then each listed member is removed from each specified container. If the members do not exist an error is returned. This operation returns an empty string on success.
renameThis operation changes the name of a specified object. The argument is a single name of an object to be renamed, that is, it cannot be a list. Takes a required to option with a value of the new name. The value may not be a list. This operation returns an empty string on success.
showReturns information about an object instance. Objects can have various types of information such as attributes, counters, policies, and so on. The show operation is used to return any of this information. Options are passed to the command to specify what information is to be returned. Most of the options used for this purpose are in the plural form such as all , attributes , counters , and members .
Unlike the list operation, which returns information about the members of a container, the show operation looks only at the named object instance. If the object is a container, the show operation does not return information about the members, only the container itself.
This operation takes one argument which is a list of names of instances to be shown.
synchronize
Tells the instance to synchronize with any replicas of itself. In CDS terminology, this operations performs a skulk on a directory; in DTS, it causes a server to synchronize. This operation is implemented for all objects that support replication. The argument is a list of instance names to synchronize. If more than one instance name is given, each instance synchronizes with all of its replicas. Pairwise synchronization is not supported. This operation returns an empty string on success.
Miscellaneous Commands
The DCE control program includes a set of commands for miscellaneous operations.
dcecp_initInterp
Initializes a base Tcl interpreter with all the dcecp commands.
echoDisplays the supplied string as output.
errtextTakes a DCE status code as an argument and returns the text of the associated message as found in the message catalogs. The argument can be in decimal, octal (leading 0), or hexadecimal (leading 0x) notation.
loginCreates a new login context, which persists until the end of the dcecp session or until destroyed by logout . The login comand also sets the _c convenience variable to the name of the cell logged in to and the _u convenience variable to the name of the principal that issued the login command. Convenience variables are discussed in a separate section of this reference page. Login contexts are stacked. Takes an account name as an argument. The password is prompted for and not echoed to the screen. Also takes the password option to enter a password.
logoutLogs you out of the current login context as established with a previous login command. You can only log out of contexts that were created with the dcecp login . Trying to log out of an inherited context results in an error. Leaving dcecp logs out all contexts created in the session.
quitExits from dcecp . A synonym of the Tcl built-in command exit .
resolveTakes a partial string binding and returns a fully bound string binding. Takes a required interface option and an optional object option with an interface identifier as an argument to provide enough information for the mapping to occur.
shellSpawns a command shell for the user. The value of the SHELL environment variable is used to obtain the name of the shell to spawn. When the command shell terminates, control is returned to dcecp . If the shell is called with arguments, they are passed to the shell and executed. Control is returned upon completion. Always returns an empty string, though an error exception is generated if the shell exits abnormally.
Command Processing
The DCE control program supports the Tcl built-in commands as well as its own commands. If a command name is unknown to dcecp , it is passed to the unknown procedure and dcecp evaluates it using the following algorithm:
•If the command is found in a dcecp script file, dcecp executes the command.
•If the command exists as an executable UNIX program, dcecp executes the command. Therefore, you can invoke any UNIX command from the dcecp prompt (for example, ls -l). Because you do not leave dcecp , you don not lose any context you have established.
•If you have invoked the command at the top level of the dcecp shell and the command requests C-shell-like history substitution (such as !!, !number or ^old^new), dcecp emulates the C shell’s history substitution.
•If you have invoked the command at the top level of the dcecp shell and the command is a unique abbreviation for another command, dcecp invokes the command.
Abbreviations
The dcecp command makes use of two mechanisms to allow all object names, operation names, and options to be abbreviated to the shortest unique string in interactive commands.
The first mechanism relies on the unknown command whose behavior is described in the Command Processing section of this reference page.
The second mechanism is built in to the individual dcecp commands themselves. This mechanism allows the operation name to be abbreviated to the shortest unique operation string supported by the object, and the option names to be abbreviated to the shortest unique string representing an option supported by an object and operation.
For example, consider the following directory create command:
directory create /.:/admin/printers/ascii -replica -clearinghouse /.:/SFO_CH
In the abbreviated form, the same command can be entered as follows:
dir cre /.:/admin/printers/ascii -r -c /.:/SFO_CH
Although abbreviating commands is a good way to save keystrokes in typing interactive commands, abbreviations are not recommended for use in scripts. New procedures in scripts can cause abbreviations to become ambiguous. Furthermore, abbreviations are not always portable. When scripts move to other machines, some definitions may be left behind so PAM scripts will not work correctly. Always spell out complete names in scripts.
Syntax
The dcecp commands have a default word order, which is object operation. This order facilitates adding new objects because new objects can simply be added along with their operations.
You can configure dcecp to accept commands ordered as operation object by loading a script called verb-object.dcecp. Users who have access to the operation object order continue to have access to the object operation order. You can load the script for all users on a host by including the following line in the system’s init.dcecp file:
source verb-object.dcecp
You can configure operation object for individual users by including the line in that user’s .dcecprc file.
Attribute Lists
Many commands need to specify attributes to operate upon. For example, the modify operation allows attributes to be changed and the create operation often allows attributes to be created along with the object. In all cases, you can use an attribute list to specify the attributes and their values. Doing so makes passing information from one command to another very easy. For example, an ACL copy operation could be written as follows:
# copy acl name1 to acl name2
# no error checking
proc acl_copy {name1 name2} {
acl replace $name2 -acl [acl show $name1] }
Attribute Options
While attribute lists are useful for writing scripts, they are often not user friendly. For those objects that have a fixed list of attributes (for instance, principal and dts , but not object ), wherever an attribute list is allowed, options for each attribute that have the same name as the attribute are allowed followed by their values. For example, the following are equivalent:
principal create smith -attribute {{quota 5} {uid 123}}
principal create melman -quota 5 -uid 123
Lists of Lists
The DCE control program interpreter relies on list structures to parse command input and return command output. For instance, the following sample command removes the user ACL entry for the principal melman from an object called /.:/foo.
acl modify /.:/foo -remove {user melman}
Because the remove option uses a list structure to group attributes and values in the option argument, it can take a list of ACL entries as in the following example, which removes the user ACL entry for the principals melman and salamone:
acl modify /.:/foo -remove {{user melman} {user salamone}}
Lists of one value that do not contain spaces do not require braces. The string syntax of an ACL entry allows the type and key to be separated by a : (colon), so the following are valid:
acl modify /.:/foo -remove user:melman
acl modify /.:/foo -remove {user:melman user:salamone}
If only one ACL entry given, that is, the remove option’s value has only one element (and that element does not contain spaces), then braces are not needed to delimit the list. The following are all valid, but all are examples with unnecessary braces:
acl modify /.:/foo -remove {{user melman}}
acl modify /.:/foo -remove {{{user melman}}}
acl modify /.:/foo -remove {user:melman}
acl modify /.:/foo -remove {{user:melman} {user:salamone}}
Convenience Variables
All dcecp commands set several variables on execution. The variables contain the name of the object operated on, the return value of the last command, the cell name of the last object operated on, and so on. To avoid unnecessary typing, you can substitute the value of these variables into the next command.
Convenience variables behave just like other variables in dcecp . Thus, you can trigger variable substitution by prepending a $ (dollar sign) before the name of the variable. Alternatively, you can trigger substitution by using set . The convenience variables can be set only by using the DCE control program.
The following variables are defined by dcecp :
_bHolds the name of the server bound to by the last command. This variable is actually a Tcl array where the indexes are used to identify the service. Currently there is only one index is defined: sec. Refer to the variable as _b(sec).
The value specifies the name of a server in whatever manner the service finds useful. This value could be the name of an RPC server entry in the namespace, a string binding, or the name of a cell. This variable cannot be set by the user.
_cHolds the cell name of the current principal. The login command sets the cell name (_c) and principal name (_u) convenience variables at login (see the login command). This variable cannot be set by the user.
_confThis variable alters the behavior of most commands that operate on a CDS object. It indicates the confidence you have in the local CDS daemon to fulfill requests. The legal values are low, medium, and high.
_eHolds the last DCE error code encountered. This variable has meaning only if dcecp is able to determine what the error code is. The value l (negative one) is used when an actual error code is unavailable. This variable cannot be set by the user.
_hHolds the hostname the current user is operating on. This variable cannot be set by the user.
_localHolds a flag that indicates the mode in which the dcecp session is operating. This variable is set to true if the dcecp session was started with the local option.
_nHolds a list of the names entered in the last command. These names are the names that the command operated on, typically entered as the third argument.
For example, the following command lists the simplenames of the directories in the .: directory:
dcecp> dir list /.: -simplename
hosts subsys absolut_ch cell-profile fs lan-profile
sec sec-v1
dcecp>
The _n variable then contains the following name:
dcecp> echo $_n
/.:
dcecp>
The following command creates the /.:/x and /.:/y directories:
dcecp> dir create {/.:/x /.:/y}
dcecp>
The _n variable then contains the following names:
dcecp> echo $_n
/.:/x /.:/y
dcecp>
_oHolds the object used in the last operation. For example, if the last command was dir show /.:, then _o is directory . This variable cannot be set by the user.
_pHolds the parent of the object named in the _n variable. If the _n variable is a list, the ∗L_p variable is a list of the same length, where each element is the parent of the corresponding element in _n. If an object in _n has no parent, the value of _p is the empty string. This variable cannot be set by the user.
The following exmaple creates the directories named /.:/gumby and /.:/pokey. When the command completes the _n variable contains the names gumby and pokey.
dcecp> dir create {/.:/gumby /.:/pokey}
dcecp>
The _p variable contains the names of the parents of the gumby and pokey directories.
dcecp> echo $_p
/.: /.:
dcecp>
_rHolds the return value of the last executed command. This variable cannot be set by the user.
_sHolds the name of the server bound to by the last command. This variable is actually a Tcl array where the indexes are used to identify the service. The currently defined indexes are sec, cds , dts , and aud .
The value specifies the name of a server in whatever manner the service finds useful. This value could be the name of an RPC server entry in the namespace, a string binding, or the name of a cell. Users can set this variable by issuing the set command to select the server to use.
Each service treats the values of this variable (array) differently. For example, the Security Service uses this variable to select the registry to bind to for the next command, and as a default for the next registry operation. If bound to a read-only replica and an update is requested, dcecp tries to bind to the master registry to perform the change. CDS attempts to communicate only with the CDS server named by the variable. If the named CDS server cannot satisfy a request for any reason, the request fails. The auditing service and DTS uses its variable in a manner similar to the CDS server. To contact an audit daemon or DTS server on another host, set this variable to identify that server.
For information about an object’s use of this variable, see the object’s reference page or use the object’s help -verbose operation.
_uHolds the current principal name. The login command sets the cell name (_c) and principal name (_u) convenience variables at login (see the login command). This variable cannot be set by the user.
Error Handling
All dcecp operations return either a list of some information or an empty string on success. If an error occurs, dcecp returns an error message. The DCE control program also provides a catch command to help scripts catch errors and invoke error handlers.
The DCE control program provides two global variables that store error information returned from commands. The errorInfo variable contains the stack-trace of the error messages. When errors occur, dcecp commands return one line error messages by default. If the variable dcecp_verbose_errors is set to 1, then a stack trace as it would appear in errorInfo is output as well.
When a dcecp command argument is a list of objects, the command operates on multiple objects. These operations are usually performed iteratively. If an error occurs, the command aborts at the time of error, producing an exception. Some operations will have finished and others will not have. These operations are always performed in the order listed, and the error message should make it clear on which object the command failed.
Refer to the OSF DCE Problem Determination Guide for complete descriptions of all error messages.
Help
The DCE control program provides several kinds of help. All returned help strings are obtained from appropriate message catalogs.
To see which operations an object supports, use the operations command. An example follows:
dcecp> principal operations
catalog create delete modify rename show help operations
dcecp>
This command provides simple help similar to usage messages found on many systems. Users unsure of an operation name or of whether an operation is supported by an object can use this command to find the answer. The output is a dcecp list that can be used by other dcecp commands.
To see other information about an object, use an object’s help operation. All dcecp objects have a help operation that offers three kinds of information.
•View brief information about an object’s operations by using help without arguments or options. Operations are listed in alphabetical order with the operations and help operations listed last because all objects support these operations. An example is as follows:
dcecp> principal help
catalog Returns all the names of principals in the registry.
create Creates a DCE principal.
delete Deletes a principal from the registry.
modify Changes the information about a principal.
rename Renames the specified principal.
show Returns the attributes of a principal.
help Prints a summary of command-line options.
operations Returns a list of the valid operations for this command.
dcecp>
•View brief information about the options an operation supports by using help with one argument—the name of the operation. This operation returns attribute options in alphabetical order. If no options are supported, an empty string is returned. An example follows:
dcecp> principal help create
-alias Add principal named as an alias of specified uid.
-attribute Attribute list to be assigned to the new principal.
-fullname Fullname of the new principal.
-quota Quota of the new principal.
-uid User Identifier of the new principal.
-uuid Orphaned UUID to be adopted by the specified principal.
dcecp>
•View a short description of a dcecp object by using the help operation with the verbose option. This operation returns text explaining what the object represents and how to use it. An example follows:
dcecp> principal help -verbose
This object allows manipulation of principal information stored
in the DCE registry. The argument is a list of either relative or
fully-qualified principal names. Specify fixed attributes using
attribute options or an attribute list. Specify any extended attributes
using an attribute list. Principal operations connect to a registry that
can service the request. Specify a particular registry by setting the
_s(sec) convenience variable to be a cell-relative or global replica
name, or the binding of the host where the replica exists. The
completed operation sets the _b(sec) convenience variable to the name
of the registry contacted.
dcecp>
Utility Library
The file opt/dcelocal/dcecp/utility.dcp contains Tcl functions useful for DCE administration. The functions, which can vary from release to release, are fully commented to document their use.
Reference Pages
Users can use the man command on [POSIX.2] systems to view the reference page for any dcecp object without exiting dcecp . This capability helps users avoid losing any context that has been established in the current dcecp session. For example, the user can get detailed help on the principal command by entering the following:
dcecp> man principal
Command-Line Editing
You can edit a line before it is sent to dcecp by typing certain control characters and escape sequences. To enter a control character, hold down the <Control> key and press the appropriate character key. (Control characters are indicated in DCE documentation by the notation <Ctrl-x>, where x is the second key.) To enter an escape sequence, press <Escape> then press one or more character keys. (Escape sequences are indicated in DCE documentation by the notation <ESC x>, where x is the second key.) Escape sequences are case-sensitive; control characters are not.
You can enter an editing command anywhere on a line. In addition, you can enter <Return> anywhere on the line.
You can specify a number [n] as a repeat count. To enter a repeat count, press <Escape>, a number, and the command you want to execute.
For example, <ESC 4><Ctrl-D> deletes the next four characters on a line.
Use the following control characters and escape sequences for line editing:
Control Sequence
Action Performed
<Ctrl-A>
Move to the beginning of the line
<Ctrl-B>
Move left (backward) [n]
<Ctrl-D>
Delete the next character [n]
<Ctrl-E>
Move to the end of the line
<Ctrl-F>Move right (forward) [n]
<Ctrl-G>
Ring the bell
<Ctrl-H>
Delete the character before the cursor [n]
<Ctrl-I>Complete the filename (<Tab>)
<Ctrl-J>Done with the line (<Return>)
<Ctrl-K>
Kill to the end of the line (or column [n])
<Ctrl-L>Redisplay the line
<Ctrl-M>
Done with the line (alternate <Return>)
<Ctrl-N>
Get the next line from history [n]
<Ctrl-P>
Get the previous line from history [n]
<Ctrl-R>
Search backward (or forward if [n]) through history for the text; start the line if the text begins with an up arrow
<Ctrl-T>
Transpose the characters
<Ctrl-V>
Insert the next character even if it is an edit command
<Ctrl-W>
Wipe to the mark
<Ctrl-X><Ctrl-X>
Exchange the current location and mark
<Ctrl-Y>
Yank back the last killed test
<Ctrl-[>Start an escape sequence (<Escape>)
<Ctrl-]>Move forward to the next character c
<Ctrl-?>Delete the character before the cursor [n]
Escape Sequence
Action Performed
<ESC><Ctrl-H>
Delete the previous word (<Backspace>) [n]
<ESC><Delete>
Delete the previous word (<Delete>) [n]
<ESC><Space>
Set the mark (<Space>); refer to the <Ctrl-X><Ctrl-X> and <Ctrl-Y> control characters
<ESC .>Get the last (or [n]th) word from the previous line
<ESC ?>Show the possible completions
<ESC <>
Move to the start of history
<ESC >>
Move to the end of history
<ESC b>
Move backward one word [n]
<ESC d>
Delete the word under the cursor [n]
<ESC f>Move forward one word [n]
<ESC l>Make the word lowercase [n]
<ESC u>
Make the word uppercase [n]
<ESC y>
Yank back the last killed text
<ESC w>
Make area up to mark yankable
<ESC nn>
Set repeat count to the number nn
The DCE control program also supports filename completion. For example, suppose the root directory has the following files in it: vmunix, core, vmunix.old.
If you type rm /v and then press <Tab>, dcecp finishes off as much of the name as possible by adding munix. If the name is not unique, the terminal alarm sounds. If you enter <ESC ?>, dcecp displays the two possible complete filenames: vmunix and vmunix.old. If you respond by entering a . (period) and by entering <Tab>, dcecp completes the filename for you.
Command History and Command-Line Recall
The DCE control program includes a history facility that stores previously entered commands. View the stored commands using the history command.
By default, the history facility stores the 20 most recent commands, but you can use a history keep command to change this as follows:
dcecp> history keep 50
dcecp>
Each stored command is numbered so you can recall it by using a ! (exclamation point) followed by the event number, as follows:
dcecp> !7
[execution of event 7]
dcecp>
Recall a specific command using an ! (exclamation point) followed by the first unique characters of a previously entered command, as follows:
dcecp> !dir
[execution of last event beginning with dir]
dcecp>
You can also recall and revise the most recent command using the ^old^new syntax familiar to UNIX users, as follows:
dcecp> directory create /.:/admin/printers
[error message]
dcecp>
dcecp> ^vreate^create
[command output]
dcecp>
Examples
Invocations
The following examples show some ways to issue dcecp commands:
1.Invoke dcecp for interactive use:
% dcecp
dcecp>
2.Invoke dcecp for a single command:
% dcecp -c clock show
1994-04-21-19:12:42.203+00:00I-----
%
3.Invoke dcecp and run a script:
% dcecp get_users.Tcl
%
Simple Object Commands
dcecp> acl show -ic /.:
{unauthenticated r--t---}
{group subsys/dce/cds-admin rwdtcia}
{group subsys/dce/cds-server rwdtcia}
{any_other r--t---}
dcecp>
% dcecp -c directory show /.:/subsys
{RPC_ClassVersion {01 00}}
{CDS_CTS 1995-10-11-14:06:47.884826100/08-00-09-85-b5-a6}
{CDS_UTS 1995-10-23-03:06:43.209673100/08-00-09-85-b5-a6}
{CDS_ObjectUUID 0c27c0ac-03d6-11cf-ad88-08000985b5a6}
{CDS_Replicas
{{CH_UUID 03ccab5c-03d6-11cf-ad88-08000985b5a6}
{CH_Name /.../gumby1/blech_ch}
{Replica_Type Master}
{Tower {ncadg_ip_udp 15.22.50.213}}
{Tower {ncacn_ip_tcp 15.22.50.213}}}}
{CDS_AllUpTo 1995-10-23-13:06:43.560848100/08-00-09-85-b5-a6}
{CDS_Convergence medium}
{CDS_ParentPointer
{{Parent_UUID 044a2a14-03d6-11cf-ad88-08000985b5a6}
{Timeout
{expiration 1994-04-19-16:39:58.049}
{extension +1-00:00:00.000I0.000}}
{myname /.../brain_cell.osf.org/subsys}}
{CDS_DirectoryVersion 3.0}
{CDS_ReplicaState on}
{CDS_ReplicaType Master}
{CDS_LastSkulk 1995-10-23-13:06:43.560848100/08-00-09-85-b5-a6}
{CDS_LastUpdate 1995-10-23-03:06:43.209673100/08-00-09-85-b5-a6}
{CDS_Epoch 0c3512fc-03d6-11cf-ad88-08000985b5a6}
{CDS_ReplicaVersion 3.0}
%
The foreach Loop
dcecp> foreach i [group list temps] {
account modify $i temps research -expdate 6/30/95}
Related Information
Commands: cds_intro(8cds), dce_intro(8dce), dts_intro(8dts), sec_intro(8sec).