Aix Commands 5 S-U
Aix Commands 5 S-U
Aix Commands 5 S-U
3
SC23-4892-05
AIX 5L Version 5.3
SC23-4892-05
Note
Before using this information and the product it supports, read the information in “Notices,” on page 667.
Contents v
tar Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
tbl Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
tc Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
tcbck Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
tcopy Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
tcpdump Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
tctl Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
tee Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
telinit or init Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
telnet, tn, or tn3270 Command . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
telnetd Daemon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
termdef Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
test Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
tftp or utftp Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
tftpd Daemon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
tic Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
time Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
timed Daemon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
timedc Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
timex Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
tip Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
tokstat Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
topas Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
topasout Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
topasrec Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
topsvcs Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
topsvcsctrl Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
touch Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
tprof Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
tput Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
tr Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
trace Daemon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
traceroute Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
tracesoff Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
traceson Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
trbsd Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
trcctl Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
trcdead Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
trcevgrp Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
trcnm Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
trcrpt Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
trcstop Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
trcupdate Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
troff Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
trpt Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
true or false Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
truss Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
tset Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
tsh Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
tsm Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
tsort Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
ttt Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
tty Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
tunchange Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
tuncheck Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
tundefault Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
Contents vii
uuclean Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622
uucleanup Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
uucp Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
uucpadm Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
uucpd Daemon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
uudecode Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632
uudemon.admin Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633
uudemon.cleanu Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
uudemon.hour Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
uudemon.poll Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
uuencode Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638
uuid_gen Command (NCS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
uukick Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
uulog Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642
uuname Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
uupick Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
uupoll Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
uuq Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
uusched Daemon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650
uusend Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
uusnap Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652
uustat Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
uuto Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656
uutry Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658
Uutry Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
uux Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
uuxqt Daemon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
Some commands can be entered simply by typing one word. It is also possible to combine commands so
that the output from one command becomes the input for another command. This is known as pipelining.
Flags further define the actions of commands. A flag is a modifier used with the command name on the
command line, usually preceded by a dash.
Commands can also be grouped together and stored in a file. These are known as shell procedures or
shell scripts. Instead of executing the commands individually, you execute the file that contains the
commands.
Some commands can be constructed using Web-based System Manager applications or the System
Management Interface Tool (SMIT).
Highlighting
The following highlighting conventions are used in this book:
Bold Identifies commands, subroutines, keywords, files, structures, directories, and other items whose
names are predefined by the system. Also identifies graphical objects such as buttons, labels, and
icons that the user selects.
Italics Identifies parameters whose actual names or values are to be supplied by the user.
Monospace Identifies examples of specific data values, examples of text similar to what you might see
displayed, examples of portions of program code similar to what you might write as a programmer,
messages from the system, or information you should actually type.
Format
Each command may include any of the following sections:
To list the fileset that owns all file names that contain installp, enter:
lslpp -w "*installp*"
Once the process is running in the background, you can continue to work and enter other commands on
your system.
At times, you might want to run a command at a specified time or on a specific date. Using the cron
daemon, you can schedule commands to run automatically. Or, using the at and batch commands, you
can run commands at a later time or when the system load level permits.
To display a list of the contents of your current directory, you would type ls and press the Enter key:
$ ls
When you enter a command and it is running, the operating system does not display the shell prompt.
When the command completes its action, the system displays the prompt again. This indicates that you
can enter another command.
The flag alters the way a command works. Many commands have several flags. For example, if you type
the -l (long) flag following the ls command, the system provides additional information about the contents
of the current directory. The following example shows how to use the -l flag with the ls command:
$ ls -l
A parameter consists of a string of characters that follows a command or a flag. It specifies data, such as
the name of a file or directory, or values. In the following example, the directory named /usr/bin is a
parameter:
$ ls -l /usr/bin
When certain commands are entered, the shell prompt changes. Because some commands are actually
programs (such as the telnet command), the prompt changes when you are operating within the
command. Any command that you issue within a program is known as a subcommand. When you exit the
program, the prompt returns to your shell prompt.
Operating system can operate with different shells (for example, Bourne, C, or Korn) and the commands
that you enter are interpreted by the shell. Therefore, you must know what shell you are using so that you
can enter the commands in the correct format.
Stopping Commands
If you enter a command and then decide to stop that command from running, you can halt the command
from processing any further. To stop a command from processing, press the Interrupt key sequence
(usually Ctrl-C or Alt-Pause). When the process is stopped, your shell prompt returns and you can then
enter another command.
ISO 9000
ISO 9000 registered quality systems were used in the development and manufacturing of this product.
Related Information
The following books contain information about or related to commands:
v AIX 5L Version 5.3 Commands Reference, Volume 1
v AIX 5L Version 5.3 Commands Reference, Volume 2
v AIX 5L Version 5.3 Commands Reference, Volume 3
v AIX 5L Version 5.3 Commands Reference, Volume 4
v AIX 5L Version 5.3 Commands Reference, Volume 5
v AIX 5L Version 5.3 Commands Reference, Volume 6
v AIX 5L Version 5.3 Files Reference
v Printers and printing
v Installation and migration
v AIX 5L Version 5.3 AIX Installation in a Partitioned Environment
v AIX 5L Version 5.3 Network Information Services (NIS and NIS+) Guide
v Performance management
v AIX 5L Version 5.3 Performance Tools Guide and Reference
v Security
v Networks and communication management
v Operating system and device management
v AIX 5L Version 5.3 Technical Reference: Base Operating System and Extensions Volume 1
v AIX 5L Version 5.3 Technical Reference: Base Operating System and Extensions Volume 2
v AIX 5L Version 5.3 Technical Reference: Communications Volume 1
v AIX 5L Version 5.3 Technical Reference: Communications Volume 2
v AIX 5L Version 5.3 Technical Reference: Kernel and Subsystems Volume 1
v AIX 5L Version 5.3 Technical Reference: Kernel and Subsystems Volume 2
v AIX 5L Version 5.3 Web-based System Manager Administration Guide
v Performance Toolbox Version 2 and 3 for AIX: Guide and Reference
Purpose
Summarizes accounting records.
Syntax
/usr/sbin/sa [ -a ] [ -b ] [ -c ] [ -C ][ -d ] [ -D ] [ -i ] [ -j ] [ -k ] [ -K ] [ -l ] [ -m] [ -n ] [
-r ] [ -s ] [ -t ] [ -u ] [ -vNumber [ -f ] ] [ -SSaveFile ] [ -UUserFile ] [ File ... ]
Description
The sa command summarizes the information in the file that collects the raw accounting data, either the
/var/adm/pacct file or the file specified by the File parameter, and writes a usage summary report to the
/var/adm/savacct file. Then, the sa command deletes the data in the /var/adm/pacct file so it can collect
new accounting information. The next time the sa command executes, it reads the usage summary and
the new data and incorporates all the information in its report.
The flags used with the sa command vary the type of information that is reported. The reports can contain
the following fields:
If you run the sa command without specifying any flags, the summary report includes the number of times
each command was called as well as the re, cpu, avio, and k fields.
Note: The -b, -d, -D, -k, -K, and -n flags determine how output is sorted. If you specify more than
one of these flags on the command line, only the last one specified will take effect.
Summary files created under this release of the base operating system are saved in a format that supports
large user IDs (8 characters or longer). Summary files created under previous releases may be in the old
format that supports only user IDs of up to 7 characters. The sa command recognizes and supports both
formats of the summary file. If you need to convert old format summary files to the new format, use the -C
flag instead of the -s flag. You need to do this conversion only once. After converting you can use either
the -s or the -C flag.
Flags
-a Prints all command names, including those with unprintable characters. Commands that were
used once are placed under the other category.
-b Sorts output by the sum of user and system time divided by the number of calls. Otherwise,
output is the sum of user and system time.
-c Prints the time used by each command as a percentage of the time used by all the commands.
This is in addition to the user, system and real time.
Examples
1. To summarize accounting records for all the commands in the /var/adm/pacct file, enter:
sa -a
Commands used only once are placed under the other field.
2. To summarize accounting records by average CPU time, enter:
sa -k
Files
/usr/sbin/sa Contains the sa command.
/etc/sa Contains the symbolic link to the sa command.
/var/adm/pacct Contains raw accounting records.
/var/adm/savacct Contains summary accounting records.
/var/adm/usracct Contains summary accounting records by user.
Related Information
The acctcms command, acctcom command, acctcon1 or acctcon2 command, acctmerg command,
acctprc1, acctprc2, or accton command, fwtmp command, runacct command.
For more information about the Accounting System, the preparation of daily and monthly reports, and the
accounting files, see the System accounting in the Operating system and device management.
Setting up an accounting subsystem in the Operating system and device management describes the steps
you must take to establish an accounting system.
sa1 Command
Purpose
Collects and stores binary data in the /var/adm/sa/sadd file.
Syntax
/usr/lib/sa/sa1 [ Interval Number ]
Description
The sa1 command is a shell procedure variant of the sadc command and handles all of the flags and
parameters of that command. The sa1 command collects and stores binary data in the /var/adm/sa/sadd
file, where dd is the day of the month. The Interval and Number parameters specify that the record should
be written Number times at Interval seconds. If you do not specify these parameters, a single record is
written. You must have permission to write in the /var/adm/sa directory to use this command.
The sa1 command is designed to be started automatically by the cron command. If the sa1 command is
not run daily from the cron command, the sar command displays a message about the nonexistence of
the /usr/lib/sa/sa1 data file.
Examples
To create a daily record of sar activities, place the following entry in your adm crontab file:
0 8-17 * * 1-5 /usr/lib/sa/sa1 1200 3 &
Files
/var/adm/sa Specifies the directory containing the daily data files.
/var/adm/sa/sadd Contains the daily data file, where the dd parameter is a number representing the day
of the month.
/usr/lib/sa/sa1 Contains the sa1 command.
Related Information
The sadc command, sar command, sa2 command.
For more information about the Accounting System, the preparation of daily and monthly reports, and the
accounting files, see the System accounting in the Operating system and device management.
Setting up an accounting subsystem in the Operating system and device management describes the steps
you must take to establish an accounting system.
See the Accounting commands in the Operating system and device management for a list of accounting
commands that can be run automatically or entered from the keyboard.
sa2 Command
Purpose
Writes a daily report in the /var/adm/sa/sardd file.
Description
The sa2 command is a variant shell procedure of the sar command, which writes a daily report in the
/var/adm/sa/sardd file, where dd is the day of the month. The sa2 command handles all of the flags and
parameters of the sar command.
The sa2 command is designed to be run automatically by the cron command and run concurrently with
the sa1 command.
Examples
To run the sa2 command daily, place the following entry in the root crontab file:
5 18 * * 1-5 /usr/lib/sa/sa2 -s 8:00 -e 18:01 -i 3600 -ubcwyaqvm &
This will generate a daily report called /var/adm/sa/sardd. It will also remove a report more than one week
old.
Files
/var/adm/sa Specifies the directory containing the daily data files.
/var/adm/sa/sardd Contains daily data file, where the dd parameter is a number representing the day
of the month.
/usr/lib/sa/sa2 The path to the shell script of the sa2 command.
Related Information
The sa1 command, sadc command, sar command.
System accounting, Setting up an accounting subsystem in Operating system and device management.
Accounting commands in Operating system and device managementlists accounting commands that can
be run automatically or entered from the keyboard.
sact Command
Purpose
Displays current SCCS file-editing status.
Syntax
sact File ...
Description
The sact command reads Source Code Control System (SCCS) files and writes to standard output the
contents, if any, of the p-file associated with the specified value of the File variable. The p-file is created by
the get -e command. If a - (minus sign) is specified for the File value, the sact command reads standard
input and interprets each line as the name of an SCCS file. If the File value is a directory, the sact
command performs its actions on all SCCS files.
0 Successful completion.
>0 An error occurred.
Examples
To display the contents of a p-file, enter:
sact File
Files
/usr/bin/sact Contains the path to the SCCS sact command.
Related Information
The delta command, get command, sccs command, unget command.
List of SCCS Commands, Source Code Control System (SCCS) Overview in AIX 5L Version 5.3 General
Programming Concepts: Writing and Debugging Programs.
sadc Command
Purpose
Provides a system data collector report.
Syntax
/usr/lib/sa/sadc [ Interval Number ] [ Outfile ]
/usr/lib/sa/sa2
Description
The sadc command, the data collector, samples system data a specified number of times (Number) at a
specified interval measured in seconds (Interval). It writes in binary format to the specified outfile or to the
standard output. When both Interval and Number are not specified, a dummy record, which is used at
system startup to mark the time when the counter restarts from 0, will be written. The sadc command is
intended to be used as a backend to the sar command.
The operating system contains a number of counters that are incremented as various system actions
occur. The various system actions include:
v System Configuration Parameters
v System unit utilization counters
v Buffer usage counters
v Disk and tape I/O activity counters
v Tty device activity counters
v Switching and subroutine counters
Security
Access Control: These commands should grant execute (x) access only to members of the adm group.
Examples
To write 10 records of one second intervals to the /tmp/rpt binary file, enter:
sadc 1 10 /tmp/rpt
Files
/var/adm/sa/sadd Contains the daily data file, dd represents the day of the month.
/var/adm/sa/sardd Contains the daily report file, dd represents the day of the month.
/tmp/rpt Contains the binary file used for input by the sar command.
/tmp/sa.adrf1 Contains the address file.
Related Information
The sar command, sa1 command, sa2 command, timex command.
In the Operating system and device management, System accounting describes system accounting and
Accounting commands lists accounting commands that can be run automatically or entered from the
keyboard.
sar Command
Purpose
Collects, reports, or saves system activity information.
Syntax
/usr/sbin/sar [ { -A [ -M ] | [ -a ] [ -b ] [ -c ] [ -d ][ -k ] [ -m ] [ -q ] [ -r ] [ -u ] [ -v ] [ -w ] [ -y ] [ -M ] } ] [ -P
ProcessorIdentifier, ... | ALL ] [ -ehh [ :mm [ :ss ] ] ] [ -XFile ] [ -fFile ] [ -iSeconds ] [ -oFile ] [ -shh [ :mm [
:ss ] ] ] [ Interval [ Number ] ]
Description
The sar command writes to standard output the contents of selected cumulative activity counters in the
operating system. The accounting system, based on the values in the Number and Interval parameters,
writes information the specified number of times spaced at the specified intervals in seconds. The default
sampling interval for the Number parameter is 1 second. The collected data can also be saved in the file
specified by the -o File flag.
The sar command extracts and writes to standard output records previously saved in a file. This file can
be either the one specified by the -f flag or, by default, the standard system activity daily data file, the
/var/adm/sa/sadd file, where the dd parameter indicates the current day.
You can select information about specific system activities using flags. Not specifying any flags selects
only system unit activity. Specifying the -A flag selects all activities. The sar command prints the number
of processors and the number of disks that are currently active before starting to print the statistics.
The default version of the sar command (processor utilization report) might be one of the first facilities the
user runs to begin system activity investigation, because it monitors major system resources. If processor
utilization is near 100 percent (user + system), the workload sampled is processor-bound. If a considerable
percentage of time is spent in I/O wait, it implies that processor execution is blocked waiting for disk I/O.
The I/O may be required file accesses or it may be I/O associated with paging due to a lack of sufficient
memory.
With AIX 6.1 and later versions, you can use the accounting system based on the Scaled Performance
Utilization Resources Register (SPURR). The SPURR is supported on the POWER6 processors. It is
similar to the Performance Utilization Resources Register (PURR), except that it scales as a function of
degree of processor throttling. If your hardware supports the SPURR, the processor use statistics shown
by the sar command are proportional to the frequency or the instruction dispatch rate of the processor.
The processor use statistics are capped to the PURR values in the turbo mode if the turbo mode
accounting is disabled. You can enable the turbo mode accounting system through the System
Management Interface Tool (SMIT).
Note: The time the system spends waiting for remote file access is not accumulated in the I/O wait time.
If processor utilization and I/O wait time for a task are relatively low, and the response time is not
satisfactory, consider investigating how much time is being spent waiting for remote I/O. Since no
high-level command provides statistics on remote I/O wait, trace data may be useful in observing
this. If there is a change in system configuration that affects the output of the sar command, sar
prints the average values up to the current iteration and then a warning message about the
configuration change. It then continues the output, after printing the updated system configuration
information.
The method used in AIX 4.3.2 and earlier versions is as follows: At each clock interrupt on each processor
(100 times a second per processor), a determination is made as to which of the four categories
(usr/sys/wio/idle) to place the last 10 ms of time. If the processor was busy in usr mode at the time of the
clock interrupt, then usr gets the clock tick added into its category. If the processor was busy in kernel
mode at the time of the clock interrupt, then the sys category gets the tick. If the processor was not busy,
a check is made to see if any I/O to disk is in progress. If any disk I/O is in progress, the wio category is
incremented. If no disk I/O is in progress and the processor is not busy, the idle category gets the tick.
The inflated view of wio time results from all idle processors being categorized as wio regardless of the
number of threads waiting on I/O. For example, systems with just one thread doing I/O could report over
90 percent wio time regardless of the number of processors it has.
The method used in operating system AIX 4.3.3 and later is as follows: The change in operating system
AIX 4.3.3 is to only mark an idle processor as wio if an outstanding I/O was started on that processor. This
method can report much lower wio times when just a few threads are doing I/O and the system is
otherwise idle. For example, a system with four processors and one thread doing I/O will report a
If multiple samples and multiple reports are desired, it is convenient to specify an output file for the sar
command. Direct the standard output data from the sar command to /dev/null and run the sar command
as a background process. The syntax for this is:
sar -A -o data.file interval count > /dev/null &
All data is captured in binary form and saved to a file (data.file). The data can then be selectively
displayed with the sar command using the -f option.
The sar command calls a process named sadc to access system data. Two shell scripts (/usr/lib/sa/sa1
and /usr/lib/sa/sa2) are structured to be run by the cron command and provide daily statistics and
reports. Sample stanzas are included (but commented out) in the /var/spool/cron/crontabs/adm crontab
file to specify when the cron daemon should run the shell scripts. Collection of data in this manner is
useful to characterize system usage over a period of time and determine peak usage hours.
You can insert a dummy record into the standard system activity daily data file at the time of system start
by un-commenting corresponding lines in the /etc/rc script. The sar command reports time change not
positive for any record where processor times are less than the previous record. This occurs if you reboot
the system with the dummy record insertion lines in /etc/rc commented out.
Beginning with AIX 5.3, the sar command reports utilization metrics physc and %entc which are related to
Micro-Partitioning and simultaneous multi-threading environments. These metrics will only be displayed on
Micro-Partitioning and simultaneous multi-threading environments. physc indicates the number of physical
processors consumed by the partition (in case of system wide utilization) or logical processor (if the -P flag
is specified) and %entc indicates the percentage of the allocated entitled capacity (in case of system wide
utilization) or granted entitled capacity (if the -P flag is specified). When the partition runs in capped mode,
the partition cannot get more capacity than it is allocated. In uncapped mode, the partition can get more
capacity than it is actually allocated. This is called granted entitled capacity. If the -P flag is specified and
there is unused capacity, sar prints the unused capacity as separate processor with cpu id U.
You can use the System application in Web-based System Manager (wsm) to run this command.
You could also use the System Management Interface Tool (SMIT) smit sar fast path to run this
command.
Flags
-A Without the -P flag, using the -A flag is equivalent to specifying -abcdkmqruvwy.
When used with the -P flag, the -A is equivalent to specifying -acmuw. Without the
-M flag, headers are only printed once in multiple lines grouped together before the
data for the first interval. When this flag is used with the -M flag, each line of data at
each iteration is preceded by the appropriate header.
Tip: The sar command itself can generate a considerable number of reads and
writes depending on the interval at which it is run. Run the sar statistics without the
workload to understand the sar command’s contribution to your total statistics.
-d Reports activity for each block device with the exception of tape drives. The activity
data reported is:
%busy Reports the portion of time the device was busy servicing a transfer request.
avque Before AIX 5.3: Reports the instantaneous number of requests sent to disk
but not completed yet. AIX 5.3: Reports the average number of requests
waiting to be sent to disk.
read/s, write/s, blk/s
Reports the read-write transfers from or to a device in kilobytes/second.
avwait, avserv
Average wait time and service time per request in milliseconds.
-e hh[:mm[:ss]] Sets the ending time of the report. The default ending time is 18:00.
-X File Extracts the records from the File, which is generated by AIX 4.3 or AIX 4.2 version of
the sar/sadc command.
-f File Extracts records from the File (created by -o File flag). The default value of the File
parameter is the current daily data file, the /var/adm/sa/sadd file.
Restriction: If you specify the [ Interval [ Number ] ] parameter, the -f flag is ignored.
-i Seconds Selects data records at seconds as close as possible to the number specified by the
Seconds parameter. Otherwise, the sar command reports all seconds found in the
data file.
-k Reports kernel process activity. The following values are displayed:
kexit/s Reports the number of kernel processes terminating per second.
kproc-ov/s
Reports the number of times kernel processes could not be created because
of enforcement of process threshold limit.
ksched/s
Reports the number of kernel processes assigned to tasks per second.
-M Enables multiple headers in output when used with at least two combinations of
[abckmqruvwy] or with the -A flag. In this mode, each line of data is preceded by the
corresponding header at each iteration.
Restriction: This flag is ignored when used without [Interval [Number]].
-m Reports message (sending and receiving) and semaphore (creating, using, or
destroying) activities per second. When used with the -P flag, the information is
provided for each specified processor; otherwise, it is provided only system-wide. The
following values are displayed:
msg/s Reports the number of IPC message primitives.
sema/s
Reports the number of IPC semaphore primitives.
Tip: A blank value in any column indicates that the associated queue is empty.
-r Reports paging statistics. The following values are displayed:
cycle/s Reports the number of page replacement cycles per second.
fault/s Reports the number of page faults per second. This is not a count of page
faults that generate I/O, because some page faults can be resolved without
I/O.
slots Reports the number of free pages on the paging spaces.
odio/s Reports the number of non paging disk I/Os per second.
-s hh[:mm[:ss]] Sets the starting time of the data, causing the sar command to extract records
time-tagged at, or following, the time specified. The default starting time is 08:00.
Tips:
v The sar command reports system unit activity if no other specific content options
are requested. If the -P flag is used and the partition is running with shared
processors, and if the partition capacity usage is what is allocated, then a
processor row with CPUid U will be reported to show the system-wide unused
capacity. If the partition is running with shared processors in uncapped mode, then
%entc will report the percentage of granted entitled capacity against each processor
row and percentage of allocated entitled capacity in the system-wide processor
row. The individual processor utilization statistics is calculated against the actual
physical consumption (physc). The system wide statistics is computed against the
entitlement and not physical consumption. However, in an uncapped partition, the
system wide statistics is still calculated against the physical consumption.
v Since the time base over which the data is computed varies, the sum of all of the
%utilization fields (%user, %sys, %idle, and %wait) can exceed 100 percent.
-v Reports status of the process, kernel-thread, i-node, and file tables. The following
values are displayed:
file-sz, inod-sz, proc-sz , thrd-sz
Reports the number of entries in use for each table.
-w Reports system switching activity. When used with the -P flag, the information is
provided for each specified processor; otherwise, it is provided only system-wide. The
following value is displayed:
pswch/s
Reports the number of context switches per second.
Security
Access Control: These commands should grant execute (x) access only to members of the adm group.
Examples
1. To report system unit activity, enter:
sar
2. To report current tty activity for each 2 seconds for the next 40 seconds, enter:
sar -y -r 2 20
3. To watch system unit for 10 minutes and sort data, enter:
sar -o temp 60 10
4. To report processor activity for the first two processors, enter:
sar -u -P 0,1
On a four-processor system, this produces output similar to the following (the last line indicates
system-wide statistics for all processors):
cpu msgs/s sema/s %usr %sys %wio %idle
0 7 2 45 45 5 5
1 5 0 27 65 3 5
2 3 0 55 40 1 4
3 4 1 48 41 4 7
- 19 3 44 48 3 5
6. To see physical processor consumed and entitlement consumed for all processors system-wide, run
sar command in a shared processor logical partition machine, as follows:
sar –P ALL
Files
/usr/sbin/sar Contains the sar command.
/bin/sar Indicates the symbolic link to the sar command.
/var/adm/sa/sadd Indicates the daily data file, where the dd parameter is a number representing the day
of the month.
Related Information
The mpstat command, sadc command, sa1 command, sa2 command.
Accounting commands in the Operating system and device management lists accounting commands that
can be run automatically or entered from the keyboard.
For information on installing the Web-based System Manager, see Chapter 2: Installation and System
Requirements in AIX 5L Version 5.3 Web-based System Manager Administration Guide.
savebase Command
Purpose
Saves information about base-customized devices in the Device Configuration database onto the boot
device.
Syntax
savebase [ -o Path ] [ -d File ] [ -v ]
Description
The savebase command stores customized information for base devices for use during phase 1 of system
boot. By default, the savebase command retrieves this information from the /etc/objrepos directory.
However, you can override this action by using the -o flag to specify an ODM directory. The savebase
command is typically run without any parameters. It uses the /dev/ipl_blv special file link to identify the
output destination.
A disk device special file can be used where there is only one boot logical volume on the disk. The
savebase command ensures that the given disk has only one boot logical volume present and is bootable.
If neither of these conditions is true, savebase does not save the base customized device data to the disk
and exits with an error.
When a second boot logical volume is on a disk, the boot logical volume device special file must be used
as the destination device to identify which boot image the base customized device data will be stored in. A
boot logical volume device special file can be used even if there is only one boot logical volume on the
disk. The savebase command ensures that the given device special file is a boot logical volume and it is
bootable before saving any data to it. If either of these checks fails, savebase exits with an error.
The savebase command determines what device information to save using the PdDv.base field
corresponding to each entry in the CuDv object class. Specifically, the PdDv.base field is a bit mask which
represents the type of boot for which this device is a base device. The savebase command determines
the current type of boot by accessing the boot_mask attribute in the CuAt object class. The value of this
attribute is the bit mask to apply to the PdDv.base field to determine which devices are base.
Note: Base devices are those devices that get configured during phase 1 boot; they may vary depending
on the type of boot (mask). For example, if the mask is NETWORK_BOOT, network devices are
considered base; for DISK_BOOT, disk devices are considered base. The type-of-boot masks are
defined in the /usr/include/sys/cfgdb.h file.
Note: The -m flag is no longer used by the savebase command. For compatibility reasons, the flag can
be specified, but savebase effectively ignores it.
Flags
-d File Specifies the destination file or device to which the base information will be written.
-o Path Specifies a directory containing the Device Configuration database.
-v Causes verbose output to be written to standard output.
Examples
1. To save the base customized information and see verbose output, enter:
savebase -v
2. To specify an ODM directory other than the /usr/lib/objrepos directory, enter:
savebase -o /tmp/objrepos
3. To save the base customized information to the /dev/hdisk0 device file instead of to the boot disk,
enter:
savebase -d /dev/hdisk0
Files
/usr/include/sys/cfgdb.h Defines the type of boot mask for base devices.
/usr/lib/objrepos/PdDv Contains entries for all known device types supported by the system.
/etc/objrepos/CuDv Contains entries for all device instances defined in the system.
/etc/objrepos/CuAt Contains customized device-specific attribute information.
/etc/objrepos/CuDep Describes device instances that depend on other device instances.
Related Information
The bosboot command, restbase command.
Object Data Manager (ODM) Overview for Programmers in AIX 5L Version 5.3 General Programming
Concepts: Writing and Debugging Programs.
savecore Command
Purpose
Saves a system dump.
Syntax
savecore { [ [ -c ] [ -d ] [ -f ] ] | [ -F [ -d ] ] } DirectoryName SystemName
Description
The function of the savecore command is to save a system dump and is usually run at system startup.
The savecore command checks to see that you have a recent dump and that there is enough space to
save it. The system dump is saved in the DirectoryName/vmcore.n file, and the system is saved in the
DirectoryName/vmunix.n file. The n variable is specified in the DirectoryName/bounds file. If this file does
not exist, it is created with a default of 0, and the n variable uses this value. With each subsequent dump,
the n variable is increased by 1.
The savecore command also checks to see if the current dump was compressed. If so, then it is copied to
a file named DirectoryName/vmcore. n.Z, where .Z is the standard indication that a file is compressed.
If the system dump was from a system other than /unix, the name of the system must be supplied as
SystemName.
Note: The savecore command saves only the current dump and the dump prior to the current one.
The directory may contain a file named minfree. This file contains the number of kbytes to leave free in
the directory. The minfree file can be used to ensure a minimum amount of free space is left after the
dump is copied.
Flags
-c Marks the dump invalid (not recent), but does not copy it.
-d Copies only the dump. It does not copy the system.
-f Copies the dump even if it appears to be invalid.
-F Reports the amount of space available for a dump in the copy directory. This may be more than the free space
since the savecore command keeps the current dump and the previous dump, deleting others. No copying is
done if the -F flag is specified. This flag is only valid with the -d flag.
Related Information
The sysdumpdev command, sysdumpstart command.
savevg Command
Purpose
Finds and backs up all files belonging to a specified volume group.
Syntax
savevg [ -a ] [ -A ] [ -b Blocks ] [ -e ] [ -f Device ] [ -i | -m ] [ -p ] [ -r ] [ -v ] [ -V ] [ -X ] VGName
Description
The savevg command finds and backs up all files belonging to a specified volume group. The volume
group must be varied-on, and the file systems must be mounted. The savevg command uses the data file
created by the mkvgdata command. This data file can be one of the following:
/image.data
Contains information about the root volume group (rootvg). The savevg command uses this file to
create a backup image that can be used by Network Installation Management (NIM) to reinstall the
volume group to the current system or to a new system.
/tmp/vgdata/vgname/vgname.data
Contains information about a user volume group. The VGName variable reflects the name of the
volume group. The savevg command uses this file to create a backup image that can be used by
the restvg command to remake the user volume group.
To create a backup of the operating system to CD, use the mkcd command.
Note: The savevg command will not generate a bootable tape if the volume group is the root volume
group. Although the tape is not bootable, the first three images on the tape are dummy
replacements for the images normally found on a bootable tape. The actual system backup is the
fourth image.
Flags
-a Does not backup extended attributes or NFS4 ACLs.
-A Backs up DMAPI file system files.
Note: If you want to exclude certain files from the backup, create the /etc/exclude.rootvg
file, with an ASCII editor, and enter the patterns of file names that you do not want included
in your system backup image. The patterns in this file are input to the pattern matching
conventions of the grep command to determine which files will be excluded from the backup.
If you want to exclude files listed in the /etc/exclude.rootvg file, select the Exclude Files field
and press the Tab key once to change the default value to yes.
For example, to exclude all the contents of the directory called scratch, edit the exclude file to
read as follows:
/scratch/
For example, to exclude the contents of the directory called /tmp, and avoid excluding any
other directories that have /tmp in the pathname, edit the exclude file to read as follows:
^./tmp/
All files are backed up relative to . (current working directory). To exclude any file or directory
for which it is important to have the search match the string at the beginning of the line, use ^
(caret character) as the first character in the search string, followed by . (dot character),
followed by the filename or directory to be excluded.
If the filename or directory being excluded is a substring of another filename or directory, use
^. (caret character followed by dot character) to indicate that the search should begin at the
beginning of the line and/or use $ (dollar sign character) to indicate that the search should
end at the end of the line.
-f Device Specifies the device or file name on which the image is to be stored. The default is the /dev/rmt0
device.
-i Creates the data file by calling the mkvgdata command.
-m Creates the data file with map files by calling the mkvgdata command with the -m flag.
-p Disables software packing of the files as they are backed up. Some tape drives use their own
packing or compression algorithms.
-r Backs up user volume group information and administration data files. This backs up files such as
/tmp/vgdata/vgname/vgname.data and map files if any exist. This does not backup user data
files. This backup can be used to create a user volume group without restoring user data files. This
cannot be done to rootvg.
-v Verbose mode. Lists files as they are backed up.
-V Verifies a tape backup. This flag causes savevg to verify the file header of each file on the backup
tape and report any read errors as they occur.
-X Specifies to automatically expand the /tmp file system if necessary. The /tmp file system may need
to be extended to make room for the boot image when creating a bootable backup to tape.
Parameters
VGName Specifies the name of the volume group to be backed up.
Examples
1. To backup the root volume group (operating system image) to the /mysys/myvg/myroot backup file
and create an /image.data file, enter:
savevg -i -f/mysys/myvg/myroot rootvg
2. To backup the uservg volume group to the default tape drive (dev/rmt0) and create a new
uservg.data file, enter:
savevg -i uservg
3. To backup the data2 volume group and create map files along with a new data2.data file on rmt1
device, enter:
savevg -mf/dev/rmt1 data2
4. To backup the data2 volume group, excluding the files listed in the /etc/exclude.data2 file, enter:
savevg -ief/dev/rmt1 data2
5. To backup the volume group my_vg to the tape in /dev/rmt0 and then verify the readability of file
headers, enter:
savevg -f /dev/rmt0 -V my_vg
Files
/image.data Used when the volume group is rootvg.
/tmp/vgdata/vgname /vgname.data Used when the volume group is not rootvg and where
vgname is the name of the volume group.
Related Information
The backup command, bosboot command, mkcd command, mkszfile command.
scan Command
Purpose
Produces a one line per message scan listing.
Syntax
scan [ +Folder ] [ Messages ] [ -form FormFile | -format String ] [ -noheader | -header ] [ -clear |
-noclear ] [ -help ]
Description
The scan command displays a line of information about the messages in a specified folder. Each line
gives the message number, date, sender, subject, and as much of the message body as possible. By
default, the scan command displays information about all of the messages in the current folder.
Flags
-clear Clears the display after sending output. The scan command uses the values of the
$TERM environment variable to determine how to clear the display. If standard output is
not a display, the scan command sends a form feed character after sending the output.
+Folder Specifies which folder to scan. The default is the current folder.
-form FormFile Displays the scan command output in the alternate format described by the FormFile
variable.
-format String Displays the scan command output in the alternate format described by the String
variable.
-header Displays a heading that lists the folder name and the current date and time.
-help Lists the command syntax, available switches (toggles), and version information.
Note: For Message Handler (MH), the name of this flag must be fully spelled out.
Messages Displays information about each specified message in the specified folder. You can use
the following references when specifying messages:
Number
Specifies the number of the message.
Sequence
Specifies a group of messages specified by the user. Recognized values
include:
all All messages in a folder. This is the default.
cur or . (period)
Current message.
first First message in a folder.
last Last message in a folder.
next Message following the current message.
prev Message preceding the current message.
-noclear Prevents clearing of the terminal after sending output. This is the default.
-noheader Prevents display of a heading. This is the default.
-width Number Sets the number of columns in the scan command output. The default is the width of the
display.
Profile Entries
The following entries are entered in the UserMhDirectory/.mh_profile file:
Examples
1. To get a one-line list of all the messages in the current folder, enter:
scan
Files
$HOME/.mh_profile Contains the MH user profile.
/etc/mh/scan.size Contains a sample scan format string.
/etc/mh/scan.time Contains a sample scan format string.
/etc/mh/scan.timely Contains a sample scan format string.
/usr/bin/scan Contains the executable form of the scan command.
Related Information
The inc command, pick command, show command.
sccs Command
Purpose
Administration program for SCCS commands.
Syntax
sccs [ -r ] [ -dPath ] [ -pPath ] Command [ CommandFlags ] File ...
Description
The sccs command is an administration program that incorporates the set of Source Code Control System
(SCCS) commands into the operating system. Additionally, the sccs command can be used to assign or
reassign file ownership (see the -r flag).
The sccs command activates a specified Command having the specified flags and arguments. Each file is
normally placed in a directory named SCCS and named s.filename. The directory SCCS is assumed to
exist relative to the working directory (unless the -p flag is used).
Two types of commands can be used in the sccs command syntax sentence. The first type consists of 14
sccs commands that can be entered at the prompt. The second type, pseudo-commands, can be used
only as part of the sccs command syntax. There are 12 pseudo-commands, which perform the following
actions:
Flags:
-m, -p, -r, -s, -y
Can be passed to the delta command.
-b, -c, -i, -l, -s, -x
Can be passed to the get command.
deledit Equivalent to the delget pseudo-command, except that the get portion of the
sentence includes the -e flag. The deledit pseudo-command is useful for
creating a checkpoint in your current editing session.
Flags:
-m, -p, -r, -s, -y
Can be passed to the delta command.
-b, -c, -i, -l, -s, -x
Can be passed to the get command.
create Creates an SCCS file, copying the initial contents from a file of the same name.
If the file is successfully created, the original file is renamed with a comma on
the front. You do not have to move or remove the original file as with the admin
command.
Flags:
Accepts the same flags as the admin command. The -i flag is implied.
fix Removes a named delta, but leaves a copy of the delta with changes intact.
This pseudo-command is useful for fixing small compiler errors. This
pseudo-command does not keep a record of changes made to the file.
Flags:
-rSID Indicates a required flag.
clean Removes all files from the current directory or from the designated directory
that can be recreated from SCCS files. Does not remove files that are in the
process of being edited.
Flags:
-b Ignores branches when determining which files are being edited.
Branches being edited in the same directory can be lost.
unedit Equivalent to the unget command. Any changes made since the get command
was used are lost.
info Lists all files being edited.
Flags:
-b Ignores branches when determining which files are being edited.
-u [Argument]
Lists only the files being edited by you or the user named by the
Argument parameter.
Flags:
-b Ignores branches when determining which files are being edited.
-u [Argument]
Lists only the files being edited by you or the user named by the
Argument parameter.
tell Lists all files being edited, with a new line after each entry, on standard output.
Flags:
-b Ignores branches when determining which files are being edited.
-u [Argument]
Lists only the files being edited by you or the user named by the
Argument parameter.
diffs Shows the difference between the current version of the program you are
editing and the previous deltas.
Flags:
-r, -c, -i, -x, -t
Can be passed to the get command.
-l, -s, -e, -f, -h, -b
Can be passed to the diff (not sccsdiff) command.
-C Can be passed to the diff (not sccsdiff) command as a -c flag.
print (filename(s)) Prints verbose information about the named files.
Flags
-dPath Specifies a working directory for the SCCS files. The default is the current directory. The -d flag is
prefixed to the entire path name of a file. When the PROJECTDIR environment variable is set and the
-d flag is used, the command line overrides the environment value in determining the working directory.
All flags specified after the command are passed to that command during execution. For a description
of command flags, see the appropriate command description.
Example:
converts to:
get /x/a/y/s.b
causes the syssccs command to become an alias command that can be used as follows:
syssccs get cmd/who.c
When used in this context, the above command will check the /usr/src/cmd/SCCS directory for the
s.who.c file.
-r Runs the sccs command as the real user instead of as the effective user to which the sccs command
is set (using the set user id command).
Certain commands, such as the admin command, cannot be run as set user id, which would allow
anyone to change the authorizations. Such commands are always run as the real user.
Exit Status
This command returns the following exit values:
0 Successful completion.
>0 An error occurred.
Examples
1. To get a file for editing, edit it, and then produce a new delta, enter:
sccs get -e file.c
ex file.c
sccs delta file.c
2. To get a file from another directory, enter:
sccs -p/usr/src/sccs/ get cc.c
OR
sccs get /usr/src/sccs/s.cc.c
3. To get a list of files being edited that are not on branches, enter:
sccs info -b
Files
/usr/bin/sccs Contains the sccs command, which is the administration program for the SCCS
commands.
List of SCCS Commands, Source Code Control System (SCCS) Overview in AIX 5L Version 5.3 General
Programming Concepts: Writing and Debugging Programs.
sccsdiff Command
Purpose
Compares two versions of a SCCS file.
Syntax
sccsdiff -rSID1 -rSID2 [ -p ] [ -sNumber ] File ...
Description
The sccsdiff command reads two versions of an Source Code Control System ( SCCS) file, compares
them, and then writes to standard output the differences between the two versions. Any number of SCCS
files can be specified, but the same arguments apply to all files.
Flags
-p Pipes the output through the pr command.
-rSID1 Specifies SID1 as one delta of the SCCS file for the sccsdiff command to compare.
-rSID2 Specifies SID2 as the other delta of the SCCS file for the sccsdiff command to compare.
-sNumber Specifies the file-segment size for the bdiff command to pass to the diff command. This is useful
when the diff command fails due to a high system load.
Examples
To display the difference between versions 1.1 and 1.2 of SCCS file s.test.c, enter:
sccsdiff -r1.1 -r1.2 s.test.c
Files
/usr/bin/sccsdiff Contains the SCCS sccsdiff command. The sccsdiff command supports multibyte
character set (MBCS) data for the file names.
Related Information
The bdiff command, diff command, get command, prs command, sccshelp command.
List of SCCS Commands, Source Code Control System (SCCS) Overview in AIX 5L Version 5.3 General
Programming Concepts: Writing and Debugging Programs.
Purpose
Provides information about a SCCS message or command.
Syntax
sccshelp [ ErrorCode ] [ Command ]
Description
The sccshelp command displays information about the use of a specified Source Code Control System
(SCCS) command or about messages generated while using the commands. Each message has an
associated code, which can be supplied as part of the argument to the sccshelp command. Zero or more
arguments may be supplied. If you do not supply an argument, the sccshelp command prompts for one.
You may include any of the SCCS commands as arguments to the sccshelp command.
The ErrorCode parameter specifies the code, consisting of numbers and letters, that appears at the end of
a message. For example, in the following message, (cm7) is the code:
There are no SCCS identification keywords in the file. (cm7)
Examples
To get sccshelp on the rmdel command and two error codes, enter:
$ sccshelp rmdel gee ad3
File
/usr/bin/sccshelp Contains the SCCS sccshelp command.
Related Information
The admin command, cdc command, comb command, delta command, get command, prs command,
rmdel command, sccsdiff command, what command.
List of SCCS Commands, Source Code Control System (SCCS) Overview in AIX 5L Version 5.3 General
Programming Concepts: Writing and Debugging Programs.
schedo Command
Purpose
Manages processor scheduler tunable parameters.
schedo [ -p | -r ] { -d Tunable }
schedo [ -p | -r ] -D
schedo [ -p | -r ] -a
schedo -h [ Tunable ]
schedo -L [Tunable ]
schedo -x [Tunable ]
Description
Note: The schedo command can only be executed by root.
Use the schedo command to configure scheduler tuning parameters. This command sets or displays
current or next boot values for all scheduler tuning parameters. This command can also make permanent
changes or defer changes until the next reboot. Whether the command sets or displays a parameter is
determined by the accompanying flag. The -o flag performs both actions. It can either display the value of
a parameter or set a new value for a parameter.
Before modifying any tunable parameter, you should first carefully read about all its characteristics in the
Tunable Parameters section below, and follow any Refer To pointer, in order to fully understand its
purpose.
You must then make sure that the Diagnosis and Tuning sections for this parameter truly apply to your
situation and that changing the value of this parameter could help improve the performance of your
system.
If the Diagnosis and Tuning sections both contain only ″N/A″, you should probably never change this
parameter unless specifically directed by AIX development.
Priority-Calculation Parameters
The priority of most user processes varies with the amount of processor time the process has used
recently. The processor scheduler’s priority calculations are based on two parameters that are set with
schedo, sched_R and sched_D. The sched_R and sched_D values are in thirty-seconds (1/32); that is,
the formula used by the scheduler to calculate the amount to be added to a process’s priority value as a
penalty for recent processor use is:
CPU penalty = (recently used CPU value of the process) * (r/32)
and the once-per-second recalculation of the recently used processor value of each process is:
new recently used CPU value = (old recently used CPU value of the process) * (d/32)
Memory-Load-Control Parameters
The operating system scheduler performs memory load control by suspending processes when memory is
over committed. The system does not swap out processes; instead pages are stolen as they are needed
to fulfill the current memory requirements. Typically, pages are stolen from suspended processes. Memory
is considered over committed when the following condition is met:
p*hs where:
A process is suspended when memory is over committed and the following condition is met:
r*pf where:
r r is the number of repages that the process has accumulated in the last second
p is an integer specified by the v_repage_proc parameter
f is the number of page faults that the process has experienced in the last second
In addition, fixed-priority processes and kernel processes are exempt from being suspended.
The term repages refers to the number of pages belonging to the process, which were reclaimed and are
soon after referenced again by the process.
The user also can specify a minimum multiprogramming level with the v_min_process parameter. Doing so
ensures that a minimum number of processes remain active throughout the process-suspension period.
Active processes are those that are runnable and waiting for page I/O. Processes that are waiting for
events and processes that are suspended are not considered active, nor is the wait process considered
active.
Suspended processes can be added back into the mix when the system has stayed below the over
committed threshold for n seconds, where n is specified by the v_sec_wait parameter. Processes are
added back into the system based, first, on their priority and, second, on the length of their suspension
period.
Before experimenting with these values, you should be thoroughly familiar with ″VMM memory load control
tuning with the schedo command″ in the Performance Management Guide.
Time-Slice-Increment Parameter
The schedo command can also be used to change the amount of time the operating system allows a
given process to run before the dispatcher is called to choose another process to run (the time slice). The
default value for this interval is a single clock tick (10 milliseconds). The timeslice tuning parameter allows
the user to specify the number of clock ticks by which the time slice length is to be increased.
In AIX Version 4, this parameter only applies to threads with the SCHED_RR scheduling policy. See
Scheduling Policy for Threads.
The hardware threads belonging to the same physical processor are referred to as sibling threads. A
primary sibling thread is the first hardware thread of the physical processor. A secondary sibling thread is
the second hardware thread of the physical processor.
Where number is the number of virtual processors that are needed, p_util is the physical processor
utilization, and vpm_xvcpus is a tunable that specifies the number of additional virtual processors to
enable. If number is less than the number of currently enabled virtual processors, a virtual processor will
be disabled. If number is greater than the number of currently enabled virtual processors, a disabled virtual
processor will be enabled. Threads that are attached to a disabled virtual processor are still allowed to run
on the disabled virtual processor.
Node Load
The node load, or simply load, is the average run queue depth across all run queues, including the global
run queue multiplied by 256, and is strongly smoothed over time. For example, a load of 256 means that if
we have 16 CPUs (including symmetric multithreading CPUs), then we have had approximately 16
runnable jobs in the system for the last few milliseconds.
Flags
-a Displays the current, reboot (when used in conjunction with -r) or permanent (when used
in conjunction with -p) value for all tunable parameters, one per line in pairs Tunable =
Value. For the permanent option, a value is only displayed for a parameter if its reboot
and current values are equal. Otherwise NONE displays as the value.
-d Tunable ResetsTunable to its default value. If a tunable needs to be changed (that is, it is
currently not set to its default value, and -r is not used in combination, it won’t be
changed but a warning is displayed.
-D Resets all tunables to their default value. If tunables needing to be changed are of type
Bosboot or Reboot, or are of type Incremental and have been changed from their default
value, and -r is not used in combination, they will not be changed but a warning displays.
-h [Tunable] Displays help about the Tunable parameter if one is specified. Otherwise, displays the
schedo command usage statement.
-o Tunable [=Newvalue] Displays the value or sets Tunable to Newvalue. If a tunable needs to be changed (the
specified value is different than current value), and is of type Bosboot or Reboot, or if it
is of type Incremental and its current value is bigger than the specified value, and -r is
not used in combination, it will not be changed but a warning displays.
When -r is used in combination without a new value, the nextboot value for tunable is
displayed. When -p is used in combination without a new value, a value displays only if
the current and next boot values for tunable are the same. Otherwise NONE displays as
the value.
-p Makes changes apply to both current and reboot values, when used in combination with
-o, -d or -D, that is, turns on the updating of the /etc/tunables/nextboot file in addition
to the updating of the current value. These combinations cannot be used on Reboot and
Bosboot type parameters because their current value can’t be changed.
When used with -a or -o without specifying a new value, values are displayed only if the
current and next boot values for a parameter are the same. Otherwise NONE displays as
the value.
-r Makes changes apply to reboot values when used in combination with -o, -d or -D, that
is, turns on the updating of the /etc/tunables/nextboot file. If any parameter of type
Bosboot is changed, the user will be prompted to run bosboot.
When used with -a or -o without specifying a new value, next boot values for tunables
display instead of current values.
-x [Tunable] Lists characteristics of one or all tunables, one per line, using the following (spreadsheet)
format:
tunable,current,default,reboot,min,max,unit,type,{dtunable }
where:
current = current value
default = default value
reboot = reboot value
min = minimal value
max = maximum value
unit = tunable unit of measure
type = parameter type: D (for Dynamic), S (for Static), R (for Reboot),
B (for Bosboot),M (for Mount), I (for Incremental),
C (for Connect), and d (for Deprecated)
dtunable = space separated list of dependent tunable parameters
Any change (with -o, -d or -D) to a parameter of type Mount results in a message displaying to warn the
user that the change is only effective for future mountings.
Any change (with -o, -d or -D flags) to a parameter of type Connect will result in inetd being restarted,
and in a message being displayed to warn the user that the change is only effective for future socket
connections.
Any attempt to change (with-o, -d or -D but without -r) the current value of a parameter of type
Incremental with a new value smaller than the current value, results in an error message.
For parameters of type Bosboot, whenever a change is performed, the tuning commands automatically
prompt the user to ask if they want to execute the bosboot command. For parameters of type Connect,
the tuning commands automatically restart the inetd daemon.
Note that the current set of parameters managed by the schedo command only includes Dynamic, and
Reboot types.
Compatibility Mode
When running in pre 5.2 compatibility mode (controlled by the pre520tune attribute of sys0, see AIX 5.2
compatibility mode in the Performance management), reboot values for parameters, except those of type
Bosboot, are not really meaningful because in this mode they are not applied at boot time.
In pre 5.2 compatibility mode, setting reboot values to tuning parameters continues to be achieved by
imbedding calls to tuning commands in scripts called during the boot sequence. Parameters of type
Reboot can therefore be set without the -r flag, so that existing scripts continue to work.
This mode is automatically turned ON when a machine is MIGRATED to AIX 5.2. For complete
installations, it is turned OFF and the reboot values for parameters are set by applying the content of the
/etc/tunables/nextboot file during the reboot sequence. Only in that mode are the -r and -p flags fully
functional. See Kernel Tuning in the AIX 5L Version 5.3 Performance Tools Guide and Reference for more
information.
Examples
1. To list the current and reboot value, range, unit, type and dependencies of all tunables parameters
managed by the schedo command, enter:
schedo -L
Related Information
The vmo command, ioo command, no command, nfso command, raso command, tunchange command,
tunsave command, tunrestore command, tuncheck command, and tundefault command.
Kernel Tuning in AIX 5L Version 5.3 Performance Tools Guide and Reference
scls Command
Purpose
Produces a list of module and driver names.
Syntax
scls [ -c | -l ] [ -m sc_module_name ] [ Module ... ]
Description
The scls command provides a method for the user to query the current Portable Streams Environment
(PSE) configuration. The scls command produces a list of module and driver names. Flags can be used to
produce enhanced lists. Any further parameters on the command line are module or driver names, and the
output produced is for only those names.
Note: The scls command requires the sc STREAMS module and the nuls driver. If either one is not
available, the scls command will not be successful.
Flags
-c Produces a listing showing the number of times an interface routine was called.
-l Produces a long listing that shows the extension type, major number, and information pertaining to the
module_info structure.
-m Pushes the module pointed to by the sc_module_name to the top of the current stream, just below the stream
head.
Files
sc Dynamically loadable STREAMS configuration module
nuls Dynamically loadable STREAMS null device.
Related Information
The strload command.
Configuring Drivers and Modules in the Portable Streams Environment (PSE), STREAMS Overview in AIX
5L Version 5.3 Communications Programming Concepts.
script Command
Purpose
Makes a typescript of a terminal session.
Syntax
script [ -a ] [ -q ] [ File ]
Description
The script command makes a typescript of everything displayed on your terminal. The typescript is written
to the file specified by the File parameter. The typescript can later be sent to the line printer. If no file
name is given, the typescript is saved in the current directory with the file name typescript.
This command is useful for producing hardcopy records when hardcopy terminals are in short supply. For
example, use the script command when you are working on a CRT display and need a hardcopy record
of the dialog.
Because the script command sets the SetUserID mode bit, due to security reasons the value of LIBPATH
variable is unset when the command is invoked. However, LIBPATH is automatically reset in the forked
shell if it is defined in the environment file. This behavior is also true for the NLSPATH environment
variable. For related information, see the exec subroutine.
Flags
-a Appends the typescript to the specified file or to the typescript file.
-q Suppresses diagnostic messages.
Related Information
The tee command.
Input and output redirection in Operating system and device management describes how the operating
system processes input and output and how to use the redirect and pipe symbols.
sctpctrl Command
Purpose
Controls and configures SCTP.
Syntax
sctpctrl {load|dump|set}
Description
The sctpctrl command is used to control and configure the SCTP kernel extension. This command can be
used to load and unload the SCTP kernel extension. This can also be used to dump SCTP data and set or
retrieve various SCTP tunable. Further, sctpctrl command can be used to read and reset the SCTP
specific network statistics.
Parameters
load Loads the SCTP kernel extension if not loaded.
dump Dump information about internal SCTP structures.
stats [reset] [interval] Displays SCTP statistics. The optional reset command will
clear (zero) the statistics. If the interval parameter (in seconds)
is added, the program does not exit, but outputs the statistics
every [interval] seconds.
set {name=value|default [name]} Sets the SCTP tunable to a value. If default is specified then it
will set all the tunable to their default values. If optional [name]
is specified followed by default then it will set tunable described
by name to its default value.
get [name] Gets the value of the tunable described by their optional name
parameter. If name parameter is not specified then it gets the
values of all the tunable.
Examples
1. To load the SCTP kernel extension, type the following:
sctpctrl load
2. To unload SCTP kernel extension, type the following:
sctpctrl unload
This will list all the SCTP tunable and their values. Here is a sample output.
sctp_assoc_maxerr = 10
sctp_cookie_life = 60
sctp_delack_timer = 4
sctp_dontdelayack = 1
sctp_ecn = 1
sctp_ephemeral_high = 65535
sctp_ephemeral_low = 32768
sctp_instreams = 2048
sctp_maxburst = 8
sctp_outstreams = 10
sctp_path_maxerr = 5
sctp_pmtu_discover = 1
sctp_rttmax = 60
sctp_rttmin = 1
sctp_recvspace = 65536
sctp_sendspace = 65536
sctp_send_fewsacks = 0
5. To set sctp_path_maxerr to a value of 6, type the following:
sctpctrl set sctp_path_maxerr=6
Location
/usr/sbin/sctpctrl
Files
/usr/sbin/sctpctrl Contains the sctpctrl command.
/usr/lib/drivers/sctp Contains the SCTP kernel extension.
Related Information
The sctp_peeloff subroutine, sctp_opt_info subroutine.
sdiff Command
Purpose
Compares two files and displays the differences in a side-by-side format.
Syntax
sdiff [ -l | -s ] [ -o OutFile ] [ -w Number ] File1 File2
Description
The sdiff command reads the files specified by the File1 and File2 parameters, uses the diff command to
compare them, and writes the results to standard output in a side-by-side format. The sdiff command
displays each line of the two files with a series of spaces between them if the lines are identical. It
When you specify the -o flag, the sdiff command merges the files specified by the File1 and File2
parameters and produces a third file.
Note: The sdiff command invokes the diff -b command to compare two input files. The -b flag causes the
diff command to ignore trailing spaces and tab characters and to consider other strings of spaces as
equal.
Flags
-l Displays only the left side when lines are identical.
-o OutFile Creates a third file, specified by the OutFile variable, by a controlled line-by-line merging of the
two files specified by the File1 and the File2 parameters. The following subcommands govern the
creation of this file:
e Starts the ed command with an empty file.
e b or e |
Starts the ed command with both sides.
e l or e <
Starts the ed command with the left side.
e r or e >
Starts the ed command with the right side.
l Adds the left side to the output file.
r Adds the right side to the output file.
s Stops displaying identical lines.
v Begins displaying identical lines.
q Performs one of the following functions:
v Exits the ed command.
v Exits the sdiff command if no ed command is running.
v Exits both commands. This action occurs when there are no more lines to be merged
into the output file.
Each time you exit from the ed command, the sdiff command writes the resulting edited
file to the end of the file specified by the OutFile variable. If you do not save the
changes before exiting (for example, you press the Ctrl-C key sequence), the sdiff
command writes the initial input to the output file.
-s Does not display identical lines.
-w Number Sets the width of the output line. The default value of the Number variable is 130 characters. The
maximum width of the Number variable is 2048. The minimum width of the Number variable is
20. The sdiff command uses 2048 if a value greater than 2048 is specified.
Examples
1. To print a comparison of two files, enter:
sdiff chap1.bak chap1
The sdiff command displays a side-by-side listing that compares each line of the chap1.bak and chap1
files.
2. To display only the lines that differ, enter:
The sdiff command displays the differences at the work station. The -w 80 flag and variable sets the
page width to 80 columns. The -s flag indicates lines that are identical in both files will not be
displayed.
3. To selectively combine parts of two files, enter:
The sdiff command combines the chap1.bak and chap1 files into a new file called chap1.combo. For
each group of differing lines, the sdiff command prompts you which group to keep or whether you
want to edit them using the ed command.
4. To combine and edit two files, staff.jan and staff.apr, and write the results to the staff.year file,
perform the steps indicated.
The staff.jan file contains the following lines:
Members of the Accounting Department
Andrea
George
Karen
Sam
Thomas
The sdiff command will begin to compare the contents of the staff.jan and staff.apr files and
write the results to the staff.year file. The sdiff command displays the following:
Members of the Accounting Dept Members of the Accounting Dept
Andrea Andrea
George | Fred
%
Files
/usr/bin/sdiff Contains the sdiff command.
Related Information
The diff command, ed command.
Files, Input and output redirection in Operating system and device management.
secldapclntd Daemon
Purpose
Provides and manages connection and handles transactions between the LDAP load module and the
LDAP Security Information Server.
Syntax
/usr/sbin/secldapclntd [ -C CacheSize ] [ -p NumOfThread ] [ -t CacheTimeOut ] [ -T HeartBeatIntv ] [ -o
ldapTimeOut ]
Description
The secldapclntd daemon accepts requests from the LDAP load module, forwards the request to the
LDAP Security Information Server, and passes the result from the server back to the LDAP load module.
This daemon reads the configuration information defined in the /etc/security/ldap/ldap.cfg file during its
startup, authenticates to the LDAP Security Information Server using the specified server distinguished
name and password, and establishes a connection between the local host and the server.
If multiple servers are specified in the /etc/security/ldap/ldap.cfg file, the secldapclntd daemon connects
to all of the servers. At a specific time, however, it talks to only one of them. The priority of the server
connection is determined by its location in the server list with the highest priority server listed first. The
secldapclntd daemon can detect when the server it is currently communicating with is down, and
automatically switches to another available server. It can also detect when a server becomes available
again and re-establish connection to that server. If the reconnected server is of higher priority then the
current server then communication is switched to it. This auto-detect feature is done by the secldapclntd
daemon checking on each of the servers periodically. The time interval between subsequent checking is
defaulted to 300 seconds, and can be changed at the daemon startup time from the command line with
the -T option or by modifying the heartbeatinterval value in the /etc/ security/ldap/ldap.cfg file.
At startup, the secldapclntd daemon tries to establish a connection to the LDAP servers. If it cannot
connect to any of the servers, it goes to sleep, and tries again in 30 seconds. It repeats this process twice,
and if it still cannot establish any connection, the secldapclntd daemon process exits.
The secldapclntd daemon is a multi-threaded program. The default number of threads used by this
daemon is 10. An administrator can fine-tune the system performance by adjusting the number of threads
used by this daemon.
The valid number of cache entries for users is in the range of 100-10,000, and that for groups is in the
range of 10-1,000. The default is 1000 entries for users, and 100 entries for groups.
The cache timeout or TTL (time to live) can be from 60 seconds to 1 hour (60*60=3600 seconds). By
default, a cache entry expires in 300 seconds. If the cache timeout is set to 0, the caching feature is
disabled.
Communication between the secldapclntd daemon and the LDAP server is performed using
asynchronous methods. This allows the daemon to request information from the server and then perform
other steps while waiting for the request to return. The length of time that the client will wait for a response
from a server is configurable by the administrator and defaults to 60 seconds.
When connecting to LDAP servers, the secldapclntd daemon needs to do host lookups. The nis_ldap
resolver may cause the lookup to be routed back to the daemon itself, resulting in a hang situation. To
avoid this problem, the secldapclntd daemon ignores the system order of name resolution. Instead, it
uses the order defined by the nsorder attribute in the /etc/security/ldap/ldap.cfg file.
Flags
Note: By default, the secldapclntd daemon reads the configuration information specified in the
/etc/security/ldap/ldap.cfg file at startup. If the following options are given on the command line
when starting the secldapclntd process, the options from the command line will override the values
in the /etc/security/ldap/ldap.cfg file.
-C CacheSize Sets the maximum cache entries used by the secldapclntd daemon to CacheSize number of
entries. Valid range is 100-10,000 entries for user cache. The default is 1000. The group
cache entries will be 10% of the user cache entries.
-o ldapTimeOut Timeout period in seconds for LDAP client requests to the server. This value determines how
long the client will wait for a response from the LDAP server. Valid range is 0 - 3600 (1 hour).
Default is 60 seconds. Set this value to 0 to disable the timeout and force the client to wait
indefinitely.
-p NumOfThread Sets the number of threads used by the secldapclntd daemon to NumOfThread threads.
Valid range is 1-1000. The default is 10.
-t CacheTimeout Sets the cache to expire in CacheTimeout seconds. Valid range is 60- 3600 seconds. The
default is 300 seconds.
-T HeartBeatIntv Sets the time interval of heartbeat between this client and the LDAP server. Valid values are
60-3,600 seconds. Default is 300.
Examples
1. To start the secldapclntd daemon, type:
/usr/sbin/secldapclntd
2. To start the secldapclntd using 20 threads and cache timeout value of 600 seconds, type:
/usr/sbin/secldapclntd -p 20 -t 600
Use of the start-secldapclntd command is recommended for starting the secldapclntd daemon. It is also
recommended configuration values are specified in the /etc/security/ldap/ldap.cfg file instead of using
command line flags, so that these values will be used each time you start the secldapclntd process.
secldifconv Command
Purpose
Converts user and group entries of an LDIF from one schema type to another.
Syntax
secldifconv [-R load_module ] -S schematype -i inputFile [ -r ]
Description
The secldifconv command reads the ldif formatted input file specified by the -i option, converts the user
and group data using the schema type specified by the -S option, and prints the result to stdout. If
redirected to a file, the result can be added to an LDAP server with the ldapadd command or the ldif2db
command.
The -S option specifies the conversion schema type used for the ldif output. The secldifconv command
accepts the following schema types:
v AIX - AIX schema (aixaccount and aixaccessgroup objectclasses)
v RFC2307 - RFC 2307 schema (posixaccount, shadowaccount, and posixgroup objectclasses)
v RFC2307AIX - RFC 2307 schema with full AIX support (posixaccount, shadowaccount , and posixgroup
objectclasses, plus the aixauxaccount and aixauxgroup objectclasses).
The input file specified with the -i option can include entries in any of the above supported schemas. The
secldifconv command will convert user and group entries according to the attribute mapping defined in
the /etc/security/ldap/*.map files for the corresponding schema type. Only user and group entries will be
converted, other entries are output unaltered.
Use of the -r option allows the removal of attributes in user and group entries that are not included in the
specified output schema. If the option is not specified then unrecognized attributes are assumed to be
valid and are output unaltered. Note that if the user or group attribute is defined in the schema
secldifconv is converting from but not in the schema requested to convert into, then the attribute will not
be output. This behavior allows for conversion between the AIX and RFC2307AIX schemas to the
RFC2307 schema which contains a subset of attributes.
In releases of AIX prior to AIX 5.3, when the AIX schema was used to store entries in LDAP, the user’s
password was stored without an encryption prefix (that is, {crypt}). If the db2ldif command is used to
generate the input file for secldifconv, passwords without an encryption prefix are output in {IMASK}
format. In order to convert the {imask} format into the proper {crypt} format, the -R option should be used
to specify the Loadable I&A module to read the password from for conversions from AIX schema type,
assuming the system has been previously configured to be an LDAP client.
Care should be taken when adding users and groups from other systems to the LDAP server using the
secldifconv command output. The ldapadd and ldif2db commands check only for entry name (user
name or group name) but not for the numeric ID when adding entries. Merging users and groups from
multiple servers using secldifconv output can result in sharing of a numeric ID by multiple accounts,
which is a security violation. Note that IBM Directory Server 5.2 and later supports a unique attribute
feature that can be used to avoid this issue.
Exit Status
This command returns the following exit values:
Examples
1. To convert entries in a ldif formatted file to the rfc2307 schema, type the following:
secldifconv -S rfc2307 -i input.ldif
This displays the converted file to stdout in ldif format. User entries and group entries are converted
into the rfc2307 schema type.
2. To convert entries in a ldif formatted file to the rfc2307aix schema and remove unrecognized
attributes, type the following:
secldifconv -R LDAP -S rfc2307aix -i input.ldif -r > convert.ldif
This sends the output of the command to the convert.ldif file in ldif format. Unrecognized attributes
are removed during conversion and user passwords will be requested from the LDAP module if
necessary.
Location
/usr/sbin/secldifconv
Files
Mode File
r /etc/security/ldap/2307aixgroup.map
r /etc/security/ldap/2307aixuser.map
r /etc/security/ldap/2307group.map
r /etc/security/ldap/2307user.map
r /etc/security/ldap/aixgroup.map
r /etc/security/ldap/aixuser.map
Related Information
The db2ldif, ldif2db, and ldapadd commands.
The LDAP Attribute Mapping File Format in AIX 5L Version 5.3 Files Reference.
Purpose
Prints users and groups defined locally to stdout in ldif format.
Syntax
sectoldif -d baseDN [ -S schematype ] [ -u username ]
Description
The sectoldif command reads users and groups defined locally, and prints the result to stdout in ldif
format. If redirected to a file, the result can be added to a LDAP server with the ldapadd command or the
ldif2db command.
The -S option specifies the schema type used for the ldif output. The sectoldif command accepts three
schema types:
v AIX - AIX schema (aixaccount and aixaccessgroup objectclasses)
v RFC2307 - RFC 2307 schema (posixaccount, shadowaccount, and posixgroup objectclasses)
v RFC2307AIX - RFC 2307 schema with full AIX support (posixaccount, shadowaccount , and
posixgroup objectclasses, plus the aixauxaccount and aixauxgroup objectclasses).
The sectoldif command is called by the mksecldap command to export users and groups during LDAP
server setup. One needs to be extra cautious when exporting additional users and groups from other
systems to the LDAP server using the sectoldif output. The ldapadd and ldif2db commands check only
for entry name (user name or group name) but not for the numeric id when adding entries. Exporting users
and groups from multiple systems using sectoldif output can result in sharing of a numeric id by multiple
accounts, which is a security violation.
The sectoldif command reads the /etc/security/ldap/sectoldif.cfg file to determine what to name the
user, group and system sub-trees that the data will be exported to. The sectoldif command only exports
data to the USER, GROUP and SYSTEM types. The names specified in the file will be used to create
sub-trees under the base DN specified with the -d flag. Refer to the /etc/security/ldap/sectoldif.cfg file
documentation for more information.
Flags
-d baseDN Specifies the base DN under which to place the user and group data.
-S schematype Specifies the LDAP schema used to represent user/group entries in the LDAP server.
Valid values are AIX, RFC2307, and RFC2307AIX. Default is AIX.
-u username Specifies to print a specific user.
Examples
1. To print all users and groups defined locally, enter the following:
sectoldif -d cn=aixsecdb,cn=aixdata -S rfc2307aix
This prints all users and groups defined locally to stdout in ldif format. User entries and group entries
are represented using the rfc2307aix schema type. The base DN is set to cn=aixsecdb, cn=aixdata.
2. To print only locally defined user foo, enter the following:
sectoldif -d cn=aixsecdb,cn=aixdata -u foo
This prints locally defined user foo to stdout in ldif format. Without the -S option, the default AIX
schema type is used to represent foo’s ldif output.
3. To export data in a format that is compatible with AIX 4.3 and AIX 5.1 clients, perform the following:
This prints all users and groups defined locally to stdout in ldif format. User entries and group
entries are represented using the AIX schema type. The base DN is set to
cn=aixsecdb,cn=aixdata, with user subtree ou=aixuser and group subtree ou=aixgroup.
Files
Mode File
r /etc/passwd
r /etc/group
r /etc/security/passwd
r /etc/security/limits
r /etc/security/user
r /etc/security/environ
r /etc/security/user.roles
r /etc/security/lastlog
r /etc/security/smitacl.user
r /etc/security/mac_user
r /etc/security/group
r /etc/security/smitacl.group
r /etc/security/login.cfg
Related Information
The mksecldap and nistoldif commands.
securetcpip Command
Purpose
Enables the operating system network security feature.
Syntax
securetcpip
Description
The securetcpip command provides enhanced security for the network. This command performs the
following:
1. Runs the tcbck -a command, which disables the nontrusted commands and daemons: rcp, rlogin,
rlogind, rsh, rshd, tftp, and tftpd. The disabled commands and daemons are not deleted; instead,
they are changed to mode 0000. You can enable a particular command or daemon by re-establishing a
valid mode.
2. Adds a TCP/IP security stanza to the /etc/security/config file. The stanza is in the following format:
tcpip:
netrc = ftp,rexec /* functions disabling netrc */
Attention: The killall command kills all processes except the calling process. If logged in or
applications are running, exit or finish before executing the killall command.
After issuing the securetcpip command, shut down and restart your system. All of your TCP/IP commands
and network interfaces should be properly configured after the system restarts.
Files
/etc/security/config Contains information for the security system.
/etc/security/sysck.cfg Contains file definitions for the trusted computing base.
Related Information
The killall command, tcbck command.
sed Command
Purpose
A stream editor.
Syntax
sed [ -n ] Script [ File ... ]
Description
The sed command modifies lines from the specified File parameter according to an edit script and writes
them to standard output. The sed command includes many features for selecting lines to be modified and
making changes only to the selected lines.
The sed command uses two work spaces for holding the line being modified: the pattern space, where the
selected line is held; and the hold space, where a line can be stored temporarily.
An edit script consists of individual subcommands, each one on a separate line. The general form of sed
subcommands is the following:
[address-range] function[modifiers]
The sed command processes each input File parameter by reading an input line into a pattern space,
applying all sed subcommands in sequence whose addresses select that line, and writing the pattern
space to standard output. It then clears the pattern space and repeats this process for each line specified
in the input File parameter. Some of the sed subcommands use a hold space to save all or part of the
pattern space for subsequent retrieval.
When a command includes an address (either a line number or a search pattern), only the addressed line
or lines are affected by the command. Otherwise, the command is applied to all lines.
where ? (question mark) is a selectable character delimiter. You can select any character from the
current locale except for the space or new-line character. The \ (backslash) character is required only
for the first occurrence of the ? (question mark).
The default form for the pattern is the following:
/pattern/
Certain commands called addressed commands allow you to specify one line or a range of lines to which
the command should be applied. The following rules apply to addressed commands:
v A command line without an address selects every line.
v A command line with one address, expressed in context form, selects each line that matches the
address.
v A command line with two addresses separated by commas selects the entire range from the first line
that matches the first address through the next line that matches the second. (If the second address is
a number less than or equal to the line number first selected, only one line is selected.) Thereafter, the
process is repeated, looking again for the first address.
Flags
-e Script Uses the Script variable as the editing script. If you are using just one -e flag and no -f flag,
the -e flag can be omitted.
-f ScriptFile Uses the ScriptFile variable as the source of the edit script. The ScriptFile variable is a
prepared set of editing commands applied to the File parameter.
-n Suppresses all information normally written to standard output.
Note: You can specify multiple -e and -f flags. All subcommands are added to the script in the order
specified, regardless of their origin.
sed Subcommands
The sed command contains the following sed script subcommands. The number in parentheses preceding
a subcommand indicates the maximum number of permissible addresses for the subcommand.
Notes:
1. The Text variable accompanying the a\, c\, and i\ subcommands can continue onto more than one line,
provided all lines but the last end with a \ (backslash) to quote the new-line character. Backslashes in
text are treated like backslashes in the replacement string of an s command and can be used to
protect initial blanks and tabs against the stripping that is done on every script line. The RFile and
WFile variables must end the command line and must be preceded by exactly one blank. Each WFile
variable is created before processing begins.
2. The sed command can process up to 999 subcommands in a pattern file.
Exit Status
This command returns the following exit values:
0 Successful completion.
>0 An error occurred.
Examples
1. To perform a global change, enter:
sed "s/happy/enchanted/g" chap1 >chap1.new
This command sequence replaces each occurrence of the word happy found in the file chap1 with the
word enchanted. It puts the edited version in a separate file named chap1.new. The g character at the
end of the s subcommand tells the sed command to make as many substitutions as possible on each
line. Without the g character, the sed command replaces only the first occurrence of the word happy on
a line.
The sed command operates as a filter. It reads text from standard input or from the files named on the
command line (chap1 in this example), modifies this text, and writes it to standard output. Unlike most
editors, it does not replace the original file. This makes the sed command a powerful command when
used in pipelines.
2. To use the sed command as a filter in a pipeline, enter:
pr chap2 | sed "s/Page *[0-9]*$/(&)/" | enq
This command sequence encloses the page numbers in parentheses before printing the file chap2. The
pr command puts a heading and page number at the top of each page, then the sed command puts
the page numbers in parentheses, and the enq command prints the edited listing.
The sed command pattern /Page *[0-9]*$/ matches page numbers that appear at the end of a line.
The s subcommand changes this to (&), where the & stands for the page number that was matched.
3. To display selected lines of a file, enter:
sed -n "/food/p" chap3
This command sequence creates a sed script file when you want to do anything complex. You can
then test and modify your script before using it. You can also reuse your script to edit other files.
Create the script file with an interactive text editor.
5. A sample sed script file:
:join
/\\$/{N
s/\\\n//
b join
}
This sed script joins each line that ends with a \ (backslash) to the line that follows it. First, the
pattern /\\$/ selects a line that ends with a \ for the group of commands enclosed in {} (braces).
The N subcommand then appends the next line, embedding a new-line character. The s/\\\n//
deletes the \ and embedded new-line character. Finally, b join branches back to the label :join to
check for a \ at the end of the newly joined line. Without the branch, the sed command writes the
joined line and reads the next one before checking for a second \.
Note: The N subcommand causes the sed command to stop immediately if there are no more lines of
input (that is, if the N subcommand reads an end-of-file character). It does not copy the pattern
space to standard output before stopping. This means that if the last line of the input ends with
a \, it is not copied to the output.
6. To copy an existing file (oldfile) to a new file (newfile) and replace all occurrences of the
testpattern text string with the contents of the $REPL shell variable, enter:
cat oldfile | sed -e "s/testpattern/$REPL/g" > newfile
7. To replace all occurrences of A with a, B with b, C with c, and all occurrences of newlines with
character Z in the input file, enter:
$ sed -f command.file input.file
where command.file is the script file and input.file is the input file.
$cat command.file
y/ABC\n/abcZ/
Alternatively, the following command can also be executed for the same function:
sed "y/ABC\n/abcZ/" input.file
Related Information
The awk command, ed command, grep command.
Manipulating Strings with sed in AIX 5L Version 5.3 General Programming Concepts: Writing and
Debugging Programs
National Language Support in AIX 5L Version 5.3 National Language Support Guide and Reference.
Purpose
Displays and sets Stack Execution Disable flag of the system or executable files.
Syntax
sedmgr [-m {off | all | select | setidfiles}] [-o {on | off}] [-c {system | request | exempt} {file_name |
file_group}] [-d {file_name | directory_name}] [-h]
Description
The sedmgr command is the manager of the Stack Execution Disable (SED) facility. You can use the
command to enable and control the level of stack execution done in the system. This command can also
be used to set the various flags in an executable file, controlling the stack execution disable. Any changes
to the system wide mode setting will take effect only after a system reboot.
The system wide setting can only be modified by the root user. Other set and reset options on individual
executable files will be successful only if the user has write permissions to the file. The SED facility is
available only in the AIX 64 bit kernel operating systems.
If invoked without any parameter, the sedmgr command will display the current setting in regards to the
stack execution disable environment.
For more information, refer to the Stack Execution Disable Protection section in Login control in the
Security.
Parameters
file_name Name of the executable file whose SED settings are
changed. Requires write privilege.
file_group Group of executable files whose SED settings are
changed when a file name is not specified. Requires root
privilege.
directory_name Directory of executable files and any subdirectories of
executable files whose SED checking flags are displayed
with the -d flag.
Exit Status
0 The command completed successfully.
255 An error occurred.
Security
Access Control: This command should be a standard user command and have the trusted computing base
attribute.
Examples
1. To change the system-wide SED Mode flag to setidfiles and the SED Control flag to on, type:
sedmgr -m setidfiles -o on
2. To change the SED checking flag to exempt for the plans file, type:
sedmgr -c exempt plans
3. To change the SED checking flag to select for all the executable files marked as a TCB file, type:
sedmgr -c request TCB_files
4. To display the SED checking flag of the plans file, type:
sedmgr -d plans
Restrictions
Auditing Events: If the auditing subsystem has been properly configured and is enabled, the sedmgr
command generates the following audit record (event):
Event Information
SEDMGR_Odm System wide SED setting.
SEDMGR_File SED setting in an executable file header.
See Setting up auditing in the Auditing overview section of Security for more details about how to properly
select and group audit events, and how to configure audit event data collection.
Location
/usr/sbin/sedmgr
Related Information
The ldedit command, “tcbck Command” on page 319.
Auditing overview and Stack Execution Disable (SED) Protection section in Login control in Security.
send Command
Purpose
Sends a message.
Syntax
send [ File ... | { -draft | -nodraftfolder | -draftfolder +Folder | -draftmessage Message } ] [ -alias File ] [
-format | -noformat ] [ -nomsgid | -msgid ] [ -nofilter | -filter File ] [ -nopush | -push ] [ -forward |
-noforward ] [ -noverbose | -verbose ] [ -nowatch | -watch ]
Description
The send command routes messages through the mail delivery system. If the delivery fails, the send
command displays an error message. By default, From: and Date: fields are added to each specified
message. Unless a $SIGNATURE environment variable or signature: profile entry exists, the send
command places the sender’s address in the From: field.
The send command puts the current date in the Date: field. If the dist command calls the send
command, the send command adds Resent- to the From:, Date:, and Message-ID: fields.
After successful delivery, the send command removes messages from active status by renaming them.
The system renames messages by prefacing the current message number with a , (comma). Inactive files
are unavailable to the Message Handler (MH) package. However, system commands can still manipulate
inactive files. Until you use the send command again, you can retrieve an inactive file.
Flags
-alias File Specifies a mail alias file to be searched. Three MH profile entries are
required to use MH aliases:
ali: -alias Aliases
send: -alias Aliases
whom: -alias Aliases
Note: For MH, the name of this flag must be fully spelled out.
-msgid Adds a message-identification component (such as Message-ID:) to the
message.
-nodraftfolder Undoes the last occurrence of the -draftfolder +Folder flag. This flag is the
default.
-nofilter Removes the Bcc: header field from the message for recipients listed in the
To: and cc: fields. The flag then sends the message with minimal headers
to recipients listed in the Bcc: field. This flag is the default.
-noformat Prevents alteration of the format of the recipient addresses.
-noforward Prevents return of the draft message to the sender if delivery fails.
-nomsgid Prevents addition of a message-identification component. This flag is the
default.
-nopush Runs the send command in the foreground. This flag is the default.
-noverbose Prevents display of information during the delivery of the message to the
sendmail command. This flag is the default.
-nowatch Prevents display information during delivery by the sendmail command.
This flag is the default.
-push Runs the send command in the background. The send command does not
display error messages on the terminal if delivery fails. Use the -forward
flag to return messages to you that are not delivered.
-verbose Displays information during the delivery of the message to the sendmail
command. This information allows you to monitor the steps involved in
sending mail.
-watch Displays information during the delivery of the message by the sendmail
command. This information allows you to monitor the steps involved in
sending mail.
Profile Entries
The following entries are entered in the UserMhDirectory/.mh_profile file:
If you enter yes, the draft message is sent, and you are returned to the shell prompt. In this example, the
name of the $HOME directory is /home/david.
Files
$HOME/.mh_profile Specifies the MH user profile.
/usr/bin/send Contains the send command.
Related Information
The ali command, comp command, dist command, forw command, post command, sendmail command,
spost command.
sendbug Command
Purpose
Mails a system bug report to a specified address.
Syntax
sendbug [ Address ]
Description
The sendbug command is a shell script to assist the user in composing and mailing bug reports in the
correct format.
The sendbug command starts the editor specified by the EDITOR environment variable on a temporary
copy of the bug report format outline. The default editor is vi.
Fill out the appropriate fields in the bug report format outline and exit the editor. The sendbug command
mails the completed report to the address specified by the Address parameter. The default address is
POSTMASTER.
Files
/usr/lib/bugformat Contains the bug report outline.
sendmail Command
Purpose
Routes mail for local or network delivery.
Syntax
sendmail [ -ba | -bd | -bD | -bh | -bH | -bi | -bm | -bp | -bs | -bv | -bt [ -CFile ] [ -dValue ] ] [
-BType ] [ -FFullName ] [ -fName ] [ -hNumber ] [ -i ] [ -Mx Value] [ -n ] [ -N Dsn ] [
-OOption=Value ] [ -o Option [ Value ] ] [ -pProtocol ] [ -q [ Time] ] [ -qISubstr ] [ -qRSubstr ] [
-qSSubstr ] [ -R Return ] [ -r addr ] [ -t ] [ -V Envid ] ] [ -v ] [ -X LogFile ] Address
Note: The Address parameter is optional with the -bd, -bi, -bp, -bt, and -q [ Time ] flags.
Description
Note: On sendmail V8.7 (AIX 4.2 and later), name resolution ordering is Domain Name System
(DNS), Network Interface Services (NIS), then local. If you wish to override this, specify an
/etc/netsvc.conf file or NSORDER environment variable.
The sendmail command receives formatted text messages and routes the messages to one or more
users. Used on a network, the sendmail command translates the format of a message's header
information to match the requirements of the destination system. The program determines the network of
the destination system by using the syntax and content of the addresses.
Use the sendmail command only to deliver pre-formatted messages. The sendmail command is not
intended as a user interface routine; other commands provide user-friendly interfaces.
The sendmail command reads standard input for message text. The sendmail command sends a copy of
the message to all addresses listed whenever it reads an end of the message character. The end of the
message character is either an end-of-file (Ctrl-D) control sequence or a single period on a line.
Specifying filters in sendmail configs: Use the key letter X (for external) to specify filters. The following
are three example filters:
Xfilter1, S=local:/var/run/f1.sock, F=R
Xfilter2, S=inet6:999@localhost, F=T, T=C:10m;S:1s;R:1s;E:5m
Xfilter3, S=inet:3333@localhost
If neither F=R or F=T is specified, the sendmail command passes the message as if the filter is not
present. The separator is a comma (,).
sendmail mail filter timeouts: You can override the default sendmail timeouts with T=x. There are four
fields in the T= statement:
C Timeout for connecting to a filter (if 0, use system timeout).
S Timeout for sending information from the MTA to a filter.
R Timeout for reading reply from the filter.
E Overall timeout between sending end-of-message to filter and waiting for the final
acknowledgment.
The InputMailFilters option determines which filters are invoked and how the filters are sequenced:
InputMailFilters=filter1, filter2, filter3
This is set automatically according to the order of the INPUT_MAIL_FILTER commands in your .mc file.
You can also reset the value by setting confINPUT_MAIL_FILTERS in your .mc file. This option calls the
three filters in the order the filters were specified.
You can define a filter without adding it to the input filter list by using MAIL_FILTER() instead of
INPUT_MAIL_FILTER() in your .mc file.
The current process ID of the sendmail command is stored in the /etc/mail/sendmail.pid file. Issue the
kill -15 command as follows to have the sendmail command reread the newly edited sendmail.cf:
kill -15 `head -1 /etc/mail/sendmail.pid`
The sendmail command rereads these databases and continues operation with the new data.
Defining Aliases
The sendmail command allows you to define aliases to use when the sendmail command handles the
local mail. Aliases are alternate names that you can use in place of elaborate network addresses. You can
also use aliases to build distribution lists.
Define aliases in the /etc/mail/aliases file. This file is a text file you can edit. The sendmail command
uses a database version of this file. Before any changes made to the /etc/mail/aliases file become
effective, you must build a new alias database by running the sendmail -bi command or the newaliases
command.
Berkeley DB support is now available on AIX 5.1 for Sendmail 8.11.0. Sendmail will continue to read the
aliases in the DBM format until the aliases database gets rebuilt. Once rebuilt, sendmail will read the
aliases in the Berkeley DB format and store them in the /etc/mail/aliases.db file.
Note: When defining aliases in the /etc/mail/aliases file, use only lowercase characters for nested
aliases. Uppercase characters on the right-hand side of an alias are converted to lowercase before
being stored in the aliases database. In the following example, mail sent to testalias fails, because
TEST is converted to test when the second line is stored.
TEST: user@machine
testalias: TEST
Every system must have a user or user alias designated as the postmaster alias. The default postmaster
alias is a root file. You can assign this alias to a different user in the /etc/mail/aliases file. The
postmaster alias allows other users outside your system to send mail to a known ID and to get
information about mailing to users on your system. Also, users on your system can send problem
notifications to the postmaster ID.
The sendmail command first opens a database in the format of hash-style aliases file. If it fails or if the
NEWDB support was not compiled, the command opens a NDBM database. If that fails, the sendmail
command reads the aliases source file into its internal symbol table.
Flags
-B Type Sets the body type to type. Current legal values are 7BI or 8BITMIME.
Note: For valid values, see ″Options for the sendmail Command in the sendmail.cf File″
in Networks and communication management.
-pProtocol Sets the sending protocol. It is recommended that you set this. You can set Protocol in the
form Protocol:Host to set both the sending protocol and the sending host. For example,
-pUUCP:uunet sets the sending protocol to UUCP and the sending host to uunet. Some
existing programs use -oM flag to set the r and s macros, which is equivalent to using the -p
flag. This flag applies only to 4.2 or later.
-qISubstr Limits process jobs to those containing Substr as a substring of the queue ID.
-qRSubstr Limits process jobs to those containing Substr as a substring of one of the recipients.
-qSSubstr Limits process jobs to those containing Substr as a substring of the sender.
You can also set or remove the sendmail configuration processing options. The person responsible for the
mail system uses these options. To set these options, use the -o flag on the command line or the O
control line in the configuration (/etc/mail/sendmail.cf) file.
Example
Run the following command to display the sendmail version:
echo \$Z | sendmail -d0
Security
Auditing Events:
Event Information
SENDMAIL_Config Configuration event
SENDMAIL_ToFile File-creation event
Exit Status
The sendmail command returns exit status values. These exit values are defined in the
/usr/include/sysexits.h file. The following table summarizes the meanings of these return values:
EX_CANTCREAT The sendmail command cannot create a file that the user specified.
EX_CONFIG An error was found in the format of the configuration file.
EX_DATAERR The input data was incorrect in some way.
EX_IOERR An error occurred during I/O.
Files
/usr/sbin/sendmail Contains the sendmail command.
/usr/sbin/mailq Contains the mail queue.
/usr/sbin/newaliases Contains the alias database.
/usr/sbin/mailstats Contains statistics found in the /usr/lib/sendmail.st file.
/etc/mail/aliases Contains the text version of the sendmail command aliases.
/etc/mail/aliases.db Contains Berkeley DB formatted database for aliases.
/etc/mail/aliases.dir Contains DBM formatted database for aliases.
/etc/mail/aliases.pag Contains DBM formatted database for aliases.
/etc/mail/sendmail.cf Contains the text version of the sendmail configuration file.
/etc/sendmail.st Contains mail routing statistics information.
/usr/lib/smdemon.cleanu Maintains aging copies of the log file found in the /var/spool/mqueue directory.
/var/spool/mqueue Contains the temporary files and the log file associated with the messages in the mail
queue.
/usr/bin/uux Contains the mailer command to deliver Basic Networking Utilities (BNU) mail.
/usr/bin/bellmail Contains the mailer command to deliver local mail.
Related Information
The bellmail command, kill command, mail, Mail command, mailq command, mailstats command,
newaliases command, refresh command, uux command.
BNU Overview, Mail management, and Transmission Control Protocol/Internet Protocol in Networks and
communication management.
setclock Command
Purpose
Sets the time and date for a host on a network.
Syntax
/usr/sbin/setclock [ TimeServer ]
The setclock command takes the first response from the time server, converts the calendar clock reading
found there, and displays the local date and time. If the setclock command is run by the root user, it calls
the standard workstation entry points to set the system date and time.
If no time server responds or if the network is not operational, the setclock command displays a message
to that effect and leaves the current date and time settings of the system unchanged.
Note: Any host running the inetd daemon can act as a time server.
Parameter
TimeServer The host name or address of a network host that services TIME requests. The setclock
command sends an Internet TIME service request to a time server host. If the TimeServer name
is omitted, the setclock command sends the request to the default time server. The default time
server in a DOMAIN environment is specified by the name server. Otherwise the default time
server is specified in the /etc/hosts file.
Examples
1. To display the date and time using the time server host specified in the /etc/hosts file, enter:
setclock
Sat Mar 11 15:31:05 1988
You must use the su command or log in as the root user before setting the time from the time server
in host1.
Related Information
The timedc command.
setea Command
Purpose
Writes or deletes a named extended attribute to a file.
Syntax
setea -n Name [ -l ]{ -v Value | -d | -f EAFile } FileName ...
Note: To prevent naming collisions, JFS2 has reserved the 8-character prefix (0xf8)SYSTEM(0xF8) for
system-defined extended attributes. Avoid using this prefix for naming user-defined extended
attributes.
This command is not used to set ACLs. To set ACLs, use the aclput command.
Flags
-d Specifies to delete the named extended attribute from the file.
-f EAFile EAFile specifies a file which contains the EA value. If an extended attribute matching the
specified name already exists for the FileName, then the value will be changed to the value
specified.
-l Specifies to write or delete the extended attribute from the symbolic link itself rather than
the file to which it is pointing.
-n Name Specifies the name of the extended attribute to be written.
-v Value Specifies the value of the named extended attribute. If an extended attribute matching the
specified name already exists for the file, then the value will be changed to the value
specified. Value is treated as a character string. It should be enclosed in quotes if it
contains spaces.
FileName ... Specifies the file or files from which to write or delete the extended attribute.
Exit Status
0 Successful completion.
Positive integer An error occurred.
Examples
1. To create an extended attribute with a name of Approver and a value of Grover for file design.html.
setea -n Approver -v Grover design.html
2. To modify an extended attribute named Approver to new value of Joon for file design.html.
setea -n Approver -v Joon design.html
3. To remove an extended attribute named Approver from file design.html.
setea -n Approver -d design.html
4. To create an extended attribute with a name of Approver and a value of Zach for the symbolic link
design.html, type:
setea -n Approver -v Zach -l design.html
Location
/usr/sbin
Related Information
chfs and crfs command in AIX 5L Version 5.3 Commands Reference, Volume 1.
Purpose
Resets a session’s process group set.
Syntax
setgroups [ - ] [ -a GroupSet ] [ -d GroupSet ] [ -r [ Group ] ] [ GroupSet ]
Description
The setgroups command, by default, displays the user’s current group set and process group set for the
current shell. A user’s group set is defined in the user database files. When given a flag and a GroupSet
parameter, this command resets the process group set as listed by the GroupSet parameter. The
GroupSet parameter is a comma-separated list of group names. The available groups are defined in the
user database files.
You can also use the setgroups command to add or delete groups from the current group set. Using the
-r flag, you can reset the real group ID. If you specify the Groupset parameter but no flags, the setgroups
command resets all the groups and makes the first group in the list the real group. The setgroups
command does not change the security characteristics of the controlling terminal.
When you run the setgroups command, the system always replaces your shell with a new one. The
command replaces your shell regardless of whether the command is successful or not. For this reason,
the command does not return error codes.
Flags
-a GroupSet Adds the groups specified by the GroupSet parameter to the current session. The number of
groups in the new set must not exceed NGROUPS_MAX groups, a value defined in the
limits.h file. The real group ID is not changed.
-d GroupSet Removes the groups specified by the GroupSet parameter from the current session. If the real
group is removed, the next group listed in the current set becomes the real group.
-r Group Resets the real group for the current process. If you do not specify a Group parameter and the
current real group is not the primary group, the -r flag removes the current real group and
resets the real group to the original primary group. If you specify a Group parameter, this
behaves identically to the newgrp command.
- Re-initializes the group set of the session to its original login state.
Security
Access Control: This command should be a general user program. This command should be installed as a
program in the trusted computing base (TCB). The command should be owned by the root user with the
setuid (SUID) bit set.
Files Accessed:
Mode Files
r /etc/passwd
r /etc/group
Event Information
Examples
1. As user sah, you can display your current group membership and process group set, by entering:
setgroups
setgroups -a finance
3. To set your real group to finance, enter:
setgroups finance,staff,payroll
This sets finance as the real group. The staff and payroll groups make up the supplementary group
list.
4. To delete the payroll group from the current process group set, enter:
setgroups -d payroll
5. To change the process group set back to your default set, enter:
setgroups -
This resets your current session to its original state just after you log in.
Files
/usr/bin/setgroups Contains the setgroups command.
/etc/group Contains basic group attributes.
/etc/passwd Contains basic user attributes.
Related Information
The login command, newgrp command, setsenv command, tsm command.
setmaps Command
Purpose
Sets terminal maps or code set maps.
Syntax
To use setmaps with no input or output map file designation, type the following:
setmaps [ -v ] [ -c | -h ]
setmaps [ -v ] -s -i MapName
To select a designated file as the code set map file, type the following:
setmaps [ -v ] -s -I File1
To select a file from the default directory as the input or output terminal map file, type the following:
To select files from the default directory as the input or output terminal map files, type the following:
To select a designated file as the input or output terminal map file, type the following:
To load the default terminal map file for later use, type the following:
To load a designated terminal map file for later use, type the following:
Description
Note: If this command is run without root user authority, the code set map is not loaded, only
debugged.
The setmaps command handles terminal and code set maps. The -s flag must be used for code set
maps. The operating system uses input and output terminal maps to convert internal data representations
to the ASCII characters supported by asynchronous terminals. If you enter the setmaps command with no
flags, it displays the names of the current input and output terminal maps.
A terminal map is a text file containing a list of rules that associate a pattern string with a replacement
string. This file normally resides in the /usr/lib/nls/termmap directory. The operating system uses an input
map file to map input from the keyboard to an application and an output map file to map output from an
application to the display.
The rules of a terminal map can test and change the state of the pattern processor. The state is identified
by a single-byte character, conventionally a digit (0 through 9). The state is reset to 0, the initial state,
whenever the system loads a new map or flushes the terminal input or output buffer (such as when it
processes a KILL or INTR character or when a program issues an ioctl system call). A terminal map can
use states to detect multibyte escape sequences, among other tasks. You can test for state x by specifying
@x in a pattern. You can set the state to x by including @x in the replacement string.
Flags
-c Clears all mappings on this terminal.
-d DirectoryPath Causes the DirectoryPath variable to be used as the path to the directory that
contains the MapName variable. Specifying this flag and variable overrides the
/usr/lib/nls/termmap directory.
-D Produces a debug program printout of the specified map on the standard output
device before loading the map. When using this to run the debug program on new
maps, do not run with root user authority until the map is fully debugged to prevent
the map from actually being loaded.
-h Prints the usage information of the setmaps command (used with the -v flag for
advanced users).
-i MapName Selects the /usr/lib/nls/termmap/MapName.in file as the input map. When used with
the -s flag, this flag selects the /usr/lib/nls/csmap/MapName file as the terminal
code set map file.
-I File1 Selects the contents of the File1 variable as the input map. The file specified by the
File1 variable can be either a full path name or a path name relative to the current
working directory. When used with the -s flag, this flag selects the contents of the
File1 variable as the terminal code page map file.
-k KeyName Associates the contents of the KeyName variable with the map being selected. This
key name overrides the default key, which is normally set to the value of the
MapName variable.
-l File2 Loads the /usr/lib/nls/termmap/File2 file for later use. The File2 variable includes the
full path name and suffix (if any) of the map file.
Note: You must have root user authority to specify this flag.
-L File1 Loads the specified map for later use. The File1 variable includes the full path name
and suffix (if any) of the map file.
Note: You must have root user authority to specify this flag.
-o MapName Selects the /usr/lib/nls/termmap/MapName.out file as the terminal output map.
-O File1 Selects the contents of the File1 variable as the terminal output map. The File1
variable includes the full path name and suffix (if any) of the map file.
-r Forces reloading of the specified map, even if it is already loaded. Terminals using
the old map continue to do so until they are logged off or until their maps are
explicitly reset. If you do not specify this flag, a map is loaded only if it has not
already been loaded into the kernel.
Note: You must have root user authority to specify this flag.
-s Treats any map as a code set map.
-t MapName Selects the /usr/lib/nls/termmap/MapName.in file as the terminal input map and the
/usr/lib/nls/termmap/MapName.out file as the terminal output map.
-v Selects verbose output.
All maps loaded must have unique names. Use the -k flag to eliminate naming conflicts. Only the -i, -o,
and -t flags implicitly add a suffix. Other flags specifying map names should include a suffix if appropriate.
If a requested map name is already loaded in the kernel, that map is used even if the path information
provided on the command line implies a different map.
To reset the code set map to its original state, the /usr/lib/nls/csmap/sbcs code set map should be used.
Files
/usr/bin/setmaps Contains the setmaps command.
/usr/lib/nls/termmap/*.in Contains input map files.
/usr/lib/nls/termmap/*.out Contains output map files.
/usr/lib/nls/csmap/sbcs Contains code set map for a single-byte code page.
/usr/lib/nls/csmap/IBM-943 Contains code set map for the IBM-943 code page.
/usr/lib/nls/csmap/IBM-eucJP Contains code set map for the IBM-eucJP code page.
Related Information
The stty command.
National Language Support in AIX 5L Version 5.3 National Language Support Guide and Reference.
setsenv Command
Purpose
Resets the protected state environment of a user.
Syntax
setsenv [ - ] NewEnvironment
Description
The setsenv command resets your protected state environment while you are logged in. The protected
state environment is defined as a set of variables. These variables are kept in the kernel and can be
modified only by a SETUINFO system call. The setsenv command uses the variables specified by the
You cannot reset the following environment variables with the setsenv command:
NAME Your last authenticated user name. This corresponds to the real user ID of the current process.
TTY The name of the terminal on which you logged in. This corresponds to the initial controlling terminal for
the process. This variable cannot be set for processes initiated without a full login. A full login is a login
initiated by the getty command.
LOGNAME The name under which you logged in, if the current session was started from a terminal login program.
If the session was not started from a terminal, this variable is not set.
If you enter the setsenv command without any defined variables, it displays the current protected state.
The setsenv command does not change the security characteristics of the controlling terminal.
When you run the setsenv command, it replaces your current shell and gives you a new one. The
command replaces your shell regardless of whether it completed successfully or not. For this reason, the
command does not return error codes.
Flags
- Reinitializes the environment as if the user had just logged in to the system. Otherwise, the environment is not
changed.
Security
Access Control: This command should be a standard user program. This command should be installed as
a program in the trusted computing base (TCB). The command should be owned by the root user with the
setuid (SUID) bit set.
Files Accessed:
Mode File
r /etc/environment
r /etc/security/environ
Auditing Events:
Event Information
USER_SetEnv new environment string
Examples
1. To display the current environment variables, enter:
setsenv
2. To add the PSEUDO=tom protected environment variable, enter:
setsenv PSEUDO=tom
This example sets a user name for the PSEUDO protected environment variable.
Files
/usr/bin/setsenv Specifies the path to the setsenv command.
/etc/environment Contains environment information for each user.
Related Information
The login command, setgroups command, su command, tsm command.
For more information about the identification and authentication of users, discretionary access control, the
trusted computing base, and auditing, refer to Securing the network in Security.
settime Command
Purpose
Updates access and modification times of a file.
Syntax
settime [ [ MMddhhmm[yy ] ] | [ -f ReferenceFile ] ] File ...
Description
settime updates the argument files with the current access and modification times by default. The file is
not created if it does not exist. The settime command silently continues its operation if the file does not
exist.
Note: Any dates beyond and including the year 2038 are not valid for the settime command.
Flags
-f ReferenceFile Use the corresponding time of ReferenceFile instead of
the current time.
Parameters
MMddhhmm[yy] Time is specified for the settime command in the format
MMddhhmm or MMddhhmmyy, where MM is a two-digit
representation of the month, dd is a two-digit
representation of the day of the month, hh is a two-digit
representation of the hour, mm is a two-digit
representation of the minute, and yy is a two-digit
representation of the year.
File Specifies the name of a file or a space separated list of
files.
Exit Status
0 The command completed successfully.
>0 An error occurred.
The return code from settime is the number of specified files for which the times could not be successfully
modified.
Files
/usr/bin/settime Contains the settime command.
Related Information
The touch command.
setuname Command
Purpose
Sets the node name of the system.
Syntax
setuname [-t ] -n Node
Description
The setuname command is used to set the node name of the system. The -n option must be specified.
Only users with root authority can set the node name. The change can be made temporary by using the -t
option. The node name will be modified only on the current running kernel if a temporary change is
requested. The nodename set temporarily will not persist after a reboot. Without the -t option the node
name is changed permanently in the ODM database.
Flags
-n Node Specifies that the node name has to be changed. This
option is required. Node is the primary node name for the
host. This can be the UUCP communications network
name for the system.
-t Temporary change. No attempt will be made to make the
change permanent. The original name will be restored
after reboot.
Exit Status
0 The command completed successfully.
>0 An error occurred.
Files
/usr/bin/setuname Contains the setuname command.
Related Information
The chdev command, hostname command, uname command.
sh Command
Purpose
Invokes the default shell.
Syntax
Refer to the syntax of the ksh command. The /usr/bin/sh file is linked to the Korn shell.
Description
The sh command invokes the default shell and uses its syntax and flags. The shell linked to the
/usr/bin/sh path is the default shell. The standard configuration of the operating system links the
/usr/bin/sh path to the Korn shell. See Korn shell or POSIX shell built-in commands in Operating system
and device management for specific information about Korn shell features.
Flags
Refer to the flags for the Korn shell (ksh command).
Files
/usr/bin/sh Contains the sh command.
Related Information
The ksh command.
Korn shell or POSIX shell built-in commands, Shells in Operating system and device management.
shconf Command
Purpose
Manages the system hang detection parameters.
Syntax
shconf -d
shconf -R -l Name
Description
The shconf command is used to display or specify the parameters of the priority problem detection and
lost I/O detection.
For the priority problem, the user can specify five actions described below and for each action, the user
can specify the priority level to check, the time out while no process or thread executes at a lower or equal
priority, the terminal device for the warning action, and the getty action:
For lost I/O, the user can specify the actions listed below and errlog, which is automatic when lost I/O
detection is enabled. There is a unique timeout which applies to all enabled actions.
Note: The shconf command only supports the tty and console terminal types.
Flags
-d Displays if priority problem detection and lost I/O detection
are enabled or not.
-R Restore the default values for a specified name of
detection.
-a Attribute=Value Specifies the attribute value pairs used for changing
specific attribute values.
-D Displays the default values for a specified name of
detection.
-E Displays the effective values for a specified name of
detection.
-H Displays the headers above the column output. When
used together, the -O flag overrides the -H flag.
-l Name Specifies the detection name.
-O Displays all attribute names separated by colons and, on
the second line, displays all the corresponding attribute
values separated by colons. The attribute values are
current values when the -E flag is also specified and
default values when the -D flag is specified. This flag
cannot be used with the -a flag.
Files
/usr/sbin/shconf Contains the shconf command.
Purpose
Executes a shell with the user’s default credentials and environment.
Syntax
shell
Description
The shell command re-initializes a user’s login session. When the command is given, the port
characteristics of the process’s controlling terminal are reset and all access to the port is revoked. The
shell command then resets the process credentials and environment to the defaults established for the
user and executes the user’s initial program. All credentials and environment are established according to
the login user ID of the invoking process.
If the shell command is invoked on the trusted path and the user’s tpath attribute in the
/etc/security/user file does not have a value of always, the trusted environment of the terminal is not
maintained.
Note: The shell command does not reset the login ID of the user.
Security
Access Control: The command should be setuid to the root user to reset the user’s process credentials,
and grant execute (x) access to all users. The command should have the trusted computing base
attribute.
Files Accessed:
Mode File
r /etc/passwd
r /etc/group
r /etc/security/audit/config
r /etc/security/environ
r /etc/security/limits
r /etc/security/user
Auditing Events:
Event Information
USER_Shell portname
Examples
To re-initialize your session to your default credentials and environment after using the trusted shell (tsh),
enter:
shell
Files
/usr/bin/shell Contains the shell command.
/etc/security/user Contains the extended attributes of users.
/etc/passwd Contains user IDs.
Related Information
The getty command, init command, login command, logout command, setgroups command, su
command, tsh command, tsm command.
For more information about the identification and authentication of users, discretionary access control, the
trusted computing base, and auditing, refer to Securing the network in Security.
show Command
Purpose
Shows messages.
Syntax
show [ +Folder ] [ -draft | Messages ] [ -header | -noheader ] [ -showproc CommandString |
-noshowproc ]
Description
The show command displays the contents of messages. If standard output is not a display, the show
command lists each message with a one-line header and two separation lines. By default, the show
command displays the current message in the current folder.
The show command invokes a listing program to create the list. The default listing program is
/usr/bin/more. You can define your own default with the showproc: entry in your $HOME/.mh_profile file.
If you set the showproc: entry to mhl, the show command calls an internal mhl routine instead of the mhl
command. You can also specify the program to perform a listing in the CommandString parameter of the
-showproc flag.
The show command passes any flags it does not recognize to the listing program. Thus, you can specify
flags for the listing program, as well as for the show command.
If the Unseen-Sequence: entry is present in your $HOME/.mh_profile file and the entry is not empty, the
show command removes each of the messages shown from each sequence named by the profile entry. If
several messages are specified, the last message shown becomes the current message.
Flags
-draft Shows the UserMhDirectory/draft file if it exists.
+Folder Specifies a folder. The current folder is the default.
-header Displays a one-line description of the message being shown. The
description includes the folder name and message number. If you show
more than one message, this flag does not produce message headers.
The -header flag is the default.
-help Lists the command syntax, available switches (toggles), and version
information.
Note: For MH, the name of this flag must be fully spelled out.
Profile Entries
The following entries are entered in the UserMhDirectory/.mh_profile file:
Examples
1. To display the contents of the current message in the current folder one screen at a time, enter:
show
If the message continues for more than one screen, press the Enter key until you have read the entire
message.
2. To see the contents of all the messages in the current folder, enter:
show all
If the messages continue for more than one screen, press the Enter key until you have read all the
messages.
3. To see the contents of message 5 in the meetings folder, enter:
show +meetings 5
4. To see the contents of all the messages belonging to the weekly sequence in the meeting folder, enter:
Related Information
The mhl command, next command, pick command, prev command, scan command, sendmail
command.
showmount Command
Purpose
Displays a list of all clients that have remotely mounted file systems.
Syntax
/usr/bin/showmount [ -a ] [ -d ] [ -e ] [ Host ]
Description
The showmount command displays a list of all clients that have remotely mounted a file system from a
specified machine in the Host parameter. This information is maintained by the mountd daemon on the
Host parameter. This information is saved in the /etc/rmtab file in case the server crashes. The default
value for the Host parameter is the value returned by the hostname command.
Note: If a client crashes, its entry will not be removed from the list until the client reboots and starts the
umount -a command.
Note: The showmount command returns information maintained by the mountd daemon. Because NFS
Version 4 does not use the mount daemon, showmount will not return information about version 4
mounts.
Flags
-a Prints all remote mounts in the format HostName:Directory, in which HostName is the name of the client and
Directory is a directory pathname that has been remotely mounted.
-d Lists only directories that have been remotely mounted by clients.
-e Prints the list of exported directories.
Examples
1. To display a list of all remote directories mounted by a host, enter:
/usr/bin/showmount -a zeus
In this example, the showmount command produces a list of all of the remote directories mounted by
the clients on the host machine named zeus.
2. To display a list of only the directories mounted by a client on the host, enter:
In this example, the showmount command produces a list of all remote directories mounted by the client
machines on the host named athena.
3. To print a list of all directories exported from a machine, enter:
/usr/bin/showmount -e zeus
In this example, the showmount command produces a list of all remote directories exported by the host
machine named zeus except the ones that are exported only with NFS version 4.
Files
/etc/rmtab Contains information about the current state of all exported directories.
/etc/xtab Lists currently exported directories.
Related Information
The hostname command, umount command.
shutacct Command
Purpose
Turns off processing accounting.
Syntax
/usr/sbin/acct/shutacct [ ″Reason″ ]
Description
The shutacct command turns off process accounting and calls the acctwtmp command to add a record
stating the reason to the /var/adm/wtmp file. The shutacct command is invoked by the shutdown
command.
Note: It is necessary to place quotation marks around the Reason value in the /var/adm/wtmp file.
Variables
Reason Specifies the reason for accounting system shutdown. This value is optional.
Security
Access Control: This command should grant execute (x) access only to members of the adm group.
Files
/usr/sbin/acct The path to the accounting commands.
Related Information
The turnacct command.
For more information about the Accounting System, the preparation of daily and monthly reports, and the
accounting files, see the System accounting in Operating system and device management.
Setting up an accounting subsystem in Operating system and device management explains the steps you
must take to establish an accounting system.
shutdown Command
Purpose
Ends system operation.
Syntax
shutdown [ -d ] [ -F ] [ -h ] [ -i ] [ -k ] [ -l ] [ -m ] [ -p ] [ -r ] [ -t mmddHHMM [ yy ] ] [ -u ] [ -v ] [ +Time [
Message ] ]
Description
The shutdown command halts the operating system. Only a user with root user authority can run this
command. During the default shutdown, users are notified (by a wall command) of the impending system
shutdown with a message. However, shutdown is not complete until the user receives a shutdown
completion message. Do not attempt to restart the system or turn off the system before the shutdown
completion message is displayed; otherwise, file system damage can result.
Note: The halt completed message is not displayed on the tty from which shutdown is invoked if it is
connected to the system through a multiport adapter.
As shutdown time approaches, warning messages are displayed on the terminals of all users on the
system.
After the specified number of seconds (60 by default), the system stops the accounting and error logging
processes and writes an entry to the error log. The shutdown command then runs the killall command to
end any remaining processes and runs the sync command to flush all memory resident disk blocks.
Finally, it unmounts the file systems and calls the halt command.
Note: Users who have files open on the node that is running the shutdown command, but who are
not logged in to that node, are not notified about the shutdown.
If you request a complete halt to the operating system, the shutdown command stops all processes,
unmounts all file systems, and calls the halt command.
The system administrator can place local customized shutdown procedures in a shell script named
/etc/rc.shutdown. This script runs at the beginning of the shutdown if it exists. If the script runs but fails
with a non-zero return code, the shutdown stops.
Attention: If you are bringing the system down to maintenance mode, you must run the shutdown
command from the / (root) directory to ensure that it can cleanly unmount the file systems.
Flags
-d Brings the system down from a distributed mode to a multiuser mode.
-F Does a fast shutdown, bypassing the messages to other users and bringing the
system down as quickly as possible. The +Time [ Message ] options are ignored
if the -F flag is specified.
-h Halts the operating system completely; same as the -v flag.
-i Specifies interactive mode. Displays interactive messages to guide the user
through the shutdown.
-k Allows the administrator to broadcast the shutdown warning messages without
causing the system to shut down. When the -k flag is used, no other shutdown
activity occurs except for sending messages. For example, no processes are
killed, no activity is logged in /etc/shutdown.log if the -l flag is specified, and if
an /etc/rc.shutdown script exists it does not run.
-l Creates/appends the /etc/shutdown.log file that contains information about the
filesystems, daemons, user login, licensing services, network interfaces being
brought down. The file may be used for diagnostic and debugging purposes in the
event of shutdown failures.
Note: Ensure that there is enough disk space for the shutdown command
to log the entries while using this flag.
-m Brings the system down to maintenance (single user) mode.
-p Halts the system without a power down. This is used by uninterruptible power
supply (UPS). This flag only applies to AIX 4.2 or later.
Note: The -p flag will have no effect if used in combination with flags not
requiring a permanent halt. Power will still be turned off if other operands
request a delayed power-on and reboot
-r Restarts the system after being shutdown with the reboot command.
-t mmddHHMM [ yy ] Shuts down the system immediately and then restarts the system on the date
specified by mmddHHMM [ yy ] where
mm Specifies the month.
dd Specifies the day.
HH Specifies the hour.
MM Specifies the minute.
yy Specifies the year.
Note: This option is only supported on systems that have a power supply
which automatically turns power off at shutdown and an alarm to allow
reboot at a later time. Systems without this capability may hang or may
reboot immediately after shutdown.
-u This flag is used by diagnostics to update the flash-memory and reboot.
-v Halts the operating system completely.
Examples
1. To turn off the machine, enter:
shutdown
This shuts down the system, waiting 1 minute before stopping the user processes and the init process.
2. To give users more time to finish what they are doing and bring the system to maintenance mode,
enter:
shutdown -m +2
This brings the system down from multiuser mode to maintenance mode after waiting 2 minutes.
Files
/usr/sbin/shutdown Contains the shutdown command.
Related Information
The errpt command, init or telinit command, kill command, killall command, halt command, reboot
command, and sync command.
size Command
Purpose
Displays the section sizes of the Extended Common Object File Format (XCOFF) object files.
Syntax
size [ -d | -o | -x ] [ -f ] [ -V ] [ -X {32|64|32_64|d64 | any}] [ File ... ]
Description
The size command writes to standard output the number of bytes required by all sections, along with their
sum for each XCOFF file. If the -f flag is specified, the section name follows the section size.
Note: When no file is passed as an input to the size command, the a.out file is considered as the default.
Flags
The output is in decimal notation unless you change the output with the following flags:
The default is to process 32-bit object files (ignore 64-bit objects). The mode can also be set with the
OBJECT_MODE environment variable. For example, OBJECT_MODE=64 causes size to process any
64-bit objects and ignore 32-bit objects. The -X flag overrides the OBJECT_MODE variable.
-V Prints the version number of the size command.
Examples
1. To display the size of the a.out file in decimal, enter:
size
This displays the size in bytes of the executable a.out file. The size of each section of the object file is
given, followed by the total:
3720 + 1752 + 4152 = 9624
2. To display the size of an object file in octal, enter:
size -o driver.o
This displays in hexadecimal the size of each file ending with .o in the current directory.
Related Information
The ar command, as command, dump command, ld command, nm command, strip command.
skulker Command
Purpose
Cleans up file systems by removing unwanted files.
Syntax
skulker
Description
Attention: Because the skulker command is run by a root user, and its whole purpose is to remove
files, it has the potential for unexpected results. Before installing a new skulker command, test any
additions to its file removal criteria by running the additions manually using the xargs -p command.
After you have verified that the new skulker command removes only the files you want removed, you
can install it.
The skulker command is normally invoked daily, often as part of an accounting procedure run by the cron
command during off-peak periods. Modify the skulker command to suit local needs following the patterns
shown in the distributed version. Local users should be made aware of the criteria for automatic file
removal.
The find command and the xargs command form a powerful combination for use in the skulker
command. Most file selection criteria can be expressed conveniently with find expressions. The resulting
file list can be segmented and inserted into rm commands using the xargs command to reduce the
overhead that would result if each file were deleted with a separate command.
Related Information
The cron daemon, find command, rm command, xargs command.
slattach Command
Purpose
Attaches serial lines as network interfaces.
Syntax
/usr/sbin/slattach TTYName [ BaudRate DialString [ DebugLevel ] ]
Description
The /usr/sbin/slattach command assigns a TTY line to a network interface.
The slattach command is run by the /etc/rc.net file during system startup to automatically configure any
Serial Line Internet Protocol (SLIP) network interfaces defined by the System Management Interface Tool
(SMIT). SLIP interfaces can also be configured manually as shown in the examples section.
For a directly connected SLIP interface, broken connections are retried automatically without manual
intervention. For a SLIP interface connected by modem, broken connections must be manually redialed. If
a user supplies a dial string in the slattach command line, the user must re-enter the command and dial
string to restore a broken connection.
To detach the interface, run the ifconfig Interface down command after terminating the slattach
command. The Interface parameter is the name shown by the netstat command.
If configuring a slip interface from the command line, the /usr/sbin/ifconfig command must be invoked for
the slip interface with the appropriate parameters and the slip tty line discipline must also be available in
order for this command to succeed. To check if the slip tty line discipline is already loaded, run the
command strinfo -m | grep slip. If no output is shown, the module has not yet been loaded. Load the
module by issuing the command strload -m /usr/lib/drivers/slip.
Notes:
1. After the SLIP interface has been configured with ifconfig, any user who has permission on the TTY
may issue the slattach command.
2. You must configure the tty devices used by the slattach command before establishing a connection.
You may also need to make an entry for the tty device in the BNU /usr/lib/uucp/Devices file.
3. Sample shell script, /usr/sbin/slipcall, provides a simplified interface for invoking slattach and
connecting to remote systems. slipcall is useful for connecting to dial-in SLIP networks that require a
Parameters
BaudRate Sets the speed of the connection. The default speed is 9600.
DebugLevel Sets the level of debug information desired. A number from 0 through 9 may be specified. A value
of 0 specifies no debug information; a value of 9 specifies the most debug information. The
default value is 0.
DialString Specifies a string of expect/respond sequences using the Basic Networking Utility (BNU)/AIX to
AIX Copy Program (UUCP) chat syntax.
TTYName Specifies a TTY line. This string is in the form ttyxx or /dev/ttyxx.
Examples
1. To attach the SLIP network interface to the tty1 port with a direct connection, issue the following
command:
slattach /dev/tty1
Files
/etc/uucp/Devices Lists definitions of devices used for remote connections.
Related Information
The ifconfig command, netstat command, sliplogin command.
sleep Command
Purpose
Suspends execution for an interval.
Syntax
sleep Seconds
Description
The sleep command suspends execution of a process for at least the interval specified by the Seconds
parameter. The amount of time specified in the Seconds parameter can range from 1 to MAXINT
(2,147,483,647) seconds.
Exit Status
This command returns the following exit values:
0 The execution was successfully suspended for at least Seconds seconds, or a SIGALRM signal was received.
Examples
1. To run a command after a certain amount of time has passed, enter:
(
echo "SYSTEM SHUTDOWN IN 10 MINUTES!" | wall
sleep 300; echo "SYSTEM SHUTDOWN IN 5 MINUTES!" | wall
sleep 240; echo "SYSTEM SHUTDOWN IN 1 MINUTE!" | wall
sleep 60; shutdown
)&
This command sequence warns all users 10 minutes, 5 minutes, and 1 minute before the system is
shut down.
2. To run a command at regular intervals, enter:
while true
do
date
sleep 60
done
This shell procedure displays the date and time once a minute. To stop it, press the Interrupt key
sequence.
Related Information
The shutdown command, wall command.
slibclean Command
Purpose
Removes any currently unused modules in kernel and library memory.
Syntax
slibclean
Description
The slibclean command unloads all object files with load and use counts of 0. It can also be used to
remove object files that are no longer used from both the shared library region and in the shared library
and kernel text regions by removing object files that are no longer required.
Files
/usr/sbin/slibclean Contains the slibclean command.
Related Information
The unload subroutine.
sliplogin Command
Purpose
Converts a standard-input terminal line into a Serial Line Internet Protocol (SLIP) link to a remote host.
Syntax
sliplogin [LoginName]
Description
The sliplogin command configures a standard-input terminal line into a Serial Line Internet Protocol
(SLIP) link to a remote host; that is, the command attaches a serial line network interface.
The sliplogin command searches the /etc/slip.hosts file for a loginname entry that matches the value of
the LoginName parameter. If a matching entry is found, sliplogin configures the line appropriately for SLIP
(that is, for 8-bit transparent input/output) and converts it to SLIP line discipline. Then, sliplogin invokes
the applicable login shell script which initializes the SLIP interface with the local and remote Internet
Protocol (IP) addresses, netmask, and optional arguments associated with the loginname entry in the
/etc/slip.hosts file.
The usual initialization script file is /etc/slip.login. However, in order to accommodate special initialization
needs of a particular host, a script file named /etc/slip.login.userlogin (where userlogin corresponds to
the loginname entry in the /etc/slip.hosts file) can be created. The sliplogin command uses the
/etc/slip.login.userlogin script file when it exists, instead of the /etc/slip.login script file.
To deinitialize the SLIP interface, the sliplogin command uses either the /etc/slip.logout script file or the
/etc/slip.logout.userlogin script file, if one of them exists, with preference given to the latter. The
/etc/slip.logout script file is given the same arguments as the /etc/slip.login script file; the
/etc/slip.logout.userlogin script file is given the same arguments as the /etc/slip.login.userlogin script
file. In its default form, the /etc/slip.logout script file deletes all routes through the network interface for
the specified SLIP unit. Additional processes to be done when the SLIP interface is disconnected can be
added to either logout script file.
Notes:
1. The interface automatically deactivates when the remote connection terminates or when the sliplogin
command dies.
2. Use the slattach command to access a remote system that has a SLIP link configured. Use the
sample shell script file /usr/sbin/slipcall to invoke the slattach command with the proper parameters
needed to call a remote system and configure the local interface with the appropriate values assigned
by the remote system.
3. When using sliplogin as a user’s login shell on a tty device, then this tty port used needs to be
enabled for login. (This differs from the configuration when using slattach instead of sliplogin as a
SLIP server process.
/etc/slip.hosts File
The /etc/slip.hosts file is the configuration file containing the names of preconfigured sliplogin users and
the IP addresses to be assigned to the local and remote interface when the user logs in. sliplogin
searches this file for matching LoginName entries. This file has the following format:
v Comments (lines starting with a # ) and blank lines are ignored.
where local_address and remote_address are the IP host names or addresses of the local and remote
ends of the SLIP line, and netmask is the appropriate IP netmask. These arguments are passed directly
to the ifconfig command. Opt_args are optional arguments used to configure the line.
v This implementation of sliplogin allows the /etc/slip.hosts file to contain multiple entries for a single
SLIP user with differing addresses. This enables multiple SLIP interfaces to be activated by the
sliplogin command for the same user name. When user entries are retrieved from the /etc/slip.hosts
file, only entry addresses meeting the following criteria are selected.
The entry is ignored if a slip.hosts entry specifies a local address which is already in use on another
non-SLIP interface on the local system.
The entry is ignored if the remote address specified in an /etc/slip.hosts entry is already in use on any
other interface.
/etc/slip.login File
The /etc/slip.login or /etc/slip.login.userlogin file is the setup script invoked by the sliplogin command
to initialize the user’s network interface. The /etc/slip.login.userlogin file is invoked if it exists, where the
value of the LoginName parameter of the sliplogin command corresponds to a loginname entry in the
/etc/slip.hosts file. If this file cannot be accessed, the /etc/slip.login file is invoked instead. The login
script file contains the following parameters:
slipunit Specifies the unit number of SLIP interface assigned to this line. For example, 0 for sl0 (sl0 is s,
lowercase L, zero.)
speed Specifies the speed of the line.
args Specifies the arguments from the /etc/slip.hosts file entries, in order, starting with loginname.
/etc/slip.logout File
The /etc/slip.logout or /etc/slip.logout.userlogin file is the setup script invoked by sliplogin to
deinitialize the user’s network interface. The /etc/slip.logout.userlogin file is invoked if it exists, where the
value of the LoginName parameter of sliplogin corresponds to a loginname entry in the /etc/slip.hosts
file. If this file cannot be accessed, the /etc/slip.logout file is invoked instead.
Flags
</dev/ttyx Redirects the command to the ttyx device if the user is already logged into a tty device
and wants to configure their terminal as a SLIP line.
Parameters
LoginName Specifies the desired login name. The default is the current login name.
Examples
The normal use of the sliplogin command is to create an /etc/passwd entry for each legal, remote SLIP
site with sliplogin as the shell for the entry. For example,
foo:!:2010:1:slip line to foo:/tmp:/usr/sbin/sliplogin
An entry must then be added to the /etc/slip.hosts file. The entry should resemble the following example:
foo 1.1.1.1 1.1.1.2 0xffffff00 normal
Diagnostics
The sliplogin command logs various information to the system log daemon (syslogd). The messages are
listed here, grouped by severity levels.
Error Severity
Message Description
ioctl (TCGETS): reason The ioctl subroutine failed to get the line parameters for
the reason indicated.
ioctl (TCSETS): reason The ioctl subroutine failed to set the line parameters for
the reason indicated.
ioctl (TIOCGETD): reason The ioctl subroutine failed to get the current tty discipline
for the reason indicated.
/etc/slip.hosts: reason The /etc/slip.hosts file could not be opened for the
reason indicated.
Check of flags for interface xxx failed. Errno is reason. An attempt to check the status of the indicated interface
to avert possible addressing conflicts failed for the reason
indicated in the errno global variable.
Access denied for user - no /etc/slip.login[.userlogin] file. No /etc/slip.login or /etc/slip.login.userlogin script file
could be found.
Access denied for user - no /etc/slip.hosts entries No loginname entry in the /etc/slip.hosts file matched
available. the LoginName value specified in the command.
Access denied - getlogin returned 0. The user issuing the sliplogin command does not have a
password entry in the /etc/passwd file.
Logout script failed: exit status xxx from An attempt to run the /etc/slip.logout or
/etc/slip.logout[.userlogin] /etc/slip.logout.userlogin script file failed with the
indicated exit status.
No SLIP interface for ttyx. Errno is reason. No SLIP interface could be located for the ttyx device for
the reason indicated in the errno global variable. Try
either running the ifconfig slx up command or using
SMIT to add a network interface for the tty device.
Open /dev/null: reason An attempt to open the /dev/null device failed for the
reason indicated.
/etc/slip.logout file not found The /etc/slip.logout file could not be located.
sliplogin: cannot add SLIP discipline to ttyx No SLIP interface exists for the ttyx device. Try either
running the ifconfig slx up command or using SMIT to
add a network interface for the tty device.
SLIP discipline removal from tty failed. Errno is reason. An attempt to remove the SLIP discipline from the tty
device failed for the reason indicated in the errno global
variable.
tcgetattr: reason An attempt to read the current attributes of the tty device
failed for the reason indicated.
userlogin login failed: exit status xxx from A system call to execute the /etc/slip.login or
/etc/slip.login[.userlogin] /etc/slip.login.userlogin script file failed with the
indicated exit status.
Notice Severity
Message Description
Attaching SLIP unit xxx for userlogin. The indicated SLIP unit has been successfully attached
for the indicated userlogin.
Files
/etc/slip.hosts The configuration file that contains the names of
preconfigured sliplogin users and the IP addresses to be
assigned to the local and remote interface when the user
logs in.
/etc/slip.login or /etc/slip.login.userlogin The setup script invoked by the sliplogin command to
initialize the user’s network interface.
/etc/slip.logout or /etc/slip.logout.userlogin The setup script invoked by the sliplogin command to
deinitialize the user’s network interface.
Related Information
The slattach command.
slocal Command
Purpose
Processes incoming mail.
Syntax
slocal [ -verbose | -noverbose ] [ -debug ]
Description
The slocal command performs a set of actions each time a message is sent to the user. The slocal
command is not started by the user. The slocal command is called by the sendmail command.
The sendmail command starts the slocal command upon encountering the following line in the
$HOME/.forward files:
/usr/lib/mh/slocal
For each incoming message, the slocal command performs the actions specified in the .maildelivery file.
If the slocal command cannot find the $HOME/.maildelivery file, the slocal command uses the
/etc/mh/maildelivery default file. If the delivery request fails, the slocal command delivers the message to
the /usr/mail/$USER file.
Note: For Message Handler (MH), the name of this flag must be fully spelled out.
-noverbose Does not display information as the system executes commands in the .maildelivery file. This
flag is the default.
-verbose Displays information as the system executes commands in the .maildelivery file.
Files
/usr/lib/mh/mtstailor Contains MH command definitions.
/etc/mh/.maildelivery Contains the default MH instructions for local mail delivery.
$HOME/.maildelivery Provides the user with MH instructions for local mail delivery.
$HOME/.forward Contains either the line that starts the slocal command or a path to forward
mail.
/etc/mh/mh_profile Contains parameters that customize the MH package.
Related Information
The rcvdist command, rcvpack command, rcvstore command, rcvtty command, sendmail command.
slp_srvreg Command
Purpose
Manages a service location protocol (SLP) service agent.
Syntax
slp_srvreg [ -a attribute -l lifetime { -t } servicetype { -u } URL ] [ -s scopes ] [ -I IPAddress ] [ -p port ] [ -v
]
slp_srvreg [ -D ] [ -v ]
Description
The slp_srvreg command manages the service location protocol (SLP) service agent. The slp_srvreg
command is used to register services for a specified time for a specified URL with an attribute list in a
given scope. If the service URL does not include the scheme service, then you must specify a servicetype
attribute with the slp_srvreg command. The servicetype will be included in the service URL. If the service
URL includes the scheme service type (in the service:scheme format), then the servicetype argument of
this command is not used.
To register a service, the slp_srvreg command specify an IP address that the service registration request
will be sent to. Use the slp_srvreg command with the -I flag to specify IP address. If you specify the IP
address of the local host (127.0.0.1), the registration of the IP address sent for the service URL is
processes locally. Otherwise, the registration is processed in other directory agents found by the service
agent.
You must specify the slp_srvreg command with the -D flag to run it as slp_srvreg daemon.
Restriction: Do not run more than one slp_srvreg daemons on the same machine.
SLP clients must not expect SLP service agent to return the attributes using the same case as they used
during registration. Even if a client registers some services with attribute=true to get response for query
on this attribute, the SLP server responds with attribute=TRUE. Any client seeking this information must
handle the attribute in a case-insensitive manner.
Flags
-a attribute Specifies a comma-separated list of attributes for the services to be
registered.
-D Specifies to run as a daemon.
-I IPAddress Specifies the IP address that the service registration needs to be sent to.
-l lifetime Specifies the time after which the service registration needs be renewed.
The value of the lifetime attribute is specified in number of seconds.
-p port Specifies the port to listen to when running as a daemon. If you do not
specify the -p flag, the default 427 port is used.
-s scopes Specifies the scopes of the services to be registered.
-t servicetype Specifies the service type that is included in the service URL when there is
no scheme service.
-u URL Specifies the URL for the service to be registered.
-v Specifies verbose output.
Examples
1. To run the command as a daemon on the default SLP port 427, enter the following command:
# slp_srvreg –D
2. To register the service with the service:pop3://mail.ibm.com URL and the user=Tom, Richard
attributes for two days, enter the following command:
# slp_srvreg -v –a “user=Tom, Richard” –u “service:pop3://mail.ibm.com”
–t “service:pop3” –l 172800
3. To register the service with the service:pop3://mail.ibm.com URL and the user=Tom, Richard
attributes for two days for the local host, enter the following command:
# slp_srvreg –a “user=Tom, Richard” –u “service:pop3://mail.ibm.com”
–t “service:pop3” –l 172800 –I 127.0.0.1
Related Information
The SLPAttrCallback, SLPClose, SLPEscape, SLPFindAttrs, SLPFindScopes, SLPFindSrvs,
SLPFindSrvTypes, SLPFree, SLPGetProperty, SLPParseSrvURL, SLPSrvTypeCallback,
SLPSrvURLCallback, SLPUnescape, SLPDereg, and the SLPRegReportCallback subroutines in AIX 5L
Version 5.3 Technical Reference: Communications Volume 2.
The Service Location Protocol (SLP) APIs in AIX 5L Version 5.3 Communications Programming Concepts.
smcaprop Command
Purpose
Provides read-only information on the Certificate Authority.
Alphabetical Listing of Commands 103
Syntax
smcaprop
Description
The smcaprop command can be run on a machine that has been defined as internal Certificate Authority
(CA). The command prompts for the CA private key ring password, and then provides read-only
information on the CA (CA Name, Most recent certificate issued, CA certificate expiration date, etc.).
Detailed information on all operations executed by the CA (key ring generation, certificate signing, etc.)
can be found in the CA log file /usr/websm/security/SMCa.log.
You can use Web-based System Manager (wsm) command to access the graphical interface.
Examples
smcaprop
Files
/usr/websm/security/SMCa.log Lists detailed information on all operations executed by
the CA.
/usr/websm/security/SM.caprivkr Certificate private key ring file.
Related Information
The smdefca, smexpcacert, smimpcacert, smlistcerts, smsigncert, and the smundefca command.
For information on installing the Web-based System Manager, see Chapter 2: Installation and System
Requirements in AIX 5L Version 5.3 Web-based System Manager Administration Guide.
smdefca Command
Purpose
Defines an internal certificate authority.
Syntax
smdefca ca_name -o organization -c country_code -d pub_dir [ -e mm/dd/yyyy]
Description
The smdefca command is used to define an internal CA (Certificate Authority) for Web-based System
Manager servers and clients on the current machine. When you define a Web-based System Manager-CA,
the following files are generated:
/usr/websm/security/SM.caprivkr
This is the CA private key ring that includes the CA private key and the CA certificate. This is the
most sensitive file from the aspect of Web-based System Manager security. It is created root
protected and password encrypted.
SMpubkr.class (created on the specified pub_dir)
The public key ring file. This file has to be distributed to each Web-based System Manager client
(for application mode) and server (for applet mode) and should be placed in /usr/websm/
codebase.
If a CA is already defined on the current machine, the smundefca command must be used first to
unconfigure it.
Flags
ca_name A name that uniquely defines your Web-based System Manager-CA. The machine full
TCP/IP name with some additional serial number might be a good choice. If you ever
redefine a CA, it is recommended that you use a different name in order to identify
which CA, by name, is used by each server and client.
Note: Do not set the CA name to be exactly the machine’s full TCP/IP name (this
will break the SMGate utility, in case you want to use it in managing this machine
from a remote browser).
-o organization Organization name (required for the CA certificate).
-c country_code Two-letter ISO country code (required for the CA certificate).
-d pub_dir The output directory for the public key ring file SMpubkr.class.
-e mm/dd/yyyy Expiration date for the CA certificate. The default expiration date is four years from the
date of issuing the command.
Examples
smdefca IBMCA1 -o IBM -c US -d /usr/websm/security/tmp -e 12/31/1999
Files
/usr/websm/security/SMpubkr.class CA public key ring file.
/usr/websm/security/SMCa.log Lists detailed information on all operations executed
by the CA.
/usr/websm/security/SMCa.sn Certificate number file.
/usr/websm/security/SM.caprivkr Certificate private key ring file.
Related Information
The smcaprop, smexpcacert, smimpcacert, smlistcerts, smsigncert, and the smundefca command.
For information on installing the Web-based System Manager, see Chapter 2: Installation and System
Requirements in AIX 5L Version 5.3 Web-based System Manager Administration Guide.
smdemon.cleanu Command
Purpose
Cleans up the sendmail queue for periodic housekeeping.
Syntax
/usr/lib/smdemon.cleanu
Description
The smdemon.cleanu command is a shell procedure that cleans up the sendmail command queue and
maintains the /var/spool/mqueue/log file.
To enable the smdemon.cleanu command, you must remove the comment statement by deleting the #
character from the beginning of the smdemon.cleanu line in the /var/spool/cron/crontabs/root file. If the
/var/spool/mqueue directory does not exist, do not change the /var/spool/cron/crontabs/root file.
Note: The smdemon.cleanu command is not usually entered on the command line. The command is
executed by the cron daemon.
Examples
To run the smdemon.cleanu procedure automatically, edit the /var/spool/cron/crontabs/root file and
delete the # (comment character) from the beginning of the smdemon.cleanu line as follows:
# ulimit 5000; /usr/lib/smdemon.cleanu > /dev/null
Files
/var/spool/cron/crontabs/root Schedules when the smdemon.cleanu command will run.
/var/spool/mqueue Contains the log file and temporary files associated with the
message in the mail queue.
Related Information
The cron daemon.
smexpcacert Command
Purpose
Exports the certificate authority (CA) certificate.
Syntax
smexpcacert cert_file
Description
The smexpcacert command can be run on a machine that has been defined as internal certificate
authority (CA). The command prompts for the CA private key ring password, and then writes the CA
certificate of the internal CA to the file cert_file. The full path name of the output file for the CA certificate is
specified with cert_file.
You can use Web-based System Manager command to access the graphical interface.
Examples
smexpcacert /tmp/CA1.cert
Files
/usr/websm/security/SMCa.log Lists detailed information on all operations executed by the
CA.
For information on installing the Web-based System Manager, see Chapter 2: Installation and System
Requirements in AIX 5L Version 5.3 Web-based System Manager Administration Guide.
smgenkeycr Command
Purpose
Generates server private keys and certificate requests.
Syntax
smgenkeycr { server_name | -f list_file} -o organization -c country_code -d out_dir [ -k 512]
Description
The smgenkeycr command generates a private key and a certificate request for the Web-based System
Manager servers. The private keys and certificate requests are generated either for each server in the
input server list file or for the server whose name is specified.
You can use Web-based System Manager command to access the graphical interface.
Flags
server_name The full TCP/IP name of the server. If the name specified is S, a private key ring file
S.privkr will be generated in the output directory.
-f list_file The full path name of a file with the list of server machine names (one line with full
TCP/IP name per server). For each server S in the list, a private key ring file S.privkr will
be generated in the output directory.
-o organization Organization name (required for the server certificate).
-c country_code Two-letter ISO country code (required for the server certificate).
-d out_dir The output directory for the server private key ring files.
-k 512 This option does not exist in the exportable version. The server private key length will be
512. The default in the US version is 1024, in the exportable - 512.
Examples
smgenprivkr S101.IBM.COM -o IBM -c US -d /usr/websm/security/tmp
smgenprivkr -f /usr/websm/security/tmp/server.list -o IBM -c US -d /usr/websm/security/tmp
Related Information
The smgenprivkr, smimpservercert, sminstkey, smlistcerts, and the smserverprop command.
For information on installing the Web-based System Manager, see Chapter 2: Installation and System
Requirements in AIX 5L Version 5.3 Web-based System Manager Administration Guide.
smgenprivkr Command
Purpose
Generates server private key ring files.
Description
The smgenprivkr command can be run on a machine that has been defined as internal certificate
authority (CA). The smgenprivkr command generates ’ready to go’ private key ring files for the
Web-based System Manager servers. The private key ring files are generated either for each server in the
input server list file, or for the one server whose name is specified.
You can use Web-based System Manager command to access the graphical interface.
Flags
server_name The full TCP/IP name of the server. If the name specified is S, a private key ring file
S.privkr will be generated in the output directory.
-f list_file The full path name of a file with the list of server machine names (one line with full
TCP/IP name per server). For each server S in the list, a private key ring file S.privkr
will be generated in the output directory.
-o organization Organization name (required for the server certificate).
-c country_code Two-letter ISO country code (required for the server certificate).
-d out_dir The output directory for the servers private key ring files.
-k 512 This option does not exist in the exportable version. The server’s private key length will
be 512. The default in the US version is 1024, in the exportable 512.
-e mm/dd/yyyy Expiration date for the server certificates. The default expiration date is two years from
the date of issuing the command.
Examples
smgenprivkr S101.IBM.COM -o IBM -c US -d /usr/websm/security/tmp -e 12/31/1999
Files
/usr/websm/security/SMCa.log Lists detailed information on all operations executed by the
CA.
Related Information
The smgenkeycr, smimpservercert, sminstkey, smlistcerts, and the smsigncert command.
For information on installing the Web-based System Manager, see Chapter 2: Installation and System
Requirements in AIX 5L Version 5.3 Web-based System Manager Administration Guide.
smimpcacert Command
Purpose
Imports the certificate authority’s certificate.
Syntax
smimpcacert dir cert_file
You can use Web-based System Manager command to access the graphical interface.
Parameters
dir The directory of SMpubkr.class.
cert_file The full path name of the CA certificate file.
Examples
smimpcacert /usr/websm/security/tmp CA1.cert
Related Information
The smcaprop command, smdefca command, smexpcacert command, smlistcerts command,
smsigncert command, and the smundefca command.
For information on installing the Web-based System Manager, see Chapter 2: Installation and System
Requirements in AIX 5L Version 5.3 Web-based System Manager Administration Guide.
smimpservercert Command
Purpose
Imports the Server Certificate.
Syntax
smimpservercert dir { -a | -s server_name}
Description
The smimpservercert command imports a server certificate (*.cert file) to the server private key file
(*.privk), generating a private key ring file (*.privkr). You can import the certificate of one server, or all
certificates with matching private key files in the specified directory dir.
Use the /usr/websm/bin/wsm command to access the graphical interface. The fast path is wsm system.
Flags
dir The directory where the certificate requests (*.certreq files) and the private keys (*.privk
files) reside, and to which the private key rings (*.privkr files) will be written.
-a All certificates (*.certreq files) with matching private key files (*.privk) in the specified dir
directory will be processed. Each certificate S.cert will be imported into the private key
file S.privk, generating the private key ring file S.privkr in the specified dir directory.
-s server_name The full TCP/IP name of the server whose certificate server_name.cert will be imported
into its private key file server_name.privk, generating the private key ring file
server_name.privkr in the specified dir directory.
smimpservercert /usr/websm/security/tmp -a
Related Information
The smgenkeycr, smgenprivkr, sminstkey, smlistcerts, and the smserverprop command.
For information on installing the Web-based System Manager, see Chapter 2: Installation and System
Requirements in AIX 5L Version 5.3 Web-based System Manager Administration Guide.
sminstkey Command
Purpose
Installs private key ring.
Syntax
sminstkey [ inpdir | -d | tarfile]
Description
The sminstkey command expects the private key ring file of the current machine (S.privkr where S is the
full TCP/IP machine name) in a directory, or on a diskette archive created by TAR, or in a TAR file, and
installs it as /usr/websm/security/SM.privkr.
Note: In case of TAR file or diskette TAR, the private key ring should appear there without a path.
If the source private key ring file is password-encrypted, the command prompts for the password.
You can use Web-based System Manager (wsm) command to access the graphical interface.
Flags
inpdir The source S.privkr is in the directory inpdir.
-d The source S.privkr is in a diskette archive created by TAR.
tarfile The source S.privkr is in the TAR file tarfile.
Examples
sminstkey /usr/websm/security/tmp
sminstkey -d
sminstkey /afs/security/privkrs.tar
Files
/usr/websm/security/SM.privkr Server private key ring file.
Related Information
The smgenkeycr, smgenprivkr, smimpservercert, smlistcerts, and the smserverprop command.
smit Command
Purpose
Performs system management.
Syntax
smit [ -C | -M ] [ -D ] [ -f ] [ -h ] [ -l File ] [ -o PathName ] [ -p Entity/ValueString ] [ -r RunMode ] [ -s File ]
[ -t ] [ -v ] [ [ -m | -n | -d ] FastPath ] [ -X ] [ -x ]
Description
The smit command invokes the System Management Interface Tool (SMIT). SMIT is an interactive
interface application designed to simplify system management tasks. The smit command displays a
hierarchy of menus that can lead to interactive dialogues. SMIT builds and runs commands as directed by
the user. Because SMIT runs commands, you need the authority to execute the commands that SMIT
runs.
SMIT creates two files, the smit.script file and the smit.log file. Invoking the smit command with the -s
PathName flag saves the smit.script file in the file specified by the PathName parameter. If the -s flag is
not specified, the script information is saved in the $HOME/smit.script file. Invoking the smit command
with the -l PathName flag saves the smit.log file in the file specified by the PathName parameter. If the -l
flag is not specified, the log information is recorded in the $HOME/smit.log file. You must have write
permission for the directory in which you have requested the smit file to be written or the smit.script file
and smit.log file are not created. SMIT does not overwrite the smit.log file or the smit.script file. The
files are appended when possible.
The smit.script file automatically records the commands with the command flags and parameters used.
The smit.script file can be used as an executable shell script to duplicate system configuration. SMIT
creates the smit.log file, which contains additional detailed information that can be used by programmers
in extending the SMIT system. The smit.log file is affected by the -D, -l, -t, and -v flags.
The smit command takes you to the top level of the menu hierarchy if you do not use the FastPath
parameter. To enter the menu at lower levels, use the FastPath parameter. All commands run by SMIT can
be used as FastPaths. The FastPath parameter will assist you as you become familiar with the
commands. For example, you can enter: smit chuser to go directly to the dialog from which you can
change user characteristics. To learn more about FastPaths see, Setting up and maintaining roles using
SMIT in Security.
Note: User access to SMIT panels may be controlled with the smitacl.user or smitacl.group commands.
Flags
-C Starts SMIT using an ASCII (also called Curses) interface.
-D Sets the debug mode; sets -t and -v flags.
-d FastPath Identifies that the FastPath is the name of a dialogue.
-f Allows standard in and standard out from SMIT to be redirected.
-h Displays the command usage message.
-l File Redirects the smit.log file to the specified File.
-M Starts SMIT using a windows (also called Motif) interface.
-m FastPath Identifies that the FastPath is the name of a menu.
-n FastPath Identifies that the FastPath is the name of a selector.
-o PathName Specifies a directory PathName of an alternate repository for SMIT objects. The
default directory is /etc/objrepos.
-p Entity/ValueString This flag only applies to smit Windows® version. Allows nameselects and dialogs to
be filled in from the command line. Also allows you to operate on multiple entities
simultaneously. You can set the environment variables ENTITY_SEP and
VALUE_SEP to override the default comma and semicolon separators.
or
Examples
1. To display the main menu in the overall system management hierarchy, enter:
smit
2. To change the characteristics of a user, enter:
smit chuser
The chuser command is an example of a FastPath parameter. The smit command and the FastPath
parameter chuser takes you directly to the dialog, Change User Attributes, which guides you through
changing the characteristics of a user.
The smit.script file can be edited to create slight variations in the configuration commands, or to use
only subsets of the commands. The smit.script file should be renamed or copied to prevent SMIT
from modifying it.
Note: SMIT runs commands under the Korn shell (/usr/bin/ksh). Some command strings in the
smit.script file may require this environment to run correctly.
Files
/usr/bin/smit Contains the smit command.
/etc/objrepos Specifies the default directory for the SMIT database.
smit.log Specifies detailed information of your session, with time stamps.
smit.script Specifies only the target task commands run by SMIT, with time stamps.
Related Information
The chmod, chsec, and lssec, commands.
System Management Interface Tool (SMIT) in Operating system and device management.
System Management Interface Tool (SMIT) Overview for Programming in AIX 5L Version 5.3 General
Programming Concepts: Writing and Debugging Programs.
smitty Command
Purpose
Provides a Curses-based text interface to perform system management.
Syntax
smitty [ -C ] [ -D ] [ -f ] [ -h ] [ -l File ] [ -o PathName ] [ -s File ] [ -t ] [ -v ] [ [ -m | -n | -d ] FastPath ] [ -X
] [ -x ]
Description
The smitty command invokes the System Management Interface Tool (SMIT). SMIT is an interactive
interface application designed to simplify system management tasks. The smitty command displays a
hierarchy of menus that can lead to interactive dialogues. SMIT builds and runs commands as directed by
the user. Because SMIT runs commands, you need the authority to execute the commands that SMIT
runs.
SMIT creates two files, the smit.script file and the smit.log file. Invoking the smitty command with the -s
PathName flag saves the smit.script file in the file specified by the PathName parameter. If the -s flag is
not specified, the script information is saved in the $HOME/smit.script file. Invoking the smitty command
with the -l PathName flag saves the smit.log file in the file specified by the PathName parameter. If the -l
The smit.script file automatically records the commands with the command flags and parameters used.
The smit.script file can be used as an executable shell script to duplicate system configuration. SMIT
creates the smit.log file, which contains additional detailed information that can be used by programmers
in extending the SMIT system. The smit.log file is affected by the -D, -l, -t, and -v flags.
The smitty command takes you to the top level of the menu hierarchy if you do not use the FastPath
parameter. To enter the menu at lower levels, use the FastPath parameter. All commands run by SMIT can
be used as FastPaths. The FastPath parameter will assist you as you become familiar with the
commands. For example, you can enter: smitty chuser to go directly to the dialog from which you can
change user characteristics. To learn more about FastPaths see, Setting up and maintaining roles using
SMIT in Security.
Note: If any of these files are corrupt, or exist on an NFS server and that server goes down, SMIT
may fail to respond.
Flags
-C Starts SMIT using a Curses-based text interface. This is the default for the
smitty command.
-D Sets the debug mode; sets -t and -v flags.
-d FastPath Identifies that the FastPath is the name of a dialogue.
-f Allows standard in and standard out from SMIT to be redirected.
-h Displays the command usage message.
-l File Redirects the smit.log file to the specified File.
-m FastPath Identifies that the FastPath is the name of a menu.
-n FastPath Identifies that the FastPath is the name of a selector.
-o PathName Specifies a directory PathName of an alternate repository for SMIT objects.
The default directory is /etc/objrepos.
-s File Redirects the smit.script file to the specified File.
-t Records detailed trace information in the smit.log file.
-v Records the command strings for intermediate and target task commands
run by SMIT, and also records their output in the smit.log file.
-x Does not run any command_to_execute, but still logs them for later
execution.
-X Does not run any command_to_discover, command_to_list,
command_to classify or command_to_execute.
The chuser command is an example of a FastPath parameter. The smitty command and the FastPath
parameter chuser takes you directly to the dialog, Change User Attributes, which guides you through
changing the characteristics of a user.
3. To make the smit.script file executable for duplicate configuration, enter:
chmod +x smit.script
The smit.script file can be edited to create slight variations in the configuration commands, or to use
only subsets of the commands. The smit.script file should be renamed or copied to prevent SMIT
from modifying it.
Note: SMIT runs commands under the Korn shell (/usr/bin/ksh). Some command strings in the
smit.script file may require this environment to run correctly.
Files
/usr/bin/smitty Contains the smitty command.
/etc/objrepos Specifies the default directory for the SMIT database.
smit.log Specifies detailed information of your session, with time stamps.
smit.script Specifies only the target task commands run by SMIT, with time stamps.
Related Information
The chmod command.
System Management Interface Tool (SMIT) in Operating system and device management.
System Management Interface Tool (SMIT) Overview for Programming in AIX 5L Version 5.3 General
Programming Concepts: Writing and Debugging Programs.
smlistcerts Command
Purpose
Lists CA certificates.
Syntax
smlistcerts dir
Description
The smlistcerts command lists the CA certificates contained in the public key ring file SMpubkr.class that
resides on the specified directory dir. The directory of SMpubkr.class is specified by dir.
You can use Web-based System Manager (wsm) command to access the graphical interface.
Related Information
The smcaprop, smdefca, smexpcacert, smimpcacert, smsigncert, and the smundefca command.
For information on installing the Web-based System Manager, see Chapter 2: Installation and System
Requirements in AIX 5L Version 5.3 Web-based System Manager Administration Guide.
smrsh Command
Purpose
Restricted shell for sendmail.
Syntax
smrsh -c command
Description
The smrsh command is intended as a replacement for the sh command in the prog mailer in sendmail
configuration files. The smrsh command limits the programs that can be run using the sendmail
command syntax. This improves overall system security. smrsh limits the set of programs that a
programmer can execute, even if sendmail runs a program without going through an alias or forward file.
The smrsh command requires that programs be in the /var/adm/sm.bin directory. This allows system
administrators to choose which programs can be run by the smrsh command. The smrsh command also
rejects any commands with the following characters on the command line to prevent end-run attacks: ,, <,
>, |, ;, &, $, \r (<RETURN>), or \n (<NEWLINE>) on the command line to prevent end run attacks.
v ,
v <
v >
v |
v ;
v &
v $
v \r (<RETURN>)
v or \n (<NEWLINE>)
Flags
-c command
Runs the program specified by command.
Files
/var/adm/sm.bin
Directory for restricted programs.
Related Information
The bellmail command, kill command, mail, Mail command, mailq command, mailstats command,
newaliases command, refresh command, sendmail command, anduux command.
Basic Networking Utilities, Mail management, and Transmission Control Protocol/Internet Protocol in
Networks and communication management
smserverprop Command
Purpose
Lists server properties.
Syntax
smserverprop
Description
The smserverprop command provides read-only information on the local Web-based System Manager
server (Name, key length, certificate expiration date, Certificate Authority name etc.).
You can use Web-based System Manager (wsm) command to access the graphical interface.
Examples
smserverprop
Files
/usr/websm/security/SM.privkr Server private key ring file.
Related Information
The smgenkeycr, smgenprivkr, smimpservercert, sminstkey, and the smlistcerts command.
For information on installing the Web-based System Manager, see Chapter 2: Installation and System
Requirements in AIX 5L Version 5.3 Web-based System Manager Administration Guide.
Purpose
Processes certificate requests and generates certificates.
Syntax
smsigncert dir { -a | -s server_name} [ -e mm/dd/yyyy]
Description
The smsigncert command can be run on a machine that has been defined as internal certificate authority
(CA). The command uses the CA private key to process certificate requests (*.certreq files) and generate
certificates (*.cert files). You can process the request of one server, or all server requests in the specified
directory dir.
You can use Web-based System Manager (wsm) command to access the graphical interface.
Flags
dir The directory where the certificate requests (*.certreq files) reside, and to which the
certificates (*.cert files) will be written.
-a All certificate requests (*.certreq files) in the specified dir directory will be processed. For
each certificate request (S.certreq), a certificate S.cert will be generated in the specified
dir directory.
-s server_name The full TCP/IP name of the server whose certificate request (server_name.certreq in the
specified dir directory) will be processed.
-e mm/dd/yyyy Expiration date for the server certificates. The default expiration date is two years from
the date of issuing the command.
Examples
smsigncert /usr/websm/security/tmp S101.IBM.COM -e 12/31/1999
smsigncert /usr/websm/security/tmp -a
Files
/usr/websm/security/SMCa.log Lists detailed information on all operations executed by the
CA.
Related Information
The smcaprop, smdefca, smexpcacert, smlistcerts, and the smundefca command.
For information on installing the Web-based System Manager, see Chapter 2: Installation and System
Requirements in AIX 5L Version 5.3 Web-based System Manager Administration Guide.
smtctl Command
Purpose
The smtctl command controls the enabling and disabling of processor simultaneous multi-threading mode.
Description
This command is provided for privileged users and applications to control utilization of processors with
simultaneous multi-threading support. The simultaneous multi-threading mode allows processors to have
thread level parallelism at the instruction level. This mode can be enabled or disabled for all processors
either immediately or on subsequent boots of the system. This command controls the simultaneous
multi-threading options.
Flags
-m off This option will set simultaneous multi-threading mode to disabled.
-m on This option will set simultaneous multi-threading mode to enabled.
-w boot This option makes the simultaneous multi-threading mode change effective on next and
subsequent reboots if you run the bosboot command before the next system reboot.
-w now This option makes the simultaneous multi-threading mode change immediately but will not
persist across reboot. If neither the -w boot or the -w now options are specified, then the mode
change is made immediately. It will persist across subsequent reboots if you run the bosboot
command before the next system reboot.
If no options are specified then the following simultaneous multi-threading settings will be reported:
SMT Capability Indicator that the physical or virtual processors are capable of simultaneous
multi-threading.
SMT Mode Current runtime simultaneous multi-threading mode of disabled or enabled.
SMT Boot Mode Current boot time simultaneous multi-threading mode of disabled or enabled.
SMT Threads Number of simultaneous multi-threading threads per physical or virtual processor.
SMT Bound Indicator that the simultaneous multi-threading threads are bound on the same
physical or virtual processor.
Exit Status
0 Successfully completed the requested operation.
>0 An error occurred.
Examples
1. To enable simultaneous multi-threading for the current boot cycle, type:
smtctl -m on -w now
Note: The boot image must be remade with the bosboot command before the next reboot.
Location
/usr/sbin/smtctl
Files
/usr/sbin/smtctl Contains the smtctl command.
Related Information
The bosboot, bindprocessor command in AIX 5L Version 5.3 Commands Reference, Volume 1.
smundefca Command
Purpose
Unconfigures internal Certificate Authority.
Syntax
smundefca
Description
The smundefca command is used to unconfigure the internal certificate authority (CA) that was previously
defined on the current machine.
You can use Web-based System Manager (wsm) command to access the graphical interface.
Examples
smundefca
Related Information
The smcaprop, smdefca, smexpcacert, smimpcacert, smlistcerts, and the smsigncert command.
For information on installing the Web-based System Manager, see Chapter 2: Installation and System
Requirements in AIX 5L Version 5.3 Web-based System Manager Administration Guide.
snap Command
Purpose
Gathers system configuration information.
Syntax
snap [ -a ] [ -A ] [ -b ] [ -B ] [ -c ] [ -C ] [ -D ] [ -f ] [ -g ] [ -G ] [ -i ] [ -k ] [ -l ] [ -L ][ -n ] [ -N ] [ -p ] [ -r ] [
-R ] [ -s ] [ -S ] [ -t ] [ -T Filename ] [ -w ] [ -X ] [ -o OutputDevice ] [ -d Dir ] [ -v Component ] [ -O
FileSplitSize ] [ -P Files ] [ script1 script2 ... | All | file:filepath ]
snap [ -a ] [ -A ] [ -b ] [ -B ] [ -c ] [ -C ] [ -D ] [ -f ] [ -g ] [ -G ] [ -i ] [ -k ] [ -l ] [ -L ][ -n ] [ -N ] [ -p ] [ -r ] [
-R ] [ -s ] [ -S ] [ -t ] [ -T Filename ] [ -o OutputDevice ] [ -d Dir ] [ -v Component ] [ -O FileSplitSize ] [ -P
Files ] [ script1 script2 ... | All | file:filepath ]
Description
The snap command gathers system configuration information and compresses the information into a pax
file. The file may then be written to a device such as tape or DVD, or transmitted to a remote system. The
information gathered with the snap command might be required to identify and resolve system problems.
Note: Root user authority is required to execute the snap command. Use the snap -o /dev/cd0 command
to copy the compressed image to DVD. Use the snap -o /dev/rmt0 command to copy the image to
tape.
Use the snap -o /dev/rfd0 command to copy the compressed image to diskette. Use the snap -o
/dev/rmt0 command to copy the image to tape.
At least 8 MB of temporary disk space is required to collect all system information, including contents of
the error log. If you do not gather all system information with the snap -a command, less disk space may
be required (depending on the options selected).
Note: If you intend to use a tape to send a snap image to IBM for software support, the tape must be one
of the following formats:
v 8 mm, 2.3 GB capacity
v 8 mm, 5.0 GB capacity
v 4 mm, 4.0 GB capacity
The snap -g command gathers general system information, including the following:
v Error report
v Copy of the customized Object Data Manager (ODM) database
v Trace file
v User environment
v Amount of physical memory and paging space
v Device and attribute information
v Security user information
The snap command checks for available space in the /tmp/ibmsupt directory, the default directory for
snap command output. You can write the output to another directory by using the -d flag. If there is not
enough space to hold the snap command output, you must expand the file system.
Each execution of the snap command appends information to previously created files. Use the -r flag to
remove previously gathered and saved information.
Flags
-a Gathers all system configuration information except HACMP™ specific data. To gather
HACMP specific data, run the snap -e option.
Parameters
Arguments
Names of third-party scripts to be executed are specified as parameters to snap. A parameter can be a
single word or a list of words enclosed in quotes. When parameters are enclosed in quotes, the first
parameter in the list represents the name of the script and the subsequent words represent the arguments
to pass to the script.
When All is specified as a parameter, all the scripts in the script repository are executed. No script
parameters may be passed in this case.
If the file: keyword is used and is immediately followed by a path to a file, that file is read to get the
scripts to execute. Each line in the file represents a script and optional parameters to the script .
snap Scripts
A third-party script must be executable in /usr/lib/ras/snapscripts, and must follow the guidelines
described below. When called during pass 1, a script must return its size estimation to snap. In pass 2, it
collects the data and saves it as specified by snap.
All output files must be written to $SNAPDIR. This is the directory where the script should be saving its
output. The PASSNO variable contains the snap phase during which the script is called. During the first
pass, the script should calculate a size estimation for the data it will write during the 2nd pass. It will then
write that numeric estimation to the file pointed to by $SCRIPTSIZE. The value saved to the file should be
in decimal. snap passes the path to a log file where all debug data for the script should be saved.
Standard out and standard error should not be redirected by the script, because snap will save standard
out and standard error to $SNAPDIR/ScriptName.out and $SNAPDIR/ScriptName.err, respectively.
Example:
#!/usr/bin/ksh
if [ "$PASSNO" = 1 ]
then
(( size=99999 ))
....
# this is where code to do the size estimation should go.
....
echo $size > $SCRIPTSIZE
else if [ "$PASSNO" = 2 ]
then
# debug information should go to $SCRIPTLOG
echo "Debug Data" >> $SCRIPTLOG
Note: To collect information about virtual SCSI devices run the snap client_collect,all command. If you
need to collect data from the Virtual I/O server, see the snap command page on the Virtual I/O
server, which uses different syntax from the snap command on AIX.
The following scripts can be run when you run the snap command with the -a or -g flags:
v To run with the -a flag: svCollect, client_collect, lsvirt
v To run with the -g flag: svCollect, client_collect
Splitting of Snap Output: If it is split, snap output might look like the following:
% ls -l
total 112048
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xaa
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xab
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xac
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xad
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xae
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xaf
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xag
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xah
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xai
-rw-r--r-- 1 lmic adm 744518 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xaj
Related Information
The errpt command, gettrc command, lslpp command, snapsplit command, sysdumpdev command,
sysdumpstart command.
snapcore Command
Purpose
Gathers the core file.
Syntax
snapcore[ -d Dir] [-r] core [program]
Description
The snapcore command gathers the core file, program, and libraries used by the program and
compresses the information into a pax file. The file can then be downloaded to disk or tape, or transmitted
to a remote system. The information gathered with the snapcore command is required to identify and
resolve a problem with the application.
The snapcore command checks for available space in the /tmp/snapcore directory, the default directory
for snapcore command output. You can write the output to another directory by using the -d flag. If there
is not enough space to hold the snapcore command output, you must expand the file system.
Each execution of the snapcore command creates a new archive file. The archive file is named
snapcore_$pid.pax. Use the -r flag to remove the previously created archive file. This command uses
$pid (pid of the snapcore command) to create a unique name file and preserve any previously created
archives.
Specify the full path name for core and program. If the program name is not specified, snapcore reads the
program name from the core file and searches for the location in directories contained in the PATH
variable.
Flags
-dDir Identifies the optional snapcore command output directory (/tmp/snapcore is the default).
-r Removes snapcore command output from the /tmp/snapcore directory.
Examples
1. To gather the core file, enter the following:
a. snapcore <core file name> <program name>
b. snapcore <core file name>
Files
/usr/sbin/snapcore Contains the snapcore command.
/tmp/snapcore Contains core file archive.
Related Information
The dbx command, pax command.
snapshot Command
Purpose
Modify, create or view properties of snapshots.
Syntax
snapshot { -o snapfrom=snappedFS -o size=Size | {-d [-s] | -q [-cfieldSeparator] | -o
snapfrom=snappedFS | -o size=Size} Object}
Description
Provides an interface to enhanced journaled file system (JFS2) snapshots.
You cannot have both internal snapshot and external snapshot of a file system at the same time.
Flags
-d Deletes the snapshot and the logical volume containing the snapshot, along with
any prior snapshots. The Object specified is a snapshot storage object.
-s Retains the specified logical volume for the specified snapshot when the snapshot
is deleted.
-q Displays information about the specified snapshot if the specified Object is a
snapshot storage object.
Displays the file system the snapshot belongs to, the time of when the snapshot
was taken, the size of the snapshot storage object and the remaining free space.
If the Object specified is a snappedFS, display information about all snapshots for
the snappedFS. Show each of the snapshots and their storage object along with
the time when the snapshot was taken.
Displays the size of the snapshot storage objects and the remaining free space.
Parameters
Object Use depends on other flags specified, see flag description for interpretation of
Object. This might be a device or a file system.
Examples
1. To create a snapshot for the /home/janet/sb file system on the /dev/snapsb logical volume, enter the
following:
snapshot -o snapfrom=/home/janet/sb /dev/snapsb
This command creates a snapshot for the /home/janet/sb file system on the /dev/snapsb logical
volume, which already exists.
2. To create a snapshot for the /home/janet/sb file system, enter the following:
snapshot -o snapfrom=/home/janet/sb -o size=16M
This command creates a 16-megabyte logical volume and creates a snapshot for the /home/janet/sb
file system on the newly created logical volume.
3. To view information about all the snapshots for the /home/janet/sb file system, enter the following:
snapshot -q /home/janet/sb
This command displays each snapshot for the /home/janet/sb file system along with the time when
the snapshot was taken, the size of the snapshot storage object, and the remaining free space.
4. To increase the size of the snapshot on the /dev/snapsb device, enter the following:
snapshot -o size=64M /dev/snapsb
This command increases the /dev/snapsb device to 64 megabytes along with the snapshot contained
on the device.
5. To delete the snapshot on the /dev/snapsbdevice, enter the following:
snapshot -d /dev/snapsb
This command deletes the snapshot contained on the /dev/snapsb device and removes the
/dev/snapsb logical volume .
Purpose
To split a snap output file into multiple smaller files of arbitrary or specified size.
Syntax
snapsplit [ -s size ] [ -H machinename ] [ -f filename ]
Description
The snapsplit command is used to split a snap output file into smaller files. This command is useful for
dealing with very large snap files. It breaks the file down into files of a specific size that are multiples of 1
megabyte. Furthermore, it will combine these files into the original file when called with the -u option.
When performing ls on these files, the first file listed would represent the top of the original file and the
last file, the end of the original file.
Note that this command should only be used for snap files that are paxed and compressed. When
executed on local system where snap output was gathered, the -H option need not be used. That flag is
provided for the case where user has moved a complete snap file to a remote system and wishes to split
it. Any machine name may be selected, but it is recommended, to use the machine name where data was
collected.
Flags
-f filename Input snapsplit file. It should be a compressed pax file. The default is snap.pax.Z.
-H machinename Name of the host machine. If none is specified, the default is the current host. Care must be
exercised to name snap files for the appropriate system.
-s size Specifies the size of snap output in multiples of 1 MB. The last file will be smaller or equal to
this size. Size should be entered in megabytes. The default size is 1 MB.
-T timestamp Timestamp of the snapsplit files to use in restoring the original snap output. It is in the
format MMDDYYHHMMSS, where MM for month, DD for day, YY for year, HH for hours, MM
is for minutes and SS is for seconds.
-u Flag used for rejoining snapsplit files. Used with the -T flag.
Examples
1. To split the default snap file (snap.pax.Z should be in the current directory), enter the following:
snapsplit
Attention: If any one of the snap files is missing or has been renamed, the snap file created will
corrupted.
4. To restore a snap file from files with time stamp 102603084512, and which are for the current system,
type:
snapsplit -u -T 102603084512
5. To gather general system configuration information, including the output of the lslpp -hBc command,
type the following:
snap -g -o /dev/rfd0
Files
/usr/sbin/snapsplit Contains the snapsplit command.
Related Information
The snap, split, and cat commands.
snmpevent Command
Purpose
Sends ERRM events to an SNMP agent.
Syntax
snmpevent [-a host-name] [-c community] [-h]
Description
The snmpevent script sends a Simple Network Management Protocol (SNMP) trap of an event response
resource manager (ERRM) event to a host running an SNMP agent. The agent formats the trap
information into an SNMP trap and sends it to the SNMP manager defined in its configuration file. This
script is meant to be called by the predefined ERRM response Generate SNMP trap. Event or rearm
event information is captured and posted by ERRM in environment variables that are generated when an
ERRM event or a rearm event occurs.
The snmpevent script can also be used as a template to create other user-defined actions. See the RSCT
Administration Guide to understand how an event response resource runs an action command.
The following message template is sent as a trap when an event or a rearm event occurs and snmpevent
is the defined response:
[ERRM_COND_SEVERITY] [ERRM_TYPE] occurred:
Condition: [ ERRM_COND_NAME]
Node: [ERRM_NODE_NAME]
Resource: [ERRM_RSRC_NAME]
Resource Class: [ERRM_RSRC_CLASS_NAME]
Resource Attribute: [ERRM_ATTR_NAME]
Attribute Type: [ERRM_DATA_TYPE]
Attribute Value: [ERRM_VALUE]
The snmpevent command captures these environment variable values and formats a generic message
that is sent as a trap via a call to the snmptrap command.
Flags
−a host-name
Specifies the host name of the SNMP agent to which the AIX subagent will connect. By default,
the subagent will connect to the SNMP agent running on the local node.
−c Specifies the SNMP community to be used. This can be any string the SNMP agent will accept.
The default is public.
−h Writes this script’s usage statement to standard output.
Parameters
log_file
Specifies the name of the file where event information is logged. An absolute path for the log_file
parameter should be specified.
The log_file is treated as a circular log and has a fixed size of 64 KB. When log_file is full, new
entries are written over the oldest existing entries.
If log_file already exists, event information is appended to it. If log_file does not exist, it is created
so that event information can be written to it.
Exit Status
0 The script has run successfully.
Restrictions
This script must be run on the node where the ERRM is running.
Standard Output
When the -h flag is specified, this script’s usage statement is written to standard output.
Examples
1. Suppose the command /usr/sbin/rsct/bin/snmpevent is an action in the critical-notification response,
which is associated with the CSM predefined condition NodeChanged. This can be done with the
mkcondresp command followed by the startcondresp command. The /etc/snmpdv3.conf file should
be configured to where the trap will be sent. In this example, if you want the trap sent to 9.117.16.246,
write the /etc/snmpdv3.conf file as follows:
VACM_GROUP group1 SNMPv1 public -
DEFAULT_SECURITY no-access - -
Then, restart the snmpd daemon by first killing the snmpd daemon that is currently running and then
starting it again:
# ps -ef | grep snmpd
root 4570 12956 1 08:24:32 pts/0 0:00 grep snmpd
root 13810 1 0 08:11:04 - 0:00 snmpd
# kill -9 13810
# snmpd
Now, on the node 9.117.16.158 (the node with the SNMP manager that was specified in the
/etc/snmpdv3.conf file), the SNMP manager should record something like this:
2002-07-15 09:09:25 c174tr1.ppd.pok.ibm.com [9.114.78.17] TRAP, SNMP v1,
community public
enterprises.ibm Enterprise Specific Trap (1) Uptime: 0:01:45.00
enterprises.ibm.ibmProd.191.1.6.1.0 = "Informational Event
occurred. Condition=NodeChanged Node=c174tr1.ppd.pok.ibm.com
Resource=c175n08.ppd.pok.ibm.com Resource Class=Node Resource
Attribute=Changed Attributes Attribute Type=CT_CHAR_PTR_ARRAY Attribute
Val={LParID} "
Location
/usr/sbin/rsct/bin/snmpevent
Related Information
The lscondition, lscondresp, lsresponse, mkcondition, mkcondresp, mkresponse, “snmptrap Command” on
page 144, “startcondresp Command” on page 182, and the “stopcondresp Command” on page 200.
Books: RSCT″ Administration Guide, for information about the event response resource manager (ERRM)
and about how to use ERRM environment variables
snmpd Daemon
Purpose
Starts the Simple Network Management Protocol (SNMP) agent as a background process.
Syntax
Refer to the syntax for either the snmpdv1 daemon or the snmpdv3 daemon.
Description
/usr/sbin/snmpd is a symbolic link to either the snmpdv1 daemon which supports only SNMP version 1,
or to either the encrypted or non-encrypted version of the snmpdv3 daemon which supports SNMP
version 3. For information about the snmpd daemon, please refer to the documentation of the appropriate
version of the SNMP agent. On AIX 5.2, the default SNMP agent running at system boot time is the
non-encrypted version of the SNMP version 3 agent.
Note: The encrypted version of the SNMP version 3 agent is available from the AIX Expansion Pack.
Files
/usr/sbin/snmpd Contains a symbolic link to either /usr/sbin/snmpdv1, /usr/sbin/snmpdv3e, or
/usr/sbin/snmpdv3ne.
/usr/sbin/snmpdv1 Contains the SNMP version 1 agent.
/usr/sbin/snmpdv3e Contains the encrypted version of the SNMP version 3 agent.
/usr/sbin/snmpdv3ne Contains the non-encrypted version of the SNMP version 3 agent.
Related Information
The snmpv3_ssw command.
The SNMP for network management chapter in Networks and communication management.
snmpdv1 Daemon
Purpose
Starts the Simple Network Management Protocol (SNMP) version 1 agent as a background process.
Syntax
snmpd [ -c ConfigFile ] [ -d Level ] [ -f LogFile ] [ -S ]
The SNMP daemon is a server that supports the standard Simple Network Management Protocol (SNMP)
documented by RFC 1157 and the Management Information Base (MIB) as defined in RFC 1155 and RFC
1213. The SNMP daemon provides the following three functions:
v Receiving and authenticating SNMP requests from network monitors.
v Processing requests and returning results to the originating monitor.
v Sending trap notification to all hosts listed in the configuration file.
The SNMP daemon server keeps log messages in a file specified by the LogFile variable if the -f flag is
used or in a log file specified in the configuration file. When the size of the log file exceeds the predefined
maximum log file size, the snmpd command will rotate the log file by moving the old log file to another file
as follows:
v LogFile.3 is deleted.
v LogFile.2 is moved to LogFile.3.
v LogFile.1 is moved to LogFile.2.
v LogFile.0 is moved to LogFile.1.
v LogFile is moved to LogFile.0.
v Logging continues in LogFile.
If logging is not directed from the snmpd command line with the -f flag, logging can be directed from the
configuration file.
See ″Understanding SNMP Daemon Support for SET Request Processing″ in AIX 5L Version 5.3
Communications Programming Concepts for more information on the supported set variables.
The following commands should be issued before the SNMP daemon is started:
v ifconfig lo0 loopback
These commands are normally executed during system startup when the /etc/rc.net and /etc/rc.tcpip
shell scripts are called. (The snmpd command can be placed in the /etc/rc.tcpip shell script.)
The snmpd daemon should be controlled using the System Resource Controller (SRC). Entering snmpd
at the command line is not recommended.
startsrc Starts a subsystem, group of subsystems, or a subserver. Issuing the startsrc command causes
the snmpd command to generate a coldStart trap.
stopsrc Stops a subsystem, group of subsystems, or a subserver.
refresh Causes a subsystem or group of subsystems to reread the appropriate configuration file. Issuing a
refresh command causes the snmpd daemon to generate a warmStart trap.
traceson Enables tracing of a subsystem, group of subsystems, or a subserver. If the user issuing the
traceson command is not the root user, the debugging level will not exceed level 2.
tracesoff Disables tracing of a subsystem, group of subsystems, or a subserver.
lssrc Gets the status of a subsystem, group of subsystems, or a subserver. If the user issuing the long
status form of the lssrc command is not the root user, no community name information is
displayed.
Flags
-c ConfigFile Specifies full path and file name of the configuration file for the snmpd daemon. This file is
read when the snmpd daemon starts up and when a refresh or kill -1 signal is issued. If
the -c flag is not specified, the default configuration file is /etc/snmpd.conf. See the
snmpd.conf file for information on this file format.
-d Level Specifies the level of tracing the snmpd command produces. The Level value can be one
of:
0 All notices, exceptions, and fatal messages
1 Level 0 plus debug messages
2 Level 1 plus a hexadecimal dump of incoming and outgoing packets
3 Level 2 plus an English version of the request and response packets
Examples
1. To start the snmpd daemon, enter a command similar to the following:
startsrc -s snmpd -a "-f /tmp/snmpd.log"
This command starts the snmpd daemon and logs information to the /tmp/snmpd.log file at debug
level 0.
2. To stop the snmpd daemon normally, enter:
Files
/etc/services Contains port assignments for required services. The following entries must be present
in the /etc/services file if the entries are not already present:
snmp 161/udp
snmp-trap
162/udp
smux 199/tcp
Requirements:
v The snmp port must be 161 as required by RFC 1157.
v The snmp-trap port must be 162 as required by RFC 1157.
v The smux port must be 199.
v The /etc/services file is shipped with these entries already in place.
v If the /etc/services file is being served from a server, these entries must be present
in the server’s /etc/services file.
/etc/snmpd.conf Specifies the configuration parameters for the snmpd agent.
/etc/mib.defs Defines the Management Information Base (MIB) variables the SNMP agent should
recognize and handle.
Related Information
The gated daemon, snmpd daemon, snmpv3_ssw command.
snmpdv3 Daemon
Purpose
Starts the Simple Network Management Protocol (SNMP) version 3 agent as a background process.
Syntax
snmpd [ -d level ] [ -i interval ] [ -p port ] [ -S ] [ -c community ]
The SNMP daemon is a server that supports the all the SNMPv1, SNMPv2c, and SNMPv3 protocols
documented by RFCs 1157, RFD 1905, and RFC 2572. It also behaves as a SMUX server as defined by
RFC 1227 and as a DPI2 agent as defined by RFC 1592. The SNMP daemon provides the following three
functions:
v Receiving and authenticating SNMP requests from network monitors.
v Processing requests and returning results to the originating monitor.
v Sending trap notification to all hosts listed in the configuration file.
The SNMP daemon server keeps log messages in a file specified by the LogFile variable if the -f flag is
used or in a log file specified in the configuration file. When the size of the log file exceeds the predefined
maximum log file size, the snmpd command will rotate the log file by moving the old log file to another file
as follows:
v LogFile.3 is deleted.
v LogFile.2 is moved to LogFile.3.
v LogFile.1 is moved to LogFile.2.
v LogFile.0 is moved to LogFile.1.
v LogFile is moved to LogFile.0.
v Logging continues in LogFile.
The following commands should be issued before the SNMP daemon is started:
v ifconfig lo0 loopback
v startsrc -s inetd
These commands are normally executed during system startup when the /etc/rc.net and /etc/rc.tcpip
shell scripts are called. (The snmpd command can be placed in the /etc/rc.tcpip shell script.)
The snmpdv3 daemon should be controlled using the System Resource Controller (SRC). Entering
snmpd at the command line is not recommended.
startsrc Starts a subsystem, group of subsystems, or a subserver. Issuing the startsrc command causes
the snmpdv3 command to generate a coldStart trap.
stopsrc Stops a subsystem, group of subsystems, or a subserver.
lssrc Gets the status of a subsystem, group of subsystems, or a subserver.
Examples
1. To start the snmpd daemon, enter a command similar to the following:
startsrc -s snmpd
This command starts the snmpd daemon at debug level 0.
2. To stop the snmpd daemon normally, enter:
stopsrc -s snmpd
This command stops the daemon. The -s flag specifies the subsystem that follows to be stopped.
3. To get status from the snmpd daemon, enter:
lssrc -s snmpd
This command returns the name of the daemon, the process ID of the daemon, and the state of the
daemon (active or inactive).
Related Information
The clsnmp command, pwchange command, pwtokey command, snmpd daemon,snmpv3_ssw
command.
The SNMP for network management chapter in Networks and communication management.
snmpinfo Command
Purpose
Requests or modifies values of Management Information Base (MIB) variables managed by a Simple
Network Management Protocol (SNMP) agent.
Syntax
The get or next Option
snmpinfo [ -m get | next ] [ -v ] [ -c Community ] [ -d Level ] [ -h HostName ] [
-o ObjectsFile ] ... [ -t Tries ] [ -w Waittime ] Variable. Instance ...
Description
The snmpinfo command requests or modifies values for one or more MIB variables for an SNMP agent.
This command may only be issued by a user with root privileges or by a member of the system group.
If the you specify the get option, the snmpinfo command requests information about one or more MIB
variables from an SNMP agent.
If you specify the set option, the snmpinfo command modifies values for one or more MIB variables for
an SNMP agent. Only a few MIB variables are designated read-write. The agent that manages the MIB
database may take various actions as a side effect of modifying MIB variables. For example, setting the
ifAdminStatus MIB variable to 2 will normally shut down a network interface. The action taken is
determined by the implementation of the SNMP agent that manages the database.
If you specify the dump option, the snmpinfo command can be used to traverse the entire MIB tree of a
given agent. If a group is passed in as the Variable parameter, the snmpinfo command will traverse that
specified path of the MIB tree.
The snmpinfo command has a debug facility that will dump debug information for transmitted and
received packets. The facility is enabled with the -d flag.
Parameters
Value Specifies the value to which the MIB Variable parameter is to be set. A value must be specified for
each variable. If a value is not specified, the request packet will be invalid.
Variable Specifies the name in text format or numeric format of a specific MIB variable as defined in the
/etc/mib.defs file. If the option to the -m flag is next or dump, the Variable parameter may be
specified as a MIB group.
Instance Specifies the instance qualifier for the MIB Variable parameter. The Instance parameter is required if
the option to the -m flag is get or set. The Instance parameter is optional if the option to the -m flag
is next or dump.
Notes:
v There should be no blank spaces in the Variable.Instance parameter sequence.
v If the Instance parameter is not specified, do not place a dot (.) after the Variable parameter.
For further information, consult RFC 1213, which defines the Management Information Base (MIB) for
network management, and RFC 1157, which defines the SNMP protocol for creating requests for MIB
information and formatting responses.
Flags
-c Community Specifies the community name to be used to query the SNMP agent. If the -c flag is not
specified, the default community name is public.
-d Level Specifies the level of I/O debug information. The Level value can be one of:
0 No debug information.
1 Port bindings and the number of bytes transmitted and received.
2 Level 1 plus a hexadecimal dump of incoming and outgoing packets.
3 Level 2 plus an English version of the request and response packets.
Tips:
v The option name can be specified by the minimum number of characters required to
make it unique.
v If the -m flag is not specified, the default mode is get.
-o ObjectsFile Specifies the name of the objects definition file that defines the MIB objects the
snmpinfo command can request. If the -o flag is not specified, the default objects
definition file name is /etc/mib.defs. See the mosy command for information on creating
this file. More than one ObjectsFile can be referenced with the restriction that files
containing parent definitions be specified before files containing child definitions.
-t Tries Specifies the number of times the snmpinfo command transmits the SNMP request to
the SNMP agent before terminating with the message no SNMP response. If the -t flag is
not specified, the default number of tries is 3.
-v Specifies that the output from the snmpinfo command be displayed in verbose mode. If
the -v flag is not specified, the information will not be displayed in verbose mode.
-w Specifies the wait time in seconds for the response from the snmpd agent. If the -w flag
is not specified, the default wait time is 15 seconds.
Examples
1. To get the values for the MIB variable ifDescr.1, for the interface associated with ifIndex.1 and
SysDescr, enter:
snmpinfo -m get -v sysDescr.0 ifDescr.1
In this example, the -m get flag specifies that the snmpinfo command should retrieve the value of MIB
variables ifDescr.1, (the interface description for the interface associated with the ifIndex.1), and
sysDescr.0 (the system description of the local host).
2. To get the value for the MIB variable following the ipAdEntIfIndex MIB variable for the host specified
by IP address 192.100.154.1, enter:
snmpinfo -m next -v 1.3.6.1.2.1.4.20.1.2.192.100.154.1
In this example, the -m next flag specifies that the snmpinfo command should retrieve the information
for the MIB variable ifAdEntIfIndex.192.100.154.1.
3. To get the value of the first MIB variable in the system group, enter:
snmpinfo -m next -v -h giants system
In this example, the -m next flag specifies that the snmpinfo command should retrieve the information
for the MIB variable following the system group, which is sysDescr.0; the -v flag indicates verbose
mode; the -h flag indicates that the agent to be queried is giants; the group to retrieve information
from is system.
4. To set the value of a MIB variable, enter a command similar to the following:
snmpinfo -m set -v -h giants -c monitor -t 2 ifAdminStatus.1=2
In this example, the MIB ifAdminStatus variable is set to 2, or down, for the interface associated with
ifIndex.1 on the host known as giants. The -c flag specifies the community for the host. The -t 2 flag
Files
/etc/mib.defs Defines the Management Information Base (MIB) variables the SNMP agent should
recognize and handle.
Related Information
The mosy command.
Understanding the Simple Network Management Protocol (SNMP), Using the Management Information
Base (MIB) Database, and Understanding the Management Information Base (MIB) in AIX 5L Version 5.3
Communications Programming Concepts.
snmpmibd Daemon
Purpose
Starts the snmpmibd dpi2 sub-agent daemon as a background process.
Syntax
snmpmibd [ -f File ] [ -d [Level] ] [ -h HostName ] [ -c Community ]
Description
The snmpmibd command starts the snmpmibd dpi2 sub-agent. This command may only be issued by a
user with root privileges or by a member of the system group.
The snmpmibd daemon complies with the standard Simple Network Management Protocol Distributed
Protocl Interface Version 2.0 defined by RFC 1592. It acts as a dpi2 sub-agent to communicate with the
dpi2 agent through dpiPortForTCP.0 (1.3.6.1.4.1.2.2.1.1.1.0) which is defined in RFC1592 section 3.1.
The Management Information Base(MIB) is defined by RFC 1155. The specific MIB variables snmpmibd
is managing are defined by the following RFCs:
RFC 1213
MIB-II
RFC 1229
Extension to the Generic-Interface MIB
RFC 1231
IEEE 802.5 Token Ring MIB
RFC 1398
Ethernet-like Interface Types MIB
RFC 1512
FDDI MIB
The snmpmibd daemon is normally executed during system startup when /etc/rc.tcpip shell script is
called.
The snmpmibd daemon should be controlled using the System Resource Controller(SRC). Entering
snmpmibd at the command line is not recommended.
Flags
-c Community Use specified community name. If -c flag is not specified,
the default community name is public.
-d [Level] Specifies tracing/debug level. The levels are:
8 DPI® level 1
16 DPI level 2
32 Internal level 1
64 Internal level 2
128 Internal level 3
Examples
1. To start the snmpmibd daemon, enter a command similar to the following:
startsrc -s snmpmibd -a "-f /tmp/snmpmibd.conf"
This command starts the snmpmibd daemon and reads the configuration file from
/tmp/snmpmibd.conf.
2. To stop the snmpmibd daemon normally, enter:
This command returns the name of the daemon, the process ID of the daemon, and the state of the
daemon (active or inactive).
3. To get long status from the snmpmibd daemon, enter:
lssrc -ls snmpmibd
If you are the root user, this long form of the status report lists the configuration parameters in
/etc/snmpmibd.conf.
Files
/etc/snmpmibd.conf Defines the configuration parameters for snmpmibd
command.
/etc/mib.defs Defines the Management Information Base (MIB) variables
the SNMP agent and manager should recognize and
handle.
Related Information
The hostmibd command, snmpdv3 daemon.
snmptrap Command
Purpose
Generate a notification (trap) to report an event to the SNMP manager with the specified message.
Syntax
snmptrap [ -a Host ] [ -h TargetHost ] [ -c Community ] [ -o OID ] [-d ] -m Message
Description
Generate a notification (trap) to report an event to the SNMP manager with the specified message.
Flags
-a Host Specifies to connect to the SNMP agent on the specified host. If the -a flag is not specified,
the default host is the local host. Host can be an IP address or a host name.
-c Community Specifies community name to use. This community must have been set in
/etc/snmpdv3.conf for SNMP version 3 or in /etc/snmpd.conf for SNMP version 1 and have
the read access privilege at least to the SNMP agent running on the specified host or local
host. If the -c flag is not specified, the default community name is ″public″.
-o OID Specifies the event that generates the trap message. The OID specified, it will be used in the
trap packet. If the parameter is not specified, the default OID is used in the trap packet. This
specified OID is not validated for its correctness.
-d Enables the debug facility
-h TargetHost Specifies the target network manger host to which the trap message will be sent. It is
different from -a flag. The -a flag specifies a host where the AIX SNMP agent (snmp) must
be running and the SNMP agent forwards this trap to network mangers. However, the -h flag
does not require the AIX SNMP agent to forward the trap message to network managers, and
it sends the trap directly to the network manager. If there are no -h and -a flags, the trap will
be sent to the AIX SNMP agent on the local host.
-m Message Defines the message that the snmptrap command will send. Message specifies the
information the trap will hold. This information is in the text format.The -m flag must be the
last flag specified.
Examples
1. To send a trap with the message ’hello world’ to the SNMP agent running on the local host, enter the
following:
snmptrap -m hello world
Note: The community, public, must have read access to the SNMP agent running on the local host.
For details, please refer to SNMP configuration documentation.
2. To send a trap with the community name, community1, and the message ’hello world’ to the SNMP
agent running on a remote host blah, enter the following:
snmptrap -c community1 -h blah -m hello world
Note: The community ’community1’ must have read access to the SNMP agent running on the host
’blah’. For details, please refer to the SNMP configuration documentation.
3. To send a trap to the network manager running on a Linux® platform and where the host name is
nehcyg, type the following:
snmptrap -h nehcyg -m hello world
4. To send a trap to the network manager running on a Linux platform where the host name is nehcyg,
and with the OID 1.3.6.1.4.1.2.6.191.1.6.1.0, enter the following:
snmptrap -h nehcyg –o 1.3.6.1.4.1.2.6.191.1.6.1.0 -m hello world
Files
/etc/snmpdv3.conf Contains the configuration file for the SNMP version 3
agent.
/etc/snmpd.conf Contains the configuration file for the SNMP version 1
agent.
Related Information
The snmpdv3 daemon, snmpdv1 daemon.
The SNMP for network management article in Networks and communication management.
snmpv3_ssw Command
Purpose
Switch the symbolic links among the non-encrypted snmpdv3 agent, encrypted snmpdv3 agent and
snmpdv1 agent.
Syntax
snmpv3_ssw [ -e | -n | -1 ]
For example, the if current running SNMP agent is the encrypted snmpdv3 agent, the actual SNMP agent
executable which is running on the machine is ″/usr/sbin/snmpdv3e″. The symbolic links on the machine
are:
v /usr/sbin/snmpd --> /usr/sbin/snmpdv3e
v /usr/sbin/clsnmp --> /usr/sbin/clsnmpe
If a user chooses to switch to the non-encrypted snmpdv3 agent, after user runs the /usr/sbin/
snmpv3_ssw command with the -n option, the actual snmp agent which is running on the machine
″/usr/sbin/snmpdv3ne″. The symbolic links on the machine will be changed to:
v /usr/sbin/snmpd --> /usr/sbin/snmpdv3ne
v /usr/sbin/clsnmp --> /usr/sbin/clsnmpne
Flags
-e Switch to the encrypted version of snmpdv3 agent.
-n Switch to the non-encrypted version of snmpdv3 agent.
-1 Switch to the snmpdv1 agent.
Examples
1. To switch to the encrypted version of snmpdv3 agent, enter:
/usr/sbin/snmp3_ssw -e
Related Information
The clsnmp command, hostmibd command, snmpdv1 daemon, snmpdv3 daemon.
The /etc/clsnmp.conf file format, /etc/snmpd.conf file format, /etc/snmpdv3.conf file format.
sno Command
Purpose
Provides a SNOBOL interpreter.
Syntax
sno [File ...]
Description
The sno command provides a SNOBOL compiler and interpreter, with some differences from standard
SNOBOL. It reads the named files and the standard input and compiles all input through a statement
containing the end label. The rest is available to the syspit pseudo-variable.
The sno command differs from standard SNOBOL in the following ways:
v There are no unanchored searches. To get the same effect, use lines similar to the following:
v Function declaration is done at compile time by the use of the (non-unique) define label. Execution of a
function call begins at the statement following the define label. Functions cannot be defined at run time,
and the use of the name define is preempted. There is no provision for automatic variables other than
parameters. For example:
define f()
define f(a, b, c)
v All labels except define (even end), must have a nonempty statement.
v Labels, functions, and variables must all have distinct names. In particular, the nonempty statement on
end cannot merely name a label.
v If start is a label in the program, program execution begins there. If not, execution begins with the first
executable statement. The define label is not an executable statement.
v There are no built-in functions.
v Parentheses for arithmetic are not needed. Normal precedence applies. Because of this, the arithmetic
operators \ (backslash) and * (asterisk) must be set off by spaces.
v The right side of assignments must be nonempty.
v Either ’ (single quotation mark) or ″ (double quotation mark) can be used for literal quotation marks.
v The pseudo-variable sysppt is not available.
Examples
To run the file test.s through the sno command and direct the output into the file output, enter:
sno < test.s > output
Files
/usr/bin/sno Contains the sno command.
Related Information
The awk command.
sodebug Command
Purpose
Sets or unsets the socket debug flag (SO_DEBUG socket option) and trace level on sockets.
Syntax
sodebug [ -h ] [ -l [ level ] ] [ -p pid | -s sockaddr [ -t type ] ]
Description
The sodebug command sets, unsets, or lists the socket debug flag and trace level on active sockets
If the socket debug flag (also known as the SO_DEBUG socket option) is set for a socket, the events on
this socket can be traced using the trace command.
If the sodebug command is run without any options, the socket debug flag status and trace level for each
active socket displays.
The trace and trpt commands collect information based on the trace level.
The following table describes the information collected based on the trace level for trace hook ID 25A
(TCPDBG):
You can also set or unset the socket debug flag and the trace level as described below:
1. The following command enables the socket debug flag for all sockets that are subsequently created on
the system:
no -o sodebug=1
2. You can specify |DEBUG[=level] in the wait/nowait field of a service in inetd.conf to turn on socket
debugging for a specific service. You can set the trace level to min, normal, or detail. If no level is
specified, the default level is normal.
3. You can set socket debugging on or off for all subsequent sockets created by a process using the
sodebug_env parameter of the no command and specifying export SODEBUG=level in a process
environment. You can set the trace level to min, normal, or detail.
Flags
-h Displays help for the sodebug command.
-l [level] Specifies the trace level. Valid values for level are none,
min, normal, and detail. If no level is specified, the
default trace level is normal.
-p pid Specifies the process ID of a process.
-s sockaddr Specifies a socket by the socket address, the address of
the socket’s inpcb, or the address of the socket’s tcpcb.
-t type Specifies the type of address that is specified by the -s
sockaddr option. Valid values are socket, inpcb, and
tcpcb. The default value is socket.
Security
You must have root authority to run the sodebug command.
Examples
1. To list the debug flag and socket trace level for socket f100090002d0a800, type:
sodebug -s f100090002d0a800
Related Information
The trace daemon and trpt command.
soelim Command
Purpose
Processes .so requests in nroff command files.
Syntax
soelim [ File ... | - ]
Description
The soelim command reads specified files or standard input and performs inclusion specified by the nroff
command and troff command requests of the form .so filename when the request appears at the
beginning of input lines. Any combination of ASCII spaces and ASCII tab characters can follow the .so
request and precede the file name. No characters should follow the file name.
The soelim command is useful because commands, such as the tbl command, do not normally perform
file inclusions during processing.
When the - (minus sign) flag is specified, a file name corresponding to standard input is included.
Flag
- Indicates a file name corresponding to standard input.
Note: Inclusion can be suppressed by using a ’ (single quotation mark) instead of a . (period), as
follows:
Parameter
File Specifies files that the command performs inclusion on. The default is standard input.
’so /usr/share/lib/tmac/tmac.s
Example
Following is a sample usage of the soelim command:
soelim exum?.n | tbl | nroff -ms -Tlp | col -Tlp | pg
In this example, you use the soelim command to preprocess the file inclusion (.so) requests. The output
is then passed to the tbl command. This makes it easier to place tables in separate files that can be
included in forming a large document.
sort Command
Purpose
Sorts files, merges files that are already sorted, and checks files to determine if they have been sorted.
Syntax
sort [ -A ] [ -b ] [ -c ] [ -d ] [ -f ] [ -i ] [ -m ] [ -n ] [ -r ] [ -u ] [ -o OutFile ] [ -t Character ] [ -T Directory ]
[ -y [ Kilobytes ] ] [ -z RecordSize ] [ [ + [ FSkip ] [ .CSkip ] [ b ] [ d ] [ f ] [ i ] [ n ] [ r ] ] [ - [ FSkip ] [
.CSkip ] [ b ] [ d ] [ f ] [ i ] [ n ] [ r ] ] ] ... [ -k KeyDefinition ] ... [ File ... ]
Description
The sort command sorts lines in the files specified by the File parameter and writes the result to standard
output. If the File parameter specifies more than one file, the sort command concatenates the files and
sorts them as one file. A -(minus sign) in place of a file name specifies standard input. If you do not
specify any file names, the command sorts standard input. An output file can be specified with the -o flag.
If no flags are specified, the sort command sorts entire lines of the input file based upon the collation
order of the current locale.
Sort Keys
A sort key is a portion of an input line that is specified by a field number and a column number. Fields are
parts of input lines that are separated by field separators. The default field separator is a sequence of one
or more consecutive blank characters. However, these blank characters are considered to be a part of the
following field for sorting purposes. You can specify the -b option to ignore these leading blank characters.
A different field separator can be specified using the -t flag. The tab and the space characters are the
blank characters in the C and English Language locales.
When using sort keys, the sort command first sorts all lines on the contents of the first sort key. Next, all
the lines whose first sort keys are equal are sorted upon the contents of the second sort key, and so on.
Sort keys are numbered according to the order they appear on the command line. If two lines sort equally
on all sort keys, the entire lines are then compared based upon the collation order in the current locale.
When numbering columns within fields, the blank characters in a default field separator are counted as
part of the following field. Leading blanks are not counted as part of the first field, and field separator
characters specified by the -t flag are not counted as parts of fields. Leading blank characters can be
ignored using the -b flag.
The sort key includes all characters beginning with the field specified by the FStart variable and the
column specified by the CStart variable and ending with the field specified by the FEnd variable and the
column specified by the CEnd variable. If Fend is not specified, the last character of the line is assumed. If
CEnd is not specified the last character in the FEnd field is assumed. Any field or column number in the
If there is any space between the fields, sort considers them as separate fields.
The value of the Modifier variable can be one or more of the letters b, d, f, i, n, or r. The modifiers apply
only to the field definition they are attached to and have the same effect as the flag of the same letter. The
modifier letter b applies only to the end of the field definition to which it is attached. For example:
-k 3.2b,3r
specifies a sort key beginning in the second nonblank column of the third field and extending to the end of
the third field, with the sort on this key to be done in reverse collation order. If the FStart variable and the
CStart variable fall beyond the end of the line or after the FEnd variable and the CEnd variable, then the
sort key is ignored.
The +FSkip1 variable specifies the number of fields skipped to reach the first field of the sort key and the
+CSkip variable specifies the number of columns skipped within that field to reach the first character in the
sort key. The -FSkip variable specifies the number of fields skipped to reach the first character after the
sort key, and the -CSkip variable specifies the number of columns to skip within that field. Any of the field
and column skip counts may be omitted. The defaults are:
The modifiers specified by the Modifier variable are the same as in the -k flag key sort definition.
The field and column numbers specified by +FSkip1.CSkip1 variables are generally one less than the field
and column number of the sort key itself because these variables specify how many fields and columns to
skip before reaching the sort key. For example:
+2.1b -3r
specifies a sort key beginning in the second nonblank column of the third field and extending to the end of
the third field, with the sort on this key to be done in reverse collation order. The statement +2.1b specifies
that two fields are skipped and then the leading blanks and one more column are skipped. If the
+FSkip1.CSkip1 variables fall beyond the end of the line or after the -FSkip2.CSkip2 variables, then the
sort key is ignored.
Flags
Note: A -b, -d, -f, -i, -n, or -r flag that appears before any sort key definition applies to all sort keys.
None of the -b, -d, -f, -i, -n, or -r flags may appear alone after a -k KeyDefinition; if they are attached
to a KeyDefinition variable as a modifier, they apply only to the attached sort key. If one of these
flags follows a +Fskip.Cskip or -Fskip.Cskip sort key definition, the flag only applies to that sort key.
The sort key includes all characters beginning with the field specified by the FStart
variable and the column specified by the CStart variable and ending with the field
specified by the FEnd variable and the column specified by the CEnd variable. The
value of the Modifier variable can be b, d, f, i, n, or r. The modifiers are equivalent to
the flags of the same letter.
-m Merges multiple input files only; the input are assumed to be already sorted.
-n Sorts numeric fields by arithmetic value. A numeric field may contain leading blanks,
an optional minus sign, decimal digits, thousands-separator characters, and an
optional radix character. Numeric sorting of a field containing any nonnumeric
character gives unpredictable results.
-o OutFile Directs output to the file specified by the OutFile parameter instead of standard
output. The value of the OutFile parameter can be the same as the File parameter.
-r Reverses the order of the specified sort.
-t Character Specifies Character as the single field separator character.
-u Suppresses all but one line in each set of lines that sort equally according to the sort
keys and options.
-T Directory Places all temporary files that are created into the directory specified by the Directory
parameter.
-y[Kilobytes] Starts the sort command using the number of kilobytes of main storage specified by
the Kilobytes parameter and adds storage as needed. (If the value specified in the
Kilobytes parameter is less than the minimum storage site or greater than the
maximum, the minimum or maximum is used instead). If the -y flag is omitted, the
sort command starts with the default storage size. The -y0 flag starts with minimum
storage, and the -y flag (with no Kilobytes value) starts with maximum storage. The
amount of storage used by the sort command affects performance significantly.
Sorting a small file in a large amount of storage is wasteful.
-z RecordSize Prevents abnormal termination if any of the lines being sorted are longer than the
default buffer size. When the -c or -m flags are specified, the sorting phase is omitted
and a system default buffer size is used. If sorted lines are longer than this size, sort
terminates abnormally. The -z option specifies recording of the longest line in the sort
phase so adequate buffers can be allocated in the merge phase. RecordSize must
designate a value in bytes equal to or greater than the longest line to be merged.
Exit Status
This command returns the following exit values:
0 All input files were output successfully, or -c was specified and the input file was correctly sorted.
1 Under the -c option, the file was not ordered as specified, or if the -c and -u options were both specified, two
input lines were found with equal keys.
>1 An error occurred.
This command sequence displays the contents of the fruits file sorted in ascending lexicographic
order. The characters in each column are compared one by one, including spaces, digits, and special
characters. For instance, if the fruits file contains the text:
banana
orange
Persimmon
apple
%%banana
apple
ORANGE
In the ASCII collating sequence, the % (percent sign) precedes uppercase letters, which precede
lowercase letters. If your current locale specifies a character set other than ASCII, your results may be
different.
2. To sort in dictionary order, enter:
sort -d fruits
This command sequence sorts and displays the contents of the fruits file, comparing only letters,
digits, and spaces. If the fruits file is the same as in example 1, then the sort command displays:
ORANGE
Persimmon
apple
apple
%%banana
banana
orange
The -d flag ignores the % (percent sign) character because it is not a letter, digit, or space, placing
%%banana with banana.
3. To group lines that contain uppercase and special characters with similar lowercase lines, enter:
sort -d -f fruits
The -d flag ignores special characters and the -f flag ignores differences in case. With the LC_ALL,
LC_COLLATE, or LANG environment variable set to C, the output for the fruits file becomes:
apple
apple
%%banana
banana
ORANGE
orange
Persimmon
4. To sort, removing duplicate lines, enter:
The -u flag tells the sort command to remove duplicate lines, making each line of the file unique. This
command sequence displays:
apple
%%banana
ORANGE
Persimmon
Not only is the duplicate apple removed, but banana and ORANGE as well. These are removed because
the -d flag ignores the %% special characters and the -f flag ignores differences in case.
5. To sort as in example 4, removing duplicate instances unless capitalized or punctuated differently,
enter:
sort -u +0 -d -f +0 fruits
Entering the +0 -d -f does the same type of sort that is done with -d -f in example 3. Then the +0
performs another comparison to distinguish lines that are not identical. This prevents the -u flag from
removing them.
Given the fruits file shown in example 1, the added +0 distinguishes %%banana from banana and
ORANGE from orange. However, the two instances of apple are identical, so one of them is deleted.
apple
%%banana
banana
ORANGE
orange
Persimmon
6. To specify the character that separates fields, enter:
This command sequence sorts the vegetables file, comparing the text that follows the first colon on
each line. The +1 tells the sort command to ignore the first field and to compare from the start of the
second field to the end of the line. The -t: flag tells the sort command that colons separate fields. If
vegetables contains:
yams:104
turnips:8
potatoes:15
carrots:104
green beans:32
radishes:5
lettuce:15
Then, with the LC_ALL, LC_COLLATE, or LANG environment variable set to C, the sort command
displays:
carrots:104
yams:104
lettuce:15
potatoes:15
green beans:32
radishes:5
turnips:8
Note that the numbers are not in numeric order. This happened when a lexicographic sort compares
each character from left to right. In other words, 3 comes before 5, so 32 comes before 5.
7. To sort numbers, enter:
OR
This command sequence performs a numeric sort on the second field (+1 -2 -n). Within that ordering,
it sorts the first field in reverse alphabetic order (+0 -1 -r). With the LC_ALL, LC_COLLATE, or
LANG environment variable set to C, the output looks like this:
radishes:5
turnips:8
potatoes:15
lettuce:15
green beans:32
yams:104
carrots:104
The command sorts the lines in numeric order. When two lines have the same number, they appear in
reverse alphabetic order.
9. To replace the original file with the sorted text, enter:
This command sequence stores the sorted output into the vegetables file (-o vegetables).
Files
/usr/bin/sort Contains the sort command.
Related Information
The comm command, join command, and uniq command.
Files, Input and output redirection in Operating system and device management.
National Language Support in AIX 5L Version 5.3 National Language Support Guide and Reference.
Purpose
Sorts a bibliographic database.
Syntax
sortbib [ -sKeys ] [ Database ... ]
Description
The sortbib command sorts files of records containing refer command key letters by user-specified keys.
The records can be separated by blank lines, or enclosed by the .[ (period, left bracket) and the .] (period,
right bracket) delimiters, but the two styles cannot be mixed together. The sortbib command reads
through each database specified by the Database parameter and pulls out key fields, which are sorted
separately. The sorted key fields contain the file pointer, byte offset, and length of corresponding records.
These records are delivered using disk seeks and reads, so the sortbib command cannot be used in a
pipeline to read standard input.
By default, the sortbib command alphabetizes by the first %A and %D fields, which contain the senior author
and date.
The sortbib command sorts by the last word in the %A field, which is assumed to be the author’s last
name. A word in the final position, such as jr. or ed., is ignored if the name preceding ends with a
comma. Authors with two-word last names, or names with uncommon constructions, can be sorted
correctly by using the nroff command convention \0 in place of a space character. Specifying the %Q field
is similar to the %A field, except sorting begins with the first, not the last, word.
The sortbib command sorts by the last word of the %D line, which is usually the year. It ignores leading
articles when sorting by titles in the %T or %J fields. The articles ignored are specific to the locale and
specified in the locale-specific refer message catalog. Within this catalog, the articles are contained in a
single message. Each article is separated by any number of ASCII space or tab characters. If a
sort-significant field is absent from a record, the sortbib command places the record before other records
containing that field.
No more than 16 databases can be sorted together at one time. Records longer than 4096 characters are
truncated.
The Database parameter contains refer command key letters by user-specified keys that the sortbib
command sorts through.
Flags
-sKeys Specifies field keys to sort on.
Examples
1. To sorts by author, title, and date:
sortbib -sATD Database
2. To sort by author and date:
sortbib -sA+D Database
Related Information
The addbib command, indxbib command, lookbib command, refer command, roffbib command, sort
command.
The refer message catalog in the AIX 5L Version 5.3 National Language Support Guide and Reference.
sortm Command
Purpose
Sorts messages.
Syntax
sortm [ +Folder ] [ Messages ] [ -datefield Field ] [ -noverbose | -verbose ]
Description
The sortm command sorts messages according to their Date: field and renumbers them consecutively
beginning with number one. Messages that are in the folder, but not specified to be sorted, are placed
after the sorted messages. The sortm command displays a message if it cannot parse a date field.
To specify a field other than the Date: field, specify the -datefield flag. If you specify a folder, it becomes
the current folder. The current message remains the current message for the specified folder, even if it
moves during the sort.
Flags
-datefield Field Specifies the header field to be used in the sort. The Date: field is the default.
+Folder Specifies the folder with messages to be sorted. The default is the current folder.
-help Lists the command syntax, available switches (toggles), and version information.
Note: For Message Handler (MH), the name of this flag must be fully spelled
out.
-noverbose Prevents display of information during the sort. This flag is the default.
-verbose Displays information during the sort. This information allows you to monitor the
steps involved.
Profile Entries
The following entries are found in the UserMhDirectory/.mh_profile file:
Examples
1. To sort all the messages in the current folder according to the date, enter:
sortm
2. To sort messages 5 through 10 in the easter folder according to the date, enter:
Files
$HOME/.mh_profile Contains the MH user profile.
/usr/bin/sortm Contains the sortm command.
Related Information
The folder command.
Purpose
Finds English Language spelling errors.
Syntax
spell [ -b ] [ -i ] [ -l ] [ -v ] [ -x ] [ -d HashList ] [ -h HistoryList ] [ -s HashStop ] [ + WordList ] [ File ... ]
Description
The spell command reads words in the file indicated by the File variable and compares them to those in a
spelling list. Words that cannot be matched in the spelling list or derived from words in the spelling list (by
applying certain inflections, prefixes, and suffixes) are written to standard output. If no file name is
specified, the spell command reads standard input.
The spell command ignores the same troff, tbl, and eqn codes as does the deroff command.
The coverage of the spelling list is uneven. You should create your own dictionary of special words used in
your files. Your dictionary is a file containing a sorted list of words, one per line. To create your dictionary,
use the spellin command.
Files containing an alternate spelling list, history list, and stop list can be specified by file name parameters
following the -d, -f, and -h flags. Copies of all output can be accumulated in the history file.
Three programs help maintain and check the hash lists used by the spell command:
The File parameter specifies the files that the spell command reads and compares them with the spelling
list. If no file is specified, the command reads standard input.
Flags
-b Checks British spelling. However, this flag does not provide a reasonable prototype for
British spelling. The algorithms to derive a match against the spelling dictionary by
applying certain inflections, prefixes, and suffixes are based on American English spelling.
-d HashList Specifies the HashList file as the alternative spelling list. The default is
/usr/share/dict/hlist[ab].
-h HistoryList Specifies the HistoryList file as the alternative history list, which is used to accumulate all
output. The default is /usr/lbin/spell/spellhist.
Note: The HistoryList file must be an existing file with read and write permissions.
-i Suppresses processing of include files.
Exit Status
The following exit values are returned:
Examples
1. To check your spelling, enter:
spell chap1 >mistakes
This creates a file named mistakes containing all the words found in chap1 that are not in the system
spelling dictionary. Some of these may be correctly spelled words that the spell command does not
recognize. Save the output of the spell command in a file because the word list may be long.
2. To check British spelling, enter:
This checks chap1 against the British dictionary and writes the questionable words in the mistakes file.
3. To see how the spell command derives words, enter:
This lists words not found literally in the dictionary but are derived from forms of dictionary words. The
prefixes and suffixes used to form the derivations are indicated for each word. Words that are not in
the dictionary at all are also listed.
4. To check your spelling against an additional word list, enter:
This checks the spelling of words in chap1 against the system dictionary and against newwords. The
newwords file lists words in alphabetical order, one per line. You can create this file with a text editor,
such as the ed editor, and alphabetize it with the sort command.
Files
/usr/share/dict/hlist[ab] Contains hashed spelling lists, both
American and British.
/usr/share/dict/hstop Contains a hashed stop list.
/usr/lbin/spell/spellhist Contains a history file.
/usr/lbin/spell/compress Contains an executable shell program to
compress the history file.
Related Information
The deroff command, eqn command, neqn command, sed command, sort command, spellin command,
spellout command, tbl command, tee command, and troff command.
spellin Command
Purpose
Creates a spelling list.
Syntax
spellin [ List | Number ]
Description
The spellin command creates a spelling list for use by the spell command. The parameter for the spellin
command can be a file name or a number. The spellin command combines the words from the standard
input and the already existing spelling list file and places a new spelling list on the standard output. If no
list file is specified, a new list is created. If Number is specified, the spellin command reads the specified
number of hash codes from standard input and writes a compressed spelling list.
Examples
To add the word hookey to the spelling list named myhlist, enter:
echo hookey | spellin /usr/share/dict/hlista > myhlist
Related Information
The spell command.
spellout Command
Purpose
Verifies that a word is not in the spelling list.
Syntax
spellout [ -d ] List
Description
The spellout command looks up each word from standard input and prints on standard output those that
are missing from the hashed list file specified by the List parameter. The hashed list file is similar to the
dictionary file used by the spell command.
Examples
To verify that the word hookey is not on the default spelling list, enter:
echo hookey | spellout /usr/share/dict/hlista
In this example, the spellout command prints the word hookey on standard output if it is not in the hashed
list file. With the -d flag, spellout prints the word hookey if it is found in the hash file.
Related Information
The spell command, spellin command.
split Command
Purpose
Splits a file into pieces.
Syntax
To Split a File Into Multiple Files Containing a Specified Number of Lines
split [ -l LineCount ] [ -a SuffixLength ] [ File [ Prefix ] ]
Description
The split command reads the specified file and writes it in 1000-line pieces to a set of output files. The
name of the first output file is constructed by combining the specified prefix (x by default) with the aa
suffix, the second by combining the prefix with the ab suffix, and so on lexicographically through zz (a
maximum of 676 files). The number of letters in the suffix, and consequently the number of output name
files, can be increased by using the -a flag.
You cannot specify a Prefix longer than PATH_MAX - 2 bytes (or PATH_MAX - SuffixLength bytes if the -a
flag is specified). The PATH_MAX variable specifies the maximum path-name length for the system as
defined in the /usr/include/sys/limits.h file.
If you do not specify an input file or if you specify a file name of - (minus sign), the split command reads
standard input.
The split command can be used with any regular text or binary files. After a file has been split, it can be
restored to its original form by using the cat command, and the file fragments will be listed in the
appropriate order.
Flags
Note: The -b and -l flags are mutually exclusive.
-a SuffixLength Specifies the number of letters to use in forming the suffix portion of the output name
files. The number of letters determines the number of possible output filename
combinations. The default is two letters.
Exit Status
This command returns the following exit values:
Examples
1. To split a file into 1000-line segments, enter:
split book
This example splits book into 1000-line segments named xaa, xab, xac, and so forth.
2. To split a file into 50-line segments and specify the file-name prefix, enter:
split -l 50 book sect
This example splits book into 50-line segments named sectaa, sectab, sectac, and so forth.
3. To split a file into 2KB segments, enter:
split -b 2k book
This example splits the book into 2*1024-byte segments named xaa, xab, xac, and so forth.
4. To split a file into more than 676 segments, enter:
split -l 5 -a 3 book sect
This example splits a book into 5-line segments named sectaaa, sectaab, sectaac, and so forth, up to
sectzzz (a maximum of 17,576 files).
Files
/usr/bin/split Contains the split command.
Related Information
The cat and csplit commands.
splat Command
Purpose
Simple Performance Lock Analysis Tool (splat).
Provides kernel and pthread lock usage reports.
splat -h [topic]
splat -j
Description
splat (Simple Performance Lock Analysis Tool) is a software tool which post-processes AIX trace files to
produce kernel simple and complex lock usage reports. It also produces pthread mutex read-write locks,
and condition variables usage reports.
Flags
-i inputfile AIX trace file (REQUIRED).
-n namefile File containing output of gensyms command.
-o outputfile File to write reports to (DEFAULT: stdout).
-d detail Detail can be one of:
[b]asic: summary and lock detail (DEFAULT)
[f]unction: basic + function detail
[t]hread: basic + thread detail
[a]ll: basic + function + thread detail
-c class If the user supplies a decimal lock class index, splat will only report activity for locks in that class.
-l address If the user supplies a hexadecimal lock address, splat will only report activity for the lock at that
address. splat will filter a trace file for lock hooks containing that lock address and produce a report
solely for that lock.
-s criteria Sort the lock, function, and thread reports by the following criteria:
a acquisitions
c percent processor hold time
e percent elapsed hold time
l lock address, function address, or thread ID
m miss rate
s spin count
S percent processor spin hold time (DEFAULT)
w percent real wait time
W average waitq depth
-C cpus Specify the number of processors present for this trace.
-S count The maximum number of entries in each report (DEFAULT: 10).
-t starttime Time offset in seconds from the beginning of the trace.
-T stoptime Time offset in seconds from the beginning of the trace to stop analyzing trace data. (DEFAULT: the
end of the trace.)
-h [topic] Help on usage or a specific topic. Valid topics are:
v all
v overview
v input
v names
v reports
v sorting
-j Print a list of trace hooks used by splat.
Help
The following is a list of available help topics and a brief summary of each:
Splat Trace
Splat takes as primary input an AIX trace file which has been collected with the AIX trace command.
Before analyzing a trace with splat, you will need to make sure that the trace is collected with an
adequate set of hooks, including the following:
106 DISPATCH
10C DISPATCH IDLE PROCESS
10E RELOCK
112 LOCK
113 UNLOCK
134 HKWD_SYSC_EXECVE
139 HKWD_SYSC_FORK
419 CPU PREEMPT
465 HKWD_SYSC_CRTHREAD
46D WAIT LOCK
46E WAKEUP LOCK
606 HKWD_PTHREAD_COND
607 HKWD_PTHREAD_MUTEX
608 HKWD_PTHREAD_RWLOCK
609 HKWD_PTHREAD_GENERAL
Capturing these lock and unlock trace events can cause serious performance degradation due to the
frequency that locks are used in a multiprocessor environment. Therefore, lock trace event reporting is
normally disabled. In order to enable lock trace event reporting, the following steps must be taken before a
trace can be collected which will include lock trace events that splat requires (KornShell syntax):
1. bosboot -ad /dev/hdisk0 -L
2. shutdown -Fr
4. locktrace -S
6. ln -s /usr/ccs/lib/perf/libpthreads.a
7. export LIBPATH=$PWD:$LIBPATH
Steps 1 through 3 are optional. They enable the display of kernel lock class names instead of addresses.
Please refer to bosboot(1) for more information on bosboot and its flags. Steps 5 through 7 are
necessary for activating the user pthread lock instrumentation; the temp.lib subdirectory can be put
anywhere. Steps 1 through 7 are necessary in order for the report to be complete.
Lock classes and offsets can be used to identify a lock broadly, but not as specifically as the actual
symbol.
Splat Reports
The report generated by splat consists of a report summary, a lock summary report section, and a list of
lock detail reports, each of which may have an associated function detail and/or thread detail report.
Report Summary
^^^^^^^^^^^^^^
The report summary consists of the following elements:
Lock Summary
^^^^^^^^^^^^
Type The type of the lock, identified by one of the following letters:
Q A RunQ lock
S A simple kernel lock
D A disabled simple kernel lock
C A complex kernel lock
M A PThread mutex
V A PThread condition-variable
L A PThread read/write lock
Acquisitions The number of successful lock attempts for this lock, minus
the number of times a thread was preempted while holding
this lock.
Percent HoldTime
Real CPU The percent of combined elapsed trace time that
threads held the lock in question while dispatched.
DISPATCHED_HOLDTIME_IN_SECONDS divided by combined
trace duration, multiplied by 100.
The lock summary report defaults to a list of ten locks, sorted in descending order by percent spin hold
time ( the tenth field ). The length of the summary report can be adjusted using the -S switch. The sorted
order of the summary report ( and all other reports ) can be set with the -s switch whose options are
described in the SORTING help section, splat -h sorting.
Lock Detail
^^^^^^^^^^^
Parent Thread Thread id of the parent thread. This field only exists for Mutex,
Read/Write lock and Conditional Variable report.
creation time Elapsed time in seconds after the first event recorded in trace,
if available. This field only exists for Mutex, Read/Write lock
and Conditional Variable report.
deletion time Elapsed time in seconds after the first event recorded in trace,
if available. Tthis field only exists for Mutex, Read/Write lock
and Conditional Variable report.
Pid Pid number associated to the lock (this field only exists for Mutex,
Read/Write lock and Conditional Variable report).
Process Name Process name associated to the lock (this field only exists for Mutex,
Read/Write lock and Conditional Variable report).
Call-Chain Stack of called methods (if possible to have them, this field only
exists for Mutex, Read/Write lock and Conditional Variable report).
Transform Count The number of krlock allocated and deallocated by the simple lock.
Seconds Held
CPU The total time in seconds that this lock was held by
dispatched threads.
Elapsed The total time in seconds that this lock was held by
both dispatched and undispatched threads.
Percent Held
Real CPU The percent of combined elapsed trace time that
threads held the lock in question while dispatched.
DISPATCHED_HOLDTIME_IN_SECONDS divided by trace
duration, multiplied by 100.
WaitQ As with the spin queue, splat also tracks the minimum,
maximum and average depth of the queue of threads waited
waiting for a lock to become available).
CONFER SELF The confer to self calls count for the simple lock and the
associated krlocks.
CONFER TARGET The confer to target calls count for the simple lock and the
associated krlocks. w/ preemption reports the successfull calls
count, resulting in a preemption.
CONFER ALL The confer to all calls count for the simple lock and the
associated krlocks. w/ preemption reports the successfull calls
count, resulting in a preemption.
WAIT: this state represents a spinning thread (in SPIN) going to sleep
(voluntarily) after exceeding the thread’s spin threshold.
This section of the lock detail report are dumps of the raw data that splat collects for each lock, times
expressed in milliseconds. The six states: LOCK, SPIN, LOCK with KRLOCK, KRLOCK LOCK, KRLOCK
SPIN and TRANSFORM are the six basic states of splat’s disabled simple_lock finite state machine. The
count for each state is the number of times a thread’s actions resulted in a transition into that state. The
durations in milliseconds show the minimum, maximum, average and total amounts of time that a lock
request spent in that state.
LOCK: This state represents a thread successfully acquiring a lock.
LOCK with The thread has successfully acquired the lock, while holding
KRLOCK: the associated krlock, and is currently executing.
KRLOCK LOCK: The thread has successfully acquired the associated krlock,
and is currently executing.
Function Detail
^^^^^^^^^^^^^^^
Transform Count The number of times that a simple lock has allocated a krlock,
while the thread was trying to acquire the simple lock.
Thread Detail
^^^^^^^^^^^^^
Transform Count The number of times that a simple lock has allocated a krlock,
while the thread was trying to acquire the simple lock.
ProcessID Process identifier (only for SIMPLE and COMPLEX Lock report).
Process Name Name of the process (only for SIMPLE and COMPLEX Lock report).
Splat Sorting
splat allows the user to specify which criteria is used to sort the summary and lock detail reports using the
-s option. The default sorting criteria is to sort by percent spin hold time, which is the ratio of time that
threads spent spinning for a lock compared to the combined duration of the trace. Using -s, the sort
criteria can be changed to the following:
splat will use the specified criteria to sort the lock reports in descending order.
Restrictions
Other types of locks, such as VMM, XMAP, and certain Java-specific locks are not analyzed.
Files
/etc/bin/splat Simple Performance Lock Analysis Tool (splat). Provides kernel and pthread lock usage reports.
Related Information
The simple_lock(3), simple_unlock(3), disable_lock(3), unlock_enable(3), trace(1), trcrpt(1), trcfmt(5),
gensyms(1) and bosboot(1) daemons.
Purpose
Splits a single mirror copy of a fully mirrored volume group.
Syntax
splitvg [ -y SnapVGname ] [ -c Copy ] [ -f ] [ -i ] VGname
Description
The splitvg command splits a single mirror copy of a fully mirrored volume group into a snapshot volume
group. The original volume group VGname will stop using the disks that are now part of the snapshot
volume group SnapVGname. Both volume groups will keep track of the writes within the volume group so
that when the snapshot volume group is rejoined with the original volume group consistent data is
maintained across the rejoined mirrors copies.
Notes:
1. To split a volume group, all logical volumes in the volume group must have the target mirror copy and
the mirror must exist on a disk or set of disks. Only the target mirror copy must exist on the target disk
or disks.
2. The splitvg command will fail if any of the disks to be split are not active within the original volume
group.
3. In the unlikely event of a system crash or loss of quorum while running this command, the joinvg
command must be run to rejoin the disks back to the original volume group.
4. There is no concurrent or enhanced concurrent mode support for creating snapshot volume groups.
5. New logical volumes and file system mount points will be created in the snapshot volume group.
6. The splitvg command is not supported for the rootvg.
7. The splitvg command is not supported for a volume group that has an active paging space.
8. When the splitvg command targets a concurrent-capable volume group which is varied on in
non-concurrent mode, the new volume group that is created will not be varied on when the splitvg
command completes. The new volume group must be varied on manually.
Flags
-y Allows the volume group name to be specified rather than having the name generated automatically.
SnapVGname Volume group names must be unique across the system and can range from 1 to 15 characters. The
name cannot begin with a prefix already defined in the PdDv class in the Device Configuration
database for other devices. The new volume group name is sent to standard output.
-c Copy Which mirror to split. Valid values are 1, 2, or 3. The default is the second copy.
-f Will force the split even if the mirror copy specified to create the snashot volume group has stale
partitions.
-i Will split the mirror copy of a volume group into a new volume group that can not be rejoined into the
original.
Security
Access Control: You must have root authority to run this command.
Examples
1. To split a volume group, type:
splitvg testvg
Files
/usr/sbin Directory where the splitvg command resides.
Related Information
The joinvg and recreatevg commands.
splitlvcopy Command
Purpose
Splits copies from one logical volume and creates a new logical volume from them.
Syntax
splitlvcopy [ -f ] [ -y NewLogicalVolumeName ] [ -Y Prefix ] LogicalVolume Copies [
PhysicalVolume ... ]
Description
Notes:
1. To use this command, you must either have root user authority or be a member of the system group.
2. The splitlvcopy command is not allowed on a snapshot volume group or a volume group that has a
snapshot volume group.
Attention: Although the splitlvcopy command can split logical volumes that are open, including logical
volumes containing mounted filesystems, this is not recommended. You may lose consistency between
LogicalVolume and NewLogicalVolume if the logical volume is accessed by multiple processes
simultaneously. When splitting an open logical volume, you implicitly accept the risk of potential data loss
and data corruption associated with this action. To avoid the potential corruption window, close logical
volumes before splitting and unmount filesystems before splitting.
The splitlvcopy command removes copies from each logical partition in LogicalVolume and uses them to
create NewLogicalVolume. The Copies parameter determines the maximum number of physical partitions
that remain in LogicalVolume after the split. Therefore, if LogicalVolume has 3 copies before the split, and
the Copies parameter is 2, LogicalVolume will have 2 copies after the split and NewLogicalVolume will
have 1 copy. You can not split a logical volume so that the total number of copies in LogicalVolume and
NewLogicalVolume after the split is greater than the number of copies in LogicalVolume before the split.
The NewLogicalVolume will have all the same logical volume characteristics as LogicalVolume. If
LogicalVolume does not have a logical volume control block the command will succeed with a warning
message and creates NewLogicalVolume without a logical volume control block.
There are additional considerations to take when splitting a logical volume containing a filesystem. After
the split there will be two logical volumes but there will only be one entry in the /etc/filesystems file which
refers to LogicalVolume. To access NewLogicalVolume as a filesystem you must create an additional entry
in /etc/filesystems with a different mount point which refers to NewLogicalVolume. If the mount point does
not already exist, you have to create it before the new filesystem can be mounted. In addition, if
NewLogicalVolume was created while LogicalVolume was open, you have to run the command
You can not use the System Management Interface Tool (SMIT) to run this command. Message catalogs
are not supported for this command and therefore the error messages are provided in English only with no
message catalog numbers. Documentation for splitlvcopy consists of this man page.
Flags
-f Specifies to split open logical volumes without requesting confirmation.
By default, splitlvcopy requests confirmation before splitting an open
logical volume. This includes open raw logical volumes and logical
volumes containing mounted filesystems.
-y NewLogicalVolumeName Specifies the name of the new logical volume to move copies to from
LogicalVolume.
-Y Prefix Specifies the Prefix to use instead of the prefix in a system-generated
name for the new logical volume. The prefix must be less than or equal
to 13 characters. A name cannot begin with a prefix already defined in
the PdDv class in the Device Configuration Database for other devices,
nor be a name already used by another device.
Parameters
Copies Specifies the maximum number of physical partitions that remain in LogicalVolume after
the split.
LogicalVolume Specifies the logical volume name or logical volume ID to split.
PhysicalVolume Specifies the physical volume name or the physical volume ID to remove copies from.
Exit Status
This command returns the following exit values:
0 Successful completion.
>0 An error occurred.
Security
Access Control: You must have root authority to run this command or be a member of the system group.
Examples
To split one copy of each logical partition belonging to logical volume named oldlv which currently has 3
copies of each logical partition, and create the logical volume newlv, enter:
splitlvcopy -y newlv oldlv 2
Each logical partition in the logical volume oldlv now has two physical partitions. Each logical partition in
the logical volume newlv now has one physical partition.
Files
/etc/splitlvcopy Contains the splitlvcopy command.
/tmp Contains the temporary files created while the splitlvcopy command is running.
splp Command
Purpose
Changes or displays printer driver settings.
Syntax
splp [ -b Option ] [ -B Number] [ -c Option ] [ -C Option ] [ -e Option ] [ -f Option ] [ -F! ] [
-i Number ] [ -l Number ] [ -n Option ] [ -N Option ] [ -p Option ] [ -P Option ] [ -r Option ] [
-s Number ] [ -S Option ] [ -t Option ] [ -T Number ] [ -w Number ] [ -W Option ]
[ DevicePath ]
Description
The splp command changes or displays settings for a printer device driver. The default device path is
/dev/lp0; all flags are optional. If the device path does not begin with a / (backslash) character, the /dev
directory is assumed. Also, if no flags are specified, the splp command reports the current settings for the
specified device path. To change the current settings, specify the appropriate flags. No other processing is
done, and there is no other output.
The changes that the splp command makes remain in effect until the next time you restart the system or
rerun the splp command. The splp command can be run from the /etc/inittab command file to configure
your printer each time you start up the system.
Note: The splp command settings for the -b, -c, -C, -f, -i, -l, -n, -p, -r, -t, -w, and -W flags apply
only when data is sent directly to the printer device (for example, redirecting the output of the cat
command directly to the specifies device path). When files are queued for printing with the enq, qprt,
lp, or lpr commands, the settings for these flags are ignored and are not changed.
Flags
-b Option Specifies whether backspaces are sent to the printer:
+ Specifies backspaces be sent to the printer.
! Specifies backspaces be discarded.
-B Number Sets the speed to the specified number of bits per second. Values for the Number variable are 50,
75, 110, 134, 150, 300, 600, 1200, 1800, 2400, 4800, 9600, 19,200, and 38,400.
-c Option Specifies whether carriage returns are sent to the printer:
+ Sends carriage returns to the printer.
! Translates carriage returns to line feeds.
-C Option Specifies whether all lowercase characters are converted to uppercase characters:
+ Converts lowercase characters to uppercase characters.
! Does not convert lowercase characters to uppercase characters.
-e Option Specifies the processing to be performed when an error is detected:
+ Returns an error.
! Waits until error clears.
Examples
1. To display the current printer settings for the /dev/lp0 printer, enter:
splp
splp -w 80 -W + -C +
This changes the settings of the /dev/lp0 printer for 80-column paper (the -w 80 flag). It also wraps
each line that is more than 80 columns wide onto a second line (the -W+ flag), and prints all alphabetic
characters in uppercase (the -C+ flag).
Files
/dev/lp* Contains the printer attribute file.
/etc/inittab Contains the printer configuration command file.
Related Information
The cat command, enq command, lp command, lpr command, qprt command.
Adding a Printer Using the Printer Colon File in the Printers and printing.
spost Command
Purpose
Routes a message.
Syntax
spost [ -noalias | -alias File ...] [ -format | -noformat] [ -filter File | -nofilter] [ -width Number] [ -watch |
-nowatch] [ -remove | -noremove] [ -backup | -nobackup] [ -verbose | -noverbose]File
Description
The spost command routes messages to the correct destinations. The spost command is not started by
the user. The spost command is called by other programs only.
The spost command searches all components of a message that specify a recipient’s address and parses
each address to check for proper format. The spost command then puts addresses in the standard format
and starts the sendmail command. The spost command performs a function similar to the post
command, but it does less address formatting than the post command.
The spost command is the default (over the post command). Change the default by setting the postproc
variable in your .mh_profile. For example:
postproc: /usr/lib/mh/post
Note: For Message Handler (MH), the name of this flag must be fully spelled out.
-noalias Does not use any alias files for delivering the message.
-nobackup Does not rename the message after posting the file. This flag is the default.
-nofilter Strips the Bcc: field header from the message and sends it to recipients specified in the
Bcc: component. This flag is the default.
-noformat Does not alter the format of the recipient addresses.
-noremove Does not remove the temporary message file after posting the message.
-noverbose Does not display information during the delivery of the message to the sendmail
command. This flag is the default.
-nowatch Does not display information during delivery by the sendmail command. This flag is the
default.
-remove Removes the temporary message file after the message has been successfully posted.
This flag is the default.
-verbose Displays information during the delivery of the message to the sendmail command. This
information allows you to monitor the steps involved.
-watch Displays information during the delivery of the message by the sendmail command. This
information allows you to monitor the steps involved.
-width Number Sets the width of components that contain addresses. The default is 72 columns.
Files
$HOME/.mh_profile Contains the Message Handler (MH) user profile.
/tmp/pstNumber Contains the temporary message file.
/etc/mh/MailAliases Contains the default mail aliases.
/usr/lib/mh/.mh_profile Contains the Message Handler (MH) user profile.
Related Information
The ali command, conflict command, mhmail command, post command, send command, sendmail
command, and whom command.
spray Command
Purpose
Sends a specified number of packets to a host and reports performance statistics.
Description
The spray command uses the Remote Procedure Call (RPC) protocol to send a one-way stream of
packets to the host you specify. This command reports how many packets were received and at what
transfer rate. The Host parameter can be either a name or an Internet address. The host only responds if
the sprayd daemon is running.
See the rpc.sprayd daemon documentation for factors that affect spray command performance.
Flags
-c Count Specifies the number of packets to send. The default value is the number of packets required to
make the total stream size 100,000 bytes.
-d Delay Specifies the time, in microseconds, the system pauses between sending each packet. The default
is 0.
-i Uses the Internet Control Message Protocol (ICMP) echo packets rather than the RPC protocol.
Since ICMP echoes automatically, it creates a two-way stream. You must be root user to use this
option.
-l Length Specifies the number of bytes in the packet that holds the RPC call message. The default value of
the Length parameter is 86 bytes, the size of the RPC and UDP headers.
The data in the packet is encoded using eXternal Data Representation (XDR). Since XDR deals
only with 32-bit quantities, the spray command rounds smaller values up to the nearest possible
value.
When the Length parameter is greater than 1500 for Ethernet or 1568 for token-ring, the RPC call
can no longer fit into one Ethernet packet. Therefore, the Length field no longer has a simple
correspondence to Ethernet packet size.
Examples
1. When sending a spray command to a workstation, specify the number of packets to send and the
length of time the system will wait between sending each packet as follows:
In this example, the spray command sends 1200 packets at intervals of 2 microseconds to the
workstation named zorro.
2. To change the number of bytes in the packets you send, enter:
In this example, the spray command sends 1350-byte packets to the workstation named zorro.
3. To send echo packets using the ICMP protocol instead of the RPC protocol, enter:
/usr/sbin/spray zorro -i
In this example, the spray command sends echo packets to the workstation named zorro.
sprayd Daemon
Purpose
Receives packets sent by the spray command.
Syntax
/usr/lib/netsvc/spray/rpc.sprayd
Description
The rpc.sprayd daemon is a server that records the packets sent by the spray command. The
rpc.sprayd daemon is normally started by the inetd daemon.
UDP Performance
User Datagram Protocol (UDP) performance with the spray command and the rpc.sprayd daemon can be
affected by the following factors:
v How memory buffers (mbufs) are tuned for system configuration.
v The incoming burst rate (that is, interframe gap) of UDP packets for the spray command.
v Other system activity. Since the rpc.sprayd daemon runs as a normal user process, other activity (such
as the init process, or the syncd daemon) can affect the operation of the rpc.sprayd daemon.
v Priority of the rpc.sprayd daemon process. The rpc.sprayd daemon has a floating process priority that
is calculated dynamically.
v The size of the receive socket buffer used by the rpc.sprayd daemon. Because various
implementations use different socket buffer sizes, measuring UDP performance with the spray
command and the rpc.sprayd daemon is difficult and inconclusive.
Files
/etc/inetd.conf TCP/IP configuration file that starts RPC daemons and other TCP/IP daemons.
Related Information
The spray command.
Purpose
Starts the System Resource Controller.
Syntax
srcmstr /usr/sbin/srcmstr [ -r ] [ -B ]
Description
The srcmstr daemon is the System Resource Controller (SRC). The srcmstr daemon spawns and
controls subsystems, handles short subsystem status requests, passes requests on to a subsystem, and
handles error notification.
Flags
-r Accepts remote requests if the daemon is started with the
-r flag. If you start srcmstr without the -r flag, remote
requests are ignored.
-B Specifies the -B flag that causes the srcmstr daemon to
run as in previous releases (AIX 4.3.1 and earlier).
Requirement: The user must be running as root on the
remote system. The local /etc/hosts.equiv file or the
/.rhosts file must be configured to allow remote requests.
Tip: The srcmstr daemon is typically started from inittab.
To add the -r or -B flags, edit /etc/inittab and run init q or
reboot.
Security
Auditing Events: If the auditing subsystem has been properly configured and is enabled, the srcmstr
command will generate the following audit record (event) every time the command is executed:
Event Information
SRC_Start Lists in an audit log the name of the subsystems being started.
SRC_Stop Lists in an audit log the name of the subsystems being stopped.
See Setting Up Auditing in Security for more details about how to properly select and group audit events,
and how to configure audit event data collection.
Error Recovery
The default /etc/inittab specifies the respawn flag for the srcmstr daemon. If the srcmstr daemon
terminates abnormally and the /etc/inittab specifies the respawn flag, the srcmstr daemon is restarted. It
then determines which SRC subsystems were active during the previous invocation. The daemon
re-establishes communication with these subsystems (if it existed previously), and initializes a private
kernel extension and the srcd daemon to monitor the subsystem processes.
If a subsystem known to the previous invocation of srcmstr terminates, the SRC kernel extension notifies
the srcd daemon. The srcd daemon sends a socket message to srcmstr and subsystem termination is
handled as if the subsystem had been started by the current srcmstr. This function can be disabled by
specifying the -B flag when the srcmstr daemon is started. The SRC kernel extension is in
/usr/lib/drivers/SRC_kex.ext. The executable for srcd is /usr/sbin/srcd.
Related Information
The auditpr command, init command.
The System resource controller in Operating system and device management gives an explanation of
subsystems, subservers, and the System Resource Controller.
startcondresp Command
Purpose
Starts monitoring a condition that has one or more linked responses.
Syntax
To start monitoring a condition:
Description
The startcondresp command starts the monitoring of a condition that has a linked response. A link
between a condition and a response is called a condition/response association. In a cluster environment,
the condition and the response must be defined on the same node. After monitoring is started, when the
condition occurs, the response is run. If no responses are specified, monitoring is started for all responses
linked to the condition. This causes all of the linked responses to run when the condition occurs. If more
than one response is specified, monitoring is started only for those linked responses.
If a particular condition/response association is needed for system software to work properly, it may be
locked. A locked condition/response association cannot be started by the startcondresp command. If the
condition/response association you specify on the startcondresp command is locked, it will not be started;
instead an error will be generated informing you that this condition/response association is locked. To
unlock a condition/response association, you can use the -U flag. However, because a condition/response
association is typically locked because it is essential for system software to work properly, you should
exercise caution before unlocking it. To lock a condition/response association so it cannot be started,
stopped, or removed, reissue this command using its -L flag.
Flags
−h Writes the command’s usage statement to standard output.
−T Writes the command’s trace messages to standard error. For your software service organization’s
use only.
−V Writes the command’s verbose messages to standard output.
−U Unlocks a condition/response association so it can be started, stopped, or removed. If a
condition/response association is locked, this is typically because it is essential for system
software to work properly. For this reason, you should exercise caution before unlocking it. When
unlocking a condition/response association using the -U flag, no other operation can be performed
by this command.
−L Locks a condition/response association so it cannot be started, stopped, or removed. When
locking a condition/response association using the -L flag, no other operation can be performed by
this command.
Parameters
condition Specifies the name of the condition linked to the response. The condition is always
specified first.
node_name Specifies the node in the domain where the condition is defined. If node_name is not
specified, the local node is used. node_name is a node within the scope determined by
the CT_MANAGEMENT_SCOPE environment variable.
response Specifies the name of one or more responses. Specifying more than one response links
the responses to the condition if they are not already linked and starts monitoring for the
specified responses.
Security
The user needs write permission for the IBM.Association resource class to run startcondresp.
Permissions are specified in the access control list (ACL) file on the contacted system. See the RSCT:
Administration Guide for details on the ACL file and how to modify it.
Exit Status
0 The command ran successfully.
1 An error occurred with RMC.
2 An error occurred with a command-line interface script.
3 An incorrect flag was entered on the command line.
4 An incorrect parameter was entered on the command line.
Environment Variables
CT_CONTACT
Determines the system where the session with the resource monitoring and control (RMC)
daemon occurs. When CT_CONTACT is set to a host name or IP address, the command contacts
the RMC daemon on the specified host. If CT_CONTACT is not set, the command contacts the
RMC daemon on the local system where the command is being run. The target of the RMC
daemon session and the management scope determine the resource classes or resources that are
processed.
CT_IP_AUTHENT
When the CT_IP_AUTHENT environment variable exists, the RMC daemon uses IP-based
network authentication to contact the RMC daemon on the system that is specified by the IP
address to which the CT_CONTACT environment variable is set. CT_IP_AUTHENT only has
meaning if CT_CONTACT is set to an IP address; it does not rely on the domain name system
(DNS) service.
CT_MANAGEMENT_SCOPE
Determines the management scope that is used for the session with the RMC daemon in
processing the resources of the event-response resource manager (ERRM). The management
scope determines the set of possible target nodes where the resources can be processed. The
valid values are:
0 Specifies local scope.
1 Specifies local scope.
2 Specifies peer domain scope.
3 Specifies management domain scope.
If this environment variable is not set, local scope is used.
Implementation Specifics
This command is part of the Reliable Scalable Cluster Technology (RSCT) fileset for AIX.
Standard Output
When the -h flag is specified, this command’s usage statement is written to standard output. All verbose
messages are written to standard output.
Standard Error
All trace messages are written to standard error.
Examples
These examples apply to standalone systems:
1. To start monitoring for the condition ″FileSystem space used ″ by using the response ″Broadcast event
on-shift″, whether or not the response is linked with the condition, run this command:
startcondresp "FileSystem space used" "Broadcast event on-shift"
2. To start monitoring for the condition ″FileSystem space used ″ by using all of its linked responses, run
this command:
startcondresp "FileSystem space used"
3. To start monitoring for the condition ″FileSystem space used ″ by using the response ″Broadcast event
on-shift″ and ″E-mail root anytime″, whether or not they are linked with the condition, run this
command:
Location
/usr/sbin/rsct/bin/startcondresp
Related Information
Books: RSCT: Administration Guide for more information about ERRM operations
start-secldapclntd Command
Purpose
The start-secldapclntd script is used to start the secldapclntd LDAP client daemon.
Syntax
/usr/sbin/start-secldapclntd [ -C CacheSize ] [ -p NumOfThread ] [ -t CacheTimeOut ] [ -T HeartBeatIntv
] [ -o ldapTimeOut ]
Description
The start-secldapclntd script starts the secldapclntd daemon if it is not running. It does not do anything
if the secldapclntd daemon is already running. The script also cleans the portmapper registration (if there
is any) from previous secldapclntd daemon process before it starts the secldapclntd daemon. This
prevents the startup failure of the new daemon process from portmap-per registration failure.
Flags
By default, the secldapclntd daemon reads the configuration information specified in the
/etc/security/ldap/ldap.cfg file at startup. If the following options are given in command line when starting
secldapclntd process, the options from the command line will overwrite the values in the
/etc/security/ldap/ldap.cfg file.
Examples
1. To start the secldapclntd daemon, type:
/usr/sbin/start-secldapclntd
2. To start the secldapclntd with using 20 threads and cache timeout value of 600 seconds, type:
/usr/sbin/start-secldapclntd -p 20 -t 600
It is recommended that you specify these values in the /etc/security/ldap/ldap.cfg file, so that these
values will be used each time you start the secldapclntd process.
Files
/usr/sbin/start-secldapclntd Used to start the secldapclntd LDAP client daemon.
Related Information
The secldapclntd daemon
stop-secldapclntd Command
Purpose
The stop-secldapclntd script is used to terminate the secldapclntd LDAP client daemon.
Syntax
/usr/sbin/stop-secldapclntd
Description
The stop-secldapclntd script terminates the running secldapclntd daemon process. It returns an error if
the secldapclntd daemon is not running.
Example
To stop the running secldapclntd daemon process, type:
/usr/sbin/stop-secldapclntd
Related Information
The secldapclntd daemon
startrpdomain Command
Purpose
Brings a peer domain that has already been defined online.
Syntax
startrpdomain [ −A │ −L ] [−t timeout] [ −Q quorum_type | quorum_type_name ] [−m fanout] [−h] [−TV]
peer_domain
Description
The startrpdomain command brings a defined peer domain online by starting the resources on each node
belonging to the peer domain.
The startrpdomain command must be run on a node that is defined to the peer domain. The command
invites all offline nodes defined to the peer domain to come online in the peer domain every time the
command is run for the peer domain. The command can be run more than once in the peer domain. If all
the nodes defined in the peer domain are already online, no action is performed.
The startrpdomain command determines the peer domain configuration to use to bring the peer domain
online by examining the peer domain configuration on the nodes defined to the peer domain. The latest
version of the peer domain configuration information that is found is used to bring the peer domain online.
By default, the latest version of the peer domain configuration found on at least half of the nodes is used.
Specifying the -A flag causes the latest version of the peer domain configuration found on all of the nodes
defined in the peer domain to be used. Specifying the -L flag causes the configuration on the local node to
be used.
In determining the latest version of the peer domain configuration information, a configuration timeout
defines when to stop checking versions and begin to bring the peer domain online. The default timeout
value is 120 seconds. The timeout value can be changed using the -t flag. The timeout value should be at
least long enough so that the latest version of the peer domain configuration information from at least half
of the nodes can be found.
A node can only be online to one peer domain at a time. The startrpdomain command cannot be run on
a node for a peer domain when another peer domain is already online for that node.
Flags
-A Finds and uses the latest version of the peer domain configuration information from all of the
nodes in the peer domain. This flag cannot be specified if the -L flag is specified. If neither flag (-A
or -L) is specified, the latest version of the peer domain configuration information from at least half
of the nodes in the peer domain is used.
Alphabetical Listing of Commands 187
-L Uses the latest version of the peer domain configuration information that is on the local node. This
flag cannot be specified if the -A flag is specified. If neither flag (-A or -L) is specified, the latest
version of the peer domain configuration information from at least half of the nodes in the peer
domain is used.
-t timeout
Specifies the timeout value in seconds. This flag limits the amount of time used to find the latest
version of the peer domain configuration. When the timeout value is exceeded, the latest version
of the peer domain configuration information found thus far is used. The timeout value should be
long enough so that the latest version of the peer domain configuration information from at least
half of the nodes can be found. The default timeout value is 120 seconds.
-Q quorum_type | quorum_type_name
Enables you to override the startup quorum mode. This can be specified as an integer quorum
type or quorum type name. If you do not specify this flag, startup quorum mode will be specified
using the mkrpdomain command’s -Q flag (or the default quorum mode for your environment)
when you created the peer domain. You can override the quorum startup mode only if the quorum
mode has been defined as normal or quick. The valid values are:
0 │ normal
Specifies normal start-up quorum rules. Half of the nodes will be contacted for
configuration information.
1 │ quick
Specifies quick start-up quorum rules. One node will be contacted for configuration
information.
-m fanout
Specifies the maximum number of threads to use for this start operation. The -m flag overrides the
default fanout value for the specified peer domain. This value is stored as a persistent attribute in
the peer domain’s IBM.PeerNode class. fanout can be an integer from 16 to 2048.
-h Writes the command’s usage statement to standard output.
-T Writes the command’s trace messages to standard error. For your software service organization’s
use only.
-V Writes the command’s verbose messages to standard output.
Parameters
peer_domain Specifies the name of a previously-defined peer domain that is to be brought online.
Security
The user of the startrpdomain command needs write permission for the IBM.PeerDomain resource class
on each node that is defined to the peer domain. By default, root on any node in the peer domain has
read and write access to this resource class through the configuration resource manager.
Exit Status
0 The command ran successfully.
1 An error occurred with RMC.
2 An error occurred with a command-line interface script.
3 An incorrect flag was entered on the command line.
4 An incorrect parameter was entered on the command line.
5 An error occurred that was based on incorrect command-line input.
6 The peer domain definition does not exist.
Restrictions
This command must be run from a node that is defined to the peer domain.
Implementation Specifics
This command is part of the Reliable Scalable Cluster Technology (RSCT) fileset for AIX.
Standard Input
When the -F ″-″ flag is specified, this command reads one or more node names from standard input.
Standard Output
When the -h flag is specified, this command’s usage statement is written to standard output. All verbose
messages are written to standard output.
Standard Error
All trace messages are written to standard error.
Examples
In these examples, nodeA is one of the nodes defined to ApplDomain.
1. To bring ApplDomain online, run this command on nodeA:
startrpdomain ApplDomain
2. To bring ApplDomain online using all of the nodes in the peer domain to obtain the latest version of
the peer domain configuration information, run this command on nodeA:
startrpdomain -A ApplDomain
3. To bring ApplDomain online using a peer domain configuration timeout value of 240 seconds (to make
sure that at least half of the nodes in the peer domain are used), run this command on nodeA:
startrpdomain -t 240 ApplDomain
Location
/usr/sbin/rsct/bin/startrpdomain
Related Information
Books: RSCT: Administration Guide, for information about peer domain operations
startrpnode Command
Purpose
Brings one or more nodes online to a peer domain.
Syntax
startrpnode [−h] [−TV] node_name1 [node_name2 ...]
Description
The startrpnode command brings one or more offline nodes online to a peer domain. The peer domain is
determined by the online peer domain where the command is run. The command must be run from a node
that is online to the desired peer domain.
The node that is being brought online must have already been defined to be in this peer domain using the
addrpnode command or the mkrpdomain command. The node must not be online to any other peer
domain.
Flags
−f | −F { file_name | ″–″ }
Reads a list of node names from file_name. Each line of the file is scanned for one node name.
The pound sign (#) indicates that the remainder of the line (or the entire line if the # is in column
1) is a comment.
Use -f ″-″ or -F ″-″ to specify STDIN as the input file.
-h Writes the command’s usage statement to standard output.
-T Writes the command’s trace messages to standard error. For your software service organization’s
use only.
-V Writes the command’s verbose messages to standard output.
Parameters
node_name1 [node_name2 ...]
Specifies the peer domain node names of the nodes to be brought online
to the peer domain. You can bring one or more nodes online using the
startrpnode command. You must specify the node names in exactly the
same format as they were specified with the addrpnode command or the
mkrpdomain command. To list the peer domain node names, run the
lsrpnode command.
Security
The user of the startrpnode command needs write permission for the IBM.PeerNode resource class on
each node that is to be started in the peer domain. By default, root on any node in the peer domain has
read and write access to this resource class through the configuration resource manager.
Exit Status
0 The command ran successfully.
Environment Variables
CT_CONTACT
Determines the system where the session with the resource monitoring and control (RMC)
daemon occurs. When CT_CONTACT is set to a host name or IP address, the command contacts
the RMC daemon on the specified host. If CT_CONTACT is not set, the command contacts the
RMC daemon on the local system where the command is being run. The target of the RMC
daemon session and the management scope determine the resource classes or resources that are
processed.
CT_IP_AUTHENT
When the CT_IP_AUTHENT environment variable exists, the RMC daemon uses IP-based
network authentication to contact the RMC daemon on the system that is specified by the IP
address to which the CT_CONTACT environment variable is set. CT_IP_AUTHENT only has
meaning if CT_CONTACT is set to an IP address; it does not rely on the domain name system
(DNS) service.
Restrictions
This command must be run from a node that is online to the peer domain. The node that is to be brought
online must be offline to the peer domain, must not be online to any other peer domain, and must be
reachable from where the command is run.
Implementation Specifics
This command is part of the Reliable Scalable Cluster Technology (RSCT) fileset for AIX.
Standard Input
When the -f ″-″ or -F ″-″ flag is specified, this command reads one or more node names from standard
input.
Standard Output
When the -h flag is specified, this command’s usage statement is written to standard output. All verbose
messages are written to standard output.
Standard Error
All trace messages are written to standard error.
Examples
In this example, nodeA is defined and online to ApplDomain, nodeB is reachable from nodeA, and
nodeB is not online to ApplDomain or any other peer domain. To bring nodeB online to ApplDomain,
run this command from nodeA:
startrpnode nodeB
Location
/usr/sbin/rsct/bin/startrpnode
startsrc Command
Purpose
Starts a subsystem, a group of subsystems, or a subserver.
Syntax
To Start a Subsystem
startsrc [ -a Argument] [ -e Environment] [ -h Host] { -s Subsystem | -g Group}
To Start a Subserver
startsrc [ -h Host] -t Type [ -o Object] [ -p SubsystemPID]
Description
The startsrc command sends the System Resource Controller (SRC) a request to start a subsystem or a
group of subsystems, or to pass on a packet to the subsystem that starts a subserver.
If a start subserver request is passed to the SRC and the subsystem to which the subserver belongs is not
currently active, the SRC starts the subsystem and transmits the start subserver request to the subsystem.
Flags
-a Argument Specifies an argument string that is passed to the subsystem when the subsystem is
executed. This string is passed from the command line and appended to the command
line arguments from the subsystem object class. The Argument string specified is a
maximum of 1200 characters or the command is unsuccessful. The command argument
is passed by the SRC to the subsystem, according to the same rules used by the shell.
Quoted strings are passed as a single argument, and blanks outside a quoted string
delimit an argument. Single and double quotes can be used.
-e Environment Specifies an environment string that is placed in the subsystem environment when the
subsystem is executed. The Environment string specified is a maximum of 1200
characters, or the command is unsuccessful. Using the same rules that are used by the
shell, the SRC sets up the environment for the subsystem.
Quoted strings are assigned to a single environment variable and blanks outside quoted
strings delimit each environment variable to be set. For example: -e ″HOME=/tmp
TERM=dumb MESSAGE=\″Multiple word message\″″would set HOME=/tmp as the first,
TERM=dumb as the second, and MESSAGE=″Multiple word message″ as the third
environment variable for the subsystem.
-g Group Specifies a group of subsystems to be started. The command is unsuccessful if the
Group name is not contained in the subsystem object class.
-h Host Specifies the foreign host on which this start action is requested. The local user must
be running as ″root″. The remote system must be configured to accept remote System
Resource Controller requests. That is, the srcmstr daemon (see /etc/inittab) must be
started with the -r flag and the /etc/hosts.equiv or .rhosts file must be configured to
allow remote requests.
-o Object Specifies that a subserver object is to be passed to the subsystem as a character
string. It is the subsystems responsibility to determine the validity of the Object string.
Examples
1. To start a subsystem with arguments and environment variables, enter:
This starts the srctest subsystem with ″TERM=dumb″, ″HOME=/tmp″ in its environment and ″-D DEBUG″ as
two arguments to the subsystem.
2. To start a subsystem group on a foreign host, enter:
This starts all the subsystems in the subsystem tcpip group on the zork machine.
3. To start a subserver, enter:
startsrc -t tester
This sends a start subserver request to the subsystem that owns the tester subsystem.
4. To start a subsystem with command arguments, enter:
This places ″-a″ as the first argument, ″123″ as the second, ″-b″ as the third, and″456″ as the fourth
argument to the srctest subsystem.
Files
/etc/objrepos/SRCsubsys Specifies the SRC Subsystem Configuration Object Class.
/etc/objrepos/SRCsubsvr Specifies the SRC Subserver Configuration Object Class.
/etc/services Defines the sockets and protocols used for Internet services.
/dev/SRC Specifies the AF_UNIX socket file.
/dev/.SRC-unix Specifies the location for temporary socket files.
Related Information
The stopsrc command, the refresh command.
The System resource controller in Operating system and device management gives an explanation of
subsystems, subservers, and the System Resource Controller.
startup Command
Purpose
Turns on accounting functions at system startup.
Description
The startup command turns on the accounting functions when the system is started, if called by the
/etc/rc command file. See the startup example for the command to add to the /etc/rc file.
Security
Access Control: This command should grant execute (x) access only to members of the adm group.
Examples
To turn on the accounting functions when the system is started, add the following to the /etc/rc file:
/usr/bin/su - adm -c /usr/sbin/acct/startup
The startup shell procedure will then record the time and clean up the previous day’s records.
Files
/usr/sbin/acct The path to the accounting commands.
Related Information
The shutacct command, turnacct command.
For more information about the Accounting System, the preparation of daily and monthly reports, and the
accounting files, see the System accounting in Operating system and device management.
Setting up an accounting subsystem in Operating system and device management explains the steps you
must take to establish an accounting system.
startvsd Command
Purpose
startvsd – Makes a virtual shared disk available and activates it.
Syntax
startvsd [−p | −b] {−a | vsd_name ...}
Description
The startvsd command makes the specified virtual shared disks available and activates them. It is
equivalent to running the preparevsd command followed by the resumevsd command on the specified
virtual shared disk.
You can use the System Management Interface Tool (SMIT) to run this command. To use SMIT, enter:
smit vsd_mgmt
Under normal circumstances, you should not issue this command. The Recoverable virtual shared disk
subsystem uses this command to manage shared disks in a controlled manner. If you issue this command,
the results may be unpredictable.
Parameters
vsd_name Specifies a virtual shared disk.
Security
You must have root authority to run this command.
Exit Status
0 Indicates the successful completion of the command.
nonzero Indicates that an error occurred.
Restrictions
You must issue this command from a node that is online in the peer domain. To bring a peer domain
online, use the startrpdomain command. To bring a particular node online in an existing peer domain, use
the startrpnode command. For more information on creating and administering an RSCT peer domain,
refer to the RSCT: Administration Guide.
Under normal circumstances, you should not issue this command. The Recoverable virtual shared disk
subsystem uses this command to manage shared disks in a controlled manner. If you issue this command,
the results may be unpredictable.
Standard Output
Current RVSD subsystem run level.
Examples
To make available and activate the virtual shared disk vsd1vg1n1, enter:
startvsd vsd1vg1n1
Location
/opt/rsct/vsd/bin/startvsd
Related Information
Commands: cfgvsd, lsvsd, preparevsd, resumevsd, stopvsd, suspendvsd, ucfgvsd
startx Command
Purpose
Initializes an X session.
Description
The startx command streamlines the process of starting an X session.
The startx command redirects X server and X client error messages to the file specified by the user’s
XERRORS environment variable. This process is useful for debugging and gives the X server a clean
startup and shutdown appearance on a workstation.
If a startup script file name is not given at the command line with the -x option, then the startx command
searches for a file specified by the user’s XINITRC environment variable. If the XINITRC environment
variable is not set, then the startx command searches the user’s home directory for a file called .Xinit,
.xinit, .Xinitrc, .xinitrc, or .xsession, respectively, to begin the X client programs.
If a startup file is not found, the startx command runs the Window Manager indicated at the command line
with the -m option, or invokes the window manager mwm, twm, awm, or uwm after finding the associated
configuration file (.mwmrc, .twmrc , .awmrc, or .uwmrc, respectively). If a window manager configuration
file is not found in the user’s home directory, startx initiates an Xterm client and the mwm window
manager.
When a startup file is not found, the startx command also instructs the loading of the resources file given
at the command line with the -r option, or a file from the user’s home directory called .Xdefaults,
.xdefaults, .Xresources, or .xresources, respectively. If an X resources file is not found, then the X
session will not be personalized.
If a startup file exists for a workstation and no resources are loaded by the user, then the xinit command
within the startx command attempts to load an .Xdefaults file.
The use of a workstation is assumed when the X session is initiated from /dev/lft*. If this is not the case,
then the -t or -w option must be used.
Flags
-d Display:0 Specifies the display name of the X server to pass to the X clients during the
process for startup.
-m Window_Manager Starts the Window Manager when no startup script is found.
-r Resources Loads the resources file when no startup script is found.
-t Starts X clients for an X terminal.
-w Starts the X server and X clients for an X window session on a workstation.
-wait Prevents the X session from being restarted when the xdm command invokes
startx.
-x Startup Starts an X window session using the startup script.
Note: You can use one or both of the -m and -r options, or the -x option, but you cannot use the -x
option with the -m and -r options. In the startup script, it is the responsibility of the user to start a
window manager session, load X resources, and spawn X clients.
For a workstation, the last line in the startup script should be a foreground aixterm command with the -C
option for console messages.
For an X terminal, the last line in the startup script should be a foreground aixterm command without the
-C option. In addition, because some X terminals do not terminate the telnet session upon closing, the
user must exit the current telnet session before using hot keys to switch to the X session.
Also, the startx command can be used by the xdm command in the /usr/lib/X11/xdm/Xsession file. This
provides the xdm command with the features of the startx command.
Files
The following file names have been historically used for the startup of an X session.
$HOME/.xerrors Where startx is to redirect error messages. By default, startx redirects errors to the
.xerrors file in user’s home directory.
$HOME/.Xinit,
$HOME/.xinit,
$HOME/.Xinitrc,
$HOME/.xinitrc,
$HOME/.xsession Used as a Startup file containing shell commands to start a window manager, load
X resources, and spawn X clients.
$HOME/.Xdefaults,
$HOME/.xresources Used as an X resources file loaded to set user preferences for X clients.
$HOME/.mwmrc An mwm configuration file.
$HOME/.twmrc A twm configuration file.
$HOME/.awmrc An awm configuration file.
$HOME/.uwmrc A uwm configuration file.
/dev/lft* The terminal, or tty, interface of a workstation’s initial login shell.
statd Daemon
Purpose
Provides crash and recovery functions for the locking services on NFS.
Syntax
/usr/sbin/rpc.statd [-t threads]
Description
The statd daemon interacts with the lockd daemon to provide crash and recovery functions for the locking
services on Network File System (NFS). The statd daemon should always be started before the lockd
daemon.
The statd daemon is started and stopped by the following SRC commands:
startsrc -s rpc.statd
stopsrc -s rpc.statd
The status monitor maintains information on the location of connections as well as the status in the
/var/statmon/sm directory, the /var/statmon/sm.bak directory, and the /var/statmon/state file. When
restarted, the statd daemon queries these files and tries to reestablish the connection it had prior to
termination. To restart the statd daemon, and subsequently the lockd daemon, without prior knowledge of
existing locks or status, delete these files before restarting the statd daemon.
Flags
-t threads Specifies the maximum number of rpc.statd threads allowed. The Default value is 50.
Related Information
The lockd daemon.
statvsd Command
Purpose
Displays virtual shared disk device driver statistics of a node.
Syntax
statvsd
Description
The statvsd command displays virtual shared disk statistics of a node. For example, on a busy server an
increasing number of ″requests queued waiting for a buddy buffer″ is normal and does not necessarily
Flags
None.
Parameters
None.
Security
You must be in the AIX bin group to run this command.
Exit Status
0 Indicates the successful completion of the command.
nonzero Indicates that an error occurred.
Restrictions
You must issue this command from a node that is online in the peer domain. To bring a peer domain
online, use the startrpdomain command. To bring a particular node online in an existing peer domain, use
the startrpnode command. For more information on creating and administering an RSCT peer domain,
refer to the RSCT: Administration Guide.
Standard Output
Current RVSD subsystem run level.
Examples
The following examples display virtual shared disk device driver statistics.
1. The header line indicates the version and release of the code. For example:
VSD driver (vsdd): IP/SMP Version:4 Release:1
2. The level of virtual shared disk parallelism defaults to 9 and is the buf_cnt parameter on the uphysio
call that the device driver makes in the kernel. For example:
9 vsd parallelism
3. The maximum IP message size in bytes. For example:
61440 vsd max IP message size
4. The number of requests that had to wait for a request block. For example:
61440 vsd max IP message size
5. The number of requests that had to wait for a pbuf (a buffer used for the actual physical I/O request
submitted to the disk). For example:
0 requests queued waiting for a pbuf
6. The number of requests that had to wait for a buddy buffer. A buffer that is used on a server to
temporarily store date for I/O operations originating at a client node. For example:
2689 requests queued waiting for a buddy buffer
7. The number of requests queued for a buddy buffer when the statvsd command was issued. For
example:
0 average buddy buffer wait_queue size
8. The number of requests that a server has rejected, typically because of an out-of-range sequence
number or an internal problem. For example:
0 total retries
15. Sequence numbers are internally used by the device driver. These numbers are managed by the
device driver and the Recoverable virtual shared disk subsystem. For example:
Non-zero Sequence Numbers
Location
/opt/rsct/vsd/bin/statvsd
Related Information
Commands: ctlvsd, vsdnode
Refer to RSCT: Managing Shared Disks for information on tuning virtual shared disk performance.
stopcondresp Command
Purpose
Stops the monitoring of a condition that has one or more linked responses.
Syntax
To stop monitoring a condition:
If a particular condition/response association is needed for system software to work properly, it may be
locked. A locked condition/response association cannot be stopped by the stopcondresp command. If the
condition/response link you specify on the stopcondresp command is locked, it will not be stopped;
instead an error will be generated informing you that the condition/response association is locked. To
unlock a condition/response association, you can use the -U flag. A condition/response association is
typically locked because it is essential for system software to work properly, so you should exercise
caution before unlocking it.
Flags
−q Does not return an error when either condition or response does not exist or when the condition
linked with response is not being monitored.
−h Writes the command’s usage statement to standard output.
−T Writes the command’s trace messages to standard error. For your software service organization’s
use only.
−V Writes the command’s verbose messages to standard output.
−U Unlocks a condition/response association so it can be started, stopped, or removed. If a
condition/response association is locked, this is typically because it is essential for system
software to work properly. For this reason, you should exercise caution before unlocking it. When
unlocking a condition/response association using the -U flag, no other operation can be performed
by this command.
−L Locks a condition/response association so it cannot be started, stopped, or removed. When
locking a condition/response association using the -L flag, no other operation can be performed by
this command.
Parameters
condition Specifies the name of the condition linked to the response. The condition is always
specified first.
node_name Specifies the node in the domain where the condition is defined. If node_name is not
specified, the local node is used. node_name is a node within the scope determined by
the CT_MANAGEMENT_SCOPE environment variable.
response Specifies the names of one or more responses. Monitoring is stopped for the specified
responses. (If a specified response is not linked to the condition, it is ignored.)
Security
The user needs write permission for the IBM.Association resource class to run stopcondresp.
Permissions are specified in the access control list (ACL) file on the contacted system. See the RSCT:
Administration Guide for details on the ACL file and how to modify it.
Exit Status
0 The command ran successfully.
1 An error occurred with RMC.
Environment Variables
CT_CONTACT
Determines the system where the session with the resource monitoring and control (RMC)
daemon occurs. When CT_CONTACT is set to a host name or IP address, the command contacts
the RMC daemon on the specified host. If CT_CONTACT is not set, the command contacts the
RMC daemon on the local system where the command is being run. The target of the RMC
daemon session and the management scope determine the resource classes or resources that are
processed.
CT_IP_AUTHENT
When the CT_IP_AUTHENT environment variable exists, the RMC daemon uses IP-based
network authentication to contact the RMC daemon on the system that is specified by the IP
address to which the CT_CONTACT environment variable is set. CT_IP_AUTHENT only has
meaning if CT_CONTACT is set to an IP address; it does not rely on the domain name system
(DNS) service.
CT_MANAGEMENT_SCOPE
Determines the management scope that is used for the session with the RMC daemon in
processing the resources of the event-response resource manager (ERRM). The management
scope determines the set of possible target nodes where the resources can be processed. The
valid values are:
0 Specifies local scope.
1 Specifies local scope.
2 Specifies peer domain scope.
3 Specifies management domain scope.
If this environment variable is not set, local scope is used.
Implementation Specifics
This command is part of the Reliable Scalable Cluster Technology (RSCT) fileset for AIX.
Standard Output
When the -h flag is specified, this command’s usage statement is written to standard output. All verbose
messages are written to standard output.
Standard Error
All trace messages are written to standard error.
Examples
These examples apply to standalone systems:
1. To stop monitoring for the condition ″FileSystem space used ″ which has the response ″Broadcast
event on-shift″ linked with it, run this command:
stopcondresp "FileSystem space used" "Broadcast event on-shift"
2. To stop monitoring for the condition ″FileSystem space used ″ using all of its linked responses, run this
command:
Location
/usr/sbin/rsct/bin/stopcondresp
Related Information
Books: RSCT: Administration Guide, for more information about ERRM operations
stoprpdomain Command
Purpose
Takes an online peer domain offline.
Syntax
stoprpdomain [−f] [−h] [−TV] peer_domain
Description
The stoprpdomain command takes all of the nodes that are currently online in the peer domain offline.
The peer domain definition is not removed from the nodes.
The command must be run on a node that is online in the peer domain. If the command is run on a node
that is offline to the peer domain, no action is performed.
The -f flag must be used to override a subsystems rejection of the request to take the peer domain offline.
A subsystem may reject the request if a peer domain resource is busy, such as in the case of a shared
disk. Specifying the -f flag in this situation indicates to the subsystems that the peer domain must be
brought offline regardless of the resource state.
Flags
-f Forces the subsystems to accept the stop request when it otherwise would not.
-h Writes the command’s usage statement to standard output.
-T Writes the command’s trace messages to standard error. For your software service organization’s
use only.
-V Writes the command’s verbose messages to standard output.
Security
The user of the stoprpdomain command needs write permission for the IBM.PeerDomain resource class
on each node that is defined to the peer domain. By default, root on any node in the peer domain has
read and write access to this resource class through the configuration resource manager.
Exit Status
0 The command ran successfully.
1 An error occurred with RMC.
2 An error occurred with a command-line interface script.
3 An incorrect flag was entered on the command line.
4 An incorrect parameter was entered on the command line.
5 An error occurred that was based on incorrect command-line input.
6 The peer domain definition does not exist.
Environment Variables
CT_CONTACT
Determines the system where the session with the resource monitoring and control (RMC)
daemon occurs. When CT_CONTACT is set to a host name or IP address, the command contacts
the RMC daemon on the specified host. If CT_CONTACT is not set, the command contacts the
RMC daemon on the local system where the command is being run. The target of the RMC
daemon session and the management scope determine the resource classes or resources that are
processed.
CT_IP_AUTHENT
When the CT_IP_AUTHENT environment variable exists, the RMC daemon uses IP-based
network authentication to contact the RMC daemon on the system that is specified by the IP
address to which the CT_CONTACT environment variable is set. CT_IP_AUTHENT only has
meaning if CT_CONTACT is set to an IP address; it does not rely on the domain name system
(DNS) service.
Restrictions
This command must be run on a node that is online in the peer domain.
Implementation Specifics
This command is part of the Reliable Scalable Cluster Technology (RSCT) fileset for AIX.
Standard Input
When the -f ″-″ or -F ″-″ flag is specified, this command reads one or more node names from standard
input.
Standard Output
When the -h flag is specified, this command’s usage statement is written to standard output. All verbose
messages are written to standard output.
Examples
In these examples, nodeA is one of the nodes defined and is online to ApplDomain.
1. To take ApplDomain offline, run this command on nodeA:
stoprpdomain ApplDomain
2. To take ApplDomain offline while making sure the stop request will not be rejected by any subsystem,
run this command on nodeA:
stoprpdomain -f ApplDomain
Location
/usr/sbin/rsct/bin/stoprpdomain
Related Information
Books: RSCT: Administration Guide, for information about peer domain operations
stoprpnode Command
Purpose
Takes one or more nodes offline from a peer domain.
Syntax
stoprpnode [−f] [−h] [−TV] node_name1 [node_name2...]
Description
The stoprpnode command takes an online node offline from a peer domain. The peer domain is
determined by the online peer domain where the command is run. The command must be run from a node
that is online to the desired peer domain.
The -f flag must be used to override a subsystem’s rejection of the request to take a node offline. A
subsystem may reject the request if a node resource is busy, such as in the case of a shared disk.
Specifying the -f flag in this situation indicates to the subsystems that the node must be brought offline
regardless of the resource state.
If this command is used to take more than one node offline by specifying more than one node_name
parameter, and the node that this command is running on is in the list, it will be brought offline last.
Flags
-f Forces the subsystems to accept the stop request when it otherwise would not.
Parameters
node_name1 [node_name2...] Specifies the peer domain node names of the nodes that are to be
brought offline from the peer domain. You must specify the node names in
exactly the same format as they were specified with the addrpnode
command or the mkrpdomain command. To list the peer domain node
names, run the lsrpnode command.
Security
The user of the stoprpnode command needs write permission for the IBM.PeerNode resource class on
each node that is to be stopped in the peer domain. By default, root on any node in the peer domain has
read and write access to this resource class through the configuration resource manager.
Exit Status
0 The command ran successfully.
1 An error occurred with RMC.
2 An error occurred with a command-line interface script.
3 An incorrect flag was entered on the command line.
4 An incorrect parameter was entered on the command line.
5 An error occurred that was based on incorrect command-line input.
Environment Variables
CT_CONTACT
Determines the system where the session with the resource monitoring and control (RMC)
daemon occurs. When CT_CONTACT is set to a host name or IP address, the command contacts
the RMC daemon on the specified host. If CT_CONTACT is not set, the command contacts the
RMC daemon on the local system where the command is being run. The target of the RMC
daemon session and the management scope determine the resource classes or resources that are
processed.
CT_IP_AUTHENT
When the CT_IP_AUTHENT environment variable exists, the RMC daemon uses IP-based
network authentication to contact the RMC daemon on the system that is specified by the IP
address to which the CT_CONTACT environment variable is set. CT_IP_AUTHENT only has
meaning if CT_CONTACT is set to an IP address; it does not rely on the domain name system
(DNS) service.
Implementation Specifics
This command is part of the Reliable Scalable Cluster Technology (RSCT) fileset for AIX.
Standard Input
When the -F ″-″ flag is specified, this command reads one or more node names from standard input.
Standard Output
When the -h flag is specified, this command’s usage statement is written to standard output. All verbose
messages are written to standard output.
Standard Error
All trace messages are written to standard error.
Examples
In these examples, nodeA and nodeB are online to ApplDomain.
1. To take nodeB offline, run this command on nodeA:
stoprpnode nodeB
2. To take nodeB offline and force the offline request, run this command on nodeA:
stoprpnode -f nodeB
Location
/usr/sbin/rsct/bin/stoprpnode
Related Information
Books: RSCT: Administration Guide, for information about peer domain operations
stopsrc Command
Purpose
Stops a subsystem, a group of subsystems, or a subserver.
Syntax
To Stop a Subsystem
stopsrc [ -h Host] [ -f | -c] { -a | -g Group | -p SubsystemPID | -s Subsystem }
To Stop a Subserver
stopsrc [ -h Host] [ -f] -t Type [ -p SubsystemPID] [ -P SubserverPID | -o Object]
In the absence of the -f (stop force) flag, a normal stop action is assumed. A normal stop requests that a
subsystem or subserver complete all current processing, release resources when all application activity
has been completed, and then end. No new requests for work should be accepted by the subsystem.
A forced stop requests that a subsystem or subserver end quickly, releasing all resources, but not wait for
application activity to complete.
A cancel action stops the subsystem after the subsystem’s resources are released and after a grace
period. This grace period is specified in the subsystem object class. The cancel stop is used only for
subsystem stops and is always sent to the subsystem as the SIGTERM signal. The subsystem should
catch this signal, perform subsystem clean up operations, and end. If the subsystem does not end within
the wait time period, specified in the subsystem object class, the subsystem is sent a SIGKILL signal to
ensure that the subsystem stops.
If the subsystem uses sockets or message queues for communication, a packet is constructed and sent to
the subsystem. If the subsystem uses signals for communication, the subsystem is sent the appropriate
signal from the subsystem object class.
Flags
-a Specifies that all subsystems are to be stopped.
-c Specifies that the stop request is a canceled stop request. For a cancel stop request, a
SIGTERM signal is sent to the subsystem. After the wait time contained in the
subsystem object class has passed, if the subsystem has not yet ended, the subsystem
is sent a SIGKILL signal.
-f Specifies a forced stop request.
-g Group Specifies that a group of subservers is to be stopped. The command is unsuccessful if
the Group name is not contained in the subsystem object class.
-h Host Specifies the foreign Host machine on which this stop action is requested. The local
user must be running as ″root″. The remote system must be configured to accept
remote System Resource Controller requests. That is, the srcmstr daemon (see
/etc/inittab) must be started with the -r flag and the /etc/hosts.equiv or .rhosts file
must be configured to allow remote requests.
-o Object Specifies that a subserver Object value is to be passed to the subsystem as a
character string.
-p SubsystemPID Specifies a particular instance of the subsystem to stop, or a particular instance of the
subsystem to which the stop subserver request is to be passed.
-P SubserverPID Specifies that a subserver PID is to be passed to the subsystem as a character string.
-s Subsystem Specifies a subsystem to be stopped. The Subsystem parameter can be the actual
subsystem name or the synonym name for the subsystem. The stopsrc command
stops all currently active instances of the subsystem. The command is unsuccessful if
the Subsystem name is not contained in the subsystem object class.
-t Type Specifies that a subserver is to be stopped. The stopsrc command is unsuccessful if
the Type specified is not contained in the subserver object class.
Examples
1. To stop force a subsystem on a foreign host, enter:
stopsrc -g tcpip -c
This activates a stop cancel on all the subsystems in the tcpip group.
3. To stop a subserver, enter:
This stops the tester subserver that belongs to the srctest subsystem with a subsystem PID of 1234.
4. To stop all subsystems, enter:
stopsrc -a
Files
/etc/objrepos/SRCsubsys Specifies the SRC Subsystem Configuration Object Class.
/etc/objrepos/SRCsubsvr Specifies the SRC Subserver Configuration Object Class.
/etc/services Defines the sockets and protocols used for Internet services.
/dev/SRC Specifies the AF_UNIX socket file.
/dev/.SRC-unix Specifies the location for temporary socket files.
Related Information
The startsrc command, the refresh command.
The System resource controller in Operating system and device management gives an explanation of
subsystems, subservers, and the System Resource Controller.
stopvsd Command
Purpose
stopvsd – Makes a virtual shared disk unavailable.
Syntax
stopvsd {−a | vsd_name ...}
Description
The stopvsd command brings the specified virtual shared disks from the suspended state to the stopped
state. This makes the virtual shared disks unavailable. All applications that have outstanding requests for
the virtual shared disk see these requests terminate with error. Read and write requests return errors with
errno set to ENODEV. If the virtual shared disk is in the stopped state, this command leaves it in the
stopped state.
You can use the System Management Interface Tool (SMIT) to run this command. To use SMIT, enter:
smit vsd_mgmt
Flags
−a Specifies that all virtual shared disks in the suspended state are to be stopped.
Parameters
vsd_name Specifies a virtual shared disk. If the virtual shared disk is not is the suspended state, you
get an error message.
Security
You must have root authority to run this command.
Exit Status
0 Indicates the successful completion of the command.
nonzero Indicates that an error occurred.
Restrictions
You must issue this command from a node that is online in the peer domain. To bring a peer domain
online, use the startrpdomain command. To bring a particular node online in an existing peer domain, use
the startrpnode command. For more information on creating and administering an RSCT peer domain,
refer to the RSCT: Administration Guide.
Under normal circumstances, you should not issue this command. The Recoverable virtual shared disk
subsystem uses this command to manage shared disks in a controlled manner. If you issue this command,
the results may be unpredictable.
Standard Output
Current RVSD subsystem run level.
Examples
To bring the virtual shared disk vsd1vg1n1 from the suspended state to the stopped state, enter:
stopvsd vsd1vg1n1
Location
/opt/rsct/vsd/bin/stopvsd
Related Information
Commands: cfgvsd, lsvsd, preparevsd, resumevsd, startvsd, suspendvsd, ucfgvsd
stpinet Method
Purpose
Disables the inet instance.
Syntax
stpinet [ -l ″Interface ...″ ] [ -t Time ]
Flags
-l ″Interface ...″ Specifies the name of the interface to be disabled.
-t Time Specifies the time in minutes until the inet instance is stopped.
Examples
The following example disables the inet instance tr0 five minutes from the time the method is executed:
stpinet -l "tr0" -t 5
Related Information
The ifconfig command, rmdev command, wall command.
Writing a Device Method in AIX 5L Version 5.3 Kernel Extensions and Device Support Programming
Concepts.
Object Data Manager (ODM) Overview for Programmers in AIX 5L Version 5.3 General Programming
Concepts: Writing and Debugging Programs.
strace Command
Purpose
Prints STREAMS trace messages.
Syntax
strace [ mid sid level ] ...
Description
The strace command without parameters writes all STREAMS event trace messages from all drivers and
modules to its standard output. These messages are obtained from the STREAMS log driver. If
parameters are provided, they must be in triplets. Each triplet indicates that tracing messages are to be
received from the given module or driver, subID (usually indicating minor device), and priority level equal
to or less than the given level. The all token may be used for any member to indicate no restriction for
that attribute.
Parameters
mid Specifies a STREAMS module ID number.
sid Specifies a subID number.
level Specifies a tracing priority level.
Once initiated, the strace command continues to execute until terminated by the user.
Note: Due to performance considerations, only one strace command is permitted to open the
STREAMS log driver at a time. The log driver has a list of the triplets specified in the command
invocation, and compares each potential trace message against this list to decide if it should be
formatted and sent up to the strace process. Hence, long lists of triplets have a greater impact on
overall STREAMS performance. Running the strace command has the most impact on the timing of
the modules and drivers generating the trace messages that are sent to the strace process. If trace
messages are generated faster than the strace process can handle them, some of the messages will
be lost. This last case can be determined by examining the sequence numbers on the trace
messages output.
Examples
1. To output all trace messages from the module or driver whose module ID is 41, enter:
strace 41 all all
2. To output those trace messages from driver or module ID 41 with sub-IDs 0, 1, or 2:
strace 41 0 1 41 1 1 41 2 0
Messages from sub-IDs 0 and 1 must have a tracing level less than or equal to 1. Those from sub-ID 2
must have a tracing level of 0.
Related Information
List of Streams Commands, STREAMS Overview, Understanding the log Device Driver in AIX 5L Version
5.3 Communications Programming Concepts.
strchg Command
Purpose
Changes stream configuration.
Description
The strchg command is used to alter the configuration of the stream associated with the user’s standard
input. The strchg command pushes modules on the stream, pops modules off of the stream, or both. Only
the root user or owner of a STREAMS device can alter the configuration of that stream. If another user
attempts to alter the configuration, the strchg command will not succeed.
Note: If modules are pushed in the wrong order, the stream might not function as expected.
Flags
-a Pops all modules above the topmost driver off of a stream. The -p flag must be used in front of
the -a flag.
-f File Pushes and pops the necessary modules to conform the stream to the configuration given in the
specified file.
Parameters
Module1 Specifies the module to be pushed onto a stream. (Used by the -h flag.)
Module Specifies the topmost module to remain on a stream. All modules above this module are popped off of
the stream. (Used by the -u flag.)
File Contains a list of modules representing the desired configuration of the stream. Each module name
must appear on a separate line, where the first name represents the topmost module and the last
name represents the module that is closest to the driver.
Return Values
On successful completion, the strchg command returns a value of 0. Otherwise, it returns a nonzero value
and prints an error message indicating usage error, a bad module name, too many modules to push,
failure of an ioctl operation on the stream, or failure to open the file specified by the File parameter.
Examples
1. To push the ldterm module on the stream, enter:
strchg -h ldterm
The user must be the owner of this device or the root user.
3. If the fileconf file contains the following:
compat
ldterm
ptem
the following command configures the stream so that the ptem module is pushed over the driver,
followed by the ldterm module, and the compat module is pushed closest to the stream head.
strchg -f fileconf
Related Information
The strconf command.
List of Streams Commands, STREAMS Overview in AIX 5L Version 5.3 Communications Programming
Concepts.
The streamio operations in AIX 5L Version 5.3 Technical Reference: Communications Volume 2.
strclean Command
Purpose
Cleans up the STREAMS error logger.
Syntax
strclean [ -d ] [ -a Age ]
Description
The strclean command is used to clean up the STREAMS error-logger directory on a regular basis: for
example, by using the cron daemon. By default, all files with names matching error.* in the
/var/adm/streams directory that have not been modified in the last three days are removed.
Note: The strclean command is typically run using the cron deamon on a daily or weekly basis.
Flags
-a Age Specifies the maximum age, in days, for a log file.
-d Specifies a directory other than the default directory.
Examples
The following example has the same result as running the strclean command with no parameters.
strclean -d /var/adm/streams -a 3
Files
/var/adm/streams/error.* Contains the STREAMS error log.
List of Streams Commands, STREAMS Overview in AIX 5L Version 5.3 Communications Programming
Concepts.
strconf Command
Purpose
Queries stream configuration.
Syntax
strconf [ -t | -m module ]
Description
The strconf command is used to query the configuration of a stream. When used without any flags, it
prints a list of all the modules in the stream as well as the topmost driver. The list is printed with one name
per line, where the first name printed is the topmost module on the stream and the last item printed is the
name of the driver.
Flags
-m Module Determines if the specified module is present on the stream. If the module is present, the strconf
command prints the message yes and returns a value of 0. If it is not present, the strconf
command prints the message no and returns a nonzero value.
Parameter
Module Specifies the module for which to look.
Examples
1. For a stream that has only the ldterm module pushed above the ports driver, the strconf command
(with no flags) would produce the following output:
ldterm
ports
2. Entering the following command asks if the ldterm module is on the stream:
strconf -m ldterm
The command produces the following output while returning an exit status of 0:
yes
Related Information
The strchg command.
The streamio operations in AIX 5L Version 5.3 Technical Reference: Communications Volume 1.
strerr Daemon
Purpose
Receives error log messages from the STREAMS log driver.
Syntax
strerr
Description
The strerr daemon receives error log messages from the STREAMS log driver and appends them to a log
file. The error log files produced reside in the directory /var/adm/streams, and are named error.mm-dd,
where mm is the month and dd is the day of the messages contained in each log file.
Messages that appear in the error log are intended to report exceptional conditions that require the
attention of the person who administers your system. Those messages indicating the total failure of a
STREAMS driver or module should have the F flag set. Those messages requiring the immediate attention
of the administrator should have the N flag set, which causes the error logger to send the message to that
person by way of the mail command. The priority level usually has no meaning in the error log, but does
have meaning if the message is also sent to a tracer process.
Once initiated, the strerr daemon continues to execute until terminated by the user. Usually, the strerr
daemon is executed asynchronously.
Note: Only one strerr daemon at a time is permitted to open the STREAMS log driver. If a module
or driver is generating a large number of error messages, running the error logger causes a
degradation in STREAMS performance. If a large number of messages are generated in a short time,
the log driver may not be able to deliver some of the messages. This situation is indicated by gaps in
the sequence numbering of the messages in the log files.
Related Information
List of Streams Commands, STREAMS Overview, Understanding the log Device Driver in AIX 5L Version
5.3 Communications Programming Concepts.
strinfo Command
Purpose
Displays administrative information about STREAMS activity.
Syntax
strinfo -m | -q
Description
The strinfo command displays information for debugging purposes about STREAMS, drivers and
modules, or stream heads and the STREAMS run queue.
Flags
-m Displays information on drivers and modules present in STREAMS.
-q Displays informations on active stream heads, and on the run queue which holds the STREAMS module and
driver service procedures.
Examples
1. To display information about STREAMS drivers and modules in use, enter:
strinfo -m
In this example dcookie indicates the major number, flags indicates the flags configuration, and str is
the STREAMS table address.
2. To display information about active stream heads and the STREAMS run queue, enter:
strinfo -q
Related Information
List of Streams Commands in AIX 5L Version 5.3 Communications Programming Concepts.
strings Command
Purpose
Finds the printable strings in an object or binary file.
Syntax
strings [ -a ] [ - ] [ -o ] [ -t Format ] [ -n Number ] [ -Number ] [ File ... ]
Description
The strings command looks for printable strings in an object or binary file. A string is any sequence of 4
or more printable characters that end with a new-line or a null character. The strings command is useful
for identifying random object files.
Flags
-a or - Searches the entire file, not just the data section, for printable strings. If this flag is omitted, the
strings command only looks in the initialized data space of object files.
-n Number Specifies a minimum string length other than the default of 4 characters. The maximum value of a
string length is 4096. This flag is identical to the -Number flag.
-o Lists each string preceded by its octal offset in the file. This flag is identical to the -t o flag.
-t Format Lists each string preceded by its offset from the start of the file. The format is dependent on the
character used as the Format variable.
d Writes the offset in decimal.
o Writes the offset in octal.
x Writes the offset in hexadecimal.
Note: When the -o and the -t Format flags are defined more than once on a command line,
the last flag specified controls the behavior of the strings command.
-Number Specifies a minimum string length other than the default of 4 characters. The maximum value of a
string length is 4096. This flag is identical to the -n Number flag.
File Binary or object file to be searched.
Exit Status
This command returns the following exit values:
Related Information
The od command.
strip Command
Purpose
Reduces the size of an Extended Common Object File Format (XCOFF) object file by removing
information used by the binder and symbolic debug program.
Syntax
strip [ -V] [ -r [ -l ] | -x [ -l ] | -t | -H | -e | -E ] [ -X {32|64|32_64}] [ — ] File ...
For each object module, the strip command removes information as specified by the supplied options. For
each archive file, the strip command removes the global symbol table from the archive.
You can restore a stripped symbol table to an archive or library file by using the ar -s command.
The strip command with no options removes the line number information, relocation information, symbol
table, the debug section, and the typchk section, and the comment section.
Flags
-e Sets the F_LOADONLY flag in the optional header of the object file. If the object file is placed in an archive,
this flag indicates to the binder (ld command) that symbols in the object file should be ignored when linking
with the archive.
-E Resets (turns off) the F_LOADONLY bit in the optional header of the object file. (See -e flag).
-H Removes the object file header, any optional header, and all section headers.
-r Removes all symbol table information except those entries for external and static symbols. Does not
remove the relocation information. Also removes the debug and typchk sections. This option produces
an object file that can still be used as input to the linkage editor (ld command).
-t Removes most symbol table information but does not remove function symbols or line number
information.
-V Prints the version number of the strip command.
-x Removes the symbol table information but does not remove static or external symbol information. The
-x flag also removes relocation information, therefore linking to the file would not be possible.
-X mode Specifies the type of object file strip should examine. The mode must be one of the following:
32 Processes only 32-bit object files
64 Processes only 64-bit object files
32_64 Processes both 32-bit and 64-bit object files
The default is to process 32-bit object files (ignore 64-bit objects). The mode can also be set with the
OBJECT_MODE environment variable. For example, OBJECT_MODE=64 causes strip to process any
64-bit objects and ignore 32-bit objects. The -X flag overrides the OBJECT_MODE variable.
— (Double hyphen) Interprets all arguments following this flag as file names. This allows you to strip files
whose names start with a hyphen.
Exit Status
This command returns the following exit values:
0 Successful completion.
>0 An error occurred.
Files
/usr/ccs/bin/strip Contains the strip command.
Related Information
The ar command, as command, dump command, ld command, size command.
stripnm Command
Purpose
Displays the symbol information of a specified object file.
Syntax
stripnm [ -x | -d ] [ -s ] [ -z ] File
Description
The stripnm command (when run without the -s flag) prints the symbol table of a specified object file to
standard output. The file specified by the File parameter can be a single object file or an archive library of
object files. If the file specified by the File parameter is an archive, a listing for each object file in the
archive is produced. If the symbol table has been stripped from the object file, the stripnm command
extracts symbol names from the traceback tables (even if the -s flag is not specified) and the loader
section of the object file(s). If the traceback tables do not exist, an error message is displayed.
Each symbol name is preceeded by its address and one character representing the symbol type (similar to
nm output). When used with -z, the output format is the same as it was before AIX 5.2, that is each
symbol name is followed by its address (a series of blanks if the address is undefined) and the type of
class and section type. The address field can be displayed as a decimal (the default value with -z, or when
-d is used) or hexadecimal (the default value without -z, or if the -x flag is used).
Source file names are also collected and reported by the stripnm command. All the symbols following a
source file name line belongs to the same source file, until the next source file name line is encountered.
For stripped files, the source file name is reported as being the object file name.
When run using the -s flag, the stripnm command ignores the symbol table if present and always extracts
routine names from the traceback tables and the loader section of the object file(s).
When no symbol table is present or the -s flag is used, the stripnm command also searches for glue code
and pointer glue information. Both are sequences of instructions found in the text section of the object file.
The glue code for 32 bit applications is composed of the following sequences of instructions:
The loader section entry whose address matches the TOC entry pointed to by xxxx gives the function
name for this sequence of glue code.
The pointer glue code for 32 bit applications is composed of the following sequence:
800b0000 # lwz r0,0(r11)
90410014 # stw r2,20(r1)
7c0903a6 # mtctr r0
804b0004 # lwz r2,4(r11)
816b0008 # lwz r11,8(r11)
4e80xx20 # bctr
Pointer glue exists only in one copy and is always reported as symbol ._prtgl.
The stripnm command searches the Text section from beginning to end for these sequences. If the
command finds a sequence of instructions that matches, it is reported as glue code or pointer glue.
Source file symbols are generated artificially by stripnm for both glue code and pointer glue. For 32 bit
executables, the source file is glink.s for all glue code entries, and ptrgl.s, for the pointer glue. For 64
bit executables, the source files are repectively glink64.s and ptrgl_64.s.
The stripnm command can also be used to search for symbol information in the /unix file. If the /unix file
does not correspond to the currently running kernel, a warning message displays.
Flags
-d Prints symbol address values in decimal format.
Related Information
The strip command.
strload Command
Purpose
Loads and configures Portable Streams Environment (PSE).
Syntax
strload [ -u | -q ] [ -f File ] [ -d List ] [ -m List ]
Description
The strload command enables the system administrator to load and unload drivers and modules and to
query the load status of PSE and its dependents.
By default, the strload command loads PSE according to the /etc/pse.conf file. The -f flag allows the
administrator to use an alternate configuration file. The -d and -m flags are used to specify drivers and
modules that are not present in the configuration files (such as when new drivers are being developed).
The -q flag reports on the system load status (kernel existence) of the referenced drivers and modules.
Configuration File
The configuration file is a flat ASCII, line-oriented database. Comments are introduced by a # (pound
sign), and continue until the end of the line. Blank lines are ignored. The form for each record is:
attributes filename [argument [node [minor ...] ] ]
Fields are separated by spaces, tabs, or both. A - (dash) can be specified as the field value, indicating that
the default value is to be used. The fields are defined as follows:
filename Specifies the object file containing the extension. If the command is issued with a ″/″ (slash) in the
filename of the driver or module to be loaded, unloaded or queried, the strload command uses the
value in the filename field explicitly. If there is no ″/″ in the filename entry, the strload command will
first look for a copy of the driver or module in the current directory. If the driver or module is not in
the current directory, strload will look for the driver or module in the /usr/lib/drivers/pse directory.
The kernel extension loader REQUIRES that the pathnames used be identical in load, unload and queries.
This, coupled with the way the filename is determined by strload, could cause problems. Every byte in the
pathname used by the strload command must EXACTLY match every positionally corresponding byte in
the pathname used by the kernel extension loader because the kernel does a strcmp() on the filename
when looking for matches. If the strload command is issued from a different directory to unload the
module or driver, one of the following will occur:
v If the strload command does not find a copy of the driver or module in the new current directory,
strload will attempt to unload the driver or module in the /usr/lib/drivers/pse directory. However, this
pathname may not be the same as the pathname that the loader has logged for that driver or module. If
the pathname is not the same, the strload command will fail.
v If the strload command finds another copy of the module or driver in the new current directory, then the
pathnames will be the same, and the loader will correctly unload the driver or module that was loaded.
Thus, the strload command succeeds, but the results may not be as the user intended.
For example:
The following scenario (NOT recommended) will cause ″spx″, also known as ″A″, to be unloaded. This is
probably not the desired effect.
mkdir /tmp/foo /tmp/bar
cp /usr/lib/drivers/pse/spx /tmp/foo/A
cp /bin/ls /tmp/bar/A
cd /tmp/foo
strload -d A # The loader knows the path and filename as
# "A" because "A" is found in the current
# directory
cd /tmp/bar
strload -q -d A # Reports "yes" because there is "A" in the
# current directory. Note that the file "A"
# in /tmp/bar is NOT the same file "A" in
# /tmp/foo, but the loader does not care
# because it identifies the file by
# pathname.
strload -u -d A # Unloads spx (also known as "A")!
argument Has no meaning for the strload command. This field is optional. It is passed to the extension when
its configuration routine is called. Its interpretation is specific to that extension. The default argument
is the value of the filename field.
node Specifies the name of the node to create. This field is optional. It applies only to drivers and is used
as the created node name when the driver is loaded. By default, the created node is /dev/filename.
minor Specifies additional, non clone nodes to create for this driver. This field is optional. The node names
are created by appending the minor number to the cloned driver node name. No more than five
minor numbers can be given (from 0 to 4), and a node is created for each one.
The -d and -m flags cause the configuration file to be ignored, unless it is explicitly named on the
command line, as follows:
strload -f /tmp/my.conf -d newdriver
Note: The -d and -m flags do not override the configuration file. That is, if driver dgb is loaded by
using the configuration file, the -d flag will attempt to reload it but will fail. The configuration file is
processed before the -d and -m flags.
The List variable for the -d and -m flags is a comma-separated list of file names, each of which contains a
single PSE driver or module. The configuration process proceeds as if a line of one of the following forms
was found in the configuration file:
d filename
m filename
Flags
-d List Lists PSE device drivers to load or unload. The List variable specifies a comma-separated list of driver
object names.
-f File Configures PSE according to the configuration information contained in the file indicated by the File
variable. The default configuration file is /etc/pse.conf.
-m List Lists PSE modules to load or unload. The List variable specifies a comma-separated list of module
object names.
-q Reports load status of extensions.
-u Unloads extensions.
Examples
1. Entering the following command loads PSE (if not already loaded), the dgb and ssb drivers from the
/usr/lib/drivers/pse/ directory, and the aoot module from the current directory, but does not use the
configuration file:
root# strload -d dgb,ssb -m ./aoot
2. To unload the aoot module only, enter:
root# strload -u -m ./aoot
3. Entering the following command asks if the spx driver exists:
root# strload -q -d
spx
Line 1 loads the dgb driver extension as a cloned device named /dev/dgb. The argument passed to the
dgb configuration routine is dgb.
Line 2 loads the mux driver extension as a cloned device named /dev/mux and also creates a standard
device name /dev/mux0 with a minor number of 0 (zero). (No more than five device names can be
created with minor numbers from 0 to 4.)
Line 3 loads the foo driver extension as a standard device (not cloned) named /dev/foo. The minor
number is 0.
Lines 4 and 5 load the xtiso driver extension, and configure it twice: once as tcp and once as udp.
The clone nodes created are /dev/xti/tcp and /dev/xti/udp. The configuration routine of xtiso is
called twice: once with the argument tcp, and once with udp.
Line 6 loads the aoot module extension. No node is created, and the configuration routine is passed
the value aoot.
Files
/usr/lib/drivers/pse/* Contains PSE kernel extensions.
/etc/pse.conf Default PSE configuration file.
/usr/sbin/strload Contains the strload command.
Related Information
The slibclean command, strerr command.
Configuring Drivers and Modules in the Portable Streams Environment (PSE), List of Streams Commands,
STREAMS Overview in AIX 5L Version 5.3 Communications Programming Concepts.
strreset Command
Purpose
Resets a stream.
Syntax
strreset [ -M Major ] [ -m Minor ]
Description
The strreset command resets an open stream by generating an M_FLUSH message to the stream head.
You use it mainly to reset blocked streams. When it is impossible to reopen the stream, issue an I_FLUSH
ioctl(), or equivalent command. This situation may happen with a process sleeping in a module’s close
routine, when signals can not be sent to the process (a zombie process exiting, for example).
Exit Status
This command returns the following exit values:
0 Successful completion.
>0 An error occurred.
Security
Access Control: You must have root authority to run this command.
Files
/usr/sbin/strreset Contains the strreset command.
strtune Command
Purpose
This command has several related functions:
v Get or set the streams tunable parameters.
v Define the objects to trace using the component trace.
v List the tunable values of the stream modules.
v List the tunable values of the active queues.
Syntax
strtune {-n name | -q addr} -o tunable_name[=value] -o tunable_name[=value] ...
strtune [-M ]
strtune [-Q ]
Description
There are no restrictions on the use of this command when it is used to display or list values, but when
using this command to modify tunable values or to define objects to trace, you must have root authority.
Flags
-n name Defines a stream module name or a device name.
If the command sets tunables, it modifies the queue pair, or the only queue, depending
on the synchronization level of the queue. If the synchronization level is not
SQLVL_QUEUE, the synchronization level is also propagated to all queue pairs.
-o tunable_name Defines the name of the tunable parameter. Possible values are:
v hiwat , which defines the high water mark for the flow control on a queue.
v lowat , which defines the low water mark for the flow control on a queue.
v minpsz , which defines the minimum packet size.
v maxpsz , which defines the maximum packet size. A value of -1 indicates an infinite
packet size.
The strtune command can initialize several tunables by listing the -o option several
times.
value If no new value is given, the command displays the value of the tunable. Only a user
with root authority can modify a tunable parameter value.
-n name Defines a stream module name. If the -n or -q flag is not present in the command, the
command will display or modify the global variable containing the pse global trace level
(pse_trclevel).
-q addr Defines an active queue address. If the -n or -q flag is not present in the command, the
command will display or modify the global variable containing the pse global trace level
(pse_trclevel).
If the command sets the trace level, it modifies the queue pair, or the only queue,
depending on the synchronization level of the queue. If the synchronization level is not
SQLVL_QUEUE, the synchronization level is also propagated to all queue pairs.
-o trclevel Displays or modifies the trace level. The -o flag cannot be listed more than once.
value If no new value is given, the command displays the value of the tunable. Only a user
with root authority can modify a tunable parameter value.
-a Use this flag to force the strtune command to propagate the new value to all queues in
the stream (from stream head to driver). If the synchronization level is not
SQLVL_QUEUE, the synchronization level is also propagated to all queue pairs.
-M Displays the name, idname, and associated tunable parameter (minpsz, maxpsz,
lowat, hiwat, trclevel) values for each module.
-Q Displays the name, idname, and associated tunable parameter (minpsz, maxpsz,
lowat, hiwat, trclevel) values for each active queue.
-f tunefile The tunefile variable holds the filepath to the file that contains the tunable parameter
settings. Each line of the tunefile file is managed as one command; if there are any
modification commands in the tunefile, the user must have root authority for those
modifications to be implemented.
Exit Status
0 Successful completion.
>0 An error occurred.
Examples
1. To display the hiwat tunable value of ldterm module:
strtune -n ldterm -o hiwat
2. With root authority, to set the value of hiwat for the ldterm module to 8192:
strtune -n ldterm -o hiwat=8192
3. To run the following lines:
-n udp6 -o lowat=256
-n dlpi -o hiwat=4096 -o lowat=128 -o minpsz=128
File
src/bos/usr/sbin/strtune/strtune.c Contains the strtune command.
Related Information
struct Command
Purpose
Translates a FORTRAN program into a RATFOR program.
Syntax
struct [ -s ] [ -i ] [ -a ] [ -b ] [ -n ] [ -tNumber ] [ -cNumber ] [ -eNumber ] [ File ]
Description
The struct command translates the FORTRAN program specified by File (standard input default) into a
RATFOR program. Wherever possible, RATFOR control constructs replace the original FORTRAN.
Statement numbers appear only where still necessary. Cosmetic changes are made, including changing
Hollerith strings into quoted strings and relational operators into symbols (for example, .GT. into >). The
output is appropriately indented.
The struct command knows FORTRAN 66 syntax, but not full FORTRAN 77. If an input FORTRAN
program contains identifiers that are reserved words in RATFOR, the structured version of the program will
not be a valid RATFOR program. The labels generated cannot go above 32767. If you get a goto
statement without a target, try using the -e flag.
Flags
-a Turn sequences of else-if statements into a non-RATFOR switch of the form:
switch
{ case pred1: code
case pred2: code
case pred3: code
default: code
}
The case predicates are tested in order. The code appropriate to only one case is executed. This
generalized form of switch statement does not occur in RATFOR.
-b Generates goto statements instead of multilevel break statements.
-c Number Increments successive labels in the output program by the nonzero integer Number. The default is
1. Do not insert a space between -c and Number.
-e Number If Number is 0 (default), places code within a loop only if it can lead to an iteration of the loop. Do
not insert a space between -e and Number.
-i Do not turn computed goto statements into switches. (RATFOR does not turn switches back into
computed goto statements.)
-n Generates goto statements instead of multilevel next statements.
If Number is nonzero, admits small code segments to a loop if otherwise the loop would have exits to
several places including the segment, and the segment can be reached only from the loop. In this case,
small is close to, but not equal to, the number of statements in the code segment. Values of Number
under 10 are suggested.
Examples
To translate the test.f FORTRAN program into the newtest.ratfor RATFOR program, enter:
struct -s -i -n -t2 test.f > newtest.ratfor
Files
/tmp/struct* Temporary files used during processing of the struct command.
/usr/lib/struct/structure File that handles processing for the struct command.
/usr/lib/struct/beautify File that handles processing for the struct command.
/usr/ucb/struct Contains the struct command.
Related Information
The asa or fpr command, fsplit command.
sttinet Method
Purpose
Enables the inet instance.
Syntax
sttinet [ -l Interface ... ]
Description
The sttinet method enables the inet instance by calling the ifconfig command and sets the status flag of
the inet instance to AVAILABLE.
Note: The sttinet method is a programming tool and should not be executed from the command line.
Flags
-l Interface ... Specifies which specific interface to enable. If no interfaces are specified,
then all configured interfaces are started.
Examples
The following method enables the inet instance:
sttinet -l tr0 -l tr1
Writing a Device Method in AIX 5L Version 5.3 Kernel Extensions and Device Support Programming
Concepts.
Object Data Manager (ODM) Overview for Programmers in AIX 5L Version 5.3 General Programming
Concepts: Writing and Debugging Programs.
stty Command
Purpose
Sets, resets, and reports workstation operating parameters.
Syntax
stty [ -a ] [ -g ] [ Options ]
Description
The stty command sets certain I/O options for the device that is the current standard input. This command
writes output to the device that is the current standard output.
This version of the operating system uses the standard X/Open Portability Guide Issue 4 interface to
control the terminals, maintaining a compatibility with POSIX and BSD interfaces. The stty command
supports both POSIX and BSD compliant options, but the usage of POSIX options is strongly
recommended. A list of obsolete BSD options, with the corresponding POSIX options, is also provided.
the stty command (POSIX) will hang while waiting for the open() of that tty until the RS-232 carrier detect
signal has been asserted. Exceptions to this rule occur if the clocal or forcedcd (128-port only) option is
set.
Flags
-a Writes the current state of all option settings to standard output.
-g Writes option settings to standard output in a form usable by another stty command.
Options
The stty command supports following categories of options:
v Control Modes
v Input Modes
v Output Modes
v Local Modes
v Hardware Flow Control Modes
v Control Character Assignments
Control Modes
clocal Assumes a line without modem control.
-clocal Assumes a line with modem control.
cread Enables the receiver.
-cread Disables the receiver.
cstopb Selects 2 stop bits per character.
-cstopb Selects 1 stop bit per character.
cs5, cs6, cs7, cs8 Selects character size.
hup, hupcl Hangs up dial-up connection on the last close.
-hup, -hupcl Does not hang up dial-up connection on the last close.
parenb Enables parity generation and detection.
-parenb Disables parity generation and detection.
parodd Selects odd parity.
-parodd Selects even parity.
0 Hangs up phone line immediately.
speed Sets the workstation input and output speeds to the specified speed number of
bits per second. All speeds are not supported by all hardware interfaces. Possible
values for speed are: 50, 75, 110, 134, 200, 300, 600, 1200, 1800, 2400, 4800,
9600, 19200, 19.2, 38400, 38.4, exta, and extb.
Note: exta, 19200, and 19.2 are synonyms; extb, 38400, and 38.4 are
synonyms.
ispeed speed Sets the workstation input speed to the specified speed number of bits per
second. All speeds are not supported by all hardware interfaces, and all hardware
interfaces do not support this option. Possible values for speed are the same as
for the speed option.
ospeed speed Sets the workstation output speed to the specified speed number of bits per
second. All speeds are not supported by all hardware interfaces, and all hardware
interfaces do not support this option. Possible values for speed are the same as
for the speed option.
Input Modes
brkint Signals INTR on break.
-brkint Does not signal INTR on break.
icrnl Maps CR to NL on input.
-icrnl Does not map CR to NL on input.
ignbrk Ignores BREAK on input.
-ignbrk Does not ignore BREAK on input.
igncr Ignores CR on input.
-igncr Does not ignore CR on input.
ignpar Ignores parity errors.
-ignpar Does not ignore parity errors.
inlcr Maps NL to CR on input.
-inlcr Does not map NL to CR on input.
inpck Enables parity checking.
-inpck Disables parity checking.
istrip Strips input characters to 7 bits.
-istrip Does not strip input characters to 7 bits.
iuclc Maps uppercase alphabetic characters to lowercase.
-iuclc Does not map uppercase alphabetic characters to lowercase.
ixany Allows any character to restart output.
-ixany Allows only the START (the Ctrl-Q key sequence) to restart output.
ixoff Sends START/STOP characters when the input queue is nearly empty/full.
Output Modes
bs0, bs1 Selects style of delay for backspaces (bs0 siginifes no delay).
cr0, cr1, cr2, cr3 Selects style of delay for CR characters (cr0 siginifes no delay).
ff0, ff1 Selects style of delay for form feeds (ff0 siginifes no delay).
nl0, nl1 Selects style of delay for NL characters (nl0 siginifes no delay).
ofill Uses fill characters for delays.
-ofill Uses timing for delays.
ocrnl Maps CR characters to NL characters.
-ocrnl Does not map CR characters to NL characters.
olcuc Maps lowercase alphabetic characters to uppercase on output.
-olcuc Does not map lowercase alphabetic characters to uppercase on output.
onlcr Maps NL characters to CR-NL characters.
-onlcr Does not map NL characters to CR-NL characters.
onlret On the terminal, NL performs the CR function.
-onlret On the terminal, NL does not perform the CR function.
onocr Does not output CR characters at column zero.
-onocr Outputs CR characters at column zero.
opost Processes output.
-opost Does not process output; that is, ignores all other output options.
ofdel Uses DEL characters for fill characters.
-ofdel Uses NUL characters for fill characters.
tab0, tab1, tab2 Selects style of delay for horizontal tabs (tab0 siginifes no delay).
tab3 Expands tab character to variable number of spaces.
vt0, vt1 Selects style of delay for vertical tabs (vt0 siginifes no delay).
Local Modes
echo Echoes every character typed.
-echo Does not echo characters.
echoctl Echoes control characters as ^X (Ctrl-X), where X is the character given by
adding 100 octal to the code of the control character.
-echoctl Does not echo control characters as ^X (Ctrl-X).
echoe Echoes the ERASE character as the ″backspace space backspace″ string.
Note: This mode does not keep track of column position, so you can get
unexpected results when erasing such things as tabs and escape sequences.
-echoe Does not echo the ERASE character, just backspace.
echok Echoes a NL character after a KILL character.
-echok Does not echo a NL character after a KILL character.
echoke Echoes the KILL character by erasing each character on the output line.
-echoke Just echoes the KILL character.
echonl Echoes the NL character.
-echonl Does not echo the NL character.
echoprt Echoes erased characters backwards with / (slash) and \ (backslash).
-echoprt Does not echo erased characters backwards with / (slash) and \ (backslash).
Control Assignments
To assign a control character to a character string, type:
stty Control String
where the Control parameter may be the INTR, QUIT, ERASE, KILL, EOF, EOL, EOL2, START, STOP,
SUSP, DSUSP, REPRINT, DISCARD, WERASE, LNEXT, MIN, or TIME character. (Use the MIN and TIME
characters with the -icanon option.)
Note: The values for MIN and TIME are interpreted as integer values, not as character values.
The String parameter may be any single character such as c. An example of this control assignment is:
stty STOP c
Combination Modes
cooked See the -raw option.
Window Size
cols n, columns n The terminal (window) size is recorded as having n columns.
rows n The terminal (window) size is recorded as having n rows.
size Prints the terminal (window) sizes to standard output (first rows and then columns).
Obsolete Options
The following BSD options are supported by the stty command. For each of them, the recommended
POSIX option is given.
stty -a
3. To enable a key sequence that stops listings from scrolling off the screen, type:
stty ixon ixany
This sets ixon mode, which lets you stop runaway listing by pressing the Ctrl-S key sequence. The
ixany flag allows you to resume the listing by pressing any key. The normal workstation configuration
includes the ixon and ixany flags, which allows you to stop a listing with the Ctrl-S key sequence that
only the Ctrl-Q key sequence will restart.
4. To reset the configuration after it has been messed up, type:
Press the Ctrl-J key sequence before and after the command instead of the Enter key. The system
usually recognizes the Ctrl-J key sequence when the parameters that control Enter key processing are
messed up.
Sometimes the information displayed on the screen may look strange, or the system will not respond
when you press the Enter key. This can happen when you use the stty command with parameters that
are incompatible or that do things you don’t understand. It can also happen when a screen-oriented
application ends abnormally and does not have a chance to reset the workstation configuration.
Entering the stty sane command sets a reasonable configuration, but it may differ slightly from your
normal configuration.
5. To save and restore the terminal’s configuration:
OLDCONFIG=`stty -g` # save configuration
stty -echo # do not display password
echo "Enter password: \c"
read PASSWD # get the password
stty $OLDCONFIG # restore configuration
This command saves the workstation’s configuration, turns off echoing, reads a password, and
restores the original configuration.
Entering the stty -echo command turns off echoing, which means that the password does not appear
on the screen when you type it at the keyboard. This action has nothing to do with the echo
command, which displays a message on the screen.
File
/usr/bin/stty Contains the stty command.
Related Information
The terminfo file, tty special file termios.h header file.
TTY Subsystem Overview in AIX 5L Version 5.3 General Programming Concepts: Writing and Debugging
Programs.
National Language Support in AIX 5L Version 5.3 National Language Support Guide and Reference.
stty-cxma Command
Purpose
Sets and reports the terminal options for a TTY configuration of the 128-port asynchronous subsystem.
Syntax
stty-cxma [ -a ] [ -g ] [ Option(s) ] [ ttyName ]
Description
If no flags or options are specified, the stty-cxma command reports all 128-port special driver settings and
modem signals, as well as all standard parameters reported by the stty command for the tty device that is
the current standard input.
The ttyName parameter can be specified to set or report options for a tty device for other than the
standard input. The ttyName parameter can be a simple tty name, such as tty0, or can be prefixed by
/dev/, such as /dev/tty0. This option may be used on a modem control line when no carrier is present.
Further options can be specified to change flow control settings, set transparent print options, force
modem control lines, and display all tty settings. Unrecognized options are passed to the stty command
for interpretation.
Flags
-a Writes all the unique 128-port settings as well as all the standard tty settings reported by stty -a to standard
output.
-g Writes option settings to standard output in a form usable by another stty command.
Options
The following options specify transient actions to be performed immediately:
The actions specified by the following options are in effect until the device is closed. The next time the
device is opened, default values are used.
dtr Raises the DTR modem control line, unless DTR hardware flow control is selected.
-dtr Drops the DTR modem control line, unless DTR hardware flow control is selected.
rts Raises the RTS modem control line, unless RTS hardware flow control is selected.
-rts Drops the RTS modem control line, unless RTS hardware flow control is selected.
startin Releases flows control to resume stopped input.
startout Restarts stopped output exactly as if an XON character was received.
stopin Activates flow control to stop input.
edelay n Sets the rate at which the128-port asynchronous adapter wakes up the driver on input. The adapter
wakes the driver every n milliseconds. The default value is 100 milliseconds.
fastbaud Alters the baud rate table, so 50 baud becomes 57600 baud.
-fastbaud Restores the baud rate table, so 57500 baud becomes 50 baud.
fastcook Performs cooked output processing on the128-port asynchronous adapter to reduce host CPU
usage and increase raw mode input performance.
-fastcook Disables cooked output processing.
forcedcd Disables carrier sense, so the tty may be opened and used even when the carrier is not present.
-forcedcd Reenables carrier sense.
maxchar n Sets the maximum number of transparent print characters the driver places in the output queue.
Reducing this number increases system overhead; increasing this number delays operator
keystroke echo times when the transparent printer is in use. The default value is 50 characters.
maxcps n Sets the maximum CPS (characters per second) rate at which characters are output to the
transparent print device. The rate chosen should be just below the average print speed. If the
number is too low, printer speed is reduced. If the number is too high, the printer resorts to flow
control, and user entry on the CRT is impaired accordingly. The default value is 100 CPS.
Examples
1. To display all the unique 128-port settings as well as all the standard tty settings for a tty port
configured on a 128-port asynchronous controller as /dev/tty0, enter:
stty-cxma -a tty0
2. To make DCD available when using an 8-pin RJ45 connector for a tty port configured on a 128-port
asynchronous controller as /dev/tty3, enter:
stty-cxma altpin tty3
This command interchanges the location of the DSR and DCD inputs on the modular connector.
Files
/usr/ebin/tty/stty-cxma Contains the stty-cxma command.
Related Information
The stty command.
style Command
Purpose
Analyzes surface characteristics of a document.
Syntax
style [ -a ] [ -e ] [ -lNumber ] [ -ml ] [ -mm ] [ -p ] [ -P ] [ -rNumber ] File ...
Description
The style command analyzes the surface characteristics of the writing style of an English-language
document. It reports on readability, sentence length and structure, word length and usage, verb type, and
sentence openers. Because the style command runs the deroff command before looking at the text,
header files that contain appropriate formatting information should be included as part of the input.
Note: The use of nonstandard formatting macros may cause incorrect sentence breaks.
Related Information
The diction command, deroff command.
su Command
Purpose
Changes the user ID associated with a session.
Syntax
su [ - ] [ Name [ Argument ... ] ]
Description
The su command changes user credentials to those of the root user or to the user specified by the Name
parameter, and then initiates a new session. The user name may include a DCE cell specification.
Note: The root user is not required to satisfy the Distributed Computing Environment (DCE) authentication
when switching to a DCE user. In this case, the user’s DCE credentials are not gained.
Any arguments, such as flags or parameters, that are specified by the Arguments parameter must relate to
the login shell defined for the user specified by the Name parameter. These arguments are passed to the
specified user’s login shell. For example, if the login shell for user Fred is /usr/bin/csh, you can include
any of the flags for the csh command, such as the -f flag. When the su command runs, it passes the -f
flag to the csh command. When the csh command runs, the -f flag omits the .cshrc startup script.
account checking Validates the user account to be certain it exists, that it is enabled
for the su command, that the current user is in a group permitted to
switch to this account with the su command, and that it can be used
from the current controlling terminal.
user authentication Validates the user’s identity, using the system-defined primary
authentication methods for the user. If a password has expired, the
user must supply a new password.
credentials establishment Establishes initial user credentials, using the values in the user
database. These credentials define the user’s access rights and
accountability on the system.
These functions are performed in the sequence shown. If one function is unsuccessful, the succeeding
functions are not done. Refer to the ckuseracct, ckuserID, authenticate, setpcred, and setpenv
subroutines for the semantics of these functions.
To restore the previous session, type exit or press the Ctrl-D key sequence. This action ends the shell
called by the su command and returns you to the previous shell, user ID, and environment.
If the su command is run from the /usr/bin/tsh shell, the trusted shell, you exit from that shell. The su
command does not change the security characteristics of the controlling terminal.
Each time the su command is executed, an entry is made in the /var/adm/sulog file. The /var/adm/sulog
file records the following information: date, time, system name, and login name. The /var/adm/sulog file
also records whether or not the login attempt was successful: a + (plus sign) indicates a successful login,
and a - (minus sign) indicates an unsuccessful login.
Note: Successful use of the su command resets the unsuccessful_login_count attribute in the
/etc/security/lastlog file only if the user’s rlogin and login attributes are both set to false in
/etc/security/user. Otherwise, the su command doesn’t reset the unsuccessful_login_count,
because the administrator often uses the su command to fix user account problems. The user is
able to reset the attribute through a local or remote login.
Flags
- Specifies that the process environment is to be set as if the user had logged in to the system using the login
command. Nothing in the current environment is propagated to the new shell.
Security
The su command is a PAM-enabled application with a service name of su. System-wide configuration to
use PAM for authentication is set by modifying the value of the auth_type attribute, in the usw stanza of
/etc/security/login.cfg, to PAM_AUTH as the root user.
The authentication mechanisms used when PAM is enabled depend on the configuration for the su service
in /etc/pam.conf. The su command requires /etc/pam.conf entries for the auth, account, password, and
session module types. In order for the su command to exhibit a similar behavior through PAM
authentication as seen in standard AIXauthentication, the pam_allowroot module must be used as
sufficient and called before pam_aix in both the auth and account su service stacks. Listed below is a
recommended configuration in /etc/pam.conf for the su service:
#
# AIX su configuration
#
su auth sufficient /usr/lib/security/pam_allowroot
su auth required /usr/lib/security/pam_aix
This command runs a subshell with the effective user ID and privileges of the root user. You will be
asked for the root password. Press End-of-File, Ctrl+D key sequence, to end the subshell and return to
your original shell session and privileges.
2. To obtain the privileges of the jim user, type:
su jim
This command runs a subshell with the effective user ID and privileges of jim.
3. To set up the environment as if you had logged in as the jim user, type:
su - jim
This runs the backup command with root user authority within root’s default shell. You must give the
correct root password when queried for the command to execute.
Files
/usr/bin/su Contains the su command.
/etc/environment Contains user environment values.
/etc/group Contains the basic group attributes.
/etc/passwd Contains the basic user attributes.
/etc/security/user Contains the extended attributes of users.
/etc/security/environ Contains the environment attributes of users.
/etc/security/limits Contains the process resource limits of users.
/etc/security/passwd Contains password information.
/var/adm/sulog Contains information about login attempts.
Related Information
The bsh command, csh command, getty command, ksh command, login command, setgroups
command, setsenv command, tsh command, and tsm command.
The authenticate subroutine, ckuseracct subroutine, ckuserID subroutine, setpcred subroutine, setpenv
subroutine.
For more information about the identification and authentication of users, discretionary access control, the
trusted computing base, and auditing, refer to Securing the network in Security.
subj Command
Purpose
Generates a list of subjects from a document.
Syntax
subj [ File ... ]
The subj command selects sequences of capitalized words as subjects, except for the first word in each
sentence. Thus, if a sentence begins with a proper noun, the capitalization rule does not select this word
as a subject. However, since each sentence is expected to begin on a new line, the first word of a
sentence that begins in the middle of a line may be erroneously selected. Also, the subj command selects
modifier-noun sequences from the abstract, headings, and topic sentences (the first sentence in each
paragraph). Thus, occasionally a word is incorrectly categorized as a noun or adjective.
The output of the subj command may not be appropriate for your needs and should be edited accordingly.
Parameters
File Specifies the English-language files that the subj command searches for appropriate subjects for indexing.
Related Information
The mm command, ndx command, nroff command, troff command.
sum Command
Purpose
Displays the checksum and block count of a file.
Syntax
sum [ -i ] [ -r ] [ -o ] [ File ... ]
Description
The sum command reads the file specified by the File parameter and calculates a checksum and the
number of 1024-byte blocks in that file. If no options are specified, a byte-by-byte algorithm, such as the
BSD 4.3 default algorithm, is used. If no files are named, the standard input is read. The checksum and
number of 1024-byte blocks are written to standard output. The sum command is generally used to
determine if a file that has been copied or communicated over transmission lines is an exact copy of the
original.
Flags
-i Allows the user to compute the checksum without including header information, if the input file is a binary file. If
the input file is not a binary file, the checksum includes header information.
-o Uses the word-by-word algorithm to compute the checksum. The sum command with the -o flag is compatible
with the Version 2 sum command in terms of the checksum, but not the number of blocks.
-r Uses a byte-by-byte algorithm to compute the checksum. Using the -r flag is the same as using no options.
Note: The default is no longer the word-by-word computation algorithm; it is the BSD 4.3 default
algorithm.
0 Successful completion.
>0 An error occurred.
Examples
To display the checksum of, and the number of 1024-byte blocks in, the file1 and file2 files, type:
sum file1 file2
If the checksum of the file1 file is 32830, the checksum of the file2 file is 32481, and the file1 file contains
one block, and the file2 contains four blocks, the sum command displays:
32830 1 file1
32481 4 file2
Files
/usr/bin/sum Contains the sum command.
Related Information
The cksum command, wc command.
The File systems in Operating system and device management gives an explanation of what a file system
is and why to use one.
suma Command
Purpose
Creates a task to automate the download of maintenance and technology levels from a fix server.
Syntax
To create, edit, or schedule a SUMA task:
suma -u TaskID
suma -d TaskID
Description
The suma command can be used to perform the following operations on a SUMA task or policy:
v Create
v Edit
v List
v Schedule
v Unschedule
v Delete
The specified operation will be performed on the task represented by a unique Task ID. For the create or
edit cases on a SUMA task, if the TaskID is not specified, the create operation will be assumed, and a
unique TaskID will be generated. For the -l flag, if TaskID is not specified, a list of all SUMA tasks will be
displayed. For the -c flag, if the -a flag is not specified, the SUMA global configuration settings will be
listed.
The configuration settings that can be edited with the -a flag are as follows:
FIXSERVER_PROTOCOL
When communicating with the fix server, this specifies whether the transfer will
utilize http (non-secure) or https (secure).
Default value: http
Allowable values: http, https
DOWNLOAD_PROTOCOL
When downloading filesets, this specifies whether the transfer will utilize http, ftp,
or https (secure) transfers.
Default value: ftp
Allowable values: ftp, http, https
DL_TIMEOUT_SEC
Specifies the time in seconds to wait for a response from the fix server during a
download operation.
Default value: 180
Allowable values: Whole numbers greater than zero.
MAX_CONCURRENT_DOWNLOADS
The maximum number of files to be downloaded simultaneously.
Default value: 5
Allowable values: Whole numbers greater than zero, and ″unlimited″ (or -1).
HTTP_PROXY
Proxy server and port to use for HTTP transfers.
Default value: blank (disabled)
Allowable values:
v Blank (does not use a proxy for HTTP)
v A URL of the following forms:
– server.name:port/; for example, httpproxy.customer.com:8080/
– protocol://server.name:port/; for example, http://
httpproxy.customer.com:8080/
– protocol://username:password@server.name:port/; for example,
http://username:password@httpproxy.customer.com:8080/
HTTPS_PROXY
Proxy server and port to use for HTTPS transfers.
Default value: blank (disabled)
Allowable values:
v Blank (does not use a proxy for HTTPS)
v A URL of the following forms:
– server.name:port/; for example, httpsproxy.customer.com:8080/
– protocol://server.name:port/; for example, http://
httpsproxy.customer.com:8080/
– protocol://username:password@server.name:port/; for example,
http://username:password@httpsproxy.customer.com:8080/
Parameters
TaskID Specifies a unique numeric identifier that is associated with a task. This is assigned when a task is
created.
Exit Status
0 The command completed successfully.
>0 An error occurred.
Examples
1. To list the SUMA global configuration settings, type the following:
suma -c
Note: A task ID will be returned for this newly created task. This example assumes some of the
SUMA task defaults, as displayed in the suma -D example, will be utilized. For example, when
the task default of DLTarget=/usr/sys/inst.images, the installp images will be downloaded into
the /usr/sys/inst.images/installp/ppc directory.
5. To view SUMA scheduling information that has been set up by running a suma -s CronSched
command, type the following:
crontab -l root
6. To create and schedule a task that will check for a specific APAR once a week (for example, every
Thursday at 3 AM), download it when it becomes available, and send e-mail notifications to users on
a remote system, type the following:
suma -s "0 3 * * 4" -a RqType=APAR -a RqName=IY12345 \
-a NotifyEmail="bob.smith@host2,ann@host2"
Note: For this task to make a weekly check for an APAR, the Repeats field would need to be set to
y. In this case, after the APAR was found, the task would be deleted. If Repeats=n, only a
single check would occur before deleting the task.
7. To create and schedule a task that will check for the latest level of the bos.rte.install fileset monthly
(for example, on the 20th of every month at 4:30 AM), type the following:
suma -s "30 4 20 * *" -a RqType=Fileset -a RqName=bos.rte.install \
-a RqLevel=latest -a Repeats=y
Note: By setting Repeats=y, this task will ’repeat until found’ and will be deleted after a successful
download of the specific fileset.
9. To create and schedule a task that will download the entire AIX 5L Version 5.3 with the 5300-02
Recommended Maintenance package into the /lppsrc/5302 directory on Monday at 11:00 PM, turning
off filtering against installed software, and running an lppmgr clean operation after the download to
remove any superseded updates, duplicates base levels, and conflicting updates, type the following:
suma -s "0 23 * * 1" -a Action=Clean -a RqType=ML -a RqName=5300-02 \
-a DLTarget=/lppsrc/5302 -a FilterSysFile=/dev/null
Note: Prior to running a task which specifies Action=Clean, you can run suma -c to verify the
SUMA global configuration settings that will be used when running lppmgr. In this case, having
REMOVE_SUPERSEDE, REMOVE_DUP_BASE_LEVELS, and
REMOVE_CONFLICTING_UPDATES all set to yes will result in the action described above.
10. To create and schedule a task that will download the entire AIX 5L Version 5.3 with the 5300-03
Recommended Maintenance package into the /tmp/lppsrc/5303 directory on Monday at 11:00 PM,
turning off filtering against installed software (allows updates already installed on the system to be
downloaded), but filtering against any updates already contained in /lppsrc, type the following:
suma -s "0 23 * * 1" -a RqType=ML -a RqName=5300-03 \
-a DLTarget=/tmp/lppsrc/5303 -a FilterDir=/lppsrc -a FilterSysFile=/dev/null
Note: After the task is successfully completed, the task will be removed, because RqType=ML is a
’repeat until found’ task. However, if Repeats=n only a single check for the 5300-01 ML will be
made, and if the ML is not found on the fix server, the task will be deleted because it has been
set up not to repeat.
11. To execute a task immediately that will download any critical fixes that have become available since
5300-00 and that are not already installed on your system, type the following:
suma -x -a RqType=Critical -a FilterML=5300-00 -a FilterSysFile=localhost
Note: This example assumes some of the SUMA task defaults, as displayed in the suma -D
example, will be utilized. For example, when the task default of DLTarget=/usr/sys/
inst.images, the installp images will be downloaded into the /usr/sys/inst.images/installp/
ppc directory.
12. To immediately execute a task that will perform a preview to check if an APAR exists on the fix
server, and to create and save this task for later scheduling if the APAR does not yet exist, type the
following:
suma -x -w -a Action=Preview -a RqType=APAR -a RqName=IY12345
Note: Because his task is being run from the command line, and not scheduled through cron, the
Repeats field will be ignored and this task will not be deleted regardless of whether the APAR
is found.
Location
/usr/suma/bin/suma
Files
/usr/suma/bin/suma Contains the suma command.
/usr/sbin/suma Link to /usr/suma/bin/suma.
/var/adm/ras/suma.log Contains detailed results from running the suma command.
/var/adm/ras/suma_dl.log Contains a list of files that have been downloaded.
/var/spool/cron/crontabs Directory that contains the crontab file for scheduling.
Related Information
The crontab command in AIX 5L Version 5.3 Commands Reference, Volume 1.
survd Daemon
Purpose
Controls the surveillance daemon.
Syntax
Controls Surveillance Parameters
survd [ -d Delay ] [ -h ]
The survd daemon works only on multiprocessor systems with Micro Channel I/O for AIX 5.1 and earlier.
For IBM systems, this includes the IBM 7012 Model G Series, the IBM 7013 Model J Series, and the IBM
7015 Model R Seriesfor AIX 5.1 and earlier.
Attention: Do not use the kill command to stop the surveillance: in this case the BUMP would no
longer receive signals from the daemon and would reboot the system.
Flags
-d Delay Specifies the period of the signals that the operating system sends to the BUMP. The Delay
parameter indicates the period in seconds. The minimal value authorized for the Delay parameter is
10 seconds. If this flag is not specified, the frequency will be 60 seconds.
-h Indicates that the BUMP will execute a hardware reboot if it does not receive any signal from the
operating system within the defined delay. If this flag is not specified a software reboot will be
executed.
-r Turns off the surveillance and kills the surveillance daemon. This flag cannot be used with -d or -h
flags, and it has no action if the daemon was not running.
Security
Access Control: Only the root user can run this command.
Examples
1. To set the signal period to 70 seconds, enter:
survd -d 70
Note that if no signal is received by the BUMP within 70 seconds, the BUMP will execute a software
reboot, since the -h flag is not specified.
2. To turn the surveillance off, enter:
survd -r
suspendvsd Command
Purpose
suspendvsd – Deactivates an available virtual shared disk.
Syntax
suspendvsd {−a | vsd_name...}
Description
The suspendvsd command brings the specified virtual shared disks from the active state to the
suspended state. They remain available. Read and write requests which were active while the virtual
shared disk was active are suspended and held. Subsequent read and write operations are also held. If
the virtual shared disk is in the suspended state, this command leaves it in the suspended state.
Under normal circumstances, you should not issue this command. The Recoverable virtual shared disk
subsystem uses this command to manage shared disks in a controlled manner. If you issue this command,
the results may be unpredictable.
Flags
−a Specifies that all the virtual shared disks in the active state are to be suspended.
Parameters
vsd_name Specifies a virtual shared disk. If the virtual shared disk is not in the active state, you get
an error message.
Security
You must have root authority to run this command.
Exit Status
0 Indicates the successful completion of the command.
nonzero Indicates that an error occurred.
Restrictions
You must issue this command from a node that is online in the peer domain. To bring a peer domain
online, use the startrpdomain command. To bring a particular node online in an existing peer domain, use
the startrpnode command. For more information on creating and administering an RSCT peer domain,
refer to the RSCT: Administration Guide.
Under normal circumstances, you should not issue this command. The Recoverable virtual shared disk
subsystem uses this command to manage shared disks in a controlled manner. If you issue this command,
the results may be unpredictable.
Standard Output
Current RVSD subsystem run level.
Examples
To bring the virtual shared disk vsd1vg1n1 from the active state to the suspended state, enter:
suspendvsd vsd1vg1n1
Location
/opt/rsct/vsd/bin/suspendvsd
Related Information
Commands: cfgvsd, lsvsd, preparevsd, resumevsd, startvsd, stopvsd, ucfgvsd
Purpose
Captures and analyzes a snapshot of virtual memory.
Syntax
Command report
Global report
Process report
Segment report
User report
XML report
Description
The svmon command displays information about the current state of memory. The displayed information
does not constitute a true snapshot of memory, however, because the svmon command runs at user level
with interrupts enabled.
If you specify no flag, the svmon command, by default, reports real memory at the system level.
You can see memory consumption details and generate the following types of reports. To see more
information about a type of report, select one of the following links:
v Command report
v Detailed segment report
The output of these reports can be in compact format or long format. To generate compact format report,
specify the -O flag. If you do not specify the -O flag, the report is in long format.
Command report
The command report displays the statistics of memory use for the specified command. To print this report,
specify the -C flag. The command report can be in compact format or in long format:
Compact report A one line summary for each command. To set compact report as the default format,
specify the -O flag.
Long report A multiple lines report for each command that contains a summary, a size-per-page
report, and the details of the segments. To set long report as the default format, do not
specify the -O flag.
Global report
The global report displays the statistics of the real memory and paging space that are in use for the whole
system. If you do not specify any flag, the global report is the default format of report that the svmon
command generates.
Compact report A report on only the main metrics of the system. The report is one line with a maximum
of 160 characters.
Long report A summary of memory, page size, and affinity domain. The report is multiple lines,
which is the default format of global report.
By default, the memory metric displays the memory consumption of the machine. The
Page Size metric displays the memory consumption of the Page Size. The Affinity
Domain metric reports the memory affinity by affinity domain.
Process report
The process report displays the memory use for the specified active process. If you do not specify a list of
processes, the svmon command displays the memory use statistics for all active processes.
Compact report A one line report for each process. To set the compact report as the default format,
specify the -O flag.
Long report A multiple lines summary for each process. To set the long report as the default format,
do not specify the -O flag. This report contains a summary for each process, a
per-page-size report, and the details of the segments.
Segment report
The segment report displays the statistics of memory use for the specified segments. To display the
statistics for all of the defined segments, do not specify any list.
The segment report includes metrics for each specified segment. The report contains several lines of
metrics for each segment.
User report
The user report displays the statistics of memory use for the specified users (login names). To display the
statistics for all of the users, do not specify any list of login names.
Compact report A one line report for each user. To set the compact report as the default format, specify
the -O flag.
Long report A multiple lines summary for each user. To set the long report as the default format, do
not specify the -O flag. This report contains a summary for each user, a per-page-size
report, and the details of the segments.
Restriction: This report is available only when the Workload Manager is running. If the Workload Manager
is not running, the following message is displayed and no statistics is reported:
WLM must be started
If the Workload Manager is running in passive mode, the svmon command displays the following
message before displaying the statistics:
WLM is running in passive mode
The workload management class report can be in compact format or long format:
Compact report A one line report for each class. To set the compact report as the default format, specify
the -O flag.
Long report A multiple lines summary for each class. To set the long report as the default format, do
not specify the -O flag. This reports contains a summary for each class, a per-page size
report, and the details of the segments.
To print the tier report, specify the -T flag. Only the long report format is supported.
Restriction: This report is available only when the Workload Manager is running. If the Workload Manager
is not running, the following message is displayed and no statistics is reported:
WLM must be started
If the Workload Manager is running in passive mode, the svmon command displays the following
message before displaying the statistics:
WLM is running in passive mode
XML report
You can use the svmon command with an X flag to generate a report in XML format. The XML report
contains data of the global environment, the processes, the segments, the users, the workload
management classes, and the commands running on the whole system.
The report is by default printed to the standard output. To print the output to a file named filename, specify
the -O filename flag. The extension of the output file will be .svm.
The .svm file uses an XML Schema Definition (XSD) that the /usr/lib/perf/svmon_schema.xsd file
defines. You can use the XML data in the XML reports to build custom applications, because the schema
is self-documented.
Flags
If no command line flag is given, then the -G flag is the default.
-a Restricts the scope to the subclasses of the supclassname parameter (in the Tier
report -T).
-c Adds a comment that the comment parameter specifies into the XML report. Use the
-c flag with the -X flag.
-C Displays memory usage statistics for the processes running the commands that the
commands parameter specifies.
-D Displays memory usage statistics for the segments that the sids parameter specifies
and a detail status of all of the frames of each segment.
-G Displays a global report.
-i Displays statistics repetitively.
The svmon command collects and prints statistics in the interval that the interval
parameter specifies.
Parameters
commands Specifies the commands to be reported in the command report ( -C ). The value of the
commands parameter is a string. You can specify more than one command. The value of the
commands parameter is the exact base name of an executable file.
The values of the options parameter must be separated by commas, or enclosed in double
quotation marks (“”) and separated by commas or spaces. The following values are valid to
the options parameter.
Tip: In the list, the default value specifies the values taken by default if the value is not
specified. The scope specifies the reports that support the value.
v activeuser = [ on | off ]
The activeuser argument specifies that the svmon command displays only the active
users.
– Default value: off
– Scope: User report ( - U )
You can specify the following values to the activeuser option:
on Displays only the active users.
off Displays all of the users.
v affinity = [ on | detail | off ]
The affinity argument specifies that the svmon command displays the memory affinity at
process level or segment level.
– Default value: off
– Scope: Global report ( -G ) and process report ( -P ).
You can specify the following values to the affinity option:
on Displays memory affinity at process level
detail Displays memory affinity at segment level
off Does not display the memory affinity
In XML report, if you do not specify the -O affinity argument, or set it to the off value,
only the domain affinity at system level is reported.
Note: Use the -O affinity = detail argument with caution.
v commandline = [ on | off ]
The commandline argument specifies that the svmon command displays the command
that is used for the current report.
– Default value: off
– Scope: All reports
You can specify the following values to the commandline option:
on Displays the command that is used for the current report
off Does not display the command that is used for the current report
Note: The filtercat option changes the value of the reported basic metrics in the
summary header, because it adds or removes segments from the report.
Note: The filterpgsz argument changes the values of the reported metrics in the
summary header, because it adds or removes segments from the report.
v filterprop = [ off notempty data text ]
The filterprop argument specifies that the svmon command filters the segments report
by property.
– Default value: off
– Scope: Command report ( -C ), process report ( -P ), segment report ( -S ), workload
management tier report ( -T ), user report ( -U ), and workload management class
report ( -W )
You can specify the following values to the filterprop option to filter the segments by
property:
notempty
Filters the segments with value that is in use and is not equal to zero.
data Filters the data segments. Data segments are computational.
text Filters the text segments. Text segments are not computational.
off Deactivates the filterprop option.
Note: The filterprop argument changes the value of the reported basic metrics in the
summary header, because it adds or removes segments from the report.
Note: The filtertype argument changes the value of the reported basic metrics in the
summary header, because it adds or removes segments from the report.
v format = [ 80 | 160 | nolimit ]
The format argument specifies the maximum width in character for the output of the
svmon command.
– Default value: 80
– Scope: Command report ( -C ), process report ( -P ), segment report ( -S ), workload
management tier report ( -T ), user report ( -U ), and workload management class
report ( -W )
You can specify the following values to the format option:
80 Limits the width of the output to 80 characters. In process report, some fields are
truncated. In segment report, some fields are displayed on separate lines.
160 Limits the width of the output to 160 characters. In process report, some fields
are truncated. In segment report, some fields are displayed on separate lines.
nolimit Does not limit the width in character. Does not truncate fields or display them in
separate lines. Some columns of the report might be shifted.
Tip: You can use the summary argument to force the value of the format option to 160
characters.
v frame = [ on | off ]
The frame argument specifies that the svmon command displays the information per
frame.
– Default value: off
– Scope: Detailed segment report ( -D )
You can specify the following values to the frame option:
on Displays the information per frame
off Displays the report automatically
Note: The mapping argument changes the values of the reported metrics in the
summary header, because it adds or removes segments from the report.
v overwrite = [ on | off ]
The overwrite argument overwrites the XML file that the svmon command produced.
– Default value: on
– Scope: XML report ( -X )
You can specify the following values to the overwrite option:
on Overwrites the XML file that the svmon command generated.
off Does not overwrite the XML file.
options ( Continued description of the valid values for the options parameter).
v segment = [ on | category | off ]
The segment argument specifies that the svmon command displays the segment
statistics for entities.
– Default value: off
– Scope: Command report ( -C ), process report ( -P ), workload management tier report
( -T ), user report ( -U ), and workload management class report ( -W )
You can specify the following values to the segment option:
on Displays a unique segment lists. The segments are sorted by the values of the
sortseg argument.
category
Groups the segments in three categories: system, exclusive, shared. The
segments in each category are sorted by the values of the sortseg argument.
off Does not displays the segment lists.
If the numintervals parameter is not specified, the svmon command runs until user
interruption (Ctrl+C).
sids Specifies the segment IDs (SIDs). The SIDs must be primary segments.
pids Specifies the process IDs (PIDs). The value of the pids parameter is a decimal value. If you
do not supply any list of process IDs (PIDs), the statistics of memory use are displayed for
all active processes. Use the pids parameter with the -P flag.
lognames Specifies the login names. The value of the lognames parameter is a string. It is an exact
login name. If you do not specify any lists of login identifier, the statistics of the memory use
are displayed for all of the defined login identifiers. Use the lognames parameter with the -U
flag.
classnames Specifies the Workload Manager class. The value of the classnames parameter is a string. It
is the exact name of a class. For a subclass, the name should be in the form
superclassname.subclassname.
tiers Specifies the tiers number for the classes. If you do not specify the list of tier, the statistics
of memory use are displayed for all of the defined tiers. Use the tiers parameter with the -T
flag.
supclassname Specifies the superclass that the subclasses are restricted to. The parameter is a superclass
name. You cannot specify a list of classes for this flag.
filename Specifies the name of the output file. It is an alpha-numeric string. The suffix of the output
file name is .svm. It is automatically added to the file name if you do not specify the suffix.
Use the filename parameter with the -o and -X flags.
comment Specifies the string to add in the <CollectionHeader><Comment> tag of the XML report. Use
the comment parameter with the -X and the -c flags.
Security
Any users can run the svmon command. If the user is not a root user, the view will be limited to user's
own processes.
Related information
The ncheck command and rmss command.
The svmon command in AIX 5L Version 5.3 Performance Tools Guide and Reference.
Logical volume storage, Paging space, and Workload Manager in CHECK THIS LINK--was AIX 5L
Version 5.3 System Management Concepts: Operating System and Devices.
swap Command
Purpose
Provides a paging space administrative interface.
Syntax
swap [ -a device ] | [ -d device ] | [ -s ] | [ -l ]
Description
The functions provided by the swap command are diplay of characteristics, addition of paging space and
removal of paging space.
Flags
-a device Activates the paging space. Performs the same function
the swapon command.
-d device Deactivates the paging space. Performs the same function
as the swapoff command.
-l Lists the status of paging space areas in a list form. The
output has 4 columns, containing the following information:
device Path name of the page space.
maj/min
The major/minor device number for the device.
total Total size in megabytes for the area.
free Amount of available space.
Exit Status
0 The command completed successfully.
>0 An error occurred.
Examples
1. To print summary information on total paging space, enter:
swap -s
2. To list the status of the paging space areas in a list form, enter:
swap -l
3. To activate a particular paging space device paging01, enter:
swap -a /dev/paging01
Files
/usr/sbin/swap Contains the System V swap command.
Related Information
The chps command, lsps command, mkps command, rmps command, swapoff command, swapon
command.
swapoff Command
Purpose
Deactivates one or more paging spaces.
Syntax
swapoff DeviceName { DeviceName ...}
Description
The swapoff command deactivates one or more paging spaces. The paging spaces are specified by
DeviceName.
To be deactivated:
v The paging space must have been previously activated through the swapon command.
v There must exist enough space in the remaining paging spaces. The remaining paging device should
have enough space to accommodate the current system-wide paging space usage and the npswarn
value.
Exit Status
Value Description
0 Deactivation is successful, the paging state is set to the INACTIVE state.
1 The following message displays:
swapoff: Cannot deactivate paging space DeviceName
2 There is not enough space in the remaining paging spaces, the deactivation is not done and the following
message displays:
"swapoff: Cannot deactivate paging space DeviceName :
There is not enough space in the file system."
3 An I/O error occurred on user pages of a paging space, the following message displays:
swapoff: Deactivation of paging space DeviceName suspended:
I/O errors encountered on user backing pages.
Related Information
The lsps command, mkps command, rmps command, chps command, swap command, swapon
command, and vmo commands.
swapon Command
Purpose
Activates a paging space.
Syntax
swapon -a | DeviceName ...
The DeviceName parameter specifies a specific device to be made available. The second form gives
individual block devices as given in the system swap configuration table. The call makes this space and
other defined spaces available to the system for paging and swap allocation. The system swap
configuration table is the set of all devices specified in the /etc/swapspaces file.
You can use the Devices application in Web-based System Manager (wsm) to run this command.
Note: The maximum number of active paging spaces is 16. In addition, there is a paging space limit of 64
GB per device.
Flags
-a Causes all devices present in the /etc/swapspaces file to be made available.
Examples
1. To cause all devices present in the /etc/swapspaces file to be made available, enter:
swapon -a
Files
/etc/rc System multiuser initialization
/dev/paging Device entries for paging/swap space
/etc/swapspaces Contains a list of swap devices.
Related Information
The lsps command, mkps command, rmps command, chps command, swap command, swapoff
command.
The Paging space in Operating system and device management explains paging space and its allocation
policies.
For information on installing the Web-based System Manager, see Chapter 2: Installation and System
Requirements in AIX 5L Version 5.3 Web-based System Manager Administration Guide.
swcons Command
Purpose
Redirects, temporarily, the system console output to a specified device or file.
Syntax
swcons [ -p Log_File ] [ -s Log_Size ] [ -t Tag_Verbosity ] [ -v Log_Verbosity ] PathName
Description
The swcons command temporarily switches the system console output to a different target during system
operation. This command only switches system informational-, error-, and intervention-required message
output to the specified destination. The swcons command does not affect the operation of the system
console device that is providing a login by way of the getty command.
The device or file specified when using this command remains the target for console output until changed
by another swcons command, until the next start of the system, or until the console driver detects an error
when accessing the designated device or file. If an open or write error is detected on the device or file
specified by the swcons command, the console device driver switches all output back to the device or file
that provided console support when the system was last started.
The PathName parameter must be a fully qualified path name to a device or file that is to receive system
console message output. If the PathName parameter specifies a file that does not exist, the swcons
command creates the file. If the file does exist, the swcons command appends any new console message
output to the contents of the file.
Attention: Use of the swcons command to switch console output to an NFS mounted file system or
a diskless/dataless client might cause the operating system to hang.
Flags
-p Log_File Specifies the full path name to use for the console output log file.
-s Log_Size Specifies the size, in bytes, of the console output log file.
-t Tag_Verbosity Specifies the verbosity level for console output tagging. Zero disables tagging; 1
through 9 enable tagging. For additional information about console output logging and
tagging, see the console Special File in the AIX 5L Version 5.3 Files Reference book.
-v Log_Verbosity Specifies the verbosity level for console output logging. Zero disables logging; 1
through 9 enable logging.
Examples
1. To change the system console message output to a file called console.out in the /tmp directory, enter:
swcons /tmp/console.out
2. To change the system console message output to a terminal with the logical name tty3, enter:
swcons /dev/tty3
3. To change the system-console message output back to the device or file that supported the console
output at system start time, enter:
swcons
Related Information
The chcons command, lscons command.
swts Command
Purpose
Switches a thin server to a different COSI.
Syntax
swts -c Image [-n |-t Time] [-v] ThinServer
Description
The swts command switches a thin server to a different Common Operating System Image (COSI). If
specified with the -t flag, the thin server switches to a new common image at the time specified by the
Time parameter. The value for Time must be a valid cron tab entry. Refer to the crontab command for
creating valid cron time entries.
The swts command can be run on either a NIM master or a thin server. When a thin server is switched to
a new common image, files in the /inst_root directory for the thin server will be synced with the new
common image.
Flags
-c Image Specifies the common image that the thin server switches
to.
-n Specifies option to allow a thin server to switch to a new
common OS image that was setup by the NIM
administrator with the -c flag. The user running from the
thin server will only need to execute the swts command
without any argument to switch the common OS images.
-t Time Specifies a cron entry that allows thin servers to be
switched over at a more convenient time.
-v Enables verbose debug output when the swts command
runs.
Exit Status
0 The command completed successfully.
>0 An error occurred.
Security
Access Control: You must have root authority to run the swts command.
The lobo thin server is re-initialized and cosi2 is its new operating system.
2. To switch the cosi1 common image of a thin server named lobo to a common image named cosi2 at
midnight on Sunday, December 25, enter:
swts -c cosi2 -t "0 0 25 12 0" lobo
The lobo thin server will continue to use the cosi1 common image until midnight on Sunday,
December 25, when it switches to cosi2.
Location
/usr/sbin/swts
Files
/etc/niminfo Contains variables used by NIM.
Related Information
The crontab command, dbts command, lsts command, mkcosi command, mkts command, nim
command, nim_clients_setup command, nim_master_setup command, nimconfig command, rmts
command.
sync Command
Purpose
Updates the i-node table and writes buffered files to the hard disk.
Syntax
sync
Description
The sync command runs the sync subroutine. If the system must be stopped, run the sync command to
ensure file system integrity. The sync command writes all unwritten system buffers to disk including
modified i-nodes, delayed block I/O, and read-write mapped files.
Note: The writing, although scheduled, is not necessarily complete upon return from the sync
subroutine.
Related Information
The sync subroutine.
synclvodm Command
Purpose
Rebuilds the logical volume control block, the device configuration database, and the device special files.
Description
The synclvodm command rebuilds the logical volume control block, the device configuration database,
and the device special files (for the volume group and logical volumes), so that they are synchronized with
the volume group descriptor areas on the physical volumes.
During normal operations, the device configuration database remains consistent with the logical volume
manager information in the logical volume control blocks and the volume group descriptor areas on the
physical volumes. If the device configuration database is not consistent with Logical Volume Manager
information, you might use the synclvodm command to resynchronize the database. The volume group
must be active for the resynchronization to occur (see varyonvg). If logical volume names are specified,
only the information related to those logical volumes is updated. If logical volume names are not specified,
every logical volume in the volume group is updated.
Attention: Do not remove the /dev entries for volume groups or logical volumes. Do not change the
device configuration database entries for volume groups or logical volumes using the object data
manager.
Note: To use this command, you must either have root user authority or be a member of the system
group.
Flags
-c Treats naming conflicts as fatal errors. If this flag is not specified, the command generates a warning message
for any naming conflicts, and automatically renames the logical volume by default.
A logical volume naming conflict occurs when the logical volume name is already in use by another device. A
volume group naming conflict occurs when the volume group major number cannot be reserved in the device
configuration database.
-D Does not remove or recreate the logical volume minor numbers and device special files. If not specified, the
command removes and recreates the logical volume minor numbers and device special files by default.
-F Does not synchronize the device configuration database entries for the physical volumes in the volume group.
If this flag is not specified, the command removes the device configuration database entries for all physical
volumes in the volume group, and recreates those entries based on the information in the volume group
descriptor area by default.
-k Takes the volume group lock when the synclvodm command is running. If this flag is not specified, the volume
group lock is taken only if the parent process does not have the lock.
-K Does not take the volume group lock when the synclvodm command is running. Use this flag when the caller
is a shell script, and is managing the volume group lock in the shell script with the putlvodm -k and -K flags.
The default behavior is to take the volume group lock unless the parent process has the lock.
-P Preserves the permission bits for the special files of logical volume device. The -P flag overrides the -D flag.
The -P flag is ignored for original type volume groups. If this flag is not set, the ownership of the logical volume
special file is set to root, and the group is set to system.
-R Restores the user, group, and permissions for the logical volume device special files to the values previously
set by the mklv and chlv commands using the -U, -G, and -P flags. The -R flag is ignored for original type
volume groups, or when the -D flag is specified.
-v Displays the output from the synclvodm command in verbose mode.
Parameters
VolumeGroup Specifies the volume group.
LogicalVolume Specifies the logical volume.
Files
/usr/sbin/synclvodm Contains the synclvodm command.
Related Information
The varyonvg command and varyoffvg command.
syncvg Command
Purpose
Synchronizes logical volume copies that are not current.
Syntax
syncvg [ -f ] [ -i ] [ -H ] [ -P NumParallelLps ] { -l | -p | -v } Name ...
Description
The syncvg command synchronizes the physical partitions, which are copies of the original physical
partition, that are not current. The syncvg command can be used with logical volumes, physical volumes,
or volume groups, with the Name parameter representing the logical volume name, physical volume name,
or volume group name. The synchronization process can be time consuming, depending on the hardware
characteristics and the amount of data.
When the -f flag is used, a good physical copy is chosen and propagated to all other copies of the logical
partition, whether or not they are stale. Using this flag is necessary in cases where the logical volume
does not have the mirror write consistency recovery.
Unless disabled, the copies within a volume group are synchronized automatically when the volume group
is activated by the varyonvg command.
Note: For the syncvg command to be successful, at least one good copy of the logical volume should be
accessible, and the physical volumes that contains this copy should be in ACTIVE state. If the -f
option is used, the above condition applies to all mirror copies.
If the -P option is not specified, syncvg will check for the NUM_PARALLEL_LPS environment variable.
The value of NUM_PARALLEL_LPS will be used to set the number of logical partitions to be synchronized
in parallel.
Flags
-f Specifies a good physical copy is chosen and propagated to all other copies of the
logical partition, whether or not they are stale.
-H Postpones writes for this volume group on other active concurrent cluster nodes
until this sync operation is complete. When using the -H flag, the -P flag does not
require that all the nodes on the cluster support the -P flag. This flag is ignored if
the volume group is not varied on in concurrent mode.
-i Reads the names from standard input.
-l Specifies that the Name parameter represents a logical volume device name.
When a volume group is varied on in concurrent mode, all other cluster nodes that
have this volume group varied must be at least AIX 4.3.0, otherwise syncvg will
ignore this option and continue.
Note: See Description above for more information.
-v Specifies that the Name parameter represents a volume group device name.
Examples
1. To synchronize the copies on physical volumes hdisk04 and hdisk05, enter:
syncvg -p hdisk04 hdisk05
2. To synchronize the copies on volume groups vg04 and vg05, enter:
syncvg -v vg04 vg05
Files
/usr/sbin/syncvg Contains the syncvg command.
/tmp Directory where the temporary files are stored and while the command is running.
Related Information
The varyonvg command.
The Logical volume storage in Operating system and device management explains the Logical Volume
Manager, physical volumes, logical volumes, volume groups, organization, ensuring data integrity, and
allocation characteristics.
The System management interface tool in Operating system and device management explains the
structure, main menus, and tasks that are done with SMIT.
syscall Command
Purpose
Performs a specified subroutine call.
Syntax
syscall [ -n ] Name [ Argument1 ... ArgumentN ] [ ; Name [ Argument1 ... ArgumentN ] ] ...
Description
The syscall command executes a system call interface program, which performs the subroutine call
specified by the Name parameter. If you specify the -n flag, the syscall command performs the call n
times. Arguments specified by the Argument parameter are passed to the subroutine without error
checking. The Argument parameter can be expressed in the following formats:
The syscall command prints a message and exits for unknown subroutines and for subroutines that return
a value of -1.
Note: The syscall command understands the sleep subroutine as a special case subroutine.
Flags
-n Specifies the number of times the syscall command performs the specified subroutine.
; Separates multiple subroutines (up to a maximum of 20) issued by the same invocation of the syscall
command.
Examples
To simulate the C program fragment:
output=open("x", 401, 0755);
write(output, "hello", strlen("hello"));
enter:
syscall open x 401 0755 \; write \$0 hello \#hello
Files
/usr/bin/syscall Contains the syscall command.
Related Information
The bsh command, Rsh command, csh command, ksh command, sh command.
sysck Command
Purpose
Checks the inventory information during installation and update procedures.
Syntax
sysck { -i | -u } [ -R RootPath ] [ -N ] [ -v ] [ -s SaveFile ] [ -O { r | s | u } ] -f File ProductName
{ tcbck Flags }
Description
Attention: The sysck command DOES NOT support checking files that are greater than 2 gigabytes.
If a product needs to ship a file that is greater than 2 gigabytes, set size and checksum values in
their Fileset.inventory to VOLATILE, so the sysck command will not try to access the file.
Note: All of the tcbck command flags are valid with the sysck command. This feature provides
compatibility with Version 3.1. For more information on the tcbck command and a complete listing of
its flags, refer to AIX 5L Version 5.3 Commands Reference.
The sysck command checks file definitions against the extracted files from the installation and update
media and updates the Software Vital Product Data (SWVPD) database. The sysck command does not
recognize the following special characters in file names: `, ’, \, ″, ^, ( ), |, {}, [], <>,and : . If a file name
contains one of these characters, the sysck command fails.
The sysck command is primarily used during the installation and update of software products.
When invoked with the -i flag, the sysck command checks the attributes of an extracted file with its file
definitions, updates the SWVPD, and attempts to fix some errors if they exist.
The File parameter is the name of the stanza file that contains the file definitions. An example of such a
file is the /etc/security/sysck.cfg file, although the syschk command does not use this file. The sysck
command checks the size, links, symlinks, owner, group, and mode attributes of a file for which the type
attribute is set to FILE. When invoked with the -v flag as well as the -i flag, sysck also checks the
checksum value of a file.
The sysck command updates the file name, product name, type, checksum, and size of each file in the
SWVPD database.
To fix errors, the sysck command resets the attribute of the installed or updated file to the defined value in
the File stanza file, except for some attributes as described in ″Fixing Errors″.
When invoked with the -u flag, the sysck command removes the entry from the SWVPD database for
each file that is part of the software product ProductName. The sysck command also deletes any hard
links and symbolic links for each file, as defined in the SWVPD database.
Flags
-f File Specifies the name of the stanza file that contains the file definitions.
-i Checks for the correct installation of a software product’s files. Updates the SWVPD database
with the file definitions, and attempts to fix some errors if found.
-N Specifies that the SWVPD database should not be updated.
-O {r|s|u} Specifies which part of the SWVPD is to be updated, as follows:
r Specifies the root part of the SWVPD.
s Specifies the /usr/share part of the SWVPD.
u Specifies the /usr part of the SWVPD (default).
Environment Variables
INUTREE The environment variable INUTREE has only the following four valid values:
NULL Same as INUTREE not being set.
M Specifies the root part of the SWVPD.
S Specifies the /usr/share part of the SWVPD.
U Specifies the /usr part of the SWVPD (default).
File Definitions
acl The access control list for the file. If the value is blank, the acl attribute is removed. If no value is
specified, the command computes a value, according to the format described in Access Control Lists.
This attribute should grant x (execute) access only to the root user and members of the security
group. The command should setuid to the root user and have the trusted computing base attribute.
class The logical group of the file. A value must be specified because it cannot be computed. The value is
ClassName [ClassName].
checksum The checksum of the file. If the value is blank, the checksum attribute is removed. If no value is
specified, the command computes a value, according to the format given in the sum command. The
value is the output of the sum -r command, including spaces.
group The file group. If the value is blank, the group attribute is removed. If no value is specified, the
command computes a value, which can be a group ID or a group name.
mode The file mode. If the value is blank, the mode attribute is removed. If no value is specified, the
command computes a value, which can be an octal number or a string (rwx), and have the TCB,
SUID, SGID, and SVTX attributes.
owner The file owner. If the value is blank, the owner attribute is removed. If no value is specified, the
command computes a value, which can be a user ID or a user name.
size The size of the file in bytes. If the value is blank, the size attribute is removed. A VOLATILE value in
the size field indicates that the file size will change (so no checksum value can be given). A NOSIZE
value indicates that the file has 0 length. If no value is specified, the command computes a value,
which is a decimal number.
target Allows symbolic links and hard links to exist as separate stanzas in the inventory. The target file
definition refers to the full path name of the source of the link, for example:
/etc/foo --> /usr/bar
links Creates any missing hard links. If a link exists to another file that is not listed in this definition, the
link is deleted.
program If this attribute is included in the File stanza file, sysck invokes the program. A message is printed if
an error occurs, but no additional action is taken.
symlinks Creates any missing symbolic links. If a link exists to another file that is not listed in this definition,
the link is deleted.
Security
Privilege Control: Only the root user can run this command.
Examples
1. A product that uses the installp command to install ships an inventory file in its image. To add the
definitions to the inventory database and check permissions, links, checksums, etc., enter:
Files
/etc/objrepos/inventory Specifies names and locations of files in a software
product on the root.
/usr/lib/objrepos/inventory Specifies names and locations of files in a software
product on the /usr file system.
/usr/share/lib/objrepos/inventory Specifies names and locations of files in a software
product on the /usr/share file system.
Related Information
The installp command, sum command, tcbck command.
syscorepath Command
Purpose
Specifies a single system-wide directory where all core files of any processes will be dumped.
Description
The syscorepath command enables a system administrator to set up a single system-wide directory in
which to dump core files from any processes. This can ease administrative tasks in managing file-system
space and provides a single, known directory in which to find core files. By default, the core file is created
in the working directory of the process being core-dumped.
The directory should have read and write privileges for all users on the system. If a user does not have
permission to write in the directory, a core file will not be created. Core files will be given unique names
based on the process ID and time, so a core file will be named core.pid.ddhhmmss, where pid is the
process ID, dd is the day of the month, hh is the hour in 24-hour format, mm is minutes, and ss is
seconds.
Note: The settings made by the syscorepath command do not persist across system reboots. However,
the settings made by the chcore command persist across system reboots.
Flags
-c Unsets the current directory specified as the repository for
core files. Subsequent core files will be created in the
working directory of the process.
-g Displays current directory specified as the repository for
core files.
-p DirectoryName Specifies the directory to use as a repository for core files.
DirectoryName must be a valid directory name.
Exit Status
0 The command completed successfully.
>0 An error occurred.
Standard Errors
EPERM
User does not have permission.
ENOTDIR
Specified DirectoryName is not a directory.
ENAMETOOLONG
Specified DirectoryName is too long.
Security
Only the root user can run this command.
Examples
1. To set /core as the repository for core files, type:
syscorepath -p /core
2. To display the current repository for core files, type:
syscorepath -g
3. To unset the directory used as the repository for core files, type:
Files
/usr/bin/syscorepath Contains the syscorepath command.
Related Information
The dbx command, gencore command.
sysdumpdev Command
Purpose
Changes the primary or secondary dump device designation in a running system.
Syntax
sysdumpdev -P { -p Device | -s Device } [ -q ] [ -i ]
sysdumpdev [ -c | -C ] [ -i ]
sysdumpdev -L { -v | -S Device }
Description
The sysdumpdev command changes the primary or secondary dump device designation in a system that
is running. The primary and secondary dump devices are designated in a system configuration object. The
new device designations are in effect until you run the sysdumpdev command again, or until you restart
the system.
If you use no flags with the sysdumpdev command, the dump devices defined in the SWservAt ODM
object class are used. The default primary dump device is /dev/hd6. The default secondary dump device
is /dev/sysdumpnull. If the system has 4 GB or more of memory, then the default dump device is
/dev/lg_dumplv, and /dev/lg_dumplv is a dedicated dump device.
Tips:
v A mirrored paging space might be used as a dump device.
v If you use a paging device, only use hd6, the primary paging device. AIX 4.2.1 or later supports
using any paging device in the root volume group (rootvg) as the secondary dump device.
Important:
v Do not use a diskette drive as your dump device.
v If you use a removable device such as a tape or DVD, be aware that the dump does not
span volumes. thus, the dump must fit on a single volume.
You can use the Devices application in Web-based System Manager (wsm) to run this command.
Notes:
1. The savecore command should be used to copy a compressed dump from the dump device to a
file.
2. The dump compression feature only applies to AIX 4.3.2 and later versions.
3. Dump compression is turned on by default in AIX 5.3.
The primary dump devices must always be in the root volume group for permanent dump devices. The
secondary device may be outside the root volume group unless it is a paging space.
Flags
-c Specifies that dumps will not be compressed. The -c flag applies to only AIX 4.3.2 and later
versions.
-C Specifies that all future dumps will be compressed before they are written to the dump
device. The -C flag applies to only AIX 4.3.2 and later versions. For AIX 5L Version 5.3 with
the 5300-05 Technology Level and later versions, the compression format of dumps is
changed to a new compressed format.
-d Directory Specifies the Directory the dump is copied to at system boot. If the copy fails at boot time,
the -d flag ignores the system dump.
-D Directory Specifies the Directory the dump is copied to at system boot. If the copy fails at boot time,
using the -D flag allows you to copy the dump to an external media.
Note: When using the -d Directory or -D Directory flags, the following error conditions
are detected:
v Directory does not exist.
v Directory is not in the local journaled file system.
v Directory is not in the rootvg volume group.
-e Estimates the size of the dump (in bytes) for the current running system. If the dump will be
compressed, then the size shown is the estimate of the size after compression.
-i Indicates that the sysdumpdev command was called from a system function. This flag is
only used by system utilities. The -i flag will not make the requested change if the effected
value has already been modified by other than an automatic IBM function; that is, the -i flag
will not override a previous change.
-I Resets the indications of previous changes. After the -I flag is specified, changes are allowed
with the -i flag.
-k If your machine has a key mode switch, it is required to be in the service position before a
dump can be forced with the dump key sequences. Prior to AIX 5.3, this restriction also
applies to the reset button.
-K If your machine has a key mode switch, the reset button or the dump key sequences will
force a dump with the key in the normal position, or on a machine without a key mode switch.
Note: On a machine without a key mode switch, a dump can not be forced with the key
sequence without this value set. This is also true of the reset button prior to AIX 5.3.
-l Lists the current value of the primary and secondary dump devices, copy directory, and
forcecopy attribute.
If you do not specify any flag with the sysdumpdev command, the default dump devices are used.
Security
Access Control: Only the root user can run this command.
Examples
1. To display current dump device settings, enter:
sysdumpdev -l
2. To designate logical volume hd7 as the primary dump device, enter:
sysdumpdev -p /dev/hd7
3. To designate tape device rmt0 as the secondary dump device, enter:
sysdumpdev -s /dev/rmt0
4. To display information from the previous dump invocation, enter:
sysdumpdev -L
Note: A nonzero dump status indicates a failed dump. The possible dump status values and their
corresponding light-emitting diode (LED) values are as follows:
sysdumpdev -P -p /dev/newdisk1
6. To determine if a new system dump exists, enter:
sysdumpdev -z
If a system dump has occurred recently, output similar to the following will appear:
4537344 /dev/hd7
7. To specify the directory that a dump is copied to after a system crash, if the dump device is /dev/hd6,
enter:
sysdumpdev -d /tmp/dump
This attempts to copy the dump from /dev/hd6 to /tmp/dump after a system crash. If there is an error
during the copy, the system continues to boot and the dump is lost.
8. To specify the directory that a dump is copied to after a system crash, if the dump device is /dev/hd6,
enter:
sysdumpdev -D /tmp/dump
This attempts to copy the dump from /dev/hd6 to the /tmp/dump directory after a crash. If the copy
fails, you are prompted with a menu. You can copy the dump manually to some external media through
this menu.
9. To scan a dump device for a dump, enter:
sysdumpdev -L -S /dev/hd6
Related Information
The dmpuncompress command, mount command, ping command, savecore command, and the
sysdumpstart command.
System Dump Facility in the AIX 5L Version 5.3 Kernel Extensions and Device Support Programming
Concepts.
For information on installing the Web-based System Manager, see Chapter 2: Installation and System
Requirements in AIX 5L Version 5.3 Web-based System Manager Administration Guide.
sysdumpstart Command
Purpose
Provides a command line interface to start a kernel dump to the primary or secondary dump device.
Syntax
sysdumpstart { -p | -s [ -f ] }
Description
The sysdumpstart command provides a command line interface to start a kernel dump to the primary or
secondary dump device. When the dump completes, the system halts. Use the crash command to
examine a kernel dump. Use the sysdumpdev command to reassign the dump device.
You can use the Web-based System Manager Devices application (wsm devices fast path) to run this
command. You could also use the System Management Interface Tool (SMIT) smit sysdumpstart fast
path to run this command.
Flags
-f Suppresses the prompt to make the secondary dump device ready. This flag does not apply to AIX 4.2.1 or
later.
-p Initiates a system dump and writes the results to the primary dump device.
-s Initiates a system dump and writes the results to the secondary dump device.
Security
Access Control: Only the root user can run this command.
Examples
1. To start a kernel dump to the primary dump device, enter:
sysdumpstart -p
2. To start a kernel dump to the secondary dump device, enter:
sysdumpstart -s
Related Information
System Dump Facility in AIX 5L Version 5.3 Kernel Extensions and Device Support Programming
Concepts.
For information on installing the Web-based System Manager, see Chapter 2: Installation and System
Requirements in AIX 5L Version 5.3 Web-based System Manager Administration Guide.
sysline Command
Purpose
Displays system status on the status line of a terminal.
Description
The sysline command runs in the background and periodically displays system status information on the
status line of the terminal. Not all terminals contain a status line. If no flags are specified, the sysline
command displays the following status items:
v Time of day
v Current number of processes which may be run
v Number of users (followed by a u)
v Number of executable processes (followed by an r)
v Number of suspended processes (followed by an s)
v Number of users who have logged on and off since the last status report
Finally, if new mail has arrived, a summary of it is printed. If there is unread mail in your mailbox, an
asterisk appears after the display of the number of users. The display is normally in reverse video (if your
terminal supports this in the status line) and is right-justified to reduce distraction. Every fifth display is
done in normal video to give the screen a chance to rest.
If you have a file named .who in your home directory, then the contents of that file is printed first. One
common use of this feature is to alias the chdir, pushd, and popd commands to place the current
directory stack in /.who after it changes the new directory.
If you have a file named .syslinelock in your home directory, then the sysline command will not update
its statistics and write on your screen, it will just go to sleep for a minute. This is useful if you want to
momentarily disable sysline. Note that it may take a few seconds from the time the lock file is created
until you are guaranteed that sysline will not write on the screen.
Flags
-b Beeps once every half hour and twice every hour.
-c Clears the status line for five seconds before each redisplay.
-D Prints out the current day/date before the time.
-d Prints status line data in human readable format, debug mode.
-e Prints out only the information. Suppresses the control commands necessary to put the information
on the bottom line. This option is useful for putting the output of the sysline command onto the
mode line of an emacs window.
-H Remote Prints the load average on the remote host Remote. If the host is down, or is not sending rwhod
packets, then the down time is printed instead. If the prefix ucb is present, then it is removed.
-h Prints out the host machine’s name after the time.
-i Prints out the process ID of the sysline command process onto standard output upon startup. With
this information you can send the alarm signal to the sysline process to cause it to update
immediately. The sysline command writes to the standard error, so you can redirect the standard
output into a file to catch the process ID.
-j Left-justifies the sysline command output on terminals capable of cursor movement on the status
line.
-l Suppresses the printing of names of people who log in and out.
-m Suppresses mail check.
+N Updates the status line every N seconds. The default is 60 seconds.
-p Suppresses the report of the number of processes that are executable and suspended.
-q Suppresses the printout diagnostic messages if something goes wrong when starting up.
-r Suppresses reverse video display.
Examples
To display the day and date, the number of processes which may be run, the number of users, and to
clear the screen five seconds before it updates, enter:
sysline -Dcr
Note: This will only work on screens which have status line capabilities.
Files
/etc/utmp Contains the names of users who are logged in.
/dev/kmem Contains the process table.
/var/spool/rwho/whod.* Contains who/Uptime information for remote hosts.
${HOME}/.who Specifies information to print on the bottom line.
${HOME}/.syslinelock Specifies that when it exists, sysline does not print.
Related Information
The pstat command, vmstat command.
syslogd Daemon
Purpose
Logs system messages.
Syntax
syslogd [ -d ] [ -s ] [ -f ConfigurationFile ] [ -m MarkInterval ] [ -r] [ -R ] [ -n ] [ -N ] [ -p LogName ] [
-M all ]
Description
The syslogd daemon reads a datagram socket and sends each message line to a destination described
by the /etc/syslog.conf configuration file. The syslogd daemon reads the configuration file when it is
activated and when it receives a hangup signal.
The syslogd daemon creates the /etc/syslog.pid file, which contains a single line with the command
process ID used to end or reconfigure the syslogd daemon.
A terminate signal sent to the syslogd daemon ends the daemon. The syslogd daemon logs the
end-signal information and terminates immediately.
Each message is one line. A message can contain a priority code, marked by a digit enclosed in < >
(angle braces) at the beginning of the line. Messages longer than 900 bytes may be truncated.
The /usr/include/sys/syslog.h include file defines the facility and priority codes used by the configuration
file. Locally written applications use the definitions contained in the syslog.h file to log messages via the
syslogd daemon.
Flags
-d Turns on debugging.
-f ConfigurationFile Specifies an alternate configuration file.
-m MarkInterval Specifies the number of minutes between the mark command messages. If
you do not use this flag, the mark command sends a message with
LOG_INFO priority sent every 20 minutes. This facility is not enabled by a
selector field containing an * (asterisk), which selects all other facilities.
-M all Specifies not to suppress duplicate messages in logfile. This flag is valid only
if used with the all argument.
-s Specifies to forward a ″shortened″ message to another system (if it is
configured to do so) for all the forwarding syslog messages generated on the
local system.
-r Suppresses logging of messages received from remote hosts.
-R When specified, disables the facility to receive messages from the network
using the internet domain socket.
-n Supresses the ″Message forwarded from <log_host_name>: ″ string added to
the beginning of the syslog message that is forwarded to a remote log host.
-N Suppresses logging of priority and facility information for each log message.
-p Specifies an alternate path name for the UNIX datagram socket.
Configuration File
The configuration file informs the syslogd daemon where to send a system message, depending on the
message’s priority level and the facility that generated it.
If you do not use the -f flag, the syslogd daemon reads the default configuration file, the /etc/syslog.conf
file.
The syslogd daemon ignores blank lines and lines beginning with a number sign (#).
Format
Lines in the configuration file for the syslogd daemon contain a selector field, an action field, and an
optional rotation field, separated by one or more tabs.
The selector field names a facility and a priority level. Separate facility names with a , (comma). Separate
the facility and priority-level portions of the selector field with a . (period). Separate multiple entries in the
same selector field with a ; (semicolon). To select all facilities, use an * (asterisk).
The action field identifies a destination (file, host, or user) to receive the messages. If routed to a remote
host, the remote system will handle the message as indicated in its own configuration file. To display
messages on a user’s terminal, the destination field must contain the name of a valid, logged-in system
user.
The rotation field identifies how rotation is used. If the action field is a file, then rotation can be based on
size or time, or both. One can also compress and/or archive the rotated files.
Facilities
Use the following system facility names in the selector field:
Facility Description
kern Kernel
user User level
mail Mail subsystem
Priority Levels
Use the following message priority levels in the selector field. Messages of the specified priority level and
all levels above it are sent as directed.
emerg Specifies emergency messages (LOG_EMERG). These messages are not distributed to all users.
LOG_EMERG priority messages can be logged into a separate file for reviewing.
alert Specifies important messages (LOG_ALERT), such as a serious hardware error. These messages are
distributed to all users.
crit Specifies critical messages not classified as errors (LOG_CRIT), such as improper login attempts.
LOG_CRIT and higher-priority messages are sent to the system console.
err Specifies messages that represent error conditions (LOG_ERR), such as an unsuccessful disk write.
warning Specifies messages for abnormal, but recoverable, conditions (LOG_WARNING).
notice Specifies important informational messages (LOG_NOTICE). Messages without a priority designation
are mapped into this priority message.
info Specifies informational messages (LOG_INFO). These messages can be discarded, but are useful in
analyzing the system.
debug Specifies debugging messages (LOG_DEBUG). These messages may be discarded.
none Excludes the selected facility. This priority level is useful only if preceded by an entry with an *
(asterisk) in the same selector field.
Destinations
Use the following message destinations in the action field.
Destination Description
File Name Full path name of a file opened in append mode
@Host Host name, preceded by @ (at sign)
User[, User][...] User names
* All users
Rotation
Use the following rotation keywords in the rotation field.
Keyword Description
rotate This keyword must be specified after the action field.
size This keyword specifies that rotation is based on size. It is followed by a number and either a k
(kilobytes) or m(megabytes).
time This keyword specifies that rotation is based on time. It is followed by a number and either a h(hour)
or d(day) or w(week) or m(month) or y(year).
files This keyword specifies the total number of rotated files. It is followed by a number. If not specified,
then there are unlimited number of rotated files.
compress This keyword specifies that the saved rotated files will be compressed.
Examples
1. To log all mail facility messages at the debug level or above to the file /tmp/mailsyslog, enter the
following command:
mail.debug /tmp/mailsyslog
2. To send all system messages except those from the mail facility to a host named rigil, enter the
following command:
*.debug;mail.none @rigil
3. To send messages at the emerg priority level from all facilities, and messages at the crit priority level
and above from the mail and daemon facilities, to users nick and jam, enter the following command:
*.emerg;mail,daemon.crit nick, jam
4. To send all mail facility messages to all users’ terminal screens, enter the following command:
mail.debug *
5. To log all facility messages at the debug level or above to the file /tmp/syslog.out, and have the file
rotated when it gets larger then 500 kilobytes or if a week passes, limit the number of rotated files to
10, use compression and also use /syslogfiles as the archive directory, enter the following command:
*.debug /tmp/syslog.out rotate size 500k time 1w files 10 compress archive /syslogfiles
Files
/etc/syslog.conf Controls the output of syslogd.
/etc/syslog.pid Contains the process ID.
Related Information
The syslog subroutine.
tab Command
Purpose
Changes spaces into tabs.
Syntax
tab [ -e ] [ File ... ]
Description
The tab command reads the file specified by the File parameter or standard input, and replaces spaces in
the input with tab characters wherever the tab command can eliminate one or more spaces. If you specify
a file with the File parameter, the tab command writes the resulting file back to the original file. If the input
is standard input, the tab command writes to standard output. The tab command assumes that tab stops
are set every eight columns, starting with column nine. The file name specified for the File parameter
cannot exceed PATH_MAX-9 bytes in length.
Flag
-e Replaces only those spaces at the beginning of a line up to the first non-space character.
File
/usr/bin/tab Contains the tab command.
Related Information
The expand command, newform command, unexpand command, untab command.
tabs Command
Purpose
Sets tab stops on terminals.
Syntax
tabs [ TabSpec ... ] [ +m [ Number ] ] [ -TTerminal ... ]
Description
The tabs command specifies tab stops on terminals that support remotely settable hardware tab
characters. Tab stops are set according to the TabSpec parameter, and previous settings are erased.
When you use the tabs command, always refer to the leftmost column number as 1, even if your
workstation refers to it as 0.
If you do not specify the TabSpec parameter, the default value is -8.
The following preset formats can be specified for the TabSpec parameter:
-a Sets the tabs to 1, 10, 16, 36, and 72 (IBM System/370 Assembler first format).
-a2 Sets the tabs to 1, 10, 16, 40, and 72 (IBM System/370 Assembler second format).
-c Sets the tabs to 1, 8, 12, 16, 20, and 55 (COBOL normal format).
-c2 Sets the tabs to 1, 6, 10, 14, and 49 (COBOL compact format, columns 1-6 omitted). With this code, the first
column position corresponds to card column 7. One space gets you to column 8, and a tab gets you to column
12. Files using this code should include a format specification of:
<:t-c2 m6 s66 d:>
-c3 Sets the tabs to 1, 6, 10, 14, 18, 22, 26, 30, 34, 38, 42, 46, 50, 54, 58, 62, and 67 (COBOL compact format
with more tabs than -c2). These tabs provide the recommended format for COBOL. Files using this code
should include a format specification of:
<:t-c3 m6 s66 d:>
-f Sets the tabs to 1, 7, 11, 15, 19, and 23 (FORTRAN).
-p Sets the tabs to 1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45, 49, 53, 57, and 61 (PL/I).
-s Sets the tabs to 1, 10, and 55 (SNOBOL).
-u Sets the tabs to 1, 12, 20, and 44.
-Number Sets regularly repeating tabs at every Number column. (The standard
operating system tab setting is -8. The -8 setting is required when using
the nroff command with the -h flag.) Another special case is the -0
setting, which implies no tabs at all. If more than 20 tabs are set, you
must run the tabs command twice to clear them.
Number [ ,Number ] ...
Sets tabs at the specified column numbers (a comma-separated list in
ascending order). You can specify up to 40 numbers. If any number
except the first has a plus-sign prefix, the prefixed number is added to the
previous number for the next setting. Thus, the tab list specified by
1,10,20,30 provides the same tab settings as the tab list specified by
1,10,+10,+10.
-Filep Reads the first line of the Filep file for a format specification. If the tabs
command finds a format specification, the tabs command sets tabs as
specified. If the tabs command does not find a format specification, it sets
tabs to the system default (-8).
It is sometimes convenient to maintain text files with nonstandard tab stop settings (tab stops that are not
set at every eighth column). Such files must be converted to a standard format. This is often done by
replacing all tab characters with the appropriate number of space characters, before they can be
processed by any commands. A format specification occurring in the first line of a text file specifies how
tab characters are to be expanded in the remainder of the file.
A format specification consists of a sequence of parameters separated by blanks and surrounded by <:
and :>. Each parameter consists of a letter key, possibly followed immediately by a value. The following
parameters are recognized:
ssize Specifies a maximum line size. The value of size must be an integer. Size checking is performed after
tab characters have been expanded, but before the margin is adjusted.
mmargin Specifies the number of space characters to be added to the beginning of each line. The value of
margin must be an integer.
d Indicates that the line containing the format specification is to be deleted from the converted file. The d
parameter takes no value.
e Indicates that the current format is valid only until another format specification is encountered in the file.
The e parameter takes no value.
If a format specification can be disguised as a comment, it is not necessary to code the d parameter.
Flags
-TTerminal Identifies the terminal so the tabs command can set tabs and margins correctly. The Terminal
variable is one of the terminals specified in the greek command. Supported values for the
Terminal variable include:
ANSI Any ANSI terminal, such as a VT100 terminal.
hp Hewlett-Packard hardcopy terminals.
2621 Hewlett-Packard 2621.
2640 Hewlett-Packard 2640.
2645 Hewlett-Packard 2645.
If you do not provide the -T flag, the value of the environment variable TERM is used. If the -T
flag is provided with no value or if -T and TERM have invalid values, the error message unknown
terminal is displayed and the command terminates.
+m Number Moves all tabs to the right the number of columns specified by the Number variable. This flag
also sets the left margin to the column specified by the Number variable. If m is specified without
a value, the default value for the Number variable is 10. The leftmost margin on most
workstations is defined by +m0. The first column for tabs is defined as column 0 not column 1.
Note: If the same flag occurs more than once, only the last flag takes effect.
0 Successful completion.
>0 An error occurred.
Examples
1. To set tabs every four spaces, enter:
tabs -4
2. To set tabs every ten spaces on a VT100 terminal, enter:
tabs -10 -TANSI
File
/usr/bin/tabs Contains the tabs command.
Related Information
The greek command, nroff command, troff command.
tail Command
Purpose
Displays the last few lines of a file.
Syntax
Standard Syntax
tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]
Description
The tail command writes the file specified by the File parameter to standard output beginning at a
specified point. If no file is specified, standard input is used. The Number variable specifies how many
units to write to standard output. The value for the Number variable can be a positive or negative integer.
If the value is preceded by + (plus sign), the file is written to standard output starting at the specified
number of units from the beginning of the file. If the value is preceded by - (minus sign), the file is written
to standard output starting at the specified number of units from the end of the file. If the value is not
preceded by + (plus sign) or - (minus sign), the file is read starting at the specified number of units from
the end of the file.
The type of unit used by the Number variable to determine the starting point for the count is determined by
the -b, -c, -k, -m, or -n flag. If one of these flags is not specified, the tail command reads the last ten lines
of the specified file and writes them to standard output. This is the same as entering -n 10 at the
command line.
The -m flag provides consistent results in both single- and double-byte character environments. The -c flag
should be used with caution when the input is a text file containing multibyte characters, because output
can be produced that does not start on a character boundary.
Exit Status
This command returns the following exit values:
0 Successful completion.
>0 An error occurred.
Examples
1. To display the last 10 lines of the notes file, enter:
tail notes
2. To specify the number of lines to start reading from the end of the notes file, enter:
tail -n 20 notes
3. To display the notes file a page at a time, beginning with the 200th byte, enter:
tail -f accounts
This displays the last 10 lines of the accounts file. The tail command continues to display lines as they
are added to the accounts file. The display continues until you press the Ctrl-C key sequence to stop
it.
File
/usr/bin/tail Contains the tail command.
Related Information
The dd command, head command, more command, pg command.
Files in Operating system and device management describes files, file types, and how to name files.
talk Command
Purpose
Converse with another user.
Syntax
talk {User | User@Host | Host!User | Host.User | Host:User } [ Tty ] [ Pty ]
Description
The /usr/bin/talk command allows two users on the same host or on different hosts to have an interactive
conversation. The talk command opens both a send window and a receive window on each user’s display.
Each user is then able to type into the send window while the talk command displays what the other user
is typing.
To initiate a conversation, a local user executes the talk command and specifies a remote user’s login ID.
The remote user’s login ID can contain NLS characters. If the remote user is on a remote host, the name
of the host must also be specified in one of the following ways:
User@Host
Host!User
Host.User
Host:User
When using full domain names, the only valid form for specifying the user and host is User@Host. For
example, michael@host17.dev.ibm.com initiates a conversation with user michael at host host17 in the
dev.ibm.com domain.
When the local user initiates the conversation, a message is sent to the remote user, inviting a
conversation. If the local user also specifies tty, the invitation message is sent only to the specified
terminal. Otherwise, the invitation is sent to the remote user’s login terminal. This usually is the console,
but it may be another terminal. Once this invitation is received, the talk command displays two windows
on the local user’s terminal and displays progress messages until the remote user responds to the
invitation.
Note: If the remote user is running AIXwindows and has no other terminals open, the talk command
cannot send an invitation.
To have the conversation, the remote user also has to execute the talk command from any terminal and
specify the local user’s account name and host name, if appropriate. When the remote user accepts the
invitation, the talk command displays two windows on each user’s terminal. One window displays what is
typed by the local user; the other window displays what is typed by the remote user. To end the
conversation, either user can press the Interrupt (Ctrl-C) key sequence and the connection is closed. The
Interrupt key sequence can be displayed and modified using the stty command.
If the users involved in the conversation are using National Language Support (NLS) capabilities, their
terminals must support the printing of NLS characters. The same is true for conversations using Kanji
capabilities; the terminals being used must support the printing of Kanji characters.
The talk command requires a valid address to which to bind. The host name of the remote machine must
be bound to a working network interface, which is usable by other network commands, such as the ping
command. If a machine has no network interface, that is a standalone machine, it must bind its host name
To disallow talk command invitations, the remote user can issue the mesg command.
Note: The talk command uses the Talk 4.3 protocol, which is not compatible with AIX 4.2 versions of
the talk command.
Examples
1. To talk to a user logged in on a remote host, enter:
talk dale@host2
In this example, the local user wants to talk with user dale who is logged in on host2.
2. To talk to a user only if that user is logged in on the console of a remote host, enter:
talk dale@host2 console
User dale receives this message only if logged in on the console at host2.
Related Information
The mesg command, stty command.
talkd Daemon
Purpose
Provides the server function for the talk command.
Syntax
/usr/sbin/talkd [ -s ]
Description
Note: The talkd daemon is normally started by the inetd daemon. It can also be controlled from the
command line, using SRC commands.
The /usr/sbin/talkd daemon is the server that notifies a user (the recipient) that another user (the caller)
wants to initiate a conversation. The daemon sets up the conversation if the recipient accepts the
invitation. The caller initiates the conversation by executing the talk command specifying the recipient. The
recipient accepts the invitation by executing the talk command specifying the caller.
The talkd daemon listens at the socket defined in the /etc/services file. When the talkd daemon receives
a LOOK_UP request from a local or remote talk process, the talkd daemon scans its internal invitation
table for an entry that pairs the client process (the local or remote talk process) with a caller.
Otherwise, the invitation is sent to the terminal that the second user first logged in to. This usually is the
console, but it may be another terminal.
If an entry does exist in the talkd daemon’s internal invitation table, the talkd daemon assumes that the
client is the recipient. The talkd daemon returns the appropriate rendezvous address to the talk process
for the recipient. The recipient process then establishes a stream connection with the caller process.
Note: The talkd daemon uses the Talk 4.3 protocol, which is not compatible with AIX 4.2 versions of
the talk process. The subserver name for the AIX 4.3 protocol is ntalk.
Changes to the talkd daemon can be made using the System Management Interface Tool (SMIT) or
System Resource Controller (SRC), by editing the /etc/inetd.conf or /etc/services file. Entering talkd at
the command line is not recommended. The talkd daemon is started by default when it is uncommented in
the /etc/inetd.conf file.
The inetd daemon get its information from the /etc/inetd.conf file and the /etc/services file.
After changing the /etc/inetd.conf or /etc/services file, run the refresh -s inetd or kill -1 InetdPID
command to inform the inetd daemon of the changes to its configuration file.
Note: The talkd daemon should be controlled using the System Management Interface Tool (SMIT)
or by changing the /etc/inetd.conf file.
Flags
-s Turns on socket-level debugging.
Examples
1. To start the talkd daemon, enter the following:
startsrc -t ntalk
stopsrc -t ntalk
stopsrc -t -f ntalk
This command terminates all pending connections and existing connections immediately.
4. To display a short status report about the talkd daemon, enter the following:
lssrc -t ntalk
This command returns the daemon’s name, process ID, and state (active or inactive).
Files
Related Information
The kill command, lssrc command, refresh command, startsrc command, stopsrc command, talk
command.
tapechk Command
Purpose
Performs consistency checking on the streaming tape device.
Syntax
tapechk [ -? ] Number1 Number2
Description
The tapechk command performs rudimentary consistency checking on an attached streaming tape device.
Some hardware malfunctions of a streaming tape drive can be detected by simply reading a tape. The
tapechk command provides a way to perform tape reads at the file level.
Because the streaming tape drive cannot backspace over physical data blocks or files, the tapechk
command rewinds the tape to its starting position prior to each check. This command either checks data
for the next number of files specified by the Number1 parameter or skips the next number of files specified
by the Number2 parameter. If you do not specify any parameters, the tapechk command rewinds the tape
and checks only the first physical block.
The tapechk command uses the device in the TAPE environment variable if it is defined. Otherwise, the
default tape device is /dev/rmt0.
Although you can use the tapechk command on any streaming tape cartridge, it is primarily designed for
checking tapes written by the backup command.
Flag
-? Explains the format of the tapechk command.
Note: If you specify the -? flag, it must be specified before the Number1 and Number2 parameters.
Exit Status
This command returns the following exit values:
0 Successful completion.
>0 An error occurred.
Example
To check the first three files on a streaming tape device, enter:
tapechk 3
File
/usr/sbin/tapechk Contains the tapechk command.
Related Information
The backup command.
tar Command
Purpose
Manipulates archives.
Syntax
X/Open Standards:
Berkeley Standards:
Description
Attention: Because of limitations on header block space in the tar command, user numbers (UIDs), and
group identification numbers (GIDs) larger than 65,535 will be corrupted when restored to certain systems.
The size constraint affects only the ownership and permissions causing no damage to the data. Corruption
of the ownership occurs on the following systems:
v Those that do not use uname and gname fields to check ownership.
v Those that do not have the same user and group IDs as the archiving system.
Notes:
1. The ustar header format allows for file sizes to be as large as 8 GB. Therefore, the tar command is
enabled to archive files of up to 8 GB in size.
2. tar does not preserve the sparse nature of any file that is sparsely allocated. Any file that was
originally sparse before the restoration will have all space allocated within the filesystem for the size of
the file.
The tar command manipulates archives by writing files to, or retrieving files from an archive storage
medium. The files used by the tar command are represented by the File parameter. If the File parameter
refers to a directory, then that directory and recursively all files and directories within it are referenced as
well.
The tar command looks for archives on the default device (usually tape), unless you specify another
device with the -f Archive flag. When specifying path names that are greater than 100 characters for the
United States Tape Archiver (USTAR) format, remember that the path name is composed of a prefix buffer,
a / (slash), and a name buffer.
The prefix buffer can be a maximum of 155 bytes and the name buffer can hold a maximum of 100 bytes.
If the path name cannot be split into these two parts by a slash, it cannot be archived. This limitation is
due to the structure of the tar archive headers, and must be maintained for compliance with standards and
backwards compatibility. In addition, the length of a destination for a hard or symbolic link ( the ’link name’)
cannot exceed 100 bytes.
When writing to an archive, the tar command uses a temporary file (the /tmp/tar* file) and maintains in
memory a table of files with several links. You receive an error message if the tar command cannot create
the temporary file, or if there is not enough memory available to hold the link tables.
Two groups of flags exist for the tar command: the required flags and the optional flags. The required flags
control the actions of the tar command and include the -c, -r, -t, -u, and -x flags. At least one required flag
must be selected for the tar command to function. Having selected a required flag, you can select an
optional flag but none are necessary to control the tar command.
Notes:
1. When the storage device is an ordinary file or a block special file, the -u and -r flags backspace.
However, raw magnetic tape devices do not support backspacing. So when the storage device is a raw
magnetic tape, the -u and -r flags rewind the tape, open it, and then read it again.
2. Records are one block long on block magnetic tape, but they are typically less than half as dense on
raw magnetic tape. As a result, although a blocked raw tape must be read twice, the total amount of
tape motion is less than when reading one-block records from a block magnetic tape once.
3. The structure of a streaming tape device does not support the addition of information at the end of a
tape. Consequently when the storage device is a streaming tape, the -u and -r flags are not valid
options. An attempt to use these flags results in the following error message:
For more information on using tape devices see the rmt special file.
Flags
Flags for the tar command are in two groups, the required and the optional. You must supply at least one
required flag to control the tar command.
Required Flags
-c Creates a new archive and writes the files specified by one or more File parameters to
the beginning of the archive.
-r Writes the files specified by one or more File parameters to the end of the archive. This
flag is not valid for any tape devices because such devices do not support the addition of
information at the end of a tape.
-t Lists the files in the order in which they appear in the archive. Files can be listed more
than once.
-u Adds the files specified by one or more File parameters to the end of the archive only if
the files are not in the archive already, or if they have been modified since being written
to the archive. The -u flag is not valid for any tape devices because such devices do not
support the addition of information at the end of a tape.
-U Allows archival and extraction of Extended Attributes. The Extended Attributes include
Access control list (ACL) also.
-x Extracts the files specified by one or more File parameters from the archive. If the File
parameter refers to a directory, the tar command recursively extracts that directory from
the archive. If you do not specify the File parameter, the tar command extracts all of the
files from the archive. When an archive contains multiple copies of the same file, the last
copy extracted overwrites all previously extracted copies. If the file being extracted does
not already exist on the system, the file is created. If you have the proper permissions,
the tar command restores all files and directories with the same owner and group IDs as
they have on the tape. If you do not have the proper permissions, the files and directories
are restored with your owner and group IDs. It is not possible to ask for any occurrence
of a file other than the last.
Optional Flags
-B Forces input and output blocking to 20 blocks per record. With this option, the tar
command can work across communications channels where blocking may not be
maintained.
-b Blocks Specifies the number of 512 bytes blocks per record. Both the default and the maximum
is 20, which is appropriate for tape records. Due to the size of interrecord gaps, tapes
written with large blocking factors can hold much more data than tapes with only one
block per record.
The block size is determined automatically when tapes are read (the -x or -t function
flags). When archives are updated with the -u and -r functions, the existing record size is
used. The tar command writes archives using the specified value of the Blocks parameter
only when creating new archives with the -c flag.
For output to ordinary files with the -f flag, you can save disk space by using a blocking
factor that matches the size of disk blocks (for example, the -b4 flag for 2048-byte disk
blocks).
The -CDirectory flag must appear after all other flags and can appear in the list of file
names given.
-D Suppress recursive processing when directories are specified.
-d Makes separate entries for block files, special character files, and first-in-first-out (FIFO)
piped processes. Normally, the tar command will not archive these special files. When
writing to an archive with the -d flag, the tar command makes it possible to restore empty
directories, special files, and first-in-first-out (FIFO) piped processes with the -x flag.
Note: Although anyone can archive special files, only a user with root user authority can
extract them from an archive (FIFO can also be extracted by non-root users).
-E Avoids truncation of the long user and group names during addition of files to new or
existing archive.
-F Checks the file type before archiving. Source Code Control Systems (SCCS), Revision
Control Systems (RCS), files named core, errs, a.out, and files ending in .o (dot o) are
not archived.
-f Archive Uses the Archive variable as the archive to be read or written. When this flag is not
specified, the tar command uses a system-dependent default file name of the form
/dev/rmt0. If the Archive variable specified is - (minus sign), the tar command writes to
standard output or reads from standard input. If you write to standard output, the -c flag
must be used.
-h Forces the tar command to follow symbolic links as if they were normal files or
directories. Normally, the tar command does not follow symbolic links.
-i Ignores header checksum errors. The tar command writes a file header containing a
checksum for each file in the archive. When this flag is not specified, the system verifies
the contents of the header blocks by recomputing the checksum and stops with a
directory checksum error when a mismatch occurs. When this flag is specified, the tar
command logs the error and then scans forward until it finds a valid header block. This
permits restoring files from later volumes of a multi-volume archive without reading earlier
volumes.
-L InputList The Inputlist argument to the -L option should always be the name of the file that lists the
files and directories that need to be archived or extracted.
-l Writes an error message to standard output for each file with a link count greater than 1
whose corresponding links were not also archived. For example, if file1 and file2 are
hard-linked together and only file1 is placed on the archive, then the -l flag will issue an
error message. Error messages are not displayed if the -l flag is not specified.
-m Uses the time of extraction as the modification time. The default is to preserve the
modification time of the files.
-N Blocks Allows the tar command to use very large clusters of blocks when it deals with streaming
tape archives. Note however, that on input, the tar command cannot automatically
determine the block size of tapes with very long block sizes created with this flag. In the
absence of a -N Blocks flag, the largest block size that the tar command can
automatically determine is 20 blocks.
-o Provides backwards compatibility with older versions (non-AIX) of the tar command.
When this flag is used for reading, it causes the extracted file to take on the User and
Group ID (UID and GID) of the user running the program, rather than those on the
archive. This is the default behavior for the ordinary user.
-p Restores fields to their original modes, ignoring the present umask. The setuid, setgid,
and tacky bit permissions are also restored to the user with root user authority. This flag
restores files to their original mode but does not restore directories to their original mode.
-R Use recursion when directories are specified. Ignored when used with the-D option.
-s Tries to create a symbolic link If the tar command is unsuccessful in its attempt to link
(regular link) two files with the -s flag.
Exit Status
This command returns the following exit values:
0 Successful completion.
>0 An error occurred.
Examples
1. To write the file1 and file2 files to a new archive on the default tape drive, enter:
Note: When specifying multiple instances of the -C flag with relative path names, the user must take
the previous -C flag request into account.
7. To archive to an 8-mm device when using the -S flag, enter:
tar -cvf /dev/rmt0 -S 4800000b /usr
Note: When archiving to an 8-mm device, the -S Feet and -S Feet@Density flags are not
recommended, since the 8-mm device does not use the concept of density when writing to a
tape.
8. To archive a list of all C files that is listed in the file through the InputList argument of the -L option,
enter:
tar -cvf fl.tar -L fl_list
Where fl_list is a file consisting a list of all .c files in it. This can be obtained as follows:
ls *.c > fl_list
9. To archive a list of all C files by setting a variable using the -L option, enter:
ls *.c > fl_list
fl=fl_list
tar -cvf var.tar -L $fl
10. To avoid the truncation of long user or group names during creation of the archive, enter:
tar -cvEf file.tar file
11. To create a new archive file that contains the file1 file with ACL and EA, enter:
tar -cvUf /tmp/tar.ar file1
Berkeley Options
The following are examples of the Berkeley options using the tar command:
Note: With Berkeley options the arguments to the flags should be given in exact order in which the flags
are given below. For example:
tar cvfbL test.tar 20 infile
where test.tar is archive tar file, 20 is number of blocks, and infile is Inputlist for the archive.
1. To archive all directories and complete filenames listed in input list file infile into ar.tar, enter :
tar cvfL ar.tar infile
Note: In AIX 3.2, the entire /bin directory is a symbolic link to /usr/bin.
Related Information
The cat command, dd command, pax command.
File systems in Operating system and device management explains file system types, management,
structure, and maintenance.
Directory Overview in Operating system and device management explains working with directories and
path names.
Files in Operating system and device management provides information on working with files.
tbl Command
Purpose
Formats tables for the nroff and troff commands.
Syntax
tbl [ -TX ] [ — ] [ File... | - ]
Description
The tbl command is a preprocessor that formats tables for the nroff and troff commands. It reads one or
more files. If no File parameter or - (minus sign) is specified as the last parameter, the command reads
standard input by default. It copies the input unchanged to standard output, except for text between lines
containing .TS and .TE. The tbl command reformats such text, which describes tables, without altering the
.TS and .TE lines.
Depending on the target output device, the output formatted by the nroff command may need to be
post-processed by the col command to produce correct output.
Note: To minimize the volume of data passed through pipelines, enter the tbl command first when using it
with the eqn or neqn command.
Input Format
The tbl command processes text that is displayed within the following format:
[ {.DS .DF} ]
.TS
Options ;
Format .
Data
.TE
[.DE]
Options
Following are the available global options for the input format:
Option Purpose
center or CENTER Centers the line.
expand or EXPAND Expands to line length.
box or BOX Encloses in a box.
allbox or ALLBOX Boxes all entries.
doublebox or DOUBLEBOX Encloses in two boxes.
tab(Character) or TAB(Character) Changes the tab character to the Character value.
linesize(Number) or LINESIZE(Number) Makes all lines the thickness of the point size specified by
the Number value.
delim(XY) or DELIM(XY) Recognizes the X and Y variables as eqn command
delimiters.
; Denotes end of options.
Format
The Format variable in the Input Format describes the format of text. Each format line (the last of which
must end with a period) describes all remaining lines of the table. A single-key letter describes each
column of each line of the table. Follow this key letter with specifiers that determine the font and point size
of the corresponding item, indicate where vertical bars are to displayed between columns, and determine
such things as column width and intercolumn spacing. The following are the available key letters:
l or L Left-adjusts column.
r or R Right-adjusts column.
c or C Centers column.
n or N Numerically aligns column.
Note: Numerically aligned data, n or N format specification, are
based upon the locale that is specific for RADIXCHAR, which is
assumed to be a single character. The alignment can also be
determined using the \& (backslash, ampersand) character sequence
independent of the presence of any RADIXCHAR characters. If more
than one RADIXCHAR character is displayed in a numerically aligned
field, the last one is used for alignment. If no RADIXCHAR characters
are displayed in a particular column, the alignment is based on the
last ASCII arabic numeral. If there is no ASCII numeral and no
RADIXCHAR character in a column, the data is centered.
a or A Left-adjusts subcolumn.
s or S Spans item horizontally.
t or T Pushes vertical spans to top.
v or V Adjusts vertical line spacing.
^ Spans item vertically.
u or U Moves item half-line up.
z or Z Indicates zero-width item.
- Indicates horizontal line.
= Indicates double horizontal line.
| Indicates vertical line.
|| Indicates double vertical line.
b or B Indicates boldface item.
i or I Indicates italic item.
Data
Handling data within the input format, especially for tables, uses the following line commands:
Data<TAB>T{
Text Block
T}<TAB>Data
\_ Writes short horizontal line.
\RX Repeats the X parameter value across a column.
\^ Indicates that the item listed previously spans downward into this row.
.T& Starts new format.
.TS H, .TH, and .TE Allows multi-page tables with column headings repeated on each page. (This is
a feature of the mm macros.)
Parameters
File Specifies the files that the tbl command will be processing.
Flags
-TX Uses only full vertical line motions, making the output suitable for line printers and other devices that
do not have partial vertical line motions.
— (double dash) Indicates the end of flags.
- Forces input to be read from standard input.
Examples
The following example shows coded input, and associated table output of the tbl command. The @ (at
sign) is used in input to represent an input tab character.
Input
.TS
center box ;
cB s s
cI | cI s
^ | c c
l | n n .
Household Population
_
Town@Households
@Number@Size
=
Bedminster@789@3.26
Bernards Twp.@3087@3.74
Related Information
The col command, eqn command, mm command, mmt command, mvt command, neqn command, nroff
command, soelim command, troff command.
tc Command
Purpose
Interprets text into the troff command output for the Tektronix 4015 system.
Syntax
tc [ -t ] [ -e ] [ -a Number ] [ -o List | -s Number ] [ — ] [ File | - ]
Description
The tc command interprets input as output from the troff command. The tc command reads one or more
English-language files. If no file is specified or the - (minus sign) flag is specified as the last parameter,
standard input is read by default. The standard output of the tc command is intended for a Tektronix 4015
(a 4014 terminal with ASCII and APL character sets). The various typesetter sizes are mapped into the
4014’s four sizes. The entire troff command character set is drawn using the 4014 character generator,
with overstruck combinations where necessary.
At the end of each page, the tc command waits for a new-line character from the keyboard before
continuing to the next page. While it waits, the following commands are recognized:
Parameters
File Specifies the English-language text files to be interpreted as output from the troff command.
Flags
-a Number Sets the aspect ratio to the specified number. The default is 1.5.
-e Does not erase before each page.
-o List Prints only the pages enumerated in the List variable. The list consists of pages and page ranges
(for example, 5-17) separated by commas. The range Number- goes from the Number variable
value to end; the range -Number goes from the beginning to and including the page specified by
the Number variable.
-s Number Skips the first specified number of pages.
Example
To use the tc command in a pipeline with the troff command, enter:
troff [Flag...] [File...] | tc
Related Information
The nroff command, troff command.
tcbck Command
Purpose
Audits the security state of the system.
Syntax
Check Mode
tcbck { -n | -p | -t| -y } [ -i ] [-o] { ALL | tree | { Name ... Class ... } }
Update Mode
tcbck -a -f File | PathName Attribute = Value ...
OR
OR
Description
The tcbck command audits the security state of the system by checking the installation of the files defined
in the /etc/security/sysck.cfg file (the sysck database). Each file definition in the /etc/security/sysck.cfg
file can include one or more attributes that describe proper installation. When invoked with no flags and
with no parameters, the tcbck command prints a synopsis of its syntax.
The tcbck database usually defines all the files and programs that are part of the trusted computing base,
but the root user or a member of the security group can choose to define only those files considered to be
security-relevant.
Flags
-a Adds or updates file definitions in the sysck database.
-d Deletes file definitions from the sysck database.
-f File Specifies that file definitions be read from File.
-i Excludes filesystems under directories listed in the treeck_nodir attribute when the tree option is
specified.
Modes of Operation
The tcbck command has two modes of operation: check mode and update mode. A description of each
mode follows.
Check Mode
In check mode, the tcbck command checks file definitions against the installed files. You can check all the
file definitions in the sysck database (the /etc/security/sysck.cfg file) by specifying the ALL value, or all
the files in the file system tree by specifying the tree value. If you prefer to check specific files, you can
use the Name parameter to give the path names of individual files or the Class parameter to group several
files into a logical group that is defined by a class name, such as audit. You must select one of the
following: the ALL or tree values, or one or more files identified by the Class or Name parameter.
If the tree value is the selection criterion, all the files in the file system tree are checked to ensure that all
the relevant files are defined in the sysck database. Files defined in the tcbck database are checked
against their definitions. Files not in the tcbck database must not:
v Have the trusted computing base attribute set.
v Be setuid or setgid to an administrative ID.
v Be linked to a file in thetcbck database.
v Be a device special file.
If the tcbck command is running in check mode with both the tree value and the -t flag and an error
occurs, the command provides an error message and prompts you for a decision on how or whether the
error should be corrected. If you decide not to delete the file or turn off illegal permissions, you are
prompted for a decision on updating the database. If you request an update, the system supplies missing
information, such as the name of the file, the link, or the unregistered device name.
A flag ( -n, -p, -t, -y ) also must be included to specify check mode and identify the method of error
handling. If there is a duplicate stanza in the /etc/security/sysck.cfg file, an error is reported, but not
fixed.
Updating the Vital Product Database (VPD) involves defining the type, checksum, and size attributes of
each file to the VPD manager. This information is used to verify a correct installation. If these attributes are
not defined in -f File, they are computed when the program is installed or updated. The checksum
attribute is computed with a method specifically defined for the VPD manager. Refer to “Fixing Errors” on
page 322 for more information on file attributes.
The only file definitions modified during an update are the new definitions that indicate a file is part of the
trusted computing base (TCB). The File parameter is the stanza file that contains the file definitions in
tcbck format, and is defined in the /etc/security/sysck.cfg file. When the update is complete, the files are
checked against their file definitions in the stanza file and errors are fixed and reported.
Programs that require setuid or setgid privilege must be in the tcbck database, or these privileges will be
cleared when the tcbck command runs in Check mode.
In update mode, the tcbck command (-l) adds or modifies /dev/ entry definitions in the
/etc/security/sysck.cfg file for the specified /dev entry. This flag should be run by the administrator to add
newly created devices that are trusted to the sysck.cfg file. If new devices are not added to the sysck.cfg
file, the tree option produces warnings of unregistered devices.
The -l flag creates a stanza for each /dev/ entry listed on the command line. The information for the
stanza is taken from the current status of the /dev entry. The stanza includes:
File definitions to be added or modified with the -a flag can be specified on the command line or in a file
as Attribute=Value statements. The following attributes can be used:
acl The access control list for the file. If the value is blank, the acl attribute is removed. If no value is
specified, the command computes a value, according to the format described in Access Control Lists.
class The logical group of the file. A value must be specified, because it cannot be computed. If the value
is blank, the class attribute is removed from the specified file stanza. The value is ClassName
[ClassName].
checksum The checksum of the file. If the value is blank, the checksum attribute is removed. If no value is
specified, the command computes a value, according to the format given in the sum command. The
value is the output of the sum -r command, including spaces.
group The file group. If the value is blank, the group attribute is removed. If no value is specified, the
command computes a value, which can be a group ID or a group name.
links The hard links to this file. If the value is blank, the links attribute is removed. A value must be
specified, because it cannot be computed. The value must be an absolute path name, expressed as
Path [,Path ...].
mode The File mode. If the value is blank, the mode attribute is removed. If no value is specified, the
command computes a value, which can be an octal number or string (rwx), and have the tcb, SUID,
SGID, and SVTX attributes.
owner The file owner. If the value is blank, the owner attribute is removed. If no value is specified, the
command computes a value, which can be a user ID or a user name.
program The associated checking program for the file. If the value is blank, the program attribute is removed.
A value must be specified, because it cannot be computed. The value must be an absolute path
name. If flags are specified, the value should be expressed as Path, Flag.
symlinks The symbolic links to the file. If the value is blank, the symlinks attribute is removed. A value must
be specified, because it cannot be computed. The value must be an absolute path name, expressed
as Path [,Path..].
size The size of the file in bytes. If the value is blank, the size attribute is removed. If no value is
specified, the command computes a value. The value is a decimal number.
source The source for the file. If the value is blank, the source attribute is removed. If no value is specified,
an empty file of the appropriate type is created. The value must be an absolute path name.
type The type of file. This value cannot be blank. If no value is specified, the command computes a value,
which can be the FILE, DIRECTORY, FIFO, BLK_DEV, CHAR_DEV, or MPX_DEV keywords.
checksum An alternate checksum command to compute the checksum value of files. The system
appends the name of each file to the command. If the value is blank, this alternate
checksum attribute is removed. The value is the command string to be run on each file. The
default string is /usr/bin/sum -r <.
setgids An additional list of administrative groups to be checked for setgid programs that are not
valid (groups with ID numbers greater than 200). If the value is blank, the setgids attribute is
removed. The value is a comma separated list of group names.
setuids An additional list of administrative users to be checked for setuid programs that are not valid
(users with ID numbers greater than 200). If the value is blank, the setuids attribute is
removed. The value is a comma separated list of user names.
treeck_nodir A list of directories to be excluded from verification by the tcbck command. If the value is
blank, the treeck_nodir attribute is removed. The value is a comma separated list of
directories. File systems that exist under directories contained in this attribute are not
excluded. Use the -i flag to exclude these file systems.
Refer to the /etc/security/sysck.cfg file for more information about these attributes and “Examples” on
page 323 for information about a typical stanza.
If Attributes are included without values, the command tries to compute the value from the file to be
changed. The type attribute is mandatory, but the others do not need to be specified.
Fixing Errors
To fix errors, the tcbck command usually resets the attribute to the defined value. For the following
attributes, the command modifies its actions as described:
checksum Disables the file by clearing its access control list, but does not stop any further checks.
links Creates any missing hard links. If a link exists to another file, the link is deleted.
program Invokes the program, which must exist and have an absolute path name. A message is printed if an
error occurs, but no additional action is taken.
size Disables the file by clearing its access control list, but does not stop any further checks.
source Copies the source file to the file identified by the File parameter. If the source is null, any existing file
is deleted and a file of the correct type is created.
symlinks Creates any missing symbolic links. If a link exists to another file, the link is deleted.
type Disables the file by clearing its access control list, and stops any further checks.
If you used the -t flag with the tcbck command, you are prompted for a decision on fixing errors. If you
answer yes, errors are fixed. If you give any other response, errors are not fixed.
Security
Access Control: This command grants execute (x) access only to the root user and members of the
security group. The command should be setuid to the root user and have the trusted computing base
attribute.
Mode File
r /etc/passwd
r /etc/group
r /etc/security/user
rw /etc/security/sysck.cfg
x /usr/bin/aclget
x /usr/bin/aclput
x /usr/bin/sum
Auditing Events:
Event Information
TCBCK_Check file, error, status
TCBCK_Update file, function
Examples
1. To add the /bin/boo file with acl, checksum, class, group, owner, and program attributes to the
tcbck database, type:
tcbck -a /bin/boo acl checksum class=audit group owner\
program=/bin/boock
The resulting stanza will contain the attributes given previously, with computed values inserted for
those attributes you do not define. The database will contain a stanza like the following:
/bin/boo:
acl =
checksum = 48235
class = audit
group = system
owner = root
program = /bin/boock
type = FILE
The attribute values are added to the installation definition but are not checked for correctness. The
program attribute value comes from the command line, the checksum attribute value is computed
with the checksum program, and all the others, except acl, are computed from the file i-node.
2. To indicate that the size of a file should be checked but not added to the database, because it can
expand during installation, use the VOLATILE keyword, as in the following example for the
/etc/passwd file:
/etc/passwd:
type = FILE
owner = root
group = system
size = 1234,VOLATILE
3. To delete the /bin/boo file definition from the tcbck database, type:
tcbck -d /bin/boo
4. To delete all definitions with a class of audit from the tcbck database, type:
tcbck -d audit
5. To check all the files in the tcbck database, and fix and report all errors, type:
tcbck -y ALL
Note: By adding these entries you are registering them as part of the Trusted computing base.
Attention: Although the special characters ″$″ and ″?″ are allowed in this routine, using them in
filenames may result in potential problems such as ambiguous files.
Files
/usr/bin/tcbck Specifies the path to the tcbck command.
/etc/security/sysck.cfg Specifies the path to the system configuration database.
Related Information
The aclget command, grpck command, installp command, pwdck command, sum command, usrck
command.
The Software Vital Product Data (SWVPD) in AIX 5L Version 5.3 General Programming Concepts: Writing
and Debugging Programs.
Access control lists in Operating system and device managementdiscusses the format of an access control
list and provides an example of one.
For more information about the identification and authentication of users, discretionary access control, the
trusted computing base, and auditing, refer to Securing the network in Security.
tcopy Command
Purpose
Copies a magnetic tape.
Syntax
tcopy Source [ Destination ]
Description
The tcopy command copies magnetic tapes. Source and target file names are specified by the Source
and Destination parameters. The tcopy command assumes that there are two tape marks at the end of
the tape, and it ends when it finds the double file marks. With only a source tape specified, the tcopy
command prints information about the size of records and tape files
Files
/usr/bin/tcopy Contains the tcopy command.
Related Information
Backup files and storage media in Operating system and device management.
tcpdump Command
Purpose
Dumps traffic on a network
Syntax
tcpdump [ -a ] [ -A ] [ -d ] [ -D ] [ -e ] [ -f ] [ -l ] [ -L ] [ -n ] [ -N ] [ -O ] [ -p ] [ -q ] [ -R ] [ -S ] [ -t ] [ -u ]
[ -U ] [ -v ] [ -x ] [ -X ] [ -c count ]
[ -C file_size ] [ -F file ]
[ -i interface ] [ -m module ] [ -r file ]
[ -s snaplen ] [ -w file ]
[ -E addr ] [ -y datalinktype ]
[ expression ]
Description
The tcpdump command prints out the headers of packets on a network interface that match the boolean
expression. It can also be run with the -w flag, which causes it to save the packet data to a file for later
analysis. It can also be run with the -r flag, which causes it to read from a saved packet file rather than to
read packets from a network interface. In all cases, only packets that match expression will be processed
by tcpdump.
If it is not run with the -c flag, tcpdump will continue capturing packets until it is interrupted by a SIGINT
signal (typically control-C) or a SIGTERM signal (typically the kill(1) command). If tcpdump is run with the
-c flag, it will capture packets until it is interrupted by a SIGINT or SIGTERM signal or the specified
number of packets have been processed.
Allowable Primitives
dst host host
True if the IPv4/v6 destination field of the packet is host, which may be either an address or a
name.
If host is a name with multiple IP addresses, each address will be checked for a match.
ether dst ehost
True if the ethernet destination address is ehost. Ehost may be either a name from /etc/ethers or
a number (see ethers(3N) for numeric format).
ether src ehost
True if the ethernet source address is ehost.
ether host ehost
True if either the ethernet source or destination address is ehost.
gateway host
True if the packet used host as a gateway. For example, the ethernet source or destination
address was host but neither the IP source nor the IP destination was host. Host must be a name
and must be found both by the machine’s host-name-to-IP-address resolution mechanisms (host
name file, DNS, NIS, etc.) and by the machine’s host-name-to-Ethernet-address resolution
mechanism (/etc/ethers, and so on). An equivalent expression is ether host ehost and not host
host which can be used with either names or numbers for host /ehost. This syntax does not work
in IPv6-enabled configuration at this moment.
dst net net
True if the IPv4/v6 destination address of the packet has a network number of net.
src net net
True if the IPv4/v6 source address of the packet has a network number of net.
net net
True if either the IPv4/v6 source or destination address of the packet has a network number of
net.
net net mask netmask
True if the IP address matches net with the specific netmask. May be qualified with src or dst.
Note that this syntax is not valid for IPv6 net.
net net/len
True if the IPv4/v6 address matches net with a netmask len bits wide. May be qualified with src or
dst.
dst port port
True if the packet is ip/tcp, ip/udp, ip6/tcp orip6/udp and has a destination port value of port. The
port can be a number or a name used in /etc/services (see tcp(4P) and udp(4P)). If a name is
used, both the port number and protocol are checked. If a number or ambiguous name is used,
only the port number is checked (e.g., dst port 513 will print both tcp/login traffic and udp/who
traffic, and port domain will print both tcp/domain and udp/domain traffic).
src port port
True if the packet has a source port value of port.
port port
True if either the source or destination port of the packet is port. Any of the above port
expressions can be prepended with the keywords, tcp or udp, as in: tcp src port port which
matches only tcp packets whose source port is port.
In the case of Ethernet, tcpdump checks the Ethernet type field for most of those protocols. The
exceptions are:
iso, sap, and netbeui
tcpdump checks for an 802.3 frame and then checks the LLC header as it does for FDDI,
Token Ring, and 802.11.
atalk tcpdump checks both for the AppleTalk etype in an Ethernet frame and for a SNAP-format
packet as it does for FDDI, Token Ring, and 802.11.
aarp tcpdump checks for the AppleTalk ARP etype in either an Ethernet frame or an 802.2
SNAP frame with an OUI of 0x000000;
ipx tcpdump checks for the IPX etype in an Ethernet frame, the IPX DSAP in the LLC
header, the 802.3-with-no-LLC-header encapsulation of IPX, and the IPX etype in a SNAP
frame.
decnet src host
True if the DECNET source address is host, which may be an address of the form 10.123, or a
DECNET host name. [DECNET host name support is only available on Ultrix systems that are
configured to run DECNET.]
decnet dst host
True if the DECNET destination address is host.
decnet host host
True if either the DECNET source or destination address is host.
ifname interface
True if the packet was logged as coming from the specified interface.
on interface
Synonymous with the ifname modifier.
rnr num
True if the packet was logged as matching the specified PF rule number (applies only to packets
logged by OpenBSD’s pf(4)).
rulenum num
Synonomous with the rnr modifier.
reason code
True if the packet was logged with the specified PF reason code. The known codes are: match,
bad-offset, fragment, short, normalize, and memory (applies only to packets logged by OpenBSD’s
pf(4)).
action act
True if PF took the specified action when the packet was logged. Known actions are: pass and
block (applies only to packets logged by OpenBSD’s pf(4))
netbeui
ip, ip6, arp, rarp, atalk, aarp, decnet, iso, stp, ipx.
Abbreviations for:
ether proto p
where p is one of the above protocols. Note that tcpdump does not currently know how to parse
these protocols.
vlan [vlan_id]
True if the packet is an IEEE 802.1Q VLAN packet. If [vlan_id] is specified, only the packet that
has the specified vlan_id is true. Note that the first vlan keyword encountered in expression
changes the decoding offsets for the remainder of expression on the assumption that the packet is
a VLAN packet.
tcp, udp, icmp
Abbreviations for:
ip proto p or ip6 proto p
Proto is one of ether, fddi, tr, wlan, ppp, slip, link, ip, arp, rarp, tcp, udp, icmp or ip6, and indicates
the protocol layer for the index operation. (ether, fddi, wlan, tr, ppp, slip and link all refer to the link
layer.) Note that tcp, udp and other upper-layer protocol types only apply to IPv4, not IPv6 (this will
be fixed in the future). The byte offset, relative to the indicated protocol layer, is given by expr.
Size is optional and indicates the number of bytes in the field of interest; it can be either one, two,
or four, and defaults to one. The length operator, indicated by the keyword len, gives the length of
the packet.
For example, ether[0] & 1 != 0 catches all multicast traffic. The expression ip[0] & 0xf !=5
catches all IP packets with options. The expression ip[6:2] & 0x1fff = 0 catches only
unfragmented datagrams and frag zero of fragmented datagrams. This check is implicitly applied
to the tcp and udp index operations. For instance, tcp[0] always means the first byte of the TCP
header, and never means the first byte of an intervening fragment.
Some offsets and field values may be expressed as names rather than as numeric values. The
following protocol header field offsets are available: icmptype (ICMP type field), icmpcode (ICMP
code field), and tcpflags (TCP flags field).
The following ICMP type field values are available: icmp-echoreply, icmp-unreach,
icmp-sourcequench, icmp-redirect, icmp-echo, icmp-routeradvert, icmp-routersolicit, icmp-timxceed,
icmp-paramprob, icmp-tstamp, icmp-tstampreply, icmp-ireq, icmp-ireqreply, icmp-maskreq, icmp-
maskreply.
The following TCP flags field values are available: tcp-fin, tcp-syn, tcp-rst, tcp-push, tcp-ack,
tcp-urg.
Combining Primitives
A parenthesized group of primitives and operators (parentheses are special to the Shell and must be
escaped).
Negation (`!’ or `not’).
If an identifier is given without a keyword, the most recent keyword is assumed. For example, not host vs
and ace is short for not host vs and host ace which should not be confused with not ( host vs or ace
)
Expression arguments can be passed to tcpdump as either a single argument or as multiple arguments,
whichever is more convenient. Generally, if the expression contains Shell metacharacters, it is easier to
pass it as a single, quoted argument. Multiple arguments are concatenated with spaces before being
parsed.
Flags
-a Attempt to convert network and broadcast addresses to names.
-A Print each packet (minus its link level header) in ASCII. Handy for capturing web pages.
-c Exits after receiving Count packets.
-C file_size Before writing a raw packet to a savefile, check whether the file is currently larger than file_size and, if
so, close the current savefile and open a new one. Savefiles after the first savefile will have the name
specified with the -w flag, with a number after it, starting at 2 and continuing upward. The units of
file_size are millions of bytes (1,000,000 bytes, not 1,048,576 bytes).
-d Dumps the compiled packet-matching code to standard output, then stops.
-D Print the list of the network interfaces available on the system and on which tcpdump can capture
packets. For each network interface, a number and an interface name (possibly followed by a text
description of the interface) is printed. The interface name or the number can be supplied to the -i flag to
specify an interface on which to capture.
-dd Dump packet-matching code as a C program fragment.
-ddd Dump packet-matching code as decimal numbers (preceded with a count).
-e Prints the link-level header on each dump line.
-E addr Use spi@ipaddr algo:secret for decrypting IPsec ESP packets that are addressed to addr and contain
Security Parameter Index value spi. This combination may be repeated with comma or newline
separation.
Note: Setting the secret for IPv4 ESP packets is now supported.
Algorithms may be des-cbc, 3des-cbc, blowfish-cbc, rc3-cbc, cast128-cbc, or none. The default is
des-cbc. The ability to decrypt packets is only present if libcrypto is installed and is in LIBPATH.
secret is the ASCII text for ESP secret key. If preceeded by 0x, then a hex value will be read.
The option assumes RFC2406 ESP, not RFC1827 ESP. The option is for debugging purposes only and
the use of this option with a true secret key is discouraged. By presenting the IPsec secret key onto
command line you make it visible to others, via ps(1) and other occasions.
In addition to the above syntax, the syntax file name may be used to have tcpdump read the provided
file. The file is opened upon receiving the first ESP packet, so any special permissions that tcpdump
may have been given, should already have been given up.
-f Prints foreign IPv4 addresses numerically rather than symbolically.
The test for foreign IPv4 addresses is done by using the IPv4 address and netmask of the interface on
which capture is being performed. This option will not work correctly if that address or netmask is not
available.
-F file Use file as input for the filter expression. An additional expression given on the command line is ignored.
-i interface Listens on interface. If unspecified, tcpdump searches the system interface list for the lowest numbered,
configured up interface (excluding loopback). Ties are broken by choosing the earliest match.
(RFC1825 to RFC1829). If specified, tcpdump will not print replay prevention field. Since there is no
protocol version field in ESP/AH specification, tcpdump cannot deduce the version of ESP/AH protocol.
-S Prints absolute rather than relative TCP sequence numbers.
-s snaplen Snarf snaplen bytes of data from each packet rather than the default of 68. 68 bytes is adequate for IP,
ICMP, TCP and UDP but may truncate protocol information from name server and NFS packets (see
below). Packets truncated because of a limited snapshot are indicated in the output with [|proto], where
proto is the name of the protocol level at which the truncation has occurred. Note that taking larger
snapshots increases the amount of time it takes to process packets and effectively decreases the
amount of packet buffering. This can cause packets to be lost. You should limit snaplen to the smallest
number that will capture the protocol information you are interested in. Setting snaplen to 0 means use
the required length to catch whole packets.
-T Forces packets selected by expression to be interpreted the specified type. Currently known types are
cnfp (Cisco NetFlow protocol), rpc (Remote Procedure Call), rtp (Real-Time Applications protocol), rtcp
(Real-Time Applications control protocol), snmp (Simple Network Management Protocol), tftp (Trivial File
Transfer Protocol), vat (Visual Audio Tool), and wb (distributed White Board).
-t Omits the printing of a timestamp on each dump line.
-tt Prints an unformatted timestamp on each dump line.
-ttt Prints a delta (in micro-seconds) between current and previous line on each dump line.
-tttt Prints a timestamp in default format proceeded by date on each dump line.
-u Prints undecoded NFS handles.
-U Make output saved via the -w option, for example, ″packet- buffered.″ As each packet is saved, it will be
written to the output file, rather than being written only when the output buffer fills.
-v Specifies slightly more verbose output. For example, the time to live, identification, total length and
options in an IP packet are printed. Also enables additional packet integrity checks such as verifying the
IP and ICMP header checksum.
-vv Even more verbose output than -v. For example, additional fields are printed from NFS and reply
packets are fully decoded.
-vvv Even more verbose output than -vv. For example, telnet SB ... SE options are printed in full. With -X
Telnet options are printed in hex as well.
-w file Writes the raw packets to file rather than parsing and printing them out. They can later be printed with
the -r flag. Standard output is used if File is ″-″.
-x Prints each packet (minus its link level header) in hexadecimal. The smaller of the entire packet or
snaplen bytes will be printed. Note that this is the entire link-layer packet, so for link layers that pad (e.g.
Ethernet), the padding bytes will also be printed when the higher layer packet is shorter than the
required padding.
-xx Prints each packet, including its link level header, in hexadecimal.
-X Prints each packet (minus its link level header) in hexadecimal and ASCII. This is very handy for
analyzing new protocols.
Parameters
expressions
Selects which packets will be dumped. If no expression is given, all packets on the net will be
dumped. Otherwise, only packets for which expression is true will be dumped.
The expression consists of one or more primitives. Primitives usually consist of an id (name or
number) preceded by one or more qualifiers. There are three different kinds of qualifier:
type qualifiers say what type of primitive the id name or number refers to. Possible types are
host, net and port. For example, `host foo’, `net 128.3’, `port 20’. If there is no type qualifier,
host is assumed.
dir qualifiers specify a particular transfer direction to and/or from id. Possible directions are src,
dst, src or dst and src and dst. If there is no dir qualifier, src or dst is assumed. For some link
layers, such as SLIP and for some other device types, the inbound and outbound qualifiers can
be used to specify a desired direction.
proto qualifiers restrict the match to a particular protocol. Possible protos are fddi, tr, wlan, ip,
ip6, arp, rarp, decnet, tcp and udp. If there is no proto qualifier, all protocols consistent with the
type are assumed.
fddi is an alias for ether. The parser treats it as meaning ″the data link level used on the specified
network interface.″ FDDI headers contain Ethernet-like source and destination addresses, and
often contain Ethernet-like packet types, so you can filter on these FDDI fields just as with the
analogous Ethernet fields. FDDI headers also contain other fields, but they cannot be named in a
filter expression.
Like fddi, tr and wlan are aliases for ether. The previous paragraph’s statements about FDDI
headers also apply to Token Ring and 802.11 wireless LAN headers. For 802.11 headers, the
destination address is the DA field and the source address is the SA field; the BSSID, RA, and TA
fields aren’t tested.
In addition to the above, there are some special `primitive’ keywords that don’t follow the pattern:
gateway, broadcast, less, greater and arithmetic expressions. All of these are described below.
More complex filter expressions are built by using the words and, or, and not to combine
primitives.
Environment Variables
LIBPATH environmental variable must be set or libcrypto library should be in /usr/lib for the -E flag to
work. For example:
ksh$ LIBPATH=/opt/freeware/lib tcpdump -E"algo:secret"
Exit Status
0 Success.
non-zero Error.
Security
Reading packets from a network interface requires read access to /dev/bpf*, which is typically root-only.
Reading packets from a file does not require any special privileges except file read permission.
Note: The expression is quoted to prevent the shell from (mis-)interpreting the parentheses)
6. To print traffic neither sourced from nor destined for local hosts (if you gateway to one other net, this
should never make it onto your local net), type the following.
tcpdump ip and not net localnet
7. To print the start and end packets (the SYN and FIN packets) of each TCP conversation that involves
a non-local host, type:
tcpdump ’tcp[tcpflags] & (tcp-syn|tcp-fin) != 0 and not src and d dst net localnet’
8. To print IP packets longer than 576 bytes sent through gateway snup, type the following:
tcpdump ’gateway snup and ip[2:2] > 576’
9. To print IP broadcast or multicast packets that were not sent via ethernet broadcast or multicast, type:
tcpdump ’ether[0] & 1 = 0 and ip[16] >= 224’
10. To print all ICMP packets that are not echo requests/replies (for instance, not ping packets), type:
tcpdump ’icmp[icmptype] != icmp-echo and icmp[icmptype] != icmp-e choreply’
Standard Error
All errors and warnings are sent to stderr.
Limitations
A packet trace that crosses a daylight savings time change will give skewed time stamps (the time change
is ignored).
Filter expressions on fields other than those in Token Ring headers will not correctly handle source-routed
Token Ring packets.
Filter expressions on fields other than those in 802.11 headers will not correctly handle 802.11 data
packets with both To DS and From DS set.
ip6 proto should chase header chain, but at this moment it does not. ip6 protochain is supplied for this
behavior.
Arithmetic expression against transport layer headers, like tcp[0], does not work against IPv6 packets. It
only looks at IPv4 packets.
Files
/usr/sbin/tcpdump Location of the tcpdump command.
/usr/lib/libpcap.a
Related Information
pcap library, iptrace, Berkeley Packet Filter.
tctl Command
Purpose
Gives subcommands to a streaming tape device.
Syntax
tctl [ -f Device ] [ eof | weof | fsf | bsf | fsr | bsr | rewind | offline | rewoffl | erase | retension |
reset | status ] [ Count ]
Description
The tctl command gives subcommands to a streaming tape device. If you do not specify the Device
variable with the -f flag, the TAPE environment variable is used. If the environment variable does not exist,
the tctl command uses the /dev/rmt0.1 device. (When the tctl command gives the status subcommand,
the default device is /dev/rmt0.) The Device variable must specify a raw (not block) tape device. The
Count parameter specifies the number of end-of-file markers, number of file marks, or number of records.
If the Count parameter is not specified, the default count is 1.
Subcommands
eof or weof Writes the number of end-of-file markers specified by the Count parameter at the
current position on the tape. On an 8 mm tape drive, an end-of-file marker can be
written in three places:
v Before blank tape
v Before an extended file mark
v At the beginning-of-tape mark
On a 9-track tape drive, the end-of-tape marker can be written at any location on
the tape. However, this subcommand does not support overwriting single blocks
of data.
fsf Moves the tape forward the number of file marks specified by the Count
parameter and positions it on the end-of-tape (EOT) side of the file mark.
bsf Moves the tape backward the number of file marks specified by the Count
parameter and positions it on the beginning-of-tape (BOT) side of the file mark.
If the bsf subcommand moves the tape past the beginning, the tape rewinds, and
the tctl command returns EIO.
fsr Moves the tape forward the number of records specified by the Count parameter.
bsr Moves the tape backwards the number of records specified by the Count
parameter.
rewind Rewinds the tape. The Count parameter is ignored.
offline or rewoffl Rewinds the tape and takes the tape drive offline. This will unload the tape when
appropriate. The tape must be re-inserted before the device can be used again.
erase Erases all contents on the tape and rewinds it.
Tip: When you specify the read or write subcommand, the tctl command opens the tape device and sets
up the tape block size as specified by the -b or -n flag. If neither flag is specified, the tctl command
uses a default block size of 512 bytes.
Restrictions:
v The -b, -n, -p, and -v flags apply only when using the read and write subcommands.
v The -B flag applies only when using the read subcommand.
Flags
-b BlockSize Specifies, in bytes, the size of buffer used to read and write to the tape device, and also
specifies, in the absence of the -n flag, the tape block size. If the block size is 0,
variable-length blocks are used and the size of the tape buffer is 32,768. If the -b flag is not
specified, the default block size and the size of the tape buffer is 512 bytes.
-B Writes the contents of the buffer each time the tape is read. Set this flag when reading
variable-length records that are not of a regular and consistent size.
-f Device Specifies the tape device.
-p BufferSize Specifies the size of the buffer to be used on standard input and standard output. The
default buffer size is 32,768 bytes. The BufferSize value must be a multiple of the tape
block size.
-v Verbose. Prints the sizes of each read and write to standard error.
-n Specifies variable-length records when reading or writing to tape with the read or write
subcommand.
Exit Status
This command returns the following exit values:
0 Successful completion.
>0 An error occurred.
Examples
1. To rewind the rmt1 tape device, enter:
tctl fsf 2
3. To write two end-of-file markers on the tape in /dev/rmt0.6, enter:
Note: The only valid block sizes for quarter-inch (QIC) tape drives are 0 and 512.
8. To write over one of several backups on an 8 mm tape, position the tape at the start of the backup file
and issue these commands:
tctl bsf 1
tctl eof 1
The first command moves the tape to the beginning-of-tape side of the file mark. The second command
rewrites the file mark, because writing is allowed before extended file marks. The erase head of the drive
erases data before the write head reaches it, so the write subroutines can write over data already in the
tape. However, all old data following is lost because its file markers are meaningless.
Note: The write subroutines cannot write over a short file mark unless blank tape follows the short
file mark. To write over existing data, as in the case of this example, the tape must be written with
extended file marks (as specified through the SMIT interface).
Files
/dev/rmtn Specifies the raw streaming tape interface.
/usr/bin/tctl Contains the tctl command.
Related Information
The dd command, mt command.
Backup files and storage media in Operating system and device management.
tee Command
Purpose
Displays the output of a program and copies it into a file.
Description
The tee command reads standard input, then writes the output of a program to standard output and
simultaneously copies it into the specified file or files.
Flags
-a Adds the output to the end of File instead of writing over it.
-i Ignores interrupts.
Exit Status
This command returns the following exit values:
Note: If a write to any successfully opened File operand is not successful, writes to other
successfully opened File operands and standard output will continue, but the exit value will be >0.
Examples
1. To view and save the output from a command at the same time:
lint program.c | tee program.lint
This displays the standard output of the command lint program.c at the workstation, and at the same
time saves a copy of it in the file program.lint. If a file named program.lint already exists, it is
deleted and replaced.
2. To view and save the output from a command to an existing file:
This displays the standard output of the lint program.c command at the workstation and at the same
time appends a copy of it to the end of the program.lint file. If the program.lint file does not exist, it
is created.
Files
/usr/bin/tee Contains the tee command.
Related Information
The script command.
Input and output redirection in Operating system and device management describes how the operating
system processes input and output and how to use the redirect and pipe symbols.
Purpose
Initializes and controls processes.
Syntax
{ telinit | init } { 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | a | b | c | h | Q | q | S | s | M | m | N }
Description
The init command initializes and controls processes. Its primary role is to start processes based on
records read from the /etc/inittab file. The /etc/inittab file usually requests that the init command run the
getty command for each line on which a user can log in. The init command controls autonomous
processes required by the system.
The process that constitutes the majority of the init command’s process dispatching activities is
/usr/sbin/getty. The /usr/sbin/getty process initiates individual terminal lines. Other processes typically
dispatched by the init command are daemons and the shell.
The telinit command, which is linked to the init command, directs the actions of the init command. The
telinit command takes a one-character argument and signals the init command by way of the kill
subroutine to perform the appropriate action.
The telinit command sets the system at a specific run level. A run level is a software configuration that
allows only a selected group of processes to exist. The system can be at one of the following run levels:
0-9 Tells the init command to place the system in one of the run levels 0-9. When the init command
requests a change to run levels 0-9, it kills all processes at the current run levels and then restarts any
processes associated with the new run levels.
0-1 Reserved for the future use of the operating system.
2 Contains all of the terminal processes and daemons that are run in the multiuser environment. In the
multiuser environment, the /etc/inittab file is set up so that the init command creates a process for
each terminal on the system. The console device driver is also set to run at all run levels so the system
can be operated with only the console active.
3-9 Can be defined according to the user’s preferences.
S,s,M,m Tells the init command to enter the maintenance mode. When the system enters maintenance mode
from another run level, only the system console is used as the terminal.
a,b,c,h Tells the init command to process only those records in the /etc/inittab file with a, b, c, or h in the run
level field. These four arguements, a, b, c, and h, are not true run levels. They differ from run levels in that
the init command cannot request the entire system to enter run levels a, b, c, or h.
When the init command finds a record in the /etc/inittab file with a value of a, b, c, or h in the run level
field, it starts the process. However, it does not kill any processes at the current run level; processes with a
value of a, b, c, or h in the run level field are started in addition to the processes already running at the
current system run level. Another difference between true run levels and a, b, c, or h is that processes
started with a, b, c, or h are not stopped when the init command changes run levels. Three ways stop a,
b, c, or h processes:
v Type off in the Action field.
v Delete the objects entirely.
v Use the init command to enter maintenance state.
Q,q Tells the init command to re-examine the /etc/inittab file.
N Sends a signal that stops processes from being respawned.
When you request the init command to change the run level, the init command reads the /etc/inittab file
to identify what processes should exist at the new run level. Then, the init command cancels all processes
that should not be running at the new level and starts any processes that should be running at the new
level.
The processes run by the init command for each of these run levels are defined in the /etc/inittab file.
The run level is changed by having a root user run the telinit command, which is linked to the init
command. This user-run init command sends appropriate signals to the original init command initiated by
the system during startup. The default run level can be changed by modifying the run level for the
initdefault entry in the /etc/inittab file.
In the maintenance run level, the /dev/console console terminal is opened for reading and writing. The
password for root is prompted. When the root password is entered successfully, the su command is
invoked. Two ways exist to exit from the maintenance run level:
v If the shell is terminated, the init command requests a new run level.
OR
v The init (or telinit) command can signal the init command and force it to change the run level of the
system.
During a system startup attempt, apparent failure of the init command to prompt for a new run level (when
initdefault is maintenance) may be due to the fact that the terminal console device (/dev/console) has
been switched to a device other than the physical console. If this occurs and you wish to work at the
physical console rather than the /dev/console, you can force the init command to switch to the physical
console by pressing the DEL (delete) key at the physical console device.
When the init command prompts for a new run level, enter one of the digits 0 through 9 or any of the
letters S, s, M, or m. If you enter S, s, M, or m, the init command operates in maintenance mode with the
additional result that if control had previously been forced to switch to the physical console, the
/dev/console file is switched to this device as well. The init command generates a message to this effect
on the device to which the /dev/console file was previously connected.
If you enter a 0 through 9 run level, the init command enters the corresponding run level. The init
command rejects any other input and re-prompts you for the correct input. If this is the first time the init
command enters any run level other than maintenance, it searches the /etc/inittab file for entries with the
boot or bootwait keywords. If the init command finds these keywords, it performs the corresponding task,
Run level 2 is defined by default to contain all of the terminal processes and daemons that are run in the
multiuser environment. In the multiuser environment, the /etc/inittab file is set up so that the init
command creates a process for each terminal on the system.
For terminal processes, the shell terminates either as a result of an end of file character (EOF) typed
explicitly or as the result of disconnection. When the init command receives a signal telling it that a
process has terminated, it records the fact and the reason it stopped in /etc/utmp file and /var/adm/wtmp
file. The /var/adm/wtmp file keeps a history of the processes started.
To start each process in the /etc/inittab file, the init command waits for one of its descendant processes
to stop, for a power fail signal SIGPWR, or until the init command is signaled by the init or telinit
commands to change the system’s run level. When one of the above three conditions occurs, the init
command re-examines the /etc/inittab file. Even if new entries have been added to the /etc/inittab file,
the init command still waits for one of the three conditions to occur. To provide for instantaneous
response, re-examine the /etc/inittab file by running the telinit -q command.
If the init command finds that it is continuously running an entry in the /etc/inittab file (more than five
times in 225 seconds), it assumes that an error in the entry command string exists. It then prints an error
message to the console and logs an error in the system error log. After the message is sent, the entry
does not run for 60 seconds. If the error continues to occur, the command will respawn the entry only five
times every 240 seconds. The init command continues to assume an error occurred until the command
does not respond five times in the interval, or until it receives a signal from a user. The init command logs
an error for only the first occurrence of the error.
When the init command is requested to change run levels by the telinit command, the init command
sends a SIGTERM signal to all processes that are undefined in the current run level. The init command
waits 20 seconds before stopping these processes with the SIGKILL signal.
If the init command receives a SIGPWR signal and is not in maintenance mode, it scans the /etc/inittab
file for special power fail entries. The init command invokes the tasks associated with these entries (if the
run levels permit) before any further processing takes place. In this way, the init command can perform
cleanup and recording functions whenever the system experiences a power failure. It is important to note
that these power fail entries should not use devices that need to be initialized first.
Environments
Because the init command is the ultimate ancestor of every process on the system, every other process
on the system inherits the init command’s environment variables. As part of its initialization sequence, the
init command reads the /etc/environment file and copies any assignments found in that file into the
environment passed to all of its subprocesses. Because init subprocesses do not run from within a login
session, they do not inherit a umask setting from init. These processes may set the umask to whatever
value they require. A command that is executed by init from the /etc/inittab file uses init’s ulimit values
and not the default values as given in /etc/security/limits. The result is that a command that is
successfully executed from the command line may not execute correctly when invoked by init. Any
command that has specific ulimit requirements should include specific actions to set the ulimit values as
required.
telinit q
2. To request the init command to enter maintenance mode, enter:
telinit s
Files
/etc/inittab Specifies the init command control file.
/etc/utmp Specifies the record of logged-in users.
/var/adm/wtmp Specifies the permanent login accounting file.
/sbin/rc.boot Specifies the pre-initialization command file.
/etc/rc Specifies the initialization command file.
/etc/environment Specifies system environment variables.
/dev/console Specifies the console device driver.
Related Information
The chitab command, lsitab command, mkitab command, rmitab command, getty command, rc
command.
Purpose
Connects the local host with a remote host, using the Telnet interface.
Syntax
{ telnet | tn | tn3270 } [ -d ] [ -p ] [ -n TraceFile ] [ -e TerminalType ] [ -f | -F ] [ -k realm ] [ -l user ] [ Host
[ Port ] ]
Description
The telnet command, which is also referred to as the tn or tn3270 command, operates in two different
modes: command mode and input mode.
Command Mode
When the telnet command is issued without arguments, it enters command mode, as indicated by the
telnet>, tn>, or the tn3270> prompt. A user can also enter command mode from input mode by pressing
Ctrl-] for the telnet command, Ctrl-T for the tn command, or Ctrl-C for the tn3270 command. In command
mode, subcommands can be entered to manage the remote system. Some of these subcommands return
you to the remote session upon completion. For those subcommands that do not, pressing the Enter key
returns you to the remote session.
Note: The default escape sequence for this command is Ctrl-] for the telnet command, Ctrl-T for the
tn command, or Ctrl-C for the tn3270 command. This default can be overridden by changing the
TNESC environment variable.
Input Mode
When the telnet command is issued with arguments, it performs an open subcommand with those
arguments and then enters input mode. The type of input mode is either character-at-a-time or line-by-line,
depending on what the remote system supports. In character-at-a-time mode, most text that is typed is
immediately sent to the remote host for processing. In line-by-line mode, all text is echoed locally and
completed lines are sent to the remote host.
In either input mode, if the toggle localchars subcommand has a value of True, the user’s QUIT, INTR,
and FLUSH characters are trapped locally and sent as Telnet Protocol sequences to the remote host. The
toggle autoflush and toggle autosynch subcommands cause this action to flush subsequent output to
the terminal until the remote host acknowledges the Telnet sequence and to flush previous terminal input
(in the case of QUIT and INTR characters).
Arabic/Hebrew Support
The telnet, tn, and tn3270 command supports the Arabic and Hebrew texts, allowing the user to type
Arabic or Hebrew characters while in an emulation session. The Ar_AA locale displays the Arabic
characters in their correct shapes. The following functions support the bidirectional Arabic and Hebrew
texts:
Language Selection: This function allows you to toggle the language layer. Activate the Arabic/Hebrew
language selection with the following key combinations:
Activate the Latin language layer with the following key combinations:
Screen Reverse: This function reverses the screen image and invokes the default language of the new
screen orientation. Thus, if the screen is reversed to right-to-left, the language is changed to
Arabic/Hebrew. If the screen is reversed to left-to-right, the language is changed to Latin.
If symmetric character swapping is enabled, reversing the screen causes bidirectional characters to be
replaced by their counterparts. For example, if numeric character swapping is enabled, reversing the
screen causes Hindi numerals to be replaced by their Arabic counterparts and the Arabic numerals to be
replaced by their Hindi counterparts.
Push/End Push: The Push function allows you to edit text whose direction is opposite the screen
orientation. When you activate this function, the cursor orientation is reversed, the language layer is
changed accordingly, and a Push segment is created.
Boundary Mode This mode is activated upon entering the Push mode. In this mode, the cursor remains in
its position while you type additional characters. The text is pushed in the opposite direction
of the screen orientation.
Edit Mode This mode is activated when the cursor is moved from its boundary position into the Push
segment area. In this mode, you can edit the text within the Push segment, while typing in
the field’s natural direction.
The End Push function terminates the Push function. The cursor jumps to the end of the Push segment
and its direction changes to the original direction. You can activate End Push by pressing any field exit
keys such as cursor up, cursor down, or any attention identifier (AID) key such as the Enter key. You can
also activate this function with the following key combinations:
Field Reverse: This function toggles the field orientation to either the opposite of or the same as the
screen orientation. This function does not invert the text in the field. The cursor orientation is set to the
new field orientation and the language layer is selected accordingly.
For example, if the cursor is in the first logical position of a field or line when you activate the field reverse
function, the cursor skips to the opposite side of that field or line. This position is now the first logical
position. If the cursor is not in the first position of the field or line when you activate field reverse function,
the cursor remains in its position and allows natural and correct editing of the existing text. Activate this
function with the following key combinations:
Autopush: This function assists you in typing mixed left-to-right and right-to-left text. When enabled,
reversed segments are automatically initiated and terminated according to the typed characters or the
selected language layer. Thus, this mode automatically invokes the Push mode and relieves you of
invoking the Push function.
When you type a digit or Latin character in a right-to-left field, the Autopush function automatically initiates
the Push function without changing the language. If you type additional digits or Latin character, the Push
function continues; otherwise, the Push function automatically terminates. Thus, you can type
Arabic/Hebrew text with embedded digits or Latin characters without invoking the Push/End Push
functions.
When you type an Arabic/Hebrew character in a left-to-right field, the Autopush function automatically
initiates the Push function without a language change. If you then type a digit or Latin character, the
Autopush function automatically terminates. Thus, you can type Latin text with embedded Arabic/Hebrew
text using the Language Selection function rather than the Push/End Push functions.
Field Shape: This function shapes the Arabic characters in the current field or line. Activate this function
with the following key combinations:
Field Deshape: This function deshapes Arabic text in the current field or line. Activate this function with
the following key combinations:
Contextual Shape Determination: This function determines the shape of an Arabic character based on
the surrounding text. Use the Contextual Shape Determination function only when typing or editing
right-to-left text. This function is terminated when any of the specific shape selection keys is pressed. This
is the default function. Activate this function with the following key combinations:
Initial Shape Determination: This function shapes Arabic characters in their initial shapes. Activate this
function with the following key combinations:
Middle Shape Determination: This function shapes Arabic characters in their middle shapes. Activate
this function with the following key combinations:
Isolated Shape Determination: This function shapes Arabic characters in their isolated shapes. Activate
this function with the following key combinations:
Final Shape Determination: This function shapes Arabic characters in their final shapes. Activate this
function with the following key combinations:
Miscellaneous Functions: To activate numeric swapping, type the following line at the command line:
export ARB_NUM_SWAP=1
To activate symmetric swapping, that is, to swap bidirectional characters such as braces, brackets, and so
on, type the following line at the command line:
export ARB_SYM_SWAP=1
To specify the code page that the host uses, type the following line at the command line:
export RM_HOST_LANG=IBM-420
To override the terminal negotiation from the console, use the EMULATE environment variable or the -e
flag; or invoke the tn3270 command if you require 3270 emulation. To determine whether terminal-type
negotiation is performed, the following list describes the order of the telnet command processing:
1. The -e command-line flag. (No negotiation.)
2. The EMULATE environment variable. (No negotiation.)
3. The tn3270 command. (No negotiation.)
4. If steps 1, 2, and 3 are not present, terminal-type negotiation occurs automatically.
If the client and the server negotiate to use a 3270 data stream, the keyboard mapping is determined by
the following precedence:
$HOME/.3270keys Specifies the user’s 3270 keyboard mapping when the tn or telnet command is
invoked. If you are using a color display, you can also change this file to customize the
colors for 3270 displays.
/etc/map3270 Specifies the user’s 3270 keyboard mapping when the tn3270 command is invoked.
The /etc/map3270 file defines keyboard mapping and colors for the tn3270 command.
/etc/3270.keys Specifies the base 3270 keyboard mapping for use with limited function terminals.
End-of-Line Convention
The Telnet protocol defines the carriage-return line-feed (CR-LF) sequence to mean ″end-of-line.″ For
terminal input, this corresponds to a command-completion or end-of-line key being pressed on a user
terminal. On an ASCII terminal, this is the CR key, but it may also be labeled ″Return″ or ″Enter.″
When a Telnet server receives the Telnet end-of-line sequence, CR-LF, as input from a remote terminal,
the effect is the same as if the user had pressed the end-of-line key on a local terminal.
Note: A Telnet user must be able to send CR-LF, CR-NULL, or LF. An ASCII user must be able to
send CR-LF or CR-NULL.
A Telnet user on an ASCII host should have a user-controllable mode to send either CR-LF or CR-NULL
when the user presses the end-of-line key. The CR-LF should be the default. The Telnet end-of-line
sequence, CR-LF, must be used to send Telnet data that is not terminal-to-computer. This occurs, for
example, when a Telnet server sends output or when the Telnet protocol incorporates another application
protocol.
The telnet command ″execs″ (using the exec command) the /usr/sbin/login command to validate a user.
This 1) allows all user and device attributes to take effect on telnet connections and 2) causes telnet
connections to count against the maximum number of login sessions allowable at a time (determined by
the maxlogins attribute). Attributes are defined in the /etc/security/user and /etc/security/login.cfg files.
Restrictions
v Earlier versions of the telnet command are not compatible with AIX Version 4 and later of the telnet
command in sending escapes that emulate a high function terminal (HFT). AIX Version 4 and later of
the telnet command sends only one escape when the escape key is hit, while prior versions send two
escape characters.
v The telnet command must allow transmission of 8-bit characters that are not in binary mode to
implement ISO 8859 Latin code page. This is necessary for internationalization of the TCP/IP
commands.
v In order to support new character sets, the following was added to the hft-m, ibm5081, hft, hft-nam,
hft-c, aixterm-m, and aixterm entries in the terminfo file:
box1=\154\161\153\170\152\155\167\165\166\164\156, batt1=f1,
box2=\154\161\153\170\152\155\167\165\166\164\156, batt2=f1md,
font0=\E(B, font1=\E(0,
v The rlogind and telnetd daemons use POSIX line discipline to change the line discipline on the local
tty. If POSIX line discipline is not used on the local tty, echoing other line disciplines may result in
improper behavior. AIX TCP/IP must have POSIX line discipline to function properly.
v The mouse cannot be used as an input device with the telnet command.
v The telnet command does not support the APL data stream.
Environment Variables
The following environment variables can be used with the telnet command:
EMULATE Overrides terminal-type negotiation in the same way as the -e flag. If the value of the
EMULATE environment variable is defined as vt100 or 3270, the telnet command emulates
a DEC VT100 terminal or 3270 terminal, respectively. If the EMULATE variable is not defined
or has a value of none, the telnet command operates normally. If the EMULATE variable is
set to vt100 or 3270, the TERM environment variable in the remote login connection should
be set to the same value. You can check this by using the env command after the connection
is open.
TNESC Specifies an alternate TELNET escape character, other than the default, Ctrl-] for the telnet
command, Ctrl-T for the tn command, or Ctrl-C for the tn3270 command. To change the
telnet escape sequence, set TNESC to the octal value of the character you want to use.
Then export TNESC. For example, set TNESC to 35 to change the TELNET escape
sequence to Ctrl-].
MAP3270 Specifies an alternate file that contains the user’s 3270 keyboard mapping. The MAP3270
variable must contain the full path name to the alternate file. Create the alternate file using
the same format as the default /etc/map3270 file.
The telnet command converts characters by using the iconv command. Users can change
the default conversion tables by using the genxlt command.
Flags
-d Turns debugging mode on.
-e TerminalType Overrides terminal-type negotiation. Possible values are vt100, 3270, or none.
-n TraceFile Records network trace information in the file specified by the TraceFile variable.
-p Preserves current tty attributes.
-f Causes the credentials to be forwarded. This flag will be ignored if Kerberos 5 is not
the current authentication method. Authentication will fail if the current DCE credentials
are not marked forwardable.
-F Causes the credentials to be forwarded. In addition, the credentials on the remote
system will be marked forwardable (allowing them to be passed to another remote
system). This flag will be ignored if Kerberos 5 is not the current authentication method.
Authentication will fail if the current DCE credentials are not marked forwardable.
-k realm Allows the user to specify the realm of the remote station if it is different from the local
systems realm. For these purposes, a realm is synonymous with a DCE cell. This flag
will be ignored if Kerberos 5 is not the current authentication method.
-l user Specifies the remote user the telnet wants to login as. This option is ignored if Kerberos
5 is not the current authentication method.
Subcommands
Before entering each subcommand, press the escape key sequence. The escape sequence tells the
program that non-text information follows. Otherwise, the program interprets subcommands as text.
For each of the subcommands in the following list, you only need to type enough letters to uniquely
identify the subcommand. (For example, q is sufficient for the quit subcommand.) This is also true for the
arguments to the display, emulate, mode, set, and toggle subcommands.
All output received from the remote host is processed by the specified emulator. The initial terminal type to
emulate can be specified through the EMULATE environment variable or the -e flag to the telnet
command.
mode Type Specifies the current input mode. When the Type variable has a value of line, the mode is
line-by-line. When the Type variable has a value of character, the mode is character-at-a-time.
Permission is requested from the remote host before entering the requested mode, and if the
remote host supports it, the new mode is entered.
open Host [Port] Opens a connection to the specified host. The Host specification can be either a host name or an
Internet address in dotted-decimal form. If no Port variable is specified, the telnet subcommand
attempts to contact a TELNET server at the default port.
quit Closes a TELNET connection and exits the telnet program. A Ctrl-D in command mode also
closes the connection and exits.
send Arguments Sends one or more arguments (special character sequences) to the remote host. Multiple
arguments are separated by spaces. The following arguments can be used:
? Prints help information for the send subcommand.
ao Sends the TELNET AO (Abort Output) sequence, which causes the remote host to flush
all output from the remote system to the local terminal.
ayt Sends the TELNET AYT (Are You There) sequence, to which the remote system can
respond.
brk Sends the TELNET BRK (Break) sequence, which causes the remote system to perform
a kill operation.
ec Sends the TELNET EC (Erase Character) sequence, which causes the remote host to
erase the last character entered.
el Sends the TELNET EL (Erase Line) sequence, which causes the remote system to
erase the line currently being entered.
escape
Sends the current telnet escape character. The default escape sequence is Ctrl-] for the
telnet command, Ctrl-T for the tn command, or Ctrl-C for the tn3270 command.
ga Sends the TELNET GA (Go Ahead) sequence, which provides the remote system with a
mechanism to signal the local system to return control to the user.
ip Sends the TELNET IP (Interrupt Process) sequence, which causes the remote system to
cancel the currently running process.
nop Sends the TELNET NOP (No Operation) sequence.
sak Sends the TELNET SAK (Secure Attention Key) sequence, which causes the remote
system to invoke the trusted shell. If the SAK is not supported, then an error message is
displayed that reads: Remote side does not support SAK.
synch Sends the TELNET SYNC sequence, which causes the remote system to discard all
previously typed input that has not yet been read. This sequence is sent as TCP/IP
urgent data.
Note: The z subcommand has the same effect as a Ctrl-Z key sequence for any other
process. It suspends Telnet execution and returns you to your original login shell.
Authentication
If the system is configured for Kerberos 5 authentication, the telnet client will attempt authentication
negotiation. The authentication negotiation used by telnet and the definitions of the options and suboptions
for this are defined in rfc 1416.
If they cannot agree on the authentication information or if it fails, the telnet connection will continue with
the standard connection (provided Standard AIX is configured).
The remote host allows access only if all of the following conditions are satisfied:
v The local user has current DCE credentials.
v The remote system accepts the DCE credentials as sufficient for access to the remote account. See the
kvalid_user function for additional information.
Examples
In the following examples, if you enter the tn command instead of the telnet command, the command
mode prompt is displayed as tn>.
1. To log in to the remote host host1 and perform terminal negotiation, enter:
telnet host1
2. To log in to host1 as a vt100 terminal (no terminal type negotiation), choose one of the following
methods:
a. Use the following commands to set the EMULATE environment variable for this login session, then
enter the telnet command:
When the login prompt appears, enter your login ID and password. Press the Ctrl-T key sequence to
receive the telnet> prompt. Enter the following at the telnet> prompt:
status
Upon completion of the status subcommand, press the Enter key to return to the remote prompt.
Once you have completed your login, you can issue commands. To log out of the system and close
the connection, press the Ctrl-D key sequence, or exit.
4. To log in to a remote host using the tn3270 command, enter:
tn3270 hostname
The host login screen should be displayed. You can now enter your login ID and password. Once you
have completed your login, you can issue commands. To log out of the system and close the
connection, press Ctrl-D or exit.
Files
/etc/3270.keys Defines base 3270-keyboard mapping for use with limited function terminals.
telnetd Daemon
Purpose
Provides the server function for the TELNET protocol.
Syntax
/usr/sbin/telnetd [ -a ] [ -n ] [ -s ]
Description
Note: The telnetd daemon is normally started by the inetd daemon. It can also be controlled from
the command line, using SRC commands.
The /usr/sbin/telnetd daemon is a server that supports the Defense Advanced Research Product Agency
(DARPA) standard Telnet Protocol (TELNET). Changes to the telnetd daemon should be made using the
System Management Interface Tool (SMIT).
Changes to the telnetd daemon can be made using the System Management Interface Tool (SMIT) or
System Resource Controller (SRC), by editing the /etc/inetd.conf or /etc/services file. Typing telnetd at
the command line is not recommended. The telnetd daemon is started by default when it is uncommented
in the /etc/inetd.conf file. By default, the -a flag is also turned on.
The inetd daemon get its information from the /etc/inetd.conf file and the /etc/services file.
After changing the /etc/inetd.conf or /etc/services file, run the refresh -s inetd or kill -1 InetdPID
command to inform the inetd daemon of the changes to its configuration file.
When a telnet session is started, the telnetd daemon sends TELNET options to the client (remote) host to
indicate an ability to perform options.
Terminal Negotiation
The telnetd daemon requests the terminal type from the client host. On receipt, the telnetd daemon
checks whether the indicated type is supported on the local system. If not, the daemon requests a terminal
type again.
Note: Because the telnetd daemon allows the sending and receiving of 8-bit ASCII, NLS is
supported.
If the remote client sends the TELNET SAK command, the telnetd daemon passes the local SAK
characters through the PTY to invoke the trusted shell.
The telnetd daemon also recognizes the following options for the remote client:
v Binary
v Suppress go ahead
v Echo/no echo
v Terminal type
The telnetd daemon should be controlled using the System Management Interface Tool (SMIT) or by
changing the /etc/inetd.conf file. Typing telnetd at the command line is not recommended.
Authentication Negotiation
If the system has Kerberos 5 authentication configured, telnetd will accept authentication option
negotiation. If both agree on Kerberos 5 authentication, the client will pass over the DCE principal and
telnetd will use the kvalid_user routine to determine if the DCE principal should have access to the
account. If it passes, no password will be requested.
Flags
-a Causes the PTY and socket to be linked directly in the kernel so that the data handling remains in the kernel to
improve the performance.
-n Disables transport-level keep-alive messages. Messages are enabled by default.
-s Turns on socket-level debugging.
Note: Unrecognized flags will be ignored by the daemon and logged to the syslog if syslog is enabled.
The authentication mechanisms used when PAM is enabled depend on the configuration for the telnet
service in /etc/pam.conf. The telnetd daemon requires /etc/pam.conf entries for the auth, account,
password, and session module types. Listed below is a recommended configuration in /etc/pam.conf for
the telnet service:
#
# AIX telnet configuration
#
telnet auth required /usr/lib/security/pam_aix
Examples
Note: The arguments for the telnetd daemon can be specified by using SMIT or by editing the
/etc/inetd.conf file.
1. To start the telnetd daemon, type the following:
startsrc -t telnet
stopsrc -t telnet
This command allows all pending connections to start and existing connections to complete but
prevents new connections from starting.
3. To force stop the telnetd daemon and all telnetd connections, type the following:
stopsrc -t -f telnet
This command terminates all pending connections and existing connections immediately.
4. To display a short status report about the telnetd daemon, type the following:
lssrc -t telnet
This command returns the daemon’s name, process ID, and state (active or inactive).
File
terminfo Describes terminal by capability.
Related Information
The ftp command, kill command, lssrc command, rcp command, refresh command, rlogin command,
rsh command, startsrc command, stopsrc command, telnet command.
termdef Command
Purpose
Queries terminal characteristics.
Syntax
termdef [ -c | -l | -t ]
Description
The termdef command identifies the current display type, the active lines setting, or the current columns
setting. This simplifies resetting the lines and columns when you switch fonts as well as resetting the
TERM environment variable when you switch displays. The terminfo database defines the default number
of lines and columns for each display, but the lines and columns can change depending upon which font is
currently active. Also, the TERM environment variable does not automatically reflect the currently active
display.
The flags for the termdef command are mutually exclusive. If you use more than one flag with the
command, the termdef command recognizes and returns the current value for the first flag only. Any other
flags are ignored. For example, the termdef -lc command returns only the active lines setting for the
current display.
Flags
-c Returns the current column value.
-l Returns the current line value.
-t Returns the name of the current display (the default action).
Example
To determine the current value of the TERM environment variable, enter:
termdef -c
File
/usr/bin/termdef Contains the termdef command.
Purpose
Evaluates conditional expressions.
Syntax
test Expression
OR
[ Expression ]
Description
The test command evaluates the Expression parameter, and if the expression value is True, returns a zero
(True) exit value. Otherwise, the test command returns a nonzero (False) exit value. The test command
also returns a nonzero exit value if there are no parameters.
Requirements:
v In the second form of the command, the [ ] (brackets) must be surrounded by blank
spaces.
v You must test explicitly for file names in the C shell. File-name substitution (globbing)
causes the shell script to exit.
Functions and operators are treated as separate parameters by the test command. The Expression
parameter refers to a statement that is checked for a true or false condition. The following functions are
used to construct this parameter:
-b FileName Returns a True exit value if the specified FileName exists and is a block
special file.
-c FileName Returns a True exit value if the specified FileName exists and is a character
special file.
-d FileName Returns a True exit value if the specified FileName exists and is a directory.
-e FileName Returns a True exit value if the specified FileName exists.
-f FileName Returns a True exit value if the specified FileName exists and is a regular
file.
-g FileName Returns a True exit value if the specified FileName exists and its Set Group
ID bit is set.
-h FileName Returns a True exit value if the specified FileName exists and is a symbolic
link.
-k FileName Returns a True exit value if the specified FileName exists and its sticky bit
is set.
-L FileName Returns a True exit value if the specified FileName exists and is a symbolic
link.
-n String1 Returns a True exit value if the length of the String1 variable is nonzero.
-p FileName Returns a True exit value if the specified FileName exists and is a named
pipe (FIFO).
-r FileName Returns a True exit value if the specified FileName exists and is readable
by the current process.
-s FileName Returns a True exit value if the specified FileName exists and has a size
greater than 0.
-t FileDescriptor Returns a True exit value if the file with a file descriptor number of
FileDescriptor is open and associated with a terminal.
-u FileName Returns a True exit value if the specified FileName exists and its Set User
ID bit is set.
Exit Status
This command returns the following exit values:
Examples
1. To test whether a file exists and is not empty, enter the following command:
if test ! -s "$1"
then
echo $1 does not exist or is empty.
fi
If the file specified by the first positional parameter to the shell procedure, $1, does not exist, the test
command displays an error message. If $1 exists and has a size greater than 0, the test command
displays nothing.
Note: There must be a space between the -s function and the file name.
The quotation marks around $1 ensure that the test works properly even if the value of $1 is a null
string. If the quotation marks are omitted and $1 is the empty string, the test command displays the
error message test: argument expected.
2. To do a complex comparison, type:
if [ $# -lt 2 -o ! -e "$1" ]
then
exit
fi
The Shells in Operating system and device management describes shells in general, defines terms that
are helpful in understanding shells, and describes the more useful shell functions.
File
/usr/bin/test Contains the test command.
Related Information
The bsh command, csh command, find command, ksh command, sh command.
Purpose
Transfers files between hosts using the Trivial File Transfer Protocol (TFTP).
Syntax
{tftp | utftp} { -g | -o | -p | -r | -w } LocalName HostPort RemoteName [ netascii | image]
[blksize #] [timeout #] [tsize]
Description
The /usr/bin/tftp and utftp commands transfer files between hosts using the Trivial File Transfer Protocol
(TFTP). Since TFTP is a minimal file transfer protocol, the tftp and utftp commands do not provide all of
the features of the ftp command. For example, the tftp and utftp commands do not provide the ability to
list remote files or change directories at the remote host, and only limited file access privileges are given
to the remote TFTP server. The utftp command is a form of the tftp command for use in a pipe.
The remote host must have a tftpd daemon started by its inetd daemon and have an account defined that
limits the access of the tftpd daemon. Use the procedure defined by the tftpd command to setup the
TFTP environment and the nobody account.
Note: The tftp and utftp commands should not be available when your host is operating in secure
mode.
The tftp command ignores duplicate acknowledgments for any block sent and sends an error packet and
exit if a block with an inappropriate (future) block number arrives. It also ignores duplicate data blocks if
they have already been received and sends an error packet and exits.
Access Control
The /etc/tftpaccess.ctl file is searched for lines that start with allow: or deny:. Other lines are ignored. If
the file doesn’t exist, access is allowed. The allowed directories and files can be accessed and the denied
directories cannot be accessed. For example, the /usr directory might be allowed and the /usr/ucb
directory might be denied. This means that any directory or file in the /usr directory, except the /usr/ucb
directory, can be accessed. The entries in the /etc/tftpaccess.ctl file must be absolute path names.
The /etc/tftpaccess.ctl file should be write-only by the root user and readable by all groups and others
(that is, owned by root with permissions of 644). The user nobody must be able to read the
/etc/tftpaccess.ctl file. Otherwise, the tftpd daemon is not able to recognize the existence of the file and
allows access to the entire system. For more information, refer to the sample tftpaccess.ctl file, which
resides in the /usr/samples/tcpip directory.
The search algorithm assumes that the local path name used in the tftp command is an absolute path
name. It searches the /etc/tftpaccess.ctl file looking for allow:/. It repeatedly searches for allowed path
names with each partial path name constructed by adding the next component from the file path name.
The longest path name matched is the one allowed. It then does the same with denied names, starting
with the longest allowed path name matched.
For example, if the file path name were /a/b/c and the /etc/tftpaccess.ctl file contained allow:/a/b and
deny:/a, one allowed match would be made (/a/b) and no denied match starting with /a/b would be
made, and access would be allowed.
If the /etc/tftpaccess.ctl file contained allow:/a and deny:/a/b, one allowed match would be made (/a)
and one denied match starting with /a (/a/b) would be made, and access would be denied. If the
/etc/tftpaccess.ctl file contained allow:/a/b and also contained deny:/a/b, access would be denied
because allowed names are searched first.
Note: Further information and example configurations for Xstations, Diskless clients, and restricted
entry can be found in the /usr/samples/tcpip/tftpaccess.ctl file.
The tftp and utftp commands have two forms: interactive form and command-line form.
Interactive Form
In the interactive form, the tftp and utftp commands are issued alone or with a Host parameter that
specifies the default host to use for file transfers during this session. If you choose, you can also specify
with the Port parameter which port the tftp or utftp connection should use, such as the one specified for
mail in the /etc/services file. When you enter the interactive form of either of these commands, the tftp>
prompt is displayed.
When transferring data to a remote host, the transferred data is placed in the directory specified by the
RemoteName parameter. The remote name must be a fully specified file name, and the remote file must
both exist and have write permission set for others. The tftp command attempts to write the data to the
specified file. However, if the remote TFTP server does not have the appropriate privileges to write the
remote file or if the file does not already exist, the transfer is unsuccessful. This can be overridden using
the tftpd daemon.
Command-Line Form
The command-line forms of the tftp and utftp commands are equivalent, except that the utftp command
does not overwrite a local file. The tftp command can overwrite a file, but prompts the user before doing
so. Because it is not interactive, the command line form of the utftp command can be more useful than
Subcommands
The tftp and utftp subcommands can be entered in either their interactive form or in their command-line
form.
-w or -p Writes (or puts) local data, specified by the LocalName parameter, to the file specified by
the RemoteName parameter on the remote host specified by the Host parameter. If the
LocalName parameter is a file name, the tftp command transfers the specified local file.
If the LocalName parameter is specified as a - (dash), the tftp command transfers data
from local standard input to the remote host. When the LocalName parameter is standard
input, the tftp command allows 25 seconds for all input to be entered before it times out.
-r or -g or -o Reads (or gets) remote data from the file specified by the RemoteName parameter at the
remote host specified by the Host parameter and writes it to the file specified by the
LocalName parameter. If the LocalName parameter is a file name, the tftp command
writes the data to the specified local file. For the -r and -g actions, the tftp command
prompts for verification before overwriting an existing local file. For the -o action, the tftp
command overwrites an existing local file without prompting. If the LocalName parameter
is specified as a - (dash), the tftp command writes the data to local standard output.
Note: Since the tftp -g and tftp -r commands prompt before overwriting an existing
local file, it may be impractical to use the tftp command in a pipe. The utftp
command performs the same -r and -g actions as the tftp command, but simply
stops before overwriting a local file. Thus, the utftp command may be more
appropriate for use in a pipe.
netascii Transfers the data as 7-bit ASCII characters in 8-bit transfer bytes. This is the default.
image Transfers the data as 8-bit binary data bytes in 8-bit transfer bytes, with no conversion. image
transfer can be more efficient than netascii transfer when transferring between two hosts. It is
recommended that netascii be used when transferring ASCII files from a workstation to a different
type of host.
Examples
The following examples distinguish the differences between the interactive form and the command line
form of the tftp command:
The tftp> prompt is displayed. Enter the status subcommand following this prompt:
status
After the tftp> prompt, enter the connect subcommand and the name of the remote system to which you
want to connect:
The tftp> prompt is displayed as an indication that you are connected to host1. Following the tftp>
prompt, enter the get subcommand to transfer the file update from the remote host to your local host.
The /home/alice directory on the remote host must have read permission set for others. The
/home/alice/update file from host1 was transferred to the update file on your local system. In this
example, the user is connected to host1 and the update file is transferred from host1 to the local host.
In this example, the /home/john/schedule file was copied from the remote host host1 and written to
the local file newsched.
2. To copy a file from a remote host and redirect the output to standard output of the local host, enter:
If the copy is successful, information similar to the following is displayed on your screen:
192.100.13.3 nameserver
192.100.13.3 host2
192.100.13.5 host1
192.100.13.7 host3
192.100.13.3 timeserver
Received 128 bytes in 0.4 seconds
$ _
In this example, the /etc/hosts file from remote host host3 was copied and the output redirected to
standard output of the local host.
3. To copy a file from a remote host, pipe it to the grep command, and write it to a local file, enter:
In this example, the /home/john/schedule file was copied from the remote host host1. This file was
then piped to the grep command and written into the local file jones.todo.
4. To copy a file to another system, enter:
If the copy is successful, information similar to the following is displayed on your screen:
Sent 94146 bytes in 6.7 seconds
In this example, the /home/jeanne/test file was sent to the /tmp directory on the remote host host2.
5. To copy a binary file to another system, enter:
If the copy is successful, information similar to the following is displayed on your screen:
Sent 309295 bytes in 15 seconds
In this example, the binary file core from the current directory was sent to the /tmp directory on remote
host host3.
Files
/etc/tftpaccess.ctl Allows or denies access to files and directories.
Related Information
The ftp command, grep command, rcp command.
File transfers using the tftp and utftp commands in Networks and communication management.
Purpose
Provides the server function for the Trivial File Transfer Protocol.
Syntax
/usr/sbin/tftpd [ -c ] [ -n ] [ -p ] [ -v ] [ -t ] [ -s ] [ -x ] [ -z ] [ -d Directory] [ -r Option]
Description
Note: The tftpd daemon is normally started by the inetd daemon. It can also be controlled from the
command line, using SRC commands.
The /usr/sbin/tftpd daemon runs the Trivial File Transfer Protocol (TFTP) server. Files sent using TFTP
can be found in the directory specified by the full path name given on the tftp or utftp command line.
Note: The tftp command, utftp command, and tftpd server are not available when the auditing
system is in use. For more information, see TCP/IP Security, the Auditing overview, and the audit
command.
Changes to the tftpd daemon can be made using the System Management Interface Tool (SMIT) or
System Resource Controller (SRC), by editing the /etc/inetd.conf or /etc/services file. The tftpd daemon
is started by default when it is uncommented in the /etc/inetd.conf file.
The inetd daemon get its information from the /etc/inetd.conf file and the /etc/services file.
After changing the /etc/inetd.conf or /etc/services file, run the refresh -s inetd or kill -1 InetdPID
command to inform the inetd daemon of the changes to its configuration file.
The tftpd server should have a user ID with the least privileges possible. The nobody ID allows the least
permissions, and is the default user ID.
The tftpd daemon should be controlled using the System Management Interface Tool (SMIT) or by
changing the /etc/inetd.conf file. Entering tftpd at the command line is not recommended.
With AIX 4.3.3, the tftpd server has become a multithreaded application. Another major change with AIX
5.3 is the server’s ability to handle option negotiation (RFC2349). This new capability allows a client to
negotiate a file size to be transferred. It also allows for a timeout and a larger block size. Block size
(blksize) is negotiated for the read requests (RRQ) only. As a result, the boot time performance of diskless
nodes using TFTP can improve significantly.
The Transfer Size option (tsize) negotiation for both read and write requests allows the file size to be
known before the transfer, resulting in an error message if allocation exceeded before the transfer started.
The timeout option (timeout) allows for the client and the server to negotiate a retransmit timeout
(between 1 and 255 seconds). The tftp client must also support RFC2349 for the option negotiation to
take place.
tftpaccess.ctl File
The /etc/tftpaccess.ctl file is searched for lines that start with allow: or deny:. Other lines are ignored. If
the file doesn’t exist, access is allowed. The allowed directories and files minus the denied directories and
files can be accessed. For example, the /usr directory might be allowed and the /usr/ucb directory might
be denied. This means that any directory or file in the /usr directory, except the /usr/ucb directory, can be
accessed. The entries in the /etc/tftpaccess.ctl file must be absolute path names.
The search algorithm assumes that the local path name used in the tftp command is an absolute path
name. It searches the /etc/tftpaccess.ctl file looking for allow:/. It repeatedly searches for allowed path
names with each partial path name constructed by adding the next component from the file path name.
The longest path name matched is the one allowed. It then does the same with denied names, starting
with the longest allowed path name matched.
For example, if the file path name were /a/b/c and the /etc/tftpaccess.ctl file contained allow:/a/b and
deny:/a, one allowed match would be made (/a/b) and no denied match starting with /a/b would be
made, and access would be allowed.
If the /etc/tftpaccess.ctl file contained allow:/a and deny:/a/b, one allowed match would be made (/a)
and one denied match starting with /a (/a/b) would be made, and access would be denied. If the
/etc/tftpaccess.ctl file contained allow:/a/b and also contained deny:/a/b, access would be denied
because allowed names are searched first.
Flags
-c Specifies the maximum number of concurrent threads per process, excluding the initial
thread.
-d Directory Specifies default destination directory. The Directory specified will be used as the home
directory for storing files only. This default directory will be used only if a full pathname is not
specified. The default directory for retrieving files is still /tftpboot.
-i Logs the IP address of the calling machine with error messages.
-n Allows the remote user to create files on your machine. Remote users are only allowed to
read files with read permission for other if this flag is not specified.
-p Specifies the port number for the incoming request.
-r Option Specifies a tftp option negotiation to disable. Multiple -r flags can be used. For example, the
following line in the /etc/inetd.conf file disables option negotiation for tsize and blksize:
tftp dgram udp6 SRC nobody /usr/sbin/tftpd tftpd -n -r tsize -r blksize
startsrc -t tftp
stopsrc -t tftp
This command allows all pending connections to start and existing connections to complete but
prevents new connections from starting.
3. To force stop the tftpd daemon and all tftpd connections, enter the following:
stopsrc -t -f tftp
This command terminates all pending connections and existing connections immediately.
4. To display a short status report about the tftpd daemon, enter the following:
lssrc -t tftp
This command returns the daemon’s name, process ID, and state (active or inactive).
Related Information
The kill command, lssrc command, refresh command, startsrc command, stopsrc command, tftp
command.
tic Command
Purpose
Translates the terminfo description files from source to compiled format.
Syntax
tic [ -v [Number] ] [-c] FileName
Description
The tic command translates the terminfo files from the source format into the compiled format. The tic
command places the results in the /usr/share/lib/terminfo directory. If the TERMINFO environment
variable is set, the results are placed there instead of in the /usr/share/lib/terminfo directory.
The total compiled entries cannot exceed 4096 bytes, and the name field cannot exceed 128 bytes.
Flags
-v[Number] Writes trace information on the progress of the tic command. Number is an integer from 1 to 10
inclusive that increases the level of the verbosity. If Number is omitted, the default level is 1. The
amount of information output increases as Number increases.
-c Only checks FileName for errors. Errors in use=entry-name are not detected.
Files
/usr/share/lib/termi
Related Information
The terminfo file format.
The Curses Overview for Programming in AIX 5L Version 5.3 General Programming Concepts: Writing and
Debugging Programs.
time Command
Purpose
Prints the time of the execution of a command.
Syntax
time [ -p ] Command [ Argument ... ]
Description
The time command prints the elapsed time during the execution of a command, time in the system, and
execution time of the time command in seconds to standard error.
The time command is also built into the C shell (csh) and Korn shell (ksh) with a different format. To run
the time command while in the csh and ksh shells, enter:
/usr/bin/time
Flags
-p Writes the timing output to standard error. Seconds are expressed as a floating-point number with at least one
digit following the radix character.
″real %f\nuser %f\nsys %f\n″, <real seconds>, <user seconds>, <system seconds>
Examples
1. To measure the time required to run a program, enter:
/usr/bin/time -p a.out
This command runs the program a.out and writes the amount of real, user, and system time to
standard error, in the format specified by the -p flag; for example:
real 10.5
user 0.3
sys 3.6
2. To save a record of the time command information in a file, enter:
/usr/bin/time a.out 2> a.time
Files
/usr/bin/time Specifies the path of the time command.
Related Information
The timex command.
timed Daemon
Purpose
Invokes the time server daemon.
Syntax
/usr/sbin/timed [ -c ] [ -M ] [ -t ] [ [ -n Network ] ... | [ -i Network ] ... ]
Note: Use the rc.tcpip file to start the daemon with each initial program load. You can specify the
timed daemon at the command line. You can also use SRC commands to control the timed daemon
from the command line.
When the timed daemon is started without the -M flag, the machine locates the nearest master time
server and asks for the network time. Then the machine uses the date command to set the machine’s
clock to the network time. The machine accepts synchronization messages periodically sent by the master
time server and calls the adjtime subroutine to perform the needed corrections on the machine’s clock.
When the timed daemon is started with the -M flag, the machine polls each of its local area networks to
determine which networks have master time servers. The machine becomes a master time server on the
networks that do not have a master time server. The machine becomes a submaster time server on the
networks that already have a master time server. The timed daemon creates the /var/adm/
timed.masterlog file when the timed daemon is started with the -M flag. The /var/adm/timed.masterlog
file contains a log of the deltas between the local machine’s clock and the clocks of the other machines on
the networks for which the local machine is the master time server. The /var/adm/timed.masterlog file is
updated approximately every 4 minutes and is never cleared. You may need to clear this file to conserve
disk space. If the machine is only a submaster time server on its networks, the /var/adm/timed.masterlog
file remains empty. To clear the /var/adm/timed.masterlog file, enter:
cat /dev/null > /var/adm/timed.masterlog
If the master time server ceases to function on a network, a new master time server is elected from the
submaster time servers on that network. The timedc command enables you to select which submaster
time server becomes the master time server.
The timed daemon can be controlled using the System Resource Controller (SRC), the System
Management Interface Tool (SMIT), or the command line. The timed daemon is not started by default. Use
the rc.tcpip file to start the timed daemon with each initial program load.
Flags
-c Specifies that the master-timed daemon should ignore the time values it gets from the other
slave-timed daemons when for calculating the average network time. This flag changes the
network time to be the same as the system clock on the master-timed daemon.
-i Network Specifies a network to be excluded from clock synchronization. The Network variable can be
either a network address or a network name. If a network name is specified for the Network
variable, the network name must be defined in the /etc/networks file. Specify one network
address or network name with each -i flag. Do not use this flag with the -n flag.
-M Specifies the machine is a master or submaster time server on its local area networks. If a
master time server is not currently available on a network, the machine becomes the master time
server for that network. If a master time server already exists on a network, the machine
becomes a submaster time server on that network. However, the machine can become the
master time server if the current master time server becomes inoperative. The timed daemon
creates the /var/adm/timed.masterlog file when the timed daemon is started with the -M flag.
Examples
1. To start the timed daemon with SRC control, enter:
startsrc -s timed
This command starts the daemon. You can use this command in the rc.tcpip file or on the command
line. The -s flag specifies that the subsystem that follows is to be started.
2. To stop the timed daemon normally with SRC control, enter:
stopsrc -s timed
This command stops the daemon. The -s flag specifies that the subsystem that follows is to be
stopped.
3. To get a short status report from the timed daemon, enter:
lssrc -s timed
This command returns the name of the daemon, the process ID of the daemon, and the state of the
daemon (active or inactive).
4. To start the timed daemon with SRC control as the master or submaster time server and to exclude
networks net1 and net2 from clock synchronization, enter:
startsrc -s timed -a "-M -i net1 -i net2"
This command starts the daemon. The machine becomes the master or submaster time server for its
networks. Networks net1 and net2 are excluded from clock synchronization. The -s flag specifies that
the subsystem that follows is to be started. The -a flag specifies that the timed daemon should be
started with the flags that follow. The flags must be enclosed in quotes.
5. To start the timed daemon, activate tracing, and include net1 and net2 in clock synchronization, enter:
timed -t -n net1 -n net2
This command starts the daemon. Tracing is activated and both net1 and net2 are included in clock
synchronization.
Files
/var/adm/timed.log Contains the messages traced for the timed daemon. This file is
created when the timed daemon is started with the -t flag or when
tracing is enabled with the timedc command.
/etc/rc.tcpip Contains the SRC commands to be executed at system startup.
/var/adm/timed.masterlog Contains a log of the deltas between the master time server clock
and the clocks of the other machines on the networks. This file is
created when the timed daemon is started with the -M flag.
However, this file only contains information for those networks on
which the machine is the master time server.
timedc Command
Purpose
Returns information about the timed daemon.
Syntax
timedc [ Subcommand [ Parameter ... ] ]
Description
The timedc command controls the operation of the timed daemon. The timedc command does the
following:
v Measures the difference between clocks on various machines on a network.
v Finds the location of the master time server.
v Enables or disables tracing of messages received by the timed daemon.
v Debugs.
Without any variables, the timedc command assumes an interactive mode and prompts for subcommands
from standard input. If variables are supplied, the timedc command interprets the first variable as a
subcommand and the remaining variables as parameters to the subcommand. You can redirect standard
input so the timedc command reads subcommands from a file.
Variables
The timedc command recognizes the following subcommands:
? [ Parameter ... ] Displays a short description of each variable specified in the parameter
list. The ? subcommand only works in interactive mode. If you give no
variables, the ? subcommand shows a list of subcommands recognized
by the timedc command.
clockdiff Host ... Computes the differences between the clock of the host machine and the
clocks of the machines given as variables.
election Host ... Requests that the timed daemon on the specified host ( s) reset its
election timers and ensure that a timed master server is available. Up to
4 hosts can be specified. If a master timed server is no longer available,
then the timed daemon on the specified host (s) will request to become
the new timed master server.
You can use other commands for testing and debugging the timed daemon. Use the help command to
find these commands.
Examples
1. To display the time difference between the local host sahara and the remote host sandy, type:
timedc clockdiff sandy
Related Information
The date command.
timex Command
Purpose
Reports, in seconds, the elapsed time, user time, and system execution time for a command.
Syntax
timex [ -o ] [ -p ] [ -s ] Command
Description
The timex command reports, in seconds, the elapsed time, user time, and system execution time for a
command. With specified flags, the timex command lists or summarizes process accounting data for a
command and all of its children. Command is the name of any executable file on the system. It also
reports total system activity during the execution interval. Output is written to standard error. The system
uses the /var/adm/pacct file to select process records associated with the command and includes
background processes with the same user ID, workstation ID, and execution time window.
Examples
1. To report the total number of blocks read and total characters transferred by the ls command, enter:
timex -o ls
2. To list the process accounting records for the ps command, enter:
timex -p ps -fe
3. To report total system activity for the execution of the ls command, enter:
timex -s ls
Files
/var/adm/pacct Used to select record associated with the command.
Related Information
The acctcom command, sar command, time command.
Setting up an accounting subsystem in Operating system and device management describes the steps you
must take to establish an accounting system.
See the Accounting commands in Operating system and device management for a list of accounting
commands that can be run automatically or entered from the keyboard.
For more information about the Accounting System, the preparation of daily and monthly reports, and the
accounting files, see the System accounting in Operating system and device management.
Purpose
Connects to a remote system.
Syntax
tip [ -v ] [ - BaudRate ] { SystemName | PhoneNumber }
Description
The tip command connects to a remote system and allows you to work on the remote system as if logged
in directly.
Either the SystemName parameter or the PhoneNumber parameter is required. The SystemName
parameter specifies the name of a remote system to be contacted. The remote system must be defined in
the /etc/remote file, or in the file specified by the REMOTE environment variable. The PhoneNumber
parameter specifies the number to dial over a modem connection.
When the tip command is invoked with the SystemName parameter, it searches the remote file for an
entry beginning with that system name. When the command is invoked with the PhoneNumber parameter,
it searches the remote file for an entry of the form tipBaudRate, where BaudRate is the baud rate for the
connection. If the -BaudRate flag is not used, the tip command looks for a tip1200 entry, because 1200 is
the default baud rate.
The actions of the tip command can be controlled using flags, escape signals and variables. The tip
command reads the /etc/remote file to find out how to contact a remote system and discover the
escape-send sequence to use when communicating with that system. In addition, the command may
check the /etc/phones file to find out a phone number for the remote system.
A tip user can create an individual remote file in the format of the /usr/lib/remote-file file, and then specify
the file to use with the REMOTE environment variable. A user can also create an individual phones file in
the format of the /usr/lib/phones-file file, and then specify the file to use with the PHONES environment
variable. The tip command does not read the /usr/lib/remote-file file or /usr/lib/phones-file file by
default, however. The default files that the tip command uses are the /etc/remote file and /etc/phones
file.
A tip user can create a $HOME/.tiprc file to specify initial settings for the tip variables. In addition,
settings made in the remote file, the phones file, and the .tiprc file can be overridden by using escape
signals while tip is running. Escape signals can also be used, for instance, to start and stop file transfers
or interrupt a connection to remote system.
The tip command uses lock files in the /etc/locks directory to lock devices against multiple access and to
prevent multiple users from logging in on the same system.
When the tip command prompts for a response, edit the line as you type using the standard keys.
Entering ~. (tilde, period) in response to a prompt, or pressing the Interrupt key, will abort the tip dialog
and return you to the remote system.
You can use the tip command to transfer files to and from the remote system. You can use tip command
escape signals to start and stop the file transfers. Several tip command variables work together to control
file transfers.
File transfers usually use tandem mode to control the flow of data. If the remote system does not support
tandem mode, set the echocheck variable to on to cause the tip command to synchronize with the remote
If the verbose variable is set on, the tip command performs the following:
v Writes a running count of the number of lines transferred during a file transfer.
v Writes messages indicating its actions as it dials a phone number.
You can use scripting to record the conversations you have with the tip command. Use the script variable
to start scripting.
Notes:
1. Only a user with root user authority can change the dialtimeout variable.
2. Although any user can specify a host at the command line, only the root user can change the host
variable setting after the tip command has been started. However, this does not change the system to
which the tip command is currently connected.
Flags
-v Displays the settings of variables as they are read from the .tiprc file.
-BaudRate Overrides the default baud rate, which is 1200 baud.
Escape Signals
Using escape signals, you can instruct the tip command to terminate, log off from the remote system, and
transfer files. The escape character at the beginning of a line indicates an escape signal. The default
escape character is a ~ (tilde). The character can be changed using the escape variable. All other typed
characters are transmitted directly to the remote system. The tip command recognizes the following
escape signals:
~^D~ Terminates the connection and exits. You may still be logged in on the remote system; if
so, you can issue another tip command to reconnect to that remote system.
~c [Directory] Changes, on the local system, to the directory specified by the Directory variable. If you
do not include the Directory variable, the tip command changes to your home directory.
~! Escapes to a shell on the local system. When you exit from the shell, you return to the
tip command.
~> Copies a file from the local system to the remote system. The tip command prompts you
for the name of the local file.
~< Copies a file from the remote system to the local system. The tip command prompts you
for the name of the remote file.
A tip file download will only download the file until one of the EOF characters listed in the eofread
command cariable is encountered. If one of these characters is not encountered, then the file copy will not
succeed.
When downloading a file with the ~< signal, the user will be prompted for a local file name. The user may
respond with any valid writeable file name. When prompted for the remote command, the user should
append the EOF character to the end of the file being read.
~p Source [Dest] Sends (puts) the Source file to a remote UNIX host system, using the cat command
to copy the Source file to the Dest file. If the Dest file name is not specified, the cat
command uses the name of the Source file. If the Dest file exists on the remote host,
it will be replaced by the Source file. This signal is a UNIX-specific version of the ~>
signal.
~t Source [Dest] Transfers (takes) the Source file from a remote UNIX host system to the local system,
using the cat command to copy the Source file to the Dest file on the local system. If
the Dest file name is not specified, the cat command uses the name of the Source
file. If the Dest file exists on the local system, it will be replaced by the Source file.
This signal is a UNIX-specific version of the ~< signal.
~| Pipes the output of a remote command to a local process. The command string sent
to the local system is processed by the shell.
A remote pipe will only succeed if the data from the remote pipe is terminated by one of the eof characters
listed in the eofread tip command variable. If one of these characters is not encountered, then the output
pipe will not succeed.
When piping remote output with the ~| signal, the user will be prompted for a local command name. The
user may respond with any valid command name. When prompted for the remote command, the user
should append the EOF character to the end of the file being read.
This example assumes that the character 0x4 is present in the tip eofread variable. The best way of
ensuring that this character exists in the variable is to assign it in the usr’s .tiprc file, which should reside
in the user’s home directory.
Variables
The tip command uses variables that control its operation. These variables may be numeric, string,
character, or Boolean values. Some of these variables can be changed by any user who can run the tip
command. However, the following variables can be changed only by a user with root user authority: the
baudrate variable and the dialtimeout variable.
Variables may be initialized at run time in the $HOME/.tiprc file. Additionally, you can display and set the
variables while already running the tip command by using the ~s escape signal.
Variables may be numeric, string, character, or Boolean values. To set a non-Boolean variable, enter the
variable name or abbreviation followed by an = (equal sign) and the value. For example, type either
~s host=zeus or ~s ho=zeus to change the host name to zeus. In the .tiprc file, type host=zeus or
ho=zeus.
To change the value of a Boolean variable, enter the variable name or abbreviation as an argument to the
~s signal or on a line of the .tiprc file. To reset the variable to its default value, type an ! (exclamation
point) in front of the name. For example, type ~s !echocheck to reset the echocheck variable to its default
value while running the tip command.
Following are the common variables, their types, abbreviations, and default values.
parity (par) String Defines the parity for file transfers. Defaults to the following
string: no parity, 8 data bits
phones (none) String Specifies the name of the user’s phone file. The file can have
any valid file name and must be set up in the format of the
/usr/lib/phones-file file. The default is the /etc/phones file. If a
file is specified with the PHONES environment variable, it is
used in place of (not in addition to) the /etc/phones file.
Examples
1. To specify a baud rate when making a direct connection, type:
tip -300 hera
This instructs the tip command to use baud rate of 300 when contacting remote system hera.
2. To use a modem to connect to a remote system, type:
tip 9,343-2132
The tip command connects the local system to the remote system reached by the telephone number
343-2132, after dialing a 9 to reach an outside line.
tip -v hera
The -v flag causes the tip command to display the values of the variables as it reads them from the
$HOME/.tiprc file. If the .tiprc file contains the following settings:
sc
be
rec=/home/jimk/callout
Files
/usr/bin/tip Contains the tip command.
/etc/locks/* Contains lock files that prevent multiple uses of devices and multiple calls to
systems.
/etc/remote Contains system descriptions for the tip command. If the remote variable or
the REMOTE environment variable is set, that file is used instead.
/usr/lib/remote-file Contains sample remote file. If theremote variable or the RECORD
environment variable is set, that file is used instead.
/etc/phones Contains the telephone number database for the tip command. If the phones
variable or the PHONES environment variable is set, that file is used instead.
/usr/lib/phones-file Contains the telephone number database for the tip command. If the phones
variable or the PHONES environment variable is set, that file is used instead.
$HOME/.tiprc Defines initial settings for the tip command variables.
tip.record Contains the tip command scripts. By default, the file is stored in the current
directory. The user can change the file name and directory using the record
variable.
Related Information
The cu command, uucp command.
The Communication with connected UNIX systems using the tip command in Networks and communication
management.
tokstat Command
Purpose
Shows token-ring device driver and device statistics.
Syntax
tokstat [ -d -r -t ] Device_Name
Description
The tokstat command displays the statistics gathered by the specified Token-Ring device driver. The user
can optionally specify that the device-specific statistics be displayed in addition to the device driver
statistics. If no flags are specified, only the device driver statistics are displayed.
If an invalid Device_Name is specified, the tokstat command produces an error message stating that it
could not connect to the device.
Flags
-d Displays all the device driver statistics, including the device-specific statistics.
-r Resets all the statistics back to their initial values. This flag can only be issued by privileged users.
-t Toggles debug trace in some device drivers.
Parameters
Device_Name The name of the Token-Ring device, for example, tok0.
Statistic Fields
Note: Some adapters may not support a specific statistic. The value of non-supported statistic fields
is always 0.
The statistic fields displayed in the output of the toktstat command and their descriptions are:
Title Fields
Device Type Displays the description of the adapter type.
Hardware Address Displays the Token-Ring network address currently used by the device.
Elapsed Time Displays the real time period which has elapsed since the last time the statistics were
reset. Part of the statistics may be reset by the device driver during error recovery
when a hardware error is detected. There will be another Elapsed Time displayed in
the middle of the output when this situation has occurred in order to reflect the time
differences between the statistics.
Related Information
The atmstat command, entstat command, fddistat command, netstat command.
topas Command
Purpose
Reports selected local and remote system statistics.
Syntax
topas [ -d number_of_monitored_hot_disks ] [ -h ] [ -i monitoring_interval_in_seconds |
recording_interval_in_seconds ] [ -n number_of_monitored_hot_network_interfaces ] [ -p
number_of_monitored_hot_processes ] [ -w number_of_monitored_hot_WLM classes ] [ -c
number_of_monitored_hot_CPUs ][ -I remote_polling_interval ] [ -U username_owned_processes ] | [ -Cn |
-R [ -o field = value,... ] -D | -L |-P | -T | -t | -E | -W ] [ -m]
Description
The topas command reports selected statistics about the activity on the local system. The command uses
the curses library to display its output in a format suitable for viewing on an 80x25 character-based display
or in a window of at least the same size on a graphical display. The topas command requires the
bos.perf.tools and perfagent.tools filesets to be installed on the system.
The topas command can also report a limited set of performance metrics from remote AIX partitions that
belong to the same hardware platform. This support is described in the Cross-partition view section.
The topas -D command reports the disk details. This report is described in the Disk Panel section. In the
Disk Panel, you can run the subcommands to display the following views:
Adapter Panel
Specified by pressing the d key. This panel provides details on the adapters and the disks that
belongs to the selected adapters.
Virtual Adapter Panel
Specified by pressing the d key and then the v key. This panel provides details on the virtual
adapters that are related to the disks.
MPIO Panel
Specified by pressing the m key. This panel provides the details on the disks and the paths.
If the topas command is invoked without flags, it runs as if invoked with the following command line:
The program extracts statistics from the system with an interval specified by the
monitoring_interval_in_seconds argument. The default output, as shown below, consists of two fixed parts
and a variable section. The top two lines at the left of the display show the name of the system the topas
command runs on, the date and time of the last observation, and the monitoring interval.
The second fixed part fills the rightmost 25 positions of the display. It contains the following subsections of
statistics:
EVENTS/QUEUES Displays the per-second frequency of selected system-global events and the average size of
the thread run and wait queues:
Cswitch
The number of context switches per second over the monitoring interval.
Syscalls
The total number of system calls per second that are run over the monitoring
interval.
Reads The number of read system calls per second that are run over the monitoring
interval.
Writes The number of write system calls per second that are run over the monitoring
interval.
Forks The number of fork system calls per second that are run over the monitoring interval.
Execs The number of exec system calls per second that are run over the monitoring
interval.
Runqueue
The average number of threads that were ready to run but were waiting for a
processor to become available.
Waitqueue
The average number of threads that were waiting for paging to complete.
FILE/TTY Displays the per-second frequency of selected file and the TTY statistics. The following data
are reported:
Readch
The amount of bytes read per second through the read system call over the
monitoring interval.
Writech
The amount of bytes written per second through the write system call over the
monitoring interval.
Rawin The amount of raw bytes read per second from TTYs over the monitoring interval.
Ttyout The amount of bytes written to TTYs per second over the monitoring interval.
Igets The number of calls per second to the inode lookup routines over the monitoring
interval.
Namei The number of calls per second to the path-name-lookup routines over the
monitoring interval.
Dirblk The number of directory blocks scanned per second by the directory search routine
over the monitoring interval.
The variable part of the topas display can have one, two, three, four, or five subsections. If more than one
subsection displays, they are always shown in the following order:
v CPU Utilization
v Network Interfaces
When the topas command is started, it displays all subsections for which hot entities are monitored. The
Workload Manager (WLM) Classes subsection is displayed only when WLM is active.
CPU Utilization This subsection displays a bar chart showing cumulative processor usage. If more than one
processor exists, a list of processors can be displayed by pressing the c key twice.
Pressing the c key only once will turn this subsection off. The following fields are displayed
by both formats:
User% The percentage of processor used by programs running in user mode. (Default
sorted by User%)
Kern% The percentage of processor used by programs running in kernel mode.
Wait% The percentage of time spent in waiting for I/O.
Idle% The percentage of time that the processors are idle.
Physc The number of physical processors that are consumed. Displayed only if the
partition is running with shared processor.
%Entc The percentage of entitled capacity that is consumed. Displayed only if the
partition is running with shared processor.
When this subsection first displays the list of hot processors, the list is sorted by the
User% field. However, the list can be sorted by the other fields by moving the cursor to the
top of the desired column.
Network Interfaces This subsection displays a list of hot network interfaces. The maximum number of
interfaces displayed is the number of hot interfaces being monitored, as specified with the
-n flag. A smaller number of interfaces will be displayed if other subsections are also being
displayed. Pressing the n key turns off this subsection. Pressing the n key again shows a
one-line report summary of the activity for all network interfaces. Both reports display the
following fields:
Interf The name of the network interface.
KBPS The total throughput in kilobytes per second over the monitoring interval. This field
is the sum of kilobytes received and kilobytes sent per second.
I-Pack The amount of data packets received per second over the monitoring interval.
O-Pack
The amount of data packets sent per second over the monitoring interval.
KB-In The number of kilobytes received per second over the monitoring interval.
KB-Out
The number of kilobytes sent per second over the monitoring interval.
When this subsection first displays the list of hot network interfaces, the list is sorted by the
KBPS field. However, the list can be sorted by the other fields by moving the cursor to the
top of the desired column. Sorting is only valid for up to 16 network adapters.
When this subsection first displays the list of hot physical disks, the list is sorted by the
KBPS field. However, the list can be sorted by the other fields by moving the cursor to the
top of the desired column. Sorting is only valid for up to 128 physical disks.
WLM Classes This subsection displays a list of hot Workload Manager (WLM) Classes. The maximum
number of WLM classes displayed is the number of hot WLM classes being monitored as
specified with the -w flag. A smaller number of classes will be displayed if other
subsections are also being displayed. Pressing the w key turns off this subsection. The
following fields are displayed for each class:
% CPU Utilization
The average processor use of the WLM class over the monitoring interval.
% Mem Utilization
The average memory use of the WLM class over the monitoring interval.
% Blk I/O
The average percent of block I/O of the WLM class over the monitoring interval.
When this subsection first displays the list of hot WLM classes, the list will be sorted by the
CPU% field. However, the list can be sorted by the other fields by moving the cursor to the
top of the desired column.
If you press the f key, the following details of the disks belonging to the adapter are displayed at the
bottom of the Adapter Panel:
If you press the f key, the following details of the disks belonging to the adapter are displayed at the
bottom of the Virtual Adapter Panel:
The bottom section of the MIPO Panel contains the following fields:
Remote enablement for this panel to collect from other partitions requires that latest updates to the
perfagent.tools and bos.perf.tools used to support this function. For earlier versions of AIX, the topas
command also collects remote data from partitions that have the Performance Aide product
(perfagent.server) installed. topas -C may not be able to locate partitions residing on other subnets. To
circumvent this, create a $HOME/Rsi.hosts file containing the fully qualified host names for each partition
(including domains), one host per line.
Besides the display option, the topas -R option runs the topas command in the background (with no
display) and record the Cross-Partition data. Recordings are made to the /etc/perf/ directory, and are of
the form topas_cec.YYMMDD. Recordings cover single-day periods (24 hours) and are retained for 8
days before they are automatically deleted. This allows a week's worth of data to be retained on the
system at all times. The topasout command is used to convert these recordings into various text-based
reports.
If you use the topas -R function on an LPAR-capable system, you should identify a single partition for
collecting and recording this data. The topas -R command records the VIO Server/Client throughput
details as well.
The following metrics display in the initial cross-partition panel. Additional metrics with full descriptive
labels can be displayed by using the key toggles identified in the Additional cross-partition panel
subcommands section:
Partition totals:
The %idon and %bdon metrics are not displayed when no dedicated partition is donating.
Requirement: At least one partition to be monitored must have Pool Utilization Authority (PUA) configured
for pool information metrics to be collected.
Restriction: This functionality is currently available only for HMC version 5 and above, and should only
be enabled after careful consideration of any security implications.
The following displays when press the g key in the initial screen, which brings the cross partition view with
detailed headers:
Topas CEC Monitor Interval: 10 Mon Jan 22 00:08:00 2007
Partition Info Memory (GB) Processor Virtual Pools : 2
Monitored : 2 Monitored : 6.2 Monitored :2.0 Avail Pool Proc: 5
UnMonitored: - UnMonitored: - UnMonitored: - Shr Physical Busy: 0.00
Shared : 0 Available : - Available : - Ded Physical Busy: 0.05
Uncapped : 0 UnAllocated: - UnAllocated: - Donated Phys. CPUs: 0.00
Capped : 2 Consumed : 1.9 Shared : 0 Stolen Phys. CPUs : 0.01
Dedicated : 2 Dedicated : 2 Hypervisor
Donating : 0 Donated : 0 Virt. Context Switch: 347
Pool Size : 0 Phantom Interrupts : 0
Partition Info:
Memory:
When the topas command is running inside any cross partition view, press the p key to bring up the Pool
Panel. The following example shows the display:
pool psize entc maxc physb app mem muse
0 3.0 2.0 4.0 0.1 2.0 1.0 1.5
1 4.0 3.0 5.0 0.5 1.5 1.0 0.5
2 3.0 2.5 4.0 0.2 2.0 1.0 0.5
User can scroll up or down in the pool ID column and press the f key to list only the shared partitions
belonging to the poolid where cursor is positioned. The following example shows the display:
When the topas command is running inside any cross-partition view, press the v key to display the Virtual
I/O Server/Client Throughput Panel. The following metrics are displayed:
When the topas command is running inside the Virtual I/O Server/Client Throughput Panel, press the d
key after selecting a server from the Virtual I/O Server/Client Throughput Panel to toggle to VIO
Server/Client Disk Details Panel. This panel displays the server adapter details in the top section and
displays the target device and client disk details in the bottom of the section. To list the target devices and
client disks belong to that adapter, select the adapter and press the f key.
The following metrics are displayed in a Virtual I/O Server/Client Disk Details Panel:
The following details of the adapters are displayed on the top section of the panel:
KBPS The amount of data transferred (read or written) in the adapter in kilobytes per second.
TPS The number of transfers per second that are issued to the adapter.
KB-R The total number of kilobytes read from the adapter.
KB-W The total number of kilobytes written to the adapter.
AQD The number of requests waiting to be sent to the adapter.
AQW The time spent by a transfer request in the waiting queue. The suffix indicates the unit of time.
The default time unit is millisecond.
ART The time to receive a response from the hosting server for the read request sent. The suffix
indicates the unit of time. The default time unit is millisecond.
AWT The time to receive a response from the hosting server for the write request sent. The suffix
indicates the unit of time. The default time unit is millisecond.
MRT The maximum time to receive a response from the hosting server for the read request sent.
The suffix indicates the unit of time. The default time unit is millisecond.
MWT The maximum time to receive a response from the hosting server for the write request sent.
The suffix indicates the unit of time. The default time unit is millisecond.
The following details for the virtual target device and client disk are displayed at the bottom of the panel:
Busy% The percentage of time the that the virtual target device or disk is active (bandwidth use of the
virtual target device or disk).
KBPS The number of kilobytes read and written per second over the monitoring interval. This field is
the sum of the values of the KB-R and KB-W metrics.
TPS The number of transfers per second that are issued to the virtual target device or disk. A
transfer is an I/O request to the virtual target device or disk. Multiple logical requests can be
combined into a single I/O request to the virtual target device or disk. A transfer is of medium
size.
KB-R The number of kilobytes read per second from the virtual target device or disk.
KB-W The number of kilobytes written per second to the virtual target device or disk.
AQD The average number of requests waiting to be sent to virtual target device or disk.
AQW The average queue that is waiting per request reported in millisecond. The suffix indicates the
unit of time. The default time unit is millisecond.
ART The average time to receive a response from the hosting server for the read request sent. The
suffix indicates the unit of time. The default time unit is millisecond.
AWT The average time to receive a response from the hosting server for the write request sent. The
suffix indicates the unit of time. The default time unit is millisecond.
Flags
-c Specifies the number of hot processors to be monitored. This is also the maximum
number of processors displayed when enough room is available on the screen. If this
number exceeds the number of processors available, only the installed processors will
be monitored and displayed. If this argument is omitted, a default of 2 is assumed. If a
value of 0 (zero) is specified, no processor information is monitored.
-C Displays the Cross-Partition Panel. The topas command collects a set of metrics from
AIX partitions running on the same hardware platform. The metrics are similar to those
collected by the lparstat command. Dedicated and shared partitions are displayed, and
a set of aggregated values provide an overview of the entire hardware systems partition
set. Certain values only available from the HMC platform may be set via the line
command if an HMC connection is not available:
v -o availmem = [ total amount of memory allocated to all partitions, in GB]
v -o unavailmem = [total amount of memory unallocated from the HMC, in GB]
v -o availcpu = [total number of physical processors allocated for all partitions]
v -o unavailcpu = [total number of physical processors unallocated from the HMC]
v -o poolsize = [defined Pool Size required if HMC Processor Utilization Authority
restricts access]
v -o partitions = [number of partitions defined on the HMC]
v -o reconfig = [number of seconds between checking for HMC configuration changes.
Allowed values are 30, 60, 90, 120, 180, 240, 300 seconds. The default is 60
seconds]
With the -D flag specified, you can run the following subcommands:
v To view the Adapter Panel, press the d key.
v To display all of the virtual adapters present in the partition (Virtual Adapter Panel),
press the v key.
v To display the disks belonging to the adapter or the virtual adapter, press the f key.
v To display the MPIO Panel, press the m key. This panel displays the disks details on
the top and the path details at the bottom. To list the paths of the disks, press the f
key.
-d Specifies the number of disks to be monitored. This is also the maximum number of
disks displayed when enough room is available on the screen. When this number
exceeds the number of disks installed, only the installed disks will be monitored and
displayed. If this argument is omitted, a default of 2 is assumed. If a value of 0 (zero) is
specified, no disk information is monitored.
-i Sets the monitoring interval in seconds. The default is 2 seconds. If used with the -R
mode, this becomes the recording interval for partition metrics. The default is 300
seconds. Valid values are 10, 15, 30, 60, 120, and 300 seconds.
-I remote_polling_interval For cross-partition display, sets the sampling interval to collect data from remote
partitions. The default is 10 seconds. Values of 10, 15, 30, 60 and 120 seconds are
allowed.
-L Displays the logical partition display. This display reports similar data to what is provided
to mpstat and lparstat.
-m Displays in monochrome mode (no colors).
-n Specifies the number of hot network interfaces to be monitored. This is also the
maximum number of network interfaces displayed when enough room is available on
the screen. When this number exceeds the number of network interfaces installed, only
the installed network interfaces will be monitored and displayed. If this argument is
omitted, a default of 2 is assumed. If a value of 0 (zero) is specified, no network
information is monitored.
Recordings cover only a 24-hour period and are retained for a period of 2 to 7 days.
Recordings are made to the /etc/perf/ directory and are of the form
topas_cec.YYMMDD.
If you have configured the topas hosting partition to query the HMC (see above), the
following options are used to specify the managed system and HMC hostname:
v -o managedsys = [managed system name under which this partition is configured,
available via: lsrsrc -dx IBM.ManagementServer Hostname]
v -o hmc = [HMC name under which this partition is configured]
The HMC name as a parameter is optional and can be used when the resource class
IBM.ManagementServer is not configured in RMC. It is recommended that the IP
address of the HMC be provided instead of the host name. The managed system name
needs to be specified as a parameter for the topas command for the query.
If the HMC platform cannot be configured for automatic queries, then the global data
fields not available to the local partition may be set using the following options:
v -o availmem = [total amount of memory allocated to all partitions, in GB]
v -o unavailmem = [total amount of memory unallocated from the HMC, in GB]
v -o availcpu = [total number of physical processors allocated for all partitions]
v -o unavailcpu = [total number of physical processors unallocated from the HMC]
v -o poolsize = [defined Pool Size required if HMC Processor Utilization Authority
restricts access]
v -o partitions = [number of partitions defined on the HMC]
v -o reconfig = [number of seconds between checking for HMC configuration changes.
Valid values are 30, 60, 90, 120, 180, 240, and 300 seconds. The default is 300
seconds]
v -o dir = [optional recording directory path]
The topas -R command is deprecated. For CEC recording, use the topasrec -C
command for instead of the topas -R command.
-t Toggles the tape display section on or off in the main topas display.
The bottom part of the display shows a list of busiest processes, similar to the full
screen process display, but only displays processes belonging to one WLM class
(selected with the f key).
-w Specifies the number of hot Workload Manager (WLM) classes to be monitored. This is
also the maximum number of WLM classes displayed when enough room is available
on the screen. If this number exceeds the number of WLM classes installed, only the
installed WLM classes will be monitored and displayed. If this argument is omitted, a
default of 2 is assumed. If a value of 0 (zero) is specified, no WLM class information is
monitored.
General Subcommands
While topas is running, it accepts one-character subcommands. Each time the monitoring interval elapses,
the program checks for one of the following subcommands and responds to the action requested.
a Shows all of the variable subsections being monitored (processor, network, disk, WLM, and
process). Pressing the a key always returns the topas command to the initial main display.
c Toggles the processor subsection between the cumulative report, off, and a list of the busiest
processors. The number of busiest processors displayed will depend upon the space
available on the screen.
C Activates the Cross-Partition Panel. Or if the Cross-Partition panel is currently active, resets
the panel to display the global summary, dedicated, and shared sections. See the Additional
Cross-Partition Panel Subcommands section for options specific to this panel.
d Toggles the disk subsection between a list of busiest disks, off, and the report on the total
disk activity of the system. The number of busiest disks displayed will depend upon the
space available on the screen.
D Replaces the current display with the Disk Metric display. This display offers additional
information about disk access times and disk queuing. When the D key is pressed again, it
toggles back to the default main screen.
Implementation Specifics
Disks and network adapters added after starting topas or any other SPMI consumer will not be reflected in
topas. You must stop topas and all clients that use SPMI and then restart after the changes to disks and
network adapters are made.
Topas Monitor for host: mothra Interval: 2 Wed Nov 8 12:30:54 2000
WLM-Class (Active) CPU% Mem% Disk-I/O%
System 0 0 0
Shared 0 0 0
Default 0 0 0
Unmanaged 0 0 0
Unclassified 0 0 0
==============================================================================
DATA TEXT PAGE PGFAULTS
USER PID PPID PRI NI RES RES SPACE TIME CPU% I/O OTH COMMAND
root 1 0 108 20 197 9 180 0:24 0.0 0 0 init
root 1032 0 16 41 3 3374 3 0:00 0.0 0 0 lrud
root 1290 0 60 41 4 3374 4 0:02 0.0 0 0 xmgc
root 1548 0 36 41 4 3374 4 0:26 0.0 0 0 netm
root 1806 0 37 41 16 3374 16 13:25 0.0 0 0 gil
root 2064 0 16 41 4 3374 4 0:04 0.0 0 0 wlmsched
root 2698 1 108 20 14 2 14 0:00 0.0 0 0 shlap
root 3144 1 108 20 40 1 36 5:19 0.0 0 0 syncd
root 3362 0 108 20 4 3374 4 0:00 0.0 0 0 lvmbb
root 3666 1 108 20 135 23 123 0:00 0.0 0 0 errdemon
root 3982 0 108 20 4 3374 4 0:01 0.0 0 0 rtcmd
Examples
1. To display up to twenty ″hot″ disks every five seconds and omit network interface, WLM classes, and
process information, enter the following command:
topas -i5 -n0 -p0 -w0
2. To display the five most active processes and up to twenty most active WLM classes (which is the
default when omitting the -w flag) but no network or disk information, enter the following command:
topas -p5 -n0 -d0
3. To run the program with default options, enter the following command:
Files
/usr/bin/topas Contains the topas command.
Related Information
The iostat command, vmstat command, wlmstat command, sar command, ps command, mpstat
command, lparstat command.
System Performance Measurement Interface in the Performance Toolbox Version 2 and 3 for AIX: Guide
and Reference
topasout Command
Purpose
Generates reports by processing xmwlm and topas recordings.
Syntax
Local reports
Summary report
Detailed report
Lan report
Disk report
Adapter report
Comma-separated report
Spread-sheet report
topasout [-s] [-m min | max | mean | set | exp | stdev] <xmwlm_recording_file>
topasout -a <xmwlm_recording_file>
CEC reports
Summary report
Detailed report
Shared-processor-pool report
VIOS report
Comma-separated report
Spread-sheet report
topasout -s <topas_recording_file>
If there is more than one value for a metric within the user-specified interval, the topasout command
averages out all those values to get single value that can be printed in the report. For values that cannot
be averaged out (like simultaneous multi-threading, dedicated / shared mode), the topasout command
takes the last or the first values that are recorded in the interval.
Local report
There are several types of local reports: the Summary report, the Detailed report, the LAN report, the Disk
report, the Comma-separated report, the Nmon analyzer report, the Adapter report, and the Virtual adapter
report.
Summary report
Time Ending time of the report interval. Metric values are averaged out over this interval and
printed in the report.
InU Memory that is used.
Us Percentage of processor time spent in the user mode.
Sy Percentage of processor time spent in the system mode.
Wa Percentage of processor time spent waiting for I/O.
Id Percentage of time that the processor is idle.
PhysB Number of physical processors that are busy.
RunQ The average number of threads that are ready to run but are waiting for a processor to
become available
WtQ The average number of threads that are waiting for paging to be completed.
Cswitch The number of context switches per second in the reporting interval.
Syscall The number of system calls executed per second in the reporting interval.
PgFault The number of I/O and other page faults.
%don Sum of %idle cycles donated and %busy cycles donated.
%stl Sum of %idle cycles stolen and %busy cycles stolen.
Detailed reports
Disk reports
A disk report provides information on the amount of data that are read or written to disks.
LAN reports
A LAN report provides the amount of data received or sent in the network interfaces.
The topasout command generates a nmon analyzer report that can be viewed with the nmon analyzer.
Use the topasout command with -a option to generate this report. The generated .csv file can be opened
with a nmon analyzer. For example, to generate a xmwlm.061016.csv file, type:
topasout -a /etc/perf/daily/xmwlm.061016
The generated .csv file locates in the same directory of the original file, its name is xmwlm.061016.csv.
Use the topasout command with -c option to generate this report. The output file is written to
recordedfilename_01 file.
For example, to generate a comma-separated report for the xmwlm.060503 file, type:
topasout -c /etc/perf/daily/xmwlm.060503
The output file is the xmwlm.060503_01 file in the same directory of the original file.
When the -m option is set, the topasout command writes the min, max, mean, stdev, and the exp
values of the recorded metrics in the report.
Use the topasout command with -s option to generate this report. The output file is written to
recordedfilename_01 file.
For example, to generate a report in spreadsheet format for the xmwlm.060503 file, type:
topasout -s /etc/perf/daily/xmwlm.060503
The output file is the xmwlm.060503_01 file in the same directory of the original file.
When the -m option is set, the topasout command writes the min, max, mean, stdev, and the exp
values of the recorded metrics in the report.
Adapter report
An Adapter report provides information on the amount of data that are read or written to adapters.
The following metrics of the adapter are reported in Virtual adapter report:
CEC report
Detailed report
A CEC report's detailed report gives a detailed view of all the partitions that the topas command is able to
record data from.
The followings are the column headings in a CEC report's detailed report:
Partition Info:
Memory:
Processor:
Summary report
This report provides a summary of the CEC system. Please note that reporting is based on the partitions
that actually responded to the topas command. If the partitions in the CEC do not have xmtopas or
xmservd configured, then the partitions cannot be monitored.
Mon Number of the partitions monitored in the first reporting time interval
UnM Number of the partitions that are not monitored in the first reporting time interval
Shr Number of the shared partitions in the first reporting time interval
Ded Number of the dedicated partitions in the first reporting time interval
Cap Number of the capped partitions in the first reporting time interval
UnC Number of the uncapped partitions in the first reporting time interval
CEC:
ShrB Shared physical processor busy. (Sum of physical busy of processors in the shared
partitions.)
DedB Dedicated physical processor busy. (Sum of physical busy of processors in the dedicated
partitions.
Don Total number of the processors that are donated to the physical pool.
Processors:
Memory (GB):
Shared-processor-pool report
The CEC shared processor pool report contains information on the shared processor pools.
The following column headings are included in a shared processor pools report:
#Report: Topas CEC Pool Detailed --- hostname: ptoolsl1 version: 1.0
pool psize entc maxc physb app mem muse
0 3.0 2.0 3.0 0.1 1.0 2.0 1.0
1 4.0 3.0 5.0 0.5 1.5 1.0 0.5
2 3.0 2.5 4.0 0.2 2.0 1.0 0.5
Comma-separated reports
The topasout command generates a CEC report that is separated with comma.
Use the topasout command with -c option to generate this report. The output file is written to
recordedfilename_01 file.
For example, to generate a report in spreadsheet format for the topas_cec.070221 file in the /etc/perf/
directory, type:
topasout -c /etc/perf/topas_cec.070221
Use the topasout command with -s option to generate this report. The output file is written to
recordedfilename_01 file.
For example, to generate a report in spreadsheet format for the topas_cec.070221 file in the /etc/perf/
directory, type:
topasout -s /etc/perf/topas_cec.070221
The output file is the topas_cec.070221_01 file in the same directory of the original file.
VIOS report
The VIOS report contains information of Virtual I/O Server/Client throughput. The following column
headings are included in a Virtual I/O Server/Client throughput report:
KBPS Amount of data transferred (read or written) in the adapter in kilobytes per second
TPS Number of transfers per second issued to the adapter
KB-R Total number of kilobytes read from the adapter
KB-W Total number of kilobytes written to the adapter
AQD Average number of requests waiting to be sent to the virtual target device or disk
AQW Average queue waiting per request reported in millisecond. The suffix indicates the unit
of time. The default time unit is millisecond.
ART Average time to receive a response from the hosting server for the read request sent.
The suffix indicates the unit of time. The default time unit is millisecond.
AWT Average time to receive a response from the hosting server for the write request sent.
The suffix indicates the unit of time. The default time unit is millisecond.
MRT Maximum time to receive a response from the hosting server for the read request sent.
The suffix indicates the unit of time. The default time unit is millisecond.
MWT Maximum time to receive a response from the hosting server for the write request
sent. The suffix indicates the unit of time. The default time unit is millisecond.
The following details of virtual target device and client disk are reported:
Busy% Percentage of time that the virtual target device or disk is active.
KBPS Number of kilobytes read and written per second over the monitoring interval. This
field is the sum of the value of the KB-R and KB-W metrics.
TPS Number of transfers per second that are issued to the virtual target device or disk. A
transfer is an I/O request to the virtual target device or disk. Multiple logical requests
can be combined into a single I/O request to the disk. A transfer is of medium size.
KB-R Number of kilobytes read per second from the virtual target device or disk.
KB-W Number of kilobytes written per second to the virtual target device or disk.
AQD Average number of requests waiting to be sent to the virtual target device or disk.
AQW Average queue waiting per request that is reported in milliseconds. The suffix
indicates the unit of time. The default time unit is milliseconds.
ART Average time to receive a response from the hosting server for the read request sent.
The suffix indicates the unit of time. The default time unit is milliseconds.
AWT Average time to receive a response from the hosting server for the write request sent.
The suffix indicates the unit of time. The default time unit is milliseconds.
MRT Maximum time to receive a response from the hosting server for the read request
sent. The suffix indicates the unit of time. The default time unit is milliseconds.
MWT Maximum time to receive a response from the hosting server for the write request
sent. The suffix indicates the unit of time. The default time unit is milliseconds.
Flags
-a The -a flag is used only for nmon analyzer report.
YYMMDD represents year, month, and day. HHMM represents hour and minute.
In HHMM format, the value must range from 0000 through 2359. The default value for
begin time is 0000. The report is generated for the first day of the recording within the
given time range.
In YYMMDDHHMM format, the default value is the time of the first recorded data in
the recording file. The command generates report for the data between the begin and
end time range.
-c Specifies that the topasout command should format the output files as
comma-separated ASCII. Each line in the output files contains one time stamp and
one observation.
-e time The time in the recorded file that the topasout command stop generating reports from.
The time can be in the YYMMDDHHMM format or the HHMM format. You must use
the same time format for the begin time if it is specified.
In YYMMDDHHMM format, the default value is the time of the last recorded data in the
recording file. The report is generated for the data between the begin and end date
and time range.
In HHMM format, the default value for end time is 2359. The report is generated for
the first day of the recording within the given time range.
-i interval The -i flag defines the interval in minute that the topasout command need to average
the values. The valid values of the -i flag are 5, 10, 15, 30, or 60. The default value is
5 minutes.
-m By default, the topasout only outputs mean values. Other recorded values and the full
set for local recordings are available through other options (min, max, mean, stdev,
set, exp).
-R Use the -R flag to specify the type of a report for xmwlm recordings or topasout
recordings. Refer to individual report types in the Syntax section to find out supported
-R options. The reports generated with the -R option are printed to the console.
-s Specifies that topasout should format the output files in a format suitable for input to
spreadsheet programs.
Examples
1. To generate a detailed report from a xmwlm recording file from 10:00 a.m. to 11:00 p.m., type:
topasout -R detailed -i 15 –b 1000 -e 2300 /etc/perf/daily/xmwlm.070226
2. To generate summary report from a xmwlm recording file, type:
topasout -R summary /etc/perf/daily/xmwlm.070226
3. To generate disk report from a xmwlm recording file, type:
topasout -R disk /etc/perf/daily/xmwlm.070226
4. To generate LAN report from a xmwlm recording file, type:
topasout -R lan /etc/perf/daily/xmwlm.070226
5. To generate a adapter report from an xmwlm recording file, enter the following command:
topasout -R adapter /etc/perf/daily/xmwlm.070226
6. To generate a virtual adapter report from an xmwlm recording file, enter the following command:
topasout -R vadapter /etc/perf/daily/xmwlm.070226
Location
/usr/bin/topasout
Files
/usr/bin/topas Contains the topas command.
/usr/bin/xmwlm Contains the xmwlm command.
/usr/bin/topasout Contains the topasout command. The topasout command is included in the
perfagent.tools fileset.
Related Information
The topas command and xmwlm command.
topasrec Command
Purpose
The topasrec command generates binary recording of local system metrics and the CEC metrics.
Syntax
Local binary recording:
CEC recording:
topasrec -l
The topasrec command records the local system data and the cross-partition data (CEC statistics) in
binary format.
When you run the topasrec command for CEC recording, the topasrec command collects a set of metrics
from the AIX partitions running on the same CEC. The topasrec command collects dedicated and shared
partition data, and a set of aggregated values to provide an overview of the partition set on the same
CEC.
Flags
-C Records CEC statistics in binary format. The -C flag specifies that the
cross-partition statistics are to be recorded.
-c sample_count Records the specified number of records and then stop.
If you have configured the topas hosting partition to query the HMC
(see the topas command on how to configure), you can specify the
managed system and HMC hostname with the following options:
v -O managedsys = [ Managed system name under which this
partition is configured ]
You should specify the managedsys parameter for the topasrec
command for the query. This value is available through the
command lsrsrc -dx IBM.ManagementServer Hostname.
v -O hmc = [ HMC name under which this partition is configured ]
The hmc parameter is optional. You can specify the hmc parameter
when the resource class IBM.ManagementServer is not configured
in resource monitoring and control (RMC). You are suggested to
provide the IP address of the HMC instead of the host name.
If you cannot configure the HMC platform for automatic queries, the
global data fields that are not available to the local partition can be set
using the following options:
v -O availmem = [ total amount of memory allocated to all partitions
in gigabyte ]
v -O unavailmem = [ total amount of memory unallocated from the
HMC in gigabyte ]
v -O availcpu = [ total number of physical processors allocated for all
partitions ]
v -O unavailcpu = [ total number of physical processors unallocated
from the HMC ]
v -O poolsize = [ defined Pool Size required if HMC Processor
Utilization Authority restricts access ]
v -O partitions = [ number of partitions defined on the HMC ]
v -O reconfig = [ number of seconds between checking for HMC
configuration changes. The valid values are 30, 60, 90, 120, 180,
240, and 300 seconds. The default value is 300 seconds. ]
If you provide a filename that contains only the directory prefix, the
name of the recorded file is in the following format:
v For CEC metrics, the output is in the following format:
<filename/hostname>_cec_YYMMDD_HHMM.topas
v For local metrics, the output is in the following format:
<filename/hostname>_YYMMDD_HHMM.topas
In these formats, year (YY), month (MM), day (DD), hour (HH), and
minute (MM) correspond to the time when the recording file is
created.
Parameters
sample_count Specifies the number of records to generate.
output_filename Specifies the name of the output file.
seconds Specifies the recording interval in second.
managedsys Specifies the managed system under which the partition is configured. Use this
parameter with the -C -O flags when the topas hosting partition is configured.
hmc Specifies the HMC under which this partition is configured. Use this parameter
with the -C -O flags when the topas hosting partition is configured. This
parameter is optional.
availmem Specifies the total amount of memory allocated to all partitions in gigabyte.
unavailmem Specifies the total amount of memory unallocated from the HMC in gigabyte.
availcpu Specifies the total number of physical processors allocated for all partitions.
unavailcpu Specifies the total number of physical processors that are not allocated from the
HMC.
poolsize Specifies the defined Pool Size required if HMC Processor Utilization Authority
restricts access.
partitions Specifies the number of partitions that are defined on the HMC.
reconfig Specifies the number of seconds between checking for HMC configuration
changes. The valid values are 30, 60, 90, 120, 180, 240, and 300 seconds. The
default value is 300 seconds.
hmc_configuration_parameters Specifies the parameters to configure the HMC. For more information about
available parameters, see the -O flag description.
If the file is created at 23:14, Mar 10, 2008, and the host name is ses15, then the output file name is
./ses15_080310_2314.topas.
2. To start a continuous local binary recording with the file name as /home/test/sample, enter the
following command:
topasrec -L -o /home/test/sample
If the file is created at 12:05, Mar 10, 2008, and the host name is ses15, then the output file name is
/home/test/sample_080310_1205.topas.
3. To start a CEC recording that runs for 20 minutes with metrics recorded at 120 second interval, and
generate a output file named sample, enter the following command:
topasrec -C -o sample -s 120 -c 10
If the file is created at 08:07, Feb 1, 2008, and the host name is ses15, then the output file name is
./sample_cec_080201_0807.topas.
4. To start a continuous local binary recording with the file name as /home/test/sample_bin, enter the
following command:
topasrec -C -o /home/test/sample_bin
If the file is created at 04:20, Feb 1, 2008, and the host name is ses15, then the output file name is
/home/test/sample_bin_080201_0420.topas.
5. To list the details of the running recordings, enter the following command:
topasrec –l
Files
/usr/bin/topasrec Contains the topasrec command.
Related Information
The topas Command (“topas Command” on page 386).
topsvcs Command
Purpose
Starts or restarts topology services on a cluster node.
Syntax
topsvcs
Description
Use topsvcs script to start the operation of topology services for a cluster.
The topsvcs script is not normally executed from the command line. It is normally called by the
topsvcsctrl control script, which is in turn called by the HACMP/ES startup process.
These commands enable IP source routing. Do not change this setting, because the topology services
subsystem requires this setting to work properly. If you change the setting, the topology services
subsystem and a number of other subsystems that depend on it will no longer operate properly.
Flags
−s Instructs the topology services daemon to reject messages that are apparently delayed.
−d Instructs the topology services daemon not to reject messages that are apparently delayed (this is
the default).
Security
You must have root privilege to run this command.
Exit Status
0 Indicates the successful completion of the command.
1 Indicates the command was unsuccessful.
Environment Variables
HB_SERVER_SOCKET
This environment variable should be set before this command can be executed. It must be set to
the location of the UNIX-domain socket used by topology services clients to connect to the
topology services daemon. This environment variable must be set to /var/ha/soc/hats/
server_socket.partition name.
HA_SYSPAR_NAME
If HB_SERVER_SOCKET is not set, then HA_SYSPAR_NAME must be set to the partition name.
Restrictions
This command is valid in an HACMP environment only.
Use this command only under the direction of the IBMSupport Center.
Standard Output
When the -h flag is specified, this command’s usage statement is written to standard output. All verbose
messages are written to standard output.
Standard Error
This command writes error messages (as necessary) to standard error.
Examples
To instruct the topology services daemon on the local node to start discarding apparently delayed
messages, enter:
export HA_SYSPAR_NAME=partition1
/usr/sbin/rsct/bin/hatsoptions -s
Files
/var/ha/soc/hats/server_socket.partition name
Related Information
Commands: lssrc, startsrc, stopsrc
Scripts: topsvcsctrl
topsvcsctrl Command
Purpose
Starts the topology services subsystem.
Syntax
topsvcsctrl { -a │ -s │ -k │ -d │ -c │ -u │ -t │ -o │ -r │ -h }
Description
The topsvcsctrl control script controls the operation of the topology services subsystem. The subsystem
is under the control of the system resource controller (SRC) and belongs to a subsystem group called
topsvcs. This script is normally started by the HACMP/ES startup process.
From an operational point of view, the topology services subsystem group is organized as follows:
Subsystem topology services
Subsystem group topsvcs
SRC subsystem topsvcs
The topsvcs subsystem is associated with the hatsd daemon and the
topsvcs script. The topsvcs script configures and starts the hatsd
daemon. The subsystem name on the nodes is topsvcs. There is one of
each subsystem per node and it is associated with the cluster to which the
node belongs.
Daemons hatsd
Provides the topology services. The topsvcs script configures and starts
the hatsd daemon.
The topsvcsctrl script is not normally executed from the command line. It is normally called by the
HACMP/ES startup command.
The topsvcsctrl script provides a variety of controls for operating the topology services subsystems:
v Adding, starting, stopping, and deleting the subsystems
v Cleaning up the subsystems, that is, deleting them from all system partitions
v Turning tracing on and off
v Refreshing the subsystem
Except for the clean and unconfigure functions, all functions are performed within the scope of the current
system partition.
Adding the subsystem: When the -a flag is specified, the control script uses the mkssys command to
add the topology services subsystem to the SRC. The control script operates as follows:
1. It makes sure the topsvcs subsystem is stopped.
2. It removes the topsvcs subsystem from the SRC (in case it is still there).
3. It adds the topsvcs subsystem to the SRC.
Starting the subsystem: When the -s flag is specified, the control script uses the startsrc command to
start the topology services subsystem, topsvcs.
Stopping the subsystem: When the -k flag is specified, the control script uses the stopsrc command to
stop the topology services subsystem, topsvcs.
Deleting the subsystem: When the -d flag is specified, the control script uses the rmssys command to
remove the topology services subsystem from the SRC. The control script operates as follows:
1. It makes sure that the topsvcs subsystem is stopped.
2. It removes the topsvcs subsystem from the SRC using the rmssys command.
3. It removes the port number from the /etc/services file.
Cleaning up the subsystems: When the -c flag is specified, the control script stops and removes the
topology services subsystems for all clusters partitions from the SRC. The control script operates as
follows:
1. It stops all instances of subsystems in the clusters, using the stopsrc -g topsvcs command.
2. It removes all entries for the topsvcs subsystem from the /etc/services file.
Turning tracing on: When the -t flag is specified, the control script turns tracing on for the hatsd daemon,
using the traceson command.
Turning tracing off: When the -o flag is specified, the control script turns tracing off (returns it to its
default level) for the hatsd daemon, using the tracesoff command.
Refreshing the subsystem: When the -r flag is specified, the control script refreshes the subsystem,
using the topsvcs refresh command and the refresh command. It rebuilds the information about the node
and adapter configuration in the global object data manager (ODM) and signals the daemon to read the
rebuilt information.
Logging: While it is running, the topology services daemon (hatsd) provides information about its
operation and errors by writing entries in a log file called /var/ha/log/topsvcs.cluster_name.
Flags
-a Adds the subsystem.
-s Starts the subsystem.
-k Stops the subsystem.
-d Deletes the subsystem.
-c Cleans the subsystems.
Security
You must be running with an effective user ID of root to use this script.
Exit Status
0 Indicates that the script completed successfully.
1 Indicates that an error occurred.
Environment Variables
HB_SERVER_SOCKET
This environment variable should be set before this command can be executed. It must be set to
the location of the UNIX-domain socket used by topology services clients to connect to the
topology services daemon. This environment variable must be set to /var/ha/soc/hats/
server_socket.partition name.
HA_SYSPAR_NAME
If HB_SERVER_SOCKET is not set, then HA_SYSPAR_NAME must be set to the partition name.
Restrictions
This command is valid in an HACMP environment only.
Use this command only under the direction of the IBM Support Center.
Standard Output
When the -h flag is specified, this command’s usage statement is written to standard output. All verbose
messages are written to standard output.
Standard Error
This script writes error messages (as necessary) to standard error.
Examples
1. To add the topology services subsystem to the SRC, enter:
topsvcsctrl -a
2. To start the topology services subsystem, enter:
topsvcsctrl -s
3. To stop the topology services subsystem, enter:
topsvcsctrl -k
4. To delete the topology services subsystem from the SRC, enter:
topsvcsctrl -d
5. To clean up the topology services subsystem, enter:
topsvcsctrl -c
6. To turn tracing on for the topology services daemon, enter:
Location
/usr/sbin/rsct/bin/topsvcsctrl Contains the topsvcsctrl script
Files
/var/ha/log/topsvcs.cluster_name
Contains the log of the hatsd daemon on the cluster named
cluster_name
Related Information
Commands: lssrc, startsrc, stopsrc
Scripts: topsvcs
touch Command
Purpose
Updates the access and modification times of a file.
Syntax
touch [ -a ] [ -c ] [ -m ] [ -f ] [ -r RefFile ] [ Time | -t Time ] { File ... | Directory ... }
Description
The touch command updates the access and modification times of each file specified by the File
parameter of each directory specified by the Directory parameter. If you do not specify a value for the
Time variable, the touch command uses the current time. If you specify a file that does not exist, the
touch command creates the file unless you specify the -c flag.
The return code from the touch command is the number of files for which the times could not be
successfully modified (including files that did not exist and were not created).
Note: Any dates beyond and including the year 2038 are invalid.
Flags
-a Changes the access time of the file specified by the File variable. Does not change the
modification time unless -m is also specified.
-c Does not create the file if it does not already exist. No diagnostic messages are written
concerning this condition.
-f Attempts to force the touch in spite of read and write permissions on a file.
-m Changes the modification time of File. Does not change the access time unless -a is also
specified.
-r RefFile Uses the corresponding time of the file specified by the RefFile variable instead of the current
time.
Notes:
1. The touch command calls the utime () subroutine to change the modification and access times of the
file touched. This may cause the touch command to fail when flags are used if you do not actually
own the file, even though you may have write permission to the file.
2. Do not specify the full path name /usr/bin/touch if you receive an error message when using the
touch command.
Exit Status
This command returns the following exit values:
Examples
1. To update the access and modification times of a file, enter:
touch program.c
This sets the last access and modification times of the program.c file to the current date and time. If
the program.c file does not exist, the touch command creates an empty file with that name.
2. To avoid creating a new file, enter:
touch -c program.c
3. To update only the modification time, enter:
touch -m *.o
This updates the last modification times (not the access times) of the files that end with a .o extension
in the current directory. The touch command is often used in this way to alter the results of the make
command.
4. To explicitly set the access and modification times, enter:
This sets the access and modification dates to 14:25 (2:25 p.m.) February 17 of the current year.
5. To use the time stamp of another file instead of the current time, enter:
This gives the program.c file the same time stamp as the file1 file.
6. To touch a file using a specified time other than the current time, enter:
This gives the program.c file a time stamp of 3:03:55 a.m. on March 3, 1985.
Files
/usr/bin/touch Contains the touch command.
Related Information
The date command, locale command.
Directories in Operating system and device management describes the structure and characteristics of
directories in the file system.
Files in Operating system and device management describes files, file types, and how to name files.
File and directory access modes in Operating system and device management introduces file ownership
and permissions to access files and directories.
Understanding File Types in AIX 5L Version 5.3 General Programming Concepts: Writing and Debugging
Programs introduces the commands that control files.
tprof Command
Purpose
Reports processor usage.
Syntax
tprof [ -c ] [ -C { all | CPUList } ] [ -d ] -D ] [ -e ] [ [ -E [ mode ] ] [ -f frequency ] ] [ -F ] [-I] [ -j ] [ -k ] [ -l ]
[-L ObjectList] [ -m ObjectsList ] [ -M SourcePathList ] [-N] [ -p ProcessList ] [ -P { all | PIDsList } ] [ -s ] [
-S SearchPathList ] [ -t ] [ -T BufferSize ] [ -u ] [ -v ] [ -V VerboseFileName ] [-g] { { -r RootString } | { [ -A
{ all | CPUList }[ -n ] ] [ -r RootString ] -x Program } }
Notes:
1. All the list type inputs are separated by a comma except for path list, which is separated by a colon.
2. Per-processor profiling mode is automatically disabled while running in real-time mode.
3. Micro-profiling is automatically disabled if per-processor profiling is turned on.
4. If the -x flag is specified without the -A flag, tprof runs in real-time mode.
5. If the -x flag is specified with the -A flag, tprof runs in automated offline mode.
Description
The tprof command reports processor usage for individual programs and the system as a whole. This
command is a useful tool for anyone with a Jave, C, C++, or FORTRAN program that might be
processor-bound and who wants to know which sections of the program are most heavily using the
processor.
The tprof command can charge processor time to object files, processes, threads, subroutines (user
mode, kernel mode and shared library) and even to source lines of programs or individual instructions.
Charging processor time to subroutines is called profiling and charging processor time to source program
lines is called micro-profiling.
For subroutine-level profiling, the tprof command can be run without modifying executable programs, that
is no recompilation with special compiler flags is necessary. This is still true if the executables have been
stripped, unless the traceback tables have also been removed. However, recompilation is required to get a
micro-profile, unless a listing file is already available. To perform micro-profiling on a program, either the
program should be compiled with -g and the source files should be accessible to tprof or the program
should be compiled with -qlist and either both the object listing files and the source files or just the object
listing files should be accessible to tprof. To take full advantage of tprof micro-profiling capabilities, it is
best to provide both the .lst and the source file.
If the -x flag is specified but the -A flag is not specified, tprof runs in real-time mode. In real-time mode
tprof starts the AIX trace utility in the background, and processes the trace data as it gets generated.
When the program being profiled ends, tprof collects symbolic name information, and generates the tprof
reports.
If the -A flag is specified with the -x flag, tprof runs in automated offline mode. In this mode tprof starts
the AIX trace utility and logs the trace data into a file. Once the trace data collection is done, it collect
symbolic name information, and tprof opens the trace log file and processes the data to generate reports.
In this mode tprof generates the following files in addition to tprof report files:
1. RootString.syms
2. RootString.trc[-cpuid]
Note: All of the input and report files used by tprof are named RootString.suffix, where RootString is
either specified with -r or is the program name specified with -x.
Note: In real-time mode and automated offline mode, the ulimit value of the data area for the program
that is being profiled is set to unlimited.
Note: In automated offline mode, -N flag is specified to collect source line info into the generated
RootString.syms file. And -I flag is specified to collect binary instructions into the generated
RootString.syms file.
Note: If -c is used along with -A then those two files are not generated. Instead, the following two files are
created:
1. RootString.csyms
2. RootString.ctrc[ -cpuid ]
Those files are cooked, that is they are a pre-processed version of the normal trace and name files.
tprof post-processes cooked file much faster.
If neither -A flag nor -x are specified, tprof runs either in manual offline or in post-processing mode. For
tprof to run in post-processing mode the following files must be available:
1. RootString.csyms
2. RootString.ctrc[ -cpuid ]
Those are generated when tprof runs (in any mode except post-processing mode) with the -c flag. For
tprof to run in manual offline mode the following files must be available:
1. RootString.syms
2. RootString.trc [-cpuid]
These files are generated by a user manually using the gensyms command and AIX trace facility or by
running tprof in automated offline mode without the -c flag.
Note: tprof always first looks for RootString.csyms and RootString.ctrc[-cpuid]. Only if these files are not
available, does it look for RootString.syms and RootString.trc[-cpuid]. To prevent tprof from
looking for rootstring.csyms and RootString.ctrc[-cpuid], that is, force the manual offline mode, use
the -F flag.
Note: In automated offline mode, -N flag is specified to collect source line info into the generated
RootString.syms file. And -I flag is specified to collect binary instructions into the generated
RootString.syms file.
tprof generates a tprof report file named RootString.prof which holds the process, thread, object file and
subroutine level profiling report. The file can contains the following sections and subsections:
1. Summary report section
a. Processor usage summary by process name
b. Processor usage summary by threads (TID)
2. Global (pertains to the execution of all processes on system) profile section
a. Processor usage of user mode routines
b. Processor usage of kernel routines, including milicode routines called in kernel mode
c. Processor usage summary for kernel extensions
d. Processor usage of each kernel extension’s subroutines
e. Processor usage summary for privately loaded, global, and named shared libraries, and milicode
routines called in user mode
f. Processor usage of each shared library’s subroutines
g. Processor usage of each Jave class
h. Processor usage of each Jave methods of each Jave class
3. Process and thread level profile sections (one section for each process or thread)
a. Processor usage of user mode routines for this process/thread
The summary report section is always present in the RootString.prof report file. Based on the profiling
flags the various subsections of the global profile section can be turned on and off:
v -u turns on subsections a
v -k turns on subsection b
v -e turns on subsections c and d
v -s turns on subsections e and f
v -j turns on subsections g and h
The process and thread level profile sections are created for processes and threads selected with the -p,
-P and -t flags. The subsections present within each of the per-process of per-thread sections are identical
to the subsections present in the global section, they are selected using the profiling flags (-u,-s,-k,-e,-j).
Optionally (when called with the -C flag) tprof also generates per-processor profiling reports (one profiling
report per processor). The generated tprof reports have the same structure and are named using the
convention: RootString.prof[-cpuid].
If -m is specified, tprof generates micro-profiling reports. The reports use the following naming convention:
RootString.source.mprof, where source is the base name of a source file. If more than one source file has
the same base name, then a number to uniquely identify them is appended to the report file name, for
example, RootString.Filename.c.mprof-1. The micro-profiling report has the following information:
1. The full path name of the annotated source file.
2. A hot line profile section which has all the line numbers from that source file hit by profiling samples,
sorted by cpu usage. For each source line, one line reports the percentage of time spent on behalf of
all processes, followed by additional lines with the breakdown by individual process.
3. A source line profile section for each of the functions in that source file, which have processor usage.
This section contains the source line number, processor usage and source code. If a .lst file for that
source file is accessible to tprof, then it interlaces the instruction lines from the .lst file with the source
lines from the source file, and charges processor usage appropriately. This provides breakdown by
instruction for each source file.
If a source file is not present, but a .lst file is present, tprof only shows the processor usage based on
the source lines and the instructions from the .lst file.
If neither the .lst file nor the source file is present, but the source file is compiled with the –g option,
the tprof command retrieves the source line numbers and generates a similar report, with the source
code column missing.
Note: If per-processor profiling is requested then micro-profiling is automatically disabled. tprof cannot
report correct source line information if a .c file is included in another .c file. tprof cannot
micro-profile Jave classes or methods.
Note: If -m is specified, -N is automatically specified to gather the source line info into a symbols file
in automated offline mode.
If the -Z flag is used with the -m flag, there will be one report file generated per subroutine. The following
naming convention is then used: RootString.source.routine.mprof, where routine is the name of one of
If the -L flag is specified, the tprof command generates annotated listing files. The files use the following
naming convention: RootString.source.alst, where source is the base name of a source file. If more than
one source file has the same base name, then a number to uniquely identify them is appended to the
report file name. For example, RootString.Filename.c.alst-1. If the -Z flag is used with the -L flag, there
will be one report file generated per subroutine. The following naming convention is then used:
RootString.source.routine.alst, where routine is the name of one of the subroutines listed in the source
file.
If -N flag or -I flag is specified when profiling a Java™ program using JPA (-x java -Xrunjpa) , the JIT
source line number and instructions can be collected if the corresponding parameter is added to the
-Xrunjpa flag:
v source=1 turns on JIT source line collecting (requires IBMJRE 1.5.0).
v instructions=1 turns on JIT instructions collecting.
The following restrictions apply for non-root users running the tprof command:
v tprof will not be able to verify that the running kernel is the same as the /unix file. This means that
even if a warning message is displayed, in most cases the running kernel and /unix are the same, so
the data should be accurate.
v When the gensyms command is run by a non-root user, the same warning as in restriction #1 (above)
is given and the gensyms file is marked. If tprof is run in the offline mode, the file created with the
gensyms command will flag tprof as to unVerified kernel.
v tprof will not be able to open and read symbols on files which do not have the read permission set.
Some private, shared libraries do not have read permission, and some kernel extensions are
nonReadable.
The -E flag enables event-based profiling. The -E flag parameter is one of the four software-based events
(EMULATION, ALIGNMENT, ISLBMISS, DSLBMISS) or a Performance Monitor event (PM_*). By default,
the profiling event is processor cycles. All Performance Monitor events are prefixed with PM_, such as
PM_CYC for processor cycles or PM_INST_CMPL for instructions completed. pmlist lists all Performance
Monitor events that are supported on a processor.
The -f flag varies the sampling frequency for event-based profiling. For software-based events and
processor cycles, supported frequencies range from 1 to 500 milliseconds, with a default of 10
milliseconds. For all other Performance Monitor events, the range is from 10,000 to MAXINT occurrences
of the event, with a default of 10,000 events.
Additional information is added to the .prof file to reflect the processor name, profiling event, and sampling
frequency.
Profile Accuracy
The degree to which processor activity can be resolved is determined by the number of samples captured
and the degree to which hot spots dominate. While a program with a few hot spots can be profiled with
relatively few samples, less-frequently executed sections of the program are not visible in the profiling
reports unless more samples are captured. In cases where user programs run less than a minute, there
may be insufficient resolution to have a high degree of confidence in the estimates.
A simple solution is to repeatedly execute the user program or script until you achieve the degree of
resolution you need. The longer a program is run, the finer the degree of resolution of the profile. If you
doubt the accuracy of a profile, run the tprof command several times and compare the resulting profiles.
The prof and gprof tools are standard, supported profiling tools on many UNIX systems, including this
operating system. Both prof and gprof provide subprogram profiling and exact counts of the number of
times every subprogram is called. The gprof command also provides a very useful call graph showing the
number of times each subprogram was called by a specific parent and the number of times each
subprogram called a child. The tprof command provides neither subprogram call counts nor call graph
information.
Like the tprof command, both the prof and gprof commands obtain their processor consumption
estimates for each subprogram by sampling the program counter of the user program.
tprof collects processor usage information for the whole system, while prof and gprof collect only profiling
information for a single program and only for the time spent in user mode.tprof also provides summary for
all processes active during the execution of the profiled user program and fully support libraries and kernel
mode profiling.
tprof support the profiling of Jave applications, which prof and gprof do not.
Flags
-A {all | processorList } Turns on automatic offline mode. No argument turns off per-processor tracing. all
enables tracing of all processors. CPUList is a comma separated list of processor-ids to
be traced.
-c Turns on generation of cooked files.
-C all | CPUList Turns on the per-processor profiling. Specify all to generate profile reports for all
processors. Processor numbers should be separated with a comma if you give a CPUlist
(for example, 0,1,2).
Note: per-processor profiling is possible only if per-processor trace is either on (in
automated offline mode), or has been used (in manual offline mode). It is not possible at
all in online mode.
-d Turns on deferred tracing mode, that is defers data collection until trcon is called.
Examples
1. Basic global program and thread-level summary
$ tprof -x sleep 10
Mon May 20 00:39:26 2002 System: AIX 5.2 Node: dreaming Machine: 000671894C00
Starting Command sleep 10
stopping trace collection.
Generating sleep.prof
The resulting sleep.prof file only contains the summary report section.
2. Global profiling with all options
The resulting sleep.prof file only contains the summary report section, while sleep.syms contains the
source line information.
11. Automated offline mode enabling source line and instruction collecting.
$ tprof -A -N -I -r RootString -x sleep 10
Starting Command sleep 10
stopping trace collection.
Wed Feb 8 15:16:37 2006
System: AIX 5.3 Node: aixperformance Machine: 000F9F3D4C00
Generating RootString.trc
Generating RootString.prof
Generating RootString.syms
The resulting rootstring.prof file is generated, while rootstring.syms contains the source line
information and binary instructions.
12. Real-time mode enabling Java source line and instructions collecting.
$ tprof -N -I -x java -Xrunjpa:source=1,instructions=1 HelloAIX
Thu Feb 9 13:30:38 2006
System: AIX 5.3 Node: perftdev Machine: 00CEBB4A4C00
Starting Command java -Xrunvpn_jpa:source=1,instructions=1 HelloAIX
Hello AIX!
stopping trace collection.
Generating java.prof
Messages
If your system displays the following message:
/dev/systrace: device busy or trcon: TRCON:no such device
This means the trace facility is already in use. Stop your program and try again after typing trcstop, stops
the trace.
Related Information
The gensyms command, gprof command, prof command, stripnm command, and trace daemon.
tput Command
Purpose
Queries the terminfo database for terminal-dependent information.
Syntax
For Outputting Terminal Information
tput [ -T Type ] [ CapabilityName {clear, init, longname, reset} [ Parameters... ]]
Description
The tput command uses the terminfo database to make terminal-dependent information available to the
shell. The tput command outputs a string if the attribute CapabilityName is of type string. The output string
is an integer if the attribute is of type integer. If the attribute is of type Boolean, the tput command sets the
exit value (0 for TRUE, 1 for FALSE), and produces no other output.
Where x is either a 1 or a 0 to turn standout mode on or off respectively, and y is either a 1 or a 0 to turn
underline mode on or off respectively. See the article ″terminfo file format″ for more details on the SGR
capability.
tput sgr 0 1 turn off standout; turn on underline
tput sgr 0 0 turn off standout; turn off underline
tput sgr 1 1 turn on standout; turn on underline
tput sgr 1 0 turn on standout; turn off underline
clear Displays the clear screen sequence (this is also a capability name).
init Displays the sequence that initializes the user’s terminal in an implementation-dependent manner.
reset Displays the sequence that will reset the user’s terminal in an implementation-dependent manner.
longname Displays the long name and the specified terminal (or current terminal if none specified).
-S Uses stdin. This allow the tput to process multiple capabilities. When using the -S option, the
capabilities cannot be entered on the command line. Enter ^D token finished.
-TType Indicates the type of terminal. If -T is not specified, the TERM environment variable is used for the
terminal.
Exit Status
This command returns the following exit values:
Examples
1. To clear the screen for the current terminal, enter:
tput clear
2. To display the number of columns for the current terminals, enter:
tput cols
3. To display the number of columns for the aixterm terminal, enter:
offbold=’tput rmso’
Files
/usr/share/lib/terminfo/?/* Contains the terminal descriptor files.
/usr/include/term.h Contains the definition files.
tr Command
Purpose
Translates characters.
Syntax
tr [ -c | -cds | -cs | -C | -Cds | -Cs | -ds | -s ] [ -A ] String1 String2
Description
The tr command deletes or substitutes characters from standard input and writes the result to standard
output. The tr command performs three kinds of operations depending on the strings specified by the
String1 and String2 variable and on the flags specified.
Transforming Characters
If String1 and String2 are both specified and the -d flag is not specified, the tr command replaces each
character contained in String1 from the standard input with the character in the same position in String2.
C1-C2 Specifies the string of characters that collate between the character specified by C1
and the character specified by C2, inclusive. The character specified by C1 must
collate before the character specified by C2.
Note: The current locale has a significant effect on results when specifying
subranges using this method. If the command is required to give consistent results
irrespective of locale, the use of subranges should be avoided.
[C*Number] Number is an integer that specifies the number of repetitions of the character
specified by C. Number is considered a decimal integer unless the first digit is a 0;
then it is considered an octal integer.
[C*] Fills out the string with the character specified by C. This option, used only at the
end of the string contained within String2, forces the string within String2 to have
the same number of characters as the string specified by the String1 variable. Any
characters specified after the * (asterisk) are ignored.
Except for [:lower:] and [:upper:] conversion character classes, the characters
specified by other character classes are placed in the array in an unspecified order.
Because the order of the characters specified by character classes is undefined,
the characters should be used only if the intent is to map several characters into
one. An exception to this is the case of conversion character classes.
If a character is specified more than once in String1, the character is translated into the character in
String2 that corresponds to the last occurrence of the character in String1.
If the strings specified by String1 and String2 are not the same length, the tr command ignores the extra
characters in the longer string.
Flags
-A Performs all operations on a byte-by-byte basis using the ASCII collation order for ranges and
character classes, instead of the collation order for the current locale.
-C Specifies that the value of String1 be replaced by the complement of the string specified by String1.
The complement of String1 is all of the characters in the character set of the current locale, except the
characters specified by String1. If the -A and -c flags are both specified, characters are complemented
with respect to the set of all 8-bit character codes. If the -c and -s flags are both specified, the -s flag
applies to characters in the complement of String1.
If the -d option is not specified, the complements of the characters specified by String1 will be placed
in the array in ascending collation sequence as defined by the current setting of LC_COLLATE.
If the -d option is not specified, the complement of the values specified by String1 will be placed in the
array in ascending order by binary value.
-d Deletes each character from standard input that is contained in the string specified by String1.
Notes:
1. When the -C option is specified with the -d option, all characters except those specified by String1
will be deleted. The contents of String2 are ignored unless the -s option is also specified.
2. When the -c option is specified with the -d option, all values except those specified by String1 will
be deleted. The contents of String2 are ignored unless the -s option is also specified.
-s Removes all but the first in a sequence of a repeated characters. Character sequences specified by
String1 are removed from standard input before translation, and character sequences specified by
String2 are removed from standard output.
String1 Specifies a string of characters.
String2 Specifies a string of characters.
Exit Status
This command returns the following exit values:
Examples
1. To translate braces into parentheses, type:
tr ’{}’ ’()’ < textfile > newfile
This translates each { (left brace) to ( (left parenthesis) and each } (right brace) to ) (right
parenthesis). All other characters remain unchanged.
2. To translate braces into brackets, type:
tr ’{}’ ’\[]’ < textfile > newfile
This translates each { (left brace) to [ (left bracket) and each } (right brace) to ] (right bracket). The
left bracket must be entered with a \ (backslash) escape character.
3. To translate lowercase characters to uppercase, type:
tr ’a-z’ ’A-Z’ < textfile > newfile
4. To create a list of words in a file, type:
tr -cs ’[:lower:][:upper:]’ ’[\n*]’ < textfile > newfile
This translates each sequence of characters other than lowercase letters and uppercase letters into a
single newline character. The * (asterisk) causes the tr command to repeat the new line character
enough times to make the second string as long as the first string.
5. To delete all NULL characters from a file, type:
tr -d ’\0’ < textfile > newfile
6. To replace every sequence of one or more new lines with a single new line, type:
tr -s ’\n’ < textfile > newfile
OR
This scans a file created in a different locale to find characters that are not printable characters in the
current locale.
8. To replace every sequence of characters in the <space> character class with a single # character,
type:
tr -s ’[:space:]’ ’[#*]’
Related Information
The ed command, trbsd command.
National Language Support Overview in AIX 5L Version 5.3 National Language Support Guide and
Reference.
trace Daemon
Purpose
Records selected system events.
Syntax
trace [ -a [ -g ] ] [ -f | -l ] [ -b | -B] [ -c] [ -C [ cpulist | all ]] [ -d ] [ -e string-cmd ] [ -h ] [
-j event [ ,event ] ] [ -k event [ ,event ] ] [ -J event-group [ ,event-group ]] [ -K event-group [
,event-group ]] [ -m Message ] [ -M ] [ -n ] [ -o Name ] [ -o- ] [ -p ] [ -r reglist ] [ -s ] [ -A
process-id [ ,process-id ] ] [ -t thread-id [ ,thread-id ] ] [ -x program-specification | -X program-specification
] [ -I ] [ -P trace-propagation ][ -L size ] [ -T size ]
Description
The trace daemon configures a trace session and starts the collection of system events. The data
collected by the trace function is recorded in the trace log. A report from the trace log can be generated
with the trcrpt command.
When invoked with the -a, -x, or -X flags, the trace daemon is run asynchronously (i.e. as a background
task). Otherwise, it is run interactively and prompts you for subcommands.
You can use the System Management Interface Tool (SMIT) to run the trace daemon. To use SMIT, enter:
smit trace
Alternate (the default) All trace events are captured in the trace log file.
Circular ( -l) The trace events wrap within the in-memory buffers and are not
captured in the trace log file until the trace data collection is stopped.
Single ( -f) The collection of trace events stops when the in-memory trace buffer
fills up and the contents of the buffer are captured in the trace log file.
Beginning with AIX 5.3, you can elect to trace only selected processes or threads. You can also trace a
single program. You can specify whether the trace is to be propagated or extended to newly created
processes or threads. You can optionally include interrupt events in such traces. This is only valid for trace
channel 0.
Notes:
1. Unless the trace is started before the process that is being traced, the process startup events are not
captured. If the trace is started before the process that is being traced, some events from processes
other than the process being traced will be captured as well.
2. When trace uses memory from the kernel heap which is the case for the -B option (32-bit kernel only),
this memory remains part of kernel memory until the next reboot of the system. Thus, care should be
taken when using large buffers. Furthermore, it should be noted that, prior to AIX 5.2 with the 5200-05
Maintenance Level, when using the multi-processor trace for all processors, the -C all option, memory
is allocated for all possible processors, not just those running at the time the trace was started. This is
fixed in AIX 5.2 with the 5200-05 Maintenance Level and AIX 5.3.
Flags
-a Runs the trace daemon asynchronously (i.e. as a background task).
Once trace has been started this way, you can use the trcon, trcoff,
and trcstop commands to respectively start tracing, stop tracing, or
exit the trace session. These commands are implemented as links to
trace.
-A process-id[,process-id] Traces only the listed processes and, optionally, their children. A
process-id is a decimal number. Multiple process IDs can be
separated by commas or enclosed in quotes and separated by
spaces. The -A flag is only valid for trace channel 0; the -A and -g
flags are incompatible.
Note: In the circular and the alternate modes, the trace log file
size must be at least twice the size of the trace buffer. In the
single mode, the trace log file must be at least the size of the
buffer. See the -T flag for information on controlling the trace
buffer size.
-m Message Specifies text to be included in the message field of the trace log
header record.
-M Dumps the address map of running processes into the trace. The -M
flag must be specified if the trace file is to be processed by the tprof
command.
Note: The trcrpt command can report the cpuid whether or not
this option is specified.
-P propagation The propagation is specified with the letters p for propagation across
process creation, t for propagation across thread creation, and n for
no propagation. Propagation across process creation implies
propagation across thread creation. For example, if -A is specified to
trace a process, all threads for that process that exist at the time the
trace was started are traced. The -Pt flags causes all threads
subsequently created by that process to be traced as well. If -Pp is
specified, all processes and threads subsequently created by that
process are traced. If -t all was specified to trace all threads, -P is
ignored. The -P flag is only valid for trace channel 0; the -P and -g
flags are incompatible.
-r reglist Optional, and only valid for a trace run on a 64-bit kernel. reglist
items are separated by commas, or enclosed in quotation marks and
separated by blanks. Up to 8 registers may be specified. Valid reglist
values are:
PURR - The PURR
Register for this processor
SPURR
The SPURR register for this processor
MCR0, MCR1, MCRA - the MCR
Registers, 0, 1, and A
PMC1, PMC2, ... PMC8 - PMC
Registers 1 through 8.
Also, the thread list can be all or *, indicating that all threads are to
be traced. This is useful for tracing all thread-related events without
tracing interrupt-related events. However, if -t all and -I are both
specified, this is the same as specifying neither one; all events are
traced. Another way to say this is that trace and trace -It all are
identical.
The -t flag is only valid for trace channel 0, the -t and -g flags are
incompatible.
Note: In the circular and the alternate modes, the trace buffer
size must be one-half or less the size of the trace log file. In
the single mode, the trace log file must be at least the size of
the buffer. See the -L flag for information on controlling the
trace log file size. Also note that trace buffers use pinned
memory, which means they are not pageable. Therefore, the
larger the trace buffers, the less physical memory is available
to applications.
The -f flag actually uses two buffers, which behave as a single buffer
(except that a buffer wraparound trace hook will be recorded when
the first buffer is filled).
-x program-specification Traces the specified program. The program-specification specifies a
program and parameters as they would be when running the
program from the shell, except that the program specification must
be in quotes if more than just the program’s name is given. The trace
is stopped automatically when the program exits, and returns the
program’s return code. By default, any processes and threads
created by the program are also traced; as if -Pp was specified. To
change this behavior, use -Pn to specify no trace propagation, or -Pt
to propagate trace only to threads created by the program’s original
process.
Note: The -x flag implies asynchronous tracing, as if the -a flag had
also been specified.
-X program-specification The -X flag works like the -x flag, except that the trace is not
automatically stopped when the program exits. This is useful for
tracing programs which fork processes, and then terminate, and you
want these new processes traced as well.
Subcommands
When run interactively, trace recognizes the following subcommands:
Signals
The INTERRUPT signal acts as a toggle to start and stop the collection of trace data. Interruptions are set
to SIG_IGN for the traced process.
This traces the hooks in the event-group ″tidhk″ plus hook 234.
7. To have trace use one set of buffers per processor, specify:
trace -aC all
The files produced are /var/adm/ras/trcfile, /var/adm/ras/trcfile-0, /var/adm/ras/trcfile-1, etc. up to
/var/adm/ras/trcfile-(n-1), where n is the number of procssors in the system.
Note: trace -aCall -o mylog produces the files mylog, mylog-0, mylog-1, ...
8. To trace a program that starts a daemon process, and to continue tracing the daemon after the
original program has finished, use
trace -X "mydaemon"
Where mydaemon-process-id is the process for mydaemon as returned by the ps command. The -Pp
flag tells trace to also trace any processes and threads created by mydaemon while the trace is
running.
10. To capture the PURR, and PMC1 and PMC2, type
trace -ar "PURR PMC1 PMC2"
Files
/usr/include/sys/trcmacros.h Defines trchook and utrchook macros.
/var/adm/ras/trcfile Contains the default trace log file.
The trchook subroutine, trcgen subroutine, trcstart subroutine, trcon subroutine, trcoff subroutine,
trcstop subroutine.
Trace Facility Overview in AIX 5L Version 5.3 General Programming Concepts: Writing and Debugging
Programs
Debug and Performance Tracing in AIX 5L Version 5.3 Kernel Extensions and Device Support
Programming Concepts.
traceroute Command
Purpose
Prints the route that IP packets take to a network host.
Syntax
traceroute [ -m Max_ttl ] [ -n ] [ -p Port ] [ -q Nqueries ] [ -r ] [ -s SRC_Addr ] [ -t TypeOfService ] [ -f
flow ] [ -v ] [ -w WaitTime ] Host [ PacketSize ]
Description
Attention: The traceroute command is intended for use in network testing, measurement, and
management. It should be used primarily for manual fault isolation. Because of the load it imposes
on the network, the traceroute command should not be used during normal operations or from
automated scripts.
The traceroute command attempts to trace the route an IP packet follows to an Internet host by launching
UDP probe packets with a small maximum time-to-live (Max_ttl variable), then listening for an ICMP
TIME_EXCEEDED response from gateways along the way. Probes are started with a Max_ttl value of one
hop, which is increased one hop at a time until an ICMP PORT_UNREACHABLE message is returned.
The ICMP PORT_UNREACHABLE message indicates either that the host has been located or the
command has reached the maximum number of hops allowed for the trace.
The traceroute command sends three probes at each Max_ttl setting to record the following:
v Max_ttl value
v Address of the gateway
v Round-trip time of each successful probe
The number of probes sent can be increased by using the -q flag. If the probe answers come from
different gateways, the command prints the address of each responding system. If there is no response
from a probe within a 3-second time-out interval, an * (asterisk) is printed for that probe.
The traceroute command prints an ! (exclamation mark) after the round-trip time if the Max_ttl value is
one hop or less. A maximum time-to-live value of one hop or less generally indicates an incompatibility in
the way ICMP replies are handled by different network software. The incompatibility can usually be
resolved by doubling the last Max_ttl value used and trying again.
!H Host unreachable
!N Network unreachable
!P Protocol unreachable
!S Source route failed
!F Fragmentation needed
The only mandatory parameter for the traceroute command is the destination host name or IP number.
The traceroute command will determine the length of the probe packet based on the Maximum
Transmission Unit (MTU) of the outgoing interface. The UDP probe packets are set to an unlikely value so
as to prevent processing by the destination host.
Flags
-f flow Sets the flow label field in IPv6 packet header. The default value is 0.
-m Max_ttl Sets the maximum time-to-live (maximum number of hops) used in outgoing probe
packets. The default is 30 hops (the same default used for TCP connections).
-n Prints hop addresses numerically rather than symbolically and numerically. This flag
saves a name-server address-to-name lookup for each gateway found on the path.
-p Port Sets the base UDP port number used in probes. The default is 33434. The
traceroute command depends on an open UDP port range of base to base + nhops -
1 at the destination host. If a UDP port is not available, this option can be used to
pick an unused port range.
-q Nqueries Specifies the number of probes the traceroute command sends at each Max_ttl
setting. The default is three probes.
-r Bypasses the normal routing tables and sends the probe packet directly to a host on
an attached network. If the specified host is not on a directly attached network, an
error is returned. This option can be used to issue a ping command to a local host
through an interface that is not registered in the routed daemon’s routing table.
-s SRC_Addr Uses the next IP address in numerical form as the source address in outgoing probe
packets. On hosts with more than one IP address, the -s flag can be used to force
the source address to be something other than the IP address of the interface on
which the probe packet is sent. If the next IP address is not one of the machine’s
interface addresses, an error is returned and nothing is sent.
-t TypeOfService Sets the TypeOfService variable in the probe packets to a decimal integer in the
range of 0 to 255. The default is 0. This flag can be used to investigate whether
different service types result in different paths. For more information, see TCP/IP
Protocols in Networks and communication management. Useful values are -t 16 (low
delay) and -t 8 (high throughput).
-v Receives packets other than TIME_EXCEEDED and PORT_UNREACHABLE
(verbose output).
-w WaitTime Sets the time (in seconds) to wait for a response to a probe. The default is 3
seconds.
Parameters
Host Specifies the destination host, either by host name or IP number. This parameter is required.
PacketSize Specifies the probe datagram length. The default packet size is determined by the traceroute
command based on the MTU of the outgoing interface.
Examples
1. A sample use and output is:
Lines 2 and 3 are the same due to a bug in the kernel on the second hop system (lbl-csam.arpa) that
forwards packets with a zero time-to-live. Host names are not printed in lines 6 through 10 because
the National Science Foundation Network (NSFNet, 129.140) does not provide address-to-name
translations for its nodes.
2. Another output example might be:
[yak 72]% traceroute rip.Berkeley.EDU (128.32.131.22)
traceroute to rip.Berkeley.EDU (128.32.131.22), 30 hops max
1 helios.ee.lbl.gov (128.3.112.1) 0 ms 0 ms 0 ms
2 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 19 ms 39 ms
3 lilac-dmc.Berkeley.EDU (128.32.216.1) 19 ms 39 ms 19 ms
4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39 ms 40 ms 19 ms
5 ccn-nerif35.Berkeley.EDU (128.32.168.35) 39 ms 39 ms 39 ms
6 csgw/Berkeley.EDU (128.32.133.254) 39 ms 59 ms 39 ms
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 rip.Berkeley.EDU (128.32.131.22) 59 ms! 39 ms! 39 ms!
In this example, exactly half of the 12 gateway hops (13 is the final destination) are ″missing.″
However, these hops were actually not gateways. The destination host, a Sun-3 workstation running
Sun OS3.5, used the ttl from the arriving datagram as the ttl in its ICMP reply; thus, the reply timed out
on the return path. Because ICMPs are not sent for ICMPs, no notice was received. The ! (exclamation
mark) after each round-trip time indicates some type of software incompatibility problem. (The cause
was diagnosed after the traceroute command issued a probe of twice the path length. The destination
host was really only seven hops away.)
Related Information
The netstat command, nslookup command, ping command.
tracesoff Command
Purpose
Turns off tracing of a subsystem, a group of subsystems, or a subserver.
Syntax
Subsystem
tracesoff [ -h Host] { -g Group | -p SubsystemPID | -s Subsystem}
Description
The tracesoff command sends the System Resource Controller a subsystem request packet that is
forwarded to the subsystem to turn tracing off. Tracing is unsuccessful if the communication method for the
subsystems is signals.
Flags
-g Group Specifies a group of subsystems to turn tracing off. The command is unsuccessful if the
Group name is not contained in the subsystem object class.
-h Host Specifies the foreign host on which this trace action is requested. The local user must
be running as root. The remote system must be configured to accept remote System
Resource Controller requests. That is, the srcmstr daemon (see /etc/inittab) must be
started with the -r flag and the /etc/hosts.equiv or .rhosts file must be configured to
allow remote requests.
-o Object Specifies that a subserver Object name is to be passed to the subsystem as a
character string.
-p SubsystemPID Specifies a particular instance of the subsystem to turn tracing off, or a particular
instance of the subsystem to which the trace off subserver request is to be passed.
-P SubserverPID Specifies that a SubserverPID is to be passed to the subsystem as a character string.
-s Subsystem Specifies a subsystem to turn tracing off. The Subsystem name can be the actual
subsystem name or the synonym name for the subsystem. The command is
unsuccessful if the Subsystem name is not contained in the subsystem object class.
-t Type Specifies a subsystem subserver to turn tracing off. The command is unsuccessful if
the Type is not contained in the subserver object class.
Examples
1. To turn off the tracing of a group, enter the following command:
tracesoff -g tcpip
This turns the tracing off for the tcpip group.
2. To turn off tracing of the sendmail subsystem on a foreign host, enter the following command:
tracesoff -h odin -s sendmail
This turns off the tracing for the sendmail subsystem on the odin foreign host.
Files
/usr/bin/tracesoff Contains the tracesoff command.
/etc/objrepos/SRCsubsys Specifies the SRC Subsystem Configuration Object Class.
/etc/objrepos/SRCsubsvr Specifies the SRC Subserver Configuration Object Class.
/etc/services Defines the sockets and protocols used for Internet services.
/dev/SRC Specifies the AF_UNIX socket file.
/dev/.SRC-unix Specifies the location for temporary socket files.
Related Information
The traceson command.
The System resource controller in Operating system and device management gives an explanation of
subsystems, subserver, and the System Resource Controller.
Purpose
Turns on tracing of a subsystem, a group of subsystems, or a subserver.
Syntax
Subsystem
traceson [ -h Host] [ -l] { -g Group | -p SubsystemPID| -s Subsystem}
Subserver
traceson [ -h Host] [ -l] -t Type [ -o Object] [ -p SubsystemPID] [ -P SubserverPID]
Description
The traceson command sends the System Resource Controller a subsystem request packet that is
forwarded to the subsystem to turn tracing on. Tracing is unsuccessful if the communication method for the
subsystems is signals.
Tracing may occur in either short or long form. When the -l flag is absent, the trace request is
assumed to be a short trace.
Flags
-g Group Specifies a group of subsystems to turn tracing on. The command is unsuccessful if the
Group name is not contained in the subsystem object class.
-h Host Specifies the foreign host on which this trace action is requested. The local user must
be running as ″root″. The remote system must be configured to accept remote System
Resource Controller requests. That is, the srcmstr daemon (see /etc/inittab) must be
started with the -r flag and the /etc/hosts.equiv or .rhosts file must be configured to
allow remote requests.
-l Specifies that a long trace is requested.
-o Object Specifies that a subserver object is to be passed to the subsystem as a character
string.
-p SubsystemPID Specifies a particular instance of the subsystem to turn tracing on, or a particular
instance of the subsystem to which the trace subserver request is to be passed.
-P SubserverPID Specifies that a subserver PID is to be passed to the subsystem as a character string.
-s Subsystem Specifies the subsystem to turn tracing on. The Subsystem name can be either the
actual subsystem name or the synonym name for the subsystem. The command is
unsuccessful if the Subsystem name is not contained in the subsystem object class.
-t Type Specifies a subserver to turn tracing on. The command is unsuccessful if the Type is
not contained in the subserver object class.
Examples
1. To turn on tracing of the tcpip group on a foreign host, enter the following command:
traceson -h odin -g tcpip
This turns on the tracing for the tcpip group on the odin foreign host.
2. To turn on tracing of the sendmail subsystem on a foreign host, enter the following command:
traceson -h odin -s sendmail
This turns on the tracing for the sendmail subsystem on the odin foreign host.
Related Information
The tracesoff command.
The System resource controller in Operating system and device management gives an explanation of
subsystems, subservers, and the System Resource Controller.
trbsd Command
Purpose
Translates characters (BSD version).
Syntax
trbsd [ -c ] [ -d ] [ -s ] [ -A ] [ String1 [ String2 ] ]
Description
The trbsd command deletes or substitutes characters from standard input and then writes the result to
standard output. The trbsd command is the BSD version of the tr command. The trbsd command
performs three kinds of operations, depending on the character strings specified by the parameters and
flags specified. The default value for either the String1 or String2 parameter is a null string.
Transforming Characters
If both the String1 and String2 parameters are specified and the -d flag is not specified, the trbsd
command replaces each character from standard input that is specified by the String1 parameter with the
character in the same position in the String2 parameter.
If the String1 parameter specifies a character more than once, the character is translated into the
character in the String2 parameter that corresponds to the last occurrence of the character in the String1
parameter.
Both the String1 and String2 parameters must be specified when both the -d and -s flags are specified.
Note: The trbsd command deletes all null characters from standard input before it begins
processing.
C1-C2 Specifies the string of characters that collate between the character specified by the C1 string and the
character specified by the C2 string, inclusive. The character specified by the C1 string must collate
before the character specified by the C2 string.
\Octal Specifies the character whose encoding is represented by the specified octal value. The octal value can
be a one-, two-, or three-digit octal integer. Multibyte characters can be expressed by writing
backslash-octal sequences for each byte.
\- The \- (backslash, minus sign) specifies the minus sign character itself, without any special meaning as
an escape character.
If the strings specified by the String1 and String2 parameters are not the same length, the trbsd command
pads the shorter string to equal the length of the longer string. Padding is accomplished by duplicating the
last character in the shorter string as many times as necessary.
Flags
-A Performs all operations on a byte-by-byte basis using the ASCII collation order for ranges and character
classes, instead of the collation order of the current locale.
-c Specifies that the value of the String1 parameter be replaced by the complement of that string. The
complement is all of the characters in the character set of the current locale, except for the characters
specified by the String1 parameter. If the -A and -c flags are specified together, characters are complemented
with respect to the set of all 8-bit character codes.
-d Deletes each character from standard input that is contained in the String1 parameter.
-s Deletes from standard input all but the first character in a sequence of two or more repetitions of any character
contained in the String2 parameter.
Examples
1. To translate braces into parentheses, enter:
trbsd ’{}’ ’()’ < textfile > newfile
This translates each { (left brace) to ( (left parenthesis) and each } (right brace) to ) (right
parenthesis). All other characters remain unchanged.
2. To interchange plus signs with minus signs, and slash characters with asterisks, enter:
trbsd ’+\-/*’ ’\-+*/’ < textfile > newfile
This translates each sequence of characters other than lowercase letters and uppercase letters into a
single newline character. The octal value 012 is the code for the newline character.
5. To replace every sequence of one or more newlines with a single newline, enter:
trbsd -s ’\012’ < textfile > newfile
Files
/usr/bin/trbsd Contains the trbsd command.
Related Information
The ed command, tr command.
National Language Support Overview in AIX 5L Version 5.3 National Language Support Guide and
Reference.
trcctl Command
Purpose
Changes and displays system trace parameters.
Syntax
trcctl [ -d Directory -l -L LogfileSize -M LMT_log_dir -N NonrootUserBufferMax -o Logfile -r -T BufferSize ]
Description
The trcctl command will display or change the system trace default parameters. If the -l option (or no
parameter) is specified, trcctl will show the values as follows:
Default Buffer Size: 131072
Default Log File Size: 1310720
Default Log File: /var/adm/ras/trcfile
Non-root User Buffer Size Maximum: 1048576
Default Components Directory File: /var/adm/ras/trc_ct
Default LMT Log Dir: /var/adm/ras/mtrcdir
Note that the default buffer and log file sizes initially depend upon the kernel. However, once they are set
using this command, the effected value is the same for both kernels. The other parameters allow these
default values to be changed. To change a default value, the user must be a member of the system group.
Many of the flags used with trcctl correspond to those used by the trace daemon.
Flags
-d Directory Specifies the default Component Trace log directory path. The default value is
/var/adm/ras/trc_ct.
-l Lists the current values.
-L Value Specifies the default log file size. The original default value is 1310720 bytes for the 32-bit
kernel, and 2621440 bytes for the 64-bit kernel. If specified with -L, the default will apply to
both kernels.
-M LMT_log_dir Specifies the default Lightweight Memory Trace log directory path. The default value is
/var/adm/ras/mtrcdir.
-N Value Specifies the maximum buffer size a non-root user may specify. The default is 1 MB,
1048576 bytes.
-o Path Specifies the default log file path. The default value is /var/adm/ras/trcfile.
-r Restore original default values.
-T Value Specifies the default trace buffer size. The original default values are 128 KB and 256 KB for
a 32- or 64-bit kernel. If specified with -T, the default will apply to both kernels.
Parameters
If you use ’k’, ’m’, or ’#k’, ’#m’ as parameters for the -N, -L, and -T options, trcctl will translate these into
their respective byte totals.
k = 1024
Security
The user must be a member of the system group.
Related Information
The trace daemon.
trcdead Command
Purpose
Extracts trace buffers from a system dump image.
Syntax
trcdead [ -1 -2 -3 ... -7] [-c] [-M] [ -oName ] DumpImage
Description
If the system halts while trace facilities are active, the contents of the internal trace buffers are captured in
the system dump. The trcdead command can then be used to extract the eight active system trace
channels, all Component Trace buffers, and the Lightweight Memory Trace buffers from the system dump.
System trace channel 0 is extracted when no flags are provided. A system trace channel other than
channel 0 is identified through a -channelnum flag. Component Trace buffers are identified through the -c
flag. Lightweight Memory Trace buffers are identified through the -M flag. Only one type of trace buffer, or
one specific system trace channel, can be extracted at one time.
The -o flag can be used to indicate that the extracted buffers should be written to a non-default trace log
file or directory. System trace channels are extracted to a trace log file. Component Trace buffers and
Lightweight Memory Trace buffers are extracted to a directory. If the -o flag is not chosen, the trcdead
command writes to the default trace log file or directory. The default log file name and directory names can
be viewed and modified using the trcctl command.
In AIX 5.3 and earlier versions, if multi-cpu trace buffering was requested for multiple processors using
trace -C, the associated buffers were not in the dump.
Use the trcrpt command to format a report from the trace log file or files.
Flags
–1, ..., -7 Retrieves the trace buffer entries for channel 1, 2, 3, 4, 5, 6, and 7. The default is channel 0.
-c Extracts all buffers of all active Component Trace components.
-M Extracts the Lightweight Memory Trace buffers.
-oName Specifies the file or directory (-c, -M) to which data is written.
Parameter
DumpImage Specifies the dump image to operate on.
Files
/usr/bin/trcdead Contains the trcdead command.
/var/adm/ras/dumpfile Contains the default system dump file.
/var/adm/ras/trcfile Contains the default system trace log.
/var/adm/ras/trc_ct Contains the default Component Trace logs.
/var/adm/ras/mtrcdir Contains the default Lightweight Memory Trace logs.
Related Information
The errdead command, sysdumpdev command, trcnm command, trcrpt command.
The Trace Facility Overview in AIX 5L Version 5.3 General Programming Concepts: Writing and
Debugging Programs.
trcevgrp Command
Purpose
Manipulates trace event groups.
Syntax
List event groups
Flags
-a [ -d group-description | -h hook-list Creates a new event group. Only one event group name can be specified.
] Both -d description and -h hook-list must be specified when using the -a flag. If
either -d or -h is not specified, an error is produced.
-d group-description Designates the hook description. A description is required for all new groups.
-h hook-list The hook list consists of trace hook IDs. The -h flag is required when using the
-a flag. When updating an event group (-u flag), the hook-list, if specified, must
contain all hook IDs for the group. List parameter items can be separated by
commas or enclosed in double quotation marks and separated by commas or
blanks.
-l event-group The specified group(s) are listed to standard output. If no event group is
specified, all are listed. The format of the listing is as follows:
For example:
v -l tidhk - Hooks needed to display thread name (reserved)
"106,10C,134,139,465"
v -l gka - GENERAL KERNEL ACTIVITY (files,execs,dispatches) (reserved)
"106,10C,134,139,465,107,135,15b,12e,116,117,200,20E,20F"
-r event-group Removes the specified event-groups.
-u [ -d ″group-description″ | -h Used to update the information for an event-group. Either -d description or -h
″hook-list″ ] event-group hook-list must be specified.
Examples
1. To get a listing of all event groups, enter the following command:
trcevgrp -l
2. To add a new group, enter the following command:
trcevgrp -a -d "my group description" -h "500,501,502" mygrp
This will add the group called mygrp, give it the description my group description, and will have hooks
of 500, 501, and 502.
3. To add another hook to mygrp, enter the following command:
trcevgrp -u -d "my group description" -h "500,501,502,503" mygrp
Related Information
The trcdead command, trcnm command, trcrpt command, trcstop command, and trcupdate command.
trcnm Command
Purpose
Generates a kernel name list.
Syntax
trcnm [ -a [ FileName ] ] | [ FileName ] | -KSymbol1 ...
Description
The trcnm command generates a kernel name list used by the trcrpt command. A kernel name list is
composed of a symbol table and a loader symbol table of an object file. The trcrpt command uses the
kernel name list file to interpret addresses when formatting a report from a trace log file. For more
information, see the trcrpt -n command.
Flags
-a Writes all loader symbols to standard output. The default is to write loader symbols only for
system calls.
-KSymbol... Obtains the value of all command line symbols through the knlist command system call.
Examples
1. To obtain the value of the symbols in /unix, enter:
trcnm -K environ errno
Files
/var/adm/ras/trcfile Contains the default log file.
/tlo-tvl2/trcnam Contains the trcnm command.
Related Information
The trcdead command, trcrpt command, trcstop command, trcupdate command.
Trace Facility Overview in AIX 5L Version 5.3 General Programming Concepts: Writing and Debugging
Programs.
trcrpt Command
Purpose
Formats a report from the trace log.
Syntax
trcrpt [ -c ] [ -C [ CPUList | all ]] [ -d List ] [ -D Event-group-list ] [ -e Date ] [ -G ] [ -h ] [ -j ]
[ -k List ] [ -K Group-list ] [-m] [ -n Name ] [ -o File ] [ -p List ] [ -r ] [ -s Date ] [ -t File ] [
-T List ] [ -v ] [ -O Options ] [ -x ] [-M common | rare | all[:LMT_dir]] [ -l ComponentList | all[:CT_dir] ]
[ FileOrDirectory ]
Description
The trcrpt command reads the trace log specified by the -M, -l and File or Directory parameters, formats
the trace entries, and writes a report to standard output. The default file from which the system generates
a trace report is the /var/adm/ras/trcfile file, but you can specify an alternate log file using the -M, -l and
File or Directory parameters. You can specify one or more files or directories. If you specify a file, it must
be a valid trace log file, which is any file that is produced by a trace-related command. If you specify a
directory, it must contain a component trace master file. If you specify the -m flag, all specified traces will
be merged in chronological order.
You can use the System Management Interface Tool (SMIT) to run the trcrpt command by entering the
SMIT fast path:
smit trcrpt
Flags
-c Checks the template file for syntax errors.
-C [ CPUList | all ] Generates a report containing events that occur on the CPUs specified. The
CPUs can be separated by commas, or enclosed in double quotation marks and
separated by commas or blanks. To report on all CPUs, specify trace -C all.
The -C flag is not necessary unless you want to see only a subset of the CPUs
traced, or have the CPU number show up in the report. If -C is not specified, and
the trace is a multi-CPU trace, trcrpt generates the trace report for all CPUs, but
the CPU number is not shown for each hook unless you specify -O cpuid=on.
-d List Limits report to hook IDs specified with the List variable. The List parameter items
can be separated by commas or enclosed in double quotation marks and
separated by commas or blanks.
-D Event-group-list Limits the report to hook IDs in the Event groups list, plus any hook IDs specified
with the -d flag. List parameter items can be separated by commas or enclosed in
double quotation marks and separated by commas or blanks. Event groups are
described in Debug and Performance Tracing.
Use the common keyword if you only want events from the common LMT buffers
to be reported; use the rare keyword if you only want events from the rare LMT
buffers to be reported; use the all keyword if you want common and rare events
to be reported.
This flag searches only the default LMT log directory unless the LMT_dir
parameter is specified. With this parameter, the trcrpt command will search for
the LMT files in the specified directory rather than the default LMT log directory.
To merge common and rare buffers you must use the all keyword and the -m
flag. The -M flag can only appear once.
-n Name Specifies the kernel name list file to be used to interpret address for output.
Usually, this flag is used when moving a trace log file to another system.
-o File Writes the report to a file instead of to standard output.
starttime=Seconds
Displays trace report data for events recorded after the seconds
specified. The specified seconds are from the beginning of the trace file.
Seconds can be given in either an integral or rational representation. If
this option is used with the endtime option, a specific range of seconds
can be displayed.
svc=[on|off]
Displays the value of the system call in the trace report. The default
value is off.
tid=[on|off]
Displays the thread ID in the trace report. The default value is off.
timestamp=[0|1|2|3]
Controls the reporting of the time stamp associated with an event in the
trace report. The possible values are:
0 Time elapsed since the trace was started and delta time from the
previous event. The elapsed time is in seconds and the delta time is in
milliseconds. Both values are reported to the nearest nanosecond. This
is the default.
1 Short elapsed time. Reports only the elapsed time (in seconds) from the
start of the trace. Elapsed time is reported to the nearest microsecond.
2 Microsecond delta time. This is like 0, except the delta time is in
microseconds, reported to the nearest microsecond.
3 No time stamp.
-p List Reports the process IDs for each event specified by the List variable. The List
variable may be a list of process IDs or a list of process names. List items that
start with a numeric character are assumed to be process IDs. The list items can
be separated by commas or enclosed in double quotation marks and separated
by commas or blanks.
-r Outputs unformatted (raw) trace entries and writes the contents of the trace log to
standard output one entry at a time. Use the -h flag with the -r flag to exclude the
heading. To get a raw report for CPUs in a multicpu trace, use both the -r and -C
flags.
Examples
1. To format the trace log file and print the result, enter:
trcrpt | qprt
2. To send a trace report to the /tmp/newfile file, enter:
trcrpt -o /tmp/newfile
3. To display process IDs and exec path names in the trace report, enter:
trcrpt -O pid=on,exec=on
4. To create trace ID histogram data, enter:
trcrpt -O hist=on
5. To produce a list of all event groups, enter:
trcrpt -G
Files
/usr/bin/trcrpt Contains the trcrpt command.
/var/adm/ras/trcfile Contains the default log file.
/var/adm/ras/mtrcdir Location of the default LMT dump directory
/var/adm/ras/trc_ct Location of the default CT dump directory.
/etc/trcfmt Contains the trace format file.
Related Information
The ctctrl command, trcctl command, trcdead command, trcevgrp command, trcnm command, trcstop
command, trcupdate command.
Trace Facility Overview in AIX 5L Version 5.3 General Programming Concepts: Writing and Debugging
Programs.
Debug and Performance Tracing in AIX 5L Version 5.3 Kernel Extensions and Device Support
Programming Concepts.
trcstop Command
Purpose
Stops the trace function.
Syntax
trcstop
Description
The trcstop command ends a trace session.
You can use the System Management Interface Tool (SMIT) to run the trcstop command. To use SMIT,
enter:
smit trcstop
Example
To terminate the trace background process, enter:
trcstop
File
/usr/bin/trcstop Contains the trcstop command.
The Trace Facility Overview in AIX 5L Version 5.3 General Programming Concepts: Writing and
Debugging Programs.
trcupdate Command
Purpose
Adds, replaces, or deletes trace report format templates.
Syntax
trcupdate [ -o ] [ -t File ] [ -v ] [ -x IDList ] [ File ]
Description
The trcupdate command adds, replaces, or deletes trace report format templates in the /etc/trcfmt or the
/etc/trcfmt.Z file. When the /etc/trcfmt.Z file is used, the trcupdate command uncompresses the file,
updates it, and recompresses it. The trcupdate command creates an ″undo″ file named File.undo.trc in
the specified directory.
The trcupdate command adds the extension .trc to the file name and reads update commands from that
file. The undo file is input to the trcupdate command if the -o (override) flag is specified. When the -o flag
is specified, the trcupdate command undoes the changes previously made to the file.
+ The plus sign indicates that a template is to be added or replaced. The field that follows this operator contains
the template to be replaced.
- The minus sign indicates that a template is to be deleted. The field after this operator contains the hook ID of
the template to delete. Operations are performed in the order in which they appear.
The input to the trcupdate command must contain the following as the first line:
* /etc/trcfmt
When adding or replacing, the trcupdate command compares the version numbers of each input template
with the version number of the template with the same hook ID. If the version number of the input template
is greater than or equal to the version of the existing template, the trcupdate command replaces the old
template with the input template. If a template does not exist, then the input template is added to the file.
The trcupdate command will not modify the /etc/trcfmt file if a syntax error is detected in the update file.
Flags
-o Overrides the old template with the input template without verifying the version number of either
template.
Security
Access Control: None, but you must have write authority to the template file you are changing. The default
is /etc/trcfmt.
Examples
1. To add a template, enter:
trcupdate
* /etc/trcfmt
+ 15A 1.0 new_fmt
2. To delete a template, enter:
trcupdate
* /etc/trcfmt
- 15A 1.0 new_fmt
3. To replace a template, enter:
trcupdate
* /etc/trcfmt
+ 15A 1.0 new_fmt
Files
/usr/bin/trcupdate Contains the trcupdate command.
/etc/trcfmt Contains the trace format file.
/usr/include/sys/trcmacros.h Defines trchook and utrchook macros.
Related Information
The trcdead command, trcrpt command.
The Trace Facility Overview in AIX 5L Version 5.3 General Programming Concepts: Writing and
Debugging Programs.
troff Command
Purpose
Formats text for printing on typesetting devices.
Syntax
troff [ -a ] [ -i ] [ -q ] [ -z ] [ -F Directory ] [ -n Number ] [ -o List ] [ -r ANumber ] [
-s Number ] [ -T Name ] [ -mm | -me | -mptx | -ms | -man | -mv ] [ -M Media ] [ File ... | - ]
If no file is specified or the - (minus) flag is not the last parameter, standard input is read by default.
For the 3812, 3816, and Hewlett-Packard LaserJet Series II printer, the default fonts are the native fonts
for the printer. Additional fonts also are available for these printers, which can be loaded through the use
of the troff .fp directive. These fonts are stored on the host in the directory /usr/lib/font/devPrinter/
bitmaps, and downloaded to the printer as necessary.
Typefaces
Three different typefaces are provided in four styles. The following chart shows the relationship between
typeface, style, and the name that the troff command uses to access the font.
Note: The fonts in this set are based on the Computer Modern letter forms developed by Donald E Knuth.
(Refer to Knuth, Donald: Computer Modern Typefaces. Addison-Wesley, 1986.)
Typeface Regular Italic Bold Italic
Roman cr cR Cr CR
Sans Serif cs cS Cs CS
Typewriter ct cT Ct CT
troff special sp
These fonts are all provided in the standard 15 troff sizes: 6, 7, 8, 9, 10, 11, 12, 14, 16, 28, 20, 22, 24, 28,
and 36 points.
For example, .fp 1 Cr loads the Roman bold font into position 1.
Note: The .tl request cannot be used before the first break-producing request in the input to the troff
command.
Flags
-a Sends a printable ASCII approximation of the results to standard output.
-FDirectory Accesses font information from the Directory/devName directory instead of the default
/usr/lib/font/devName directory (where Name is specified by the -T flag).
-i Reads standard input after there are no more files.
-M Media Specifies a paper size in order to determine the amount of imageable area on the paper.
Valid values for the Media variable are:
A4 Specifies a paper size of 8.3 X 11.7 inches (210 X 297 mm).
A5 Specifies a paper size of 5.83 X 8.27 inches (148 X 210 mm).
B5 Specifies a paper size of 6.9 X 9.8 inches (176 X 250 mm).
EXEC Specifies a paper size of 7.25 X 10.5 inches (184.2 X 266.7 mm).
LEGAL
Specifies a paper size of 8.5 X 14 inches (215.9 X 355.6 mm).
LETTER
Specifies a paper size of 8.5 X 11 inches (215.9 X 279.4 mm). This is the default
value.
Note: You also can set the TYPESETTER environment variable to one of the preceding
values instead of using the -TName flag of the troff command.
-man Selects the man macro processing package.
-me Selects the me macro processing package.
-mm Selects the mm macro processing package.
-mptx Selects the mptx macro processing package.
-ms Selects the ms macro processing package.
-mv Selects the mv macro processing package.
See Macro Packages for Formatting Tools for more information on the macros.
Examples
The following is an example of the troff command:
troff -Tibm3812 File | ibm3812 | qprt
man Enables you to create your own manual pages from online manual pages.
me Provides macros for formatting papers.
mm Formats documents with nroff and troff formatters.
mptx Formats a permuted index.
ms Provides a formatting facility for various styles of articles, theses, and books.
mv Typesets English-language view graphs and slides by using the troff command.
Special macros, strings, and number registers exist, internal to the man macro package, in addition to the
following lists of format macros, strings, and registers. Except for the names predefined by the troff
command and the d, m, and y number registers, all such internal names are of the form SymbolAlpha,
where Symbol is one of ), ], or }, and Alphais any alphanumeric character.
The man macro package uses only the Roman font. If the input text of an entry contains requests for
other fonts (for example, the .I format macro, .RB request, or \fI request) the corresponding fonts must be
mounted.
Format Macros
The following macros are used to alter the characteristics of manual pages that are formatted using the
manmacro package.
Type font and size are reset to default values before each paragraph and after processing font- and
size-setting macros (for example, the .I format macro, .SM format macro, and .B format macro).
Tab stops are neither used nor set by any of the format macros except the .DT format macro and the .TH
format macro.
.B [Text]
Makes text bold.
The Text variable represent up to six words; use “ ” (double quotation marks) to include character
spaces in a word. If the variable is empty, this treatment is applied to the next input text line that
contains text to be printed. For example, use the .I format macro to italicize an entire line, or use
the .SM and .B format macros to produce an entire line of small-bold text. By default, hyphenation
is turned off for the nroff command, but remains on for the troff command.
.DT Restores default tab settings every 5 ens for the nroff command and every 7.2 ens for the troff
command.
Indicator Marking
P PRIVATE
N NOTICE
No Indicator specified Turns off proprietary marking.
.RE [Number]
Ends relative indent (.RS) at indent level position specified by the Number variable. If the Number
variable value is omitted, return to the most recent lower indent level.
.RI Character1Character2...
Concatenates the Roman Character1 with the italic Character2; alternate these two fonts up to six
sets of Character1Character2. Similar macros alternate between any two of Roman, italic, and
bold: the .IR, .RB, .BR, .IB, and .BI macros.
.RS [Indent]
Increases relative indent (initially zero). Indent all output an extra number of units from the left
margin as specified by the Indent variable.
If the Indent variable is omitted, the previous Indent value is used. This value is set to its default (5
ens for the nroff command and 7.2 ens for the troff command) by the .TH format macro, .P
format macro, and .RS format macro, and restored by the .RE format macro. The default unit for
Indent is ens.
.SH [Text]
Places subhead text.
Variable Marking
Title Title
Section Section number
Commentary Extra commentary
Name New manual name.
Note: If the .TH format macro values contain character spaces that are not enclosed in “ ” (double
quotation marks), irregular dots are displayed on the output.
.TP [Indent]
Begins indented paragraph with hanging tag. The next input line that contains text is the tag. If the
tag does not fit, it is printed on a separate line.
If the Indent variable is omitted, the previous Indent value is used. This value is set to its default (5
ens for the nroff command and 7.2 ens for the troff command) by the .TH format macro, .P
format macro, and .RS format macro, and restored by the .RE format macro. The default unit for
Indent is ens.
Strings
\*R Adds trademark, (Reg.) for the nroff command and the registered trademark symbol for the troff
command.
\*S Changes to default type size.
\*(Tm Adds trademark indicator.
Registers
IN Indent left margin relative to subheads. The default is 7.2 ens for the troff command and 5 ens for the
nroff command.
LL Line length including the value specified by the IN register.
Flags
-rs1 Reduces default page size of 8.5 inches by 11 inches with a 6.5-inch by 10-inch text area to a 6-inch by
9-inch page size with a 4.75-inch by 8.375-inch text area. This flag also reduces the default type size from
10-point to 9-point and the vertical line spacing from 12-point to 10-point.
Examples
1. To process the file your.book and pipe the formatted output to the local line printer, qprt, type:
nroff -Tlp -man your.book | qprt -dp
2. To process the files my.book and dept.book, which contain tables, and pipe the formatted output to the
local line printer, qprt, type:
tbl my.book dept.book | nroff -Tlp -man | col -Tlp | qprt -dp
Note: Before the output is sent to qprt, it is first filtered through the col command to process reverse
linefeeds used by the tbl command.
3. To process the file group, which contains pictures, graphs, and tables, and prepare the formatted
output for processing on the IBM 3816 printer, enter:
grap group | pic | tbl | troff -Tibm3816 -man \
| ibm3816 | qprt -dp
Notes:
1. If manual pages created with the man macro package are intended for an online facility, components
requiring the troff command, such as the grap or pic command, should be avoided.
2. The grap command precedes the pic command because it is a preprocessor to the pic command; the
reverse does not format correctly.
3. The col command is not required as a filter to the tbl command; typeset documents do not require
reverse linefeeds.
The macro requests are defined in the following section, in me Requests. Many nroff/troff requests can
have unpredictable results in conjunction with this package. However, the following requests can be used
after the first .pp request:
Output of the eqn, neqn, refer, and tbl commands preprocessors for equations and tables can be used as
input.
The H parameter defines the new header. If there are any spaces in it, the entire header
must be quoted. If you want the header to have the chapter number in it, use the string
\\\n(ch. For example, to number appendixes A.1, A.2, ..., type: .++ RA ’’’\\\n(ch.%’. Each
section (such as chapters and appendixes) should be preceded by the .+c request.
.+cTitle Begins chapter (or appendix, for instance, as set by the .++ macro). The value specified
by the Title variable is the chapter title (macro).
\*, Indicates cedilla (string).
\- Indicates minus sign (troff command built-in function).
\*- Indicates 3/4 em dash (string).
\0 Defines unpaddable digit-width space (troff command built-in function).
.1c Reverts to single-column output (macro).
.2c Begins two-column output (macro).
\*: Indicates umlaut (string).
\*< Begins subscript (string).
\*> Ends subscript (string).
.EN Ends equation. Space after equation produced by the eqn command or neqn command
(macro).
.EQXY Begins equation; breaks out and adds space. The value specified by the Y variable is the
equation number. The optional X variable value might be any of the following:
I Indents equation (default).
L Left-adjusts equation.
C Centers equation (macro).
\L’Distance’ Indicates vertical line-drawing function for the specified distance (troff command built-in
function).
.PE Ends pic picture (macro).
.PF Ends pic picture with flyback (macro).
.PS Starts pic picture (macro).
.TE Ends table (macro).
.TH Ends header of table (macro).
\n(.s Indicates current point size (number register defined by default; changing is not
recommended).
\*(4 Indicates acute accent (string).
\*(` Indicates grave accent (string).
\(4 Indicates acute accent (troff command built-in function).
\(` Indicates grave accent (troff command built-in function).
\*] Ends superscript (string).
\^ Indicates 1/12 em narrow space (troff command built-in function).
\*^ Indicates caret (string).
.acAuthorNumber Sets up for ACM-style output. The Author variable specifies the author name or names.
The Number variable specifies the total number of pages. Must be used before the first
initialization (macro).
.ad Sets text adjustment (macro).
.af Assigns format to register (macro).
.am Appends to macro (macro).
.ar Sets page numbers in Arabic (macro).
.as Appends to string (macro).
.b X Prints in boldface the value specified by the X variable. If the X variable is omitted,
boldface text follows (macro).
.ba +Number Augments the base indent by the specified Number value. Sets the indent on regular text
such as paragraphs (macro).
.bc Begins new column (macro).
.bi X Prints in bold italic the value specified by the X parameter, in no-fill mode only. If the X
parameter is not used, bold italic text follows (macro).
\n(bi Displays block indent (number register).
.bl Requests blank lines, even at top of page (macro).
\n(bm Sets bottom title margin (number register).
.bp Begins page (macro).
.br Sets break; starts new line (macro).
\n(bs Displays block pre- or post-spacing (number register).
\n(bt Blocks keep threshold (number register).
.bu Begins bulleted paragraph (macro).
.bx X Prints in no-fill mode only the value specified by the X variable in box (macro).
\c Continues input (troff command built-in function).
.ce Centers lines (macro).
\n(ch Defines current chapter number (number register).
.de Defines macro (macro).
\n(df Displays font (number register).
.ds Defines string (macro).
\n(dw Defines current day of week (number register).
\*(dw Defines current day of week (string).
\n(dy Defines current day of month (number register).
\e Indicates printable version of \ (backslash) (troff command built-in function).
.ef’X’Y’Z’ Sets even-page footer to the values specified by the XYZ variables (macro).
.eh’X’Y’Z’ Sets even-page header to the values specified by the XYZ variables (macro).
.el Specifies the else part of an if/else conditional (macro).
.ep Ends page (macro).
mm Macro Package for the mm, mmt, nroff, and troff Commands
The mm macro package provides macros to format text in a wide variety of document forms, such as
memos, letters, and reports. The manner in which you type and edit a document is essentially independent
of whether the document is later formatted at a terminal or phototypeset.
The col command may be required to postprocess nroff output. See the col command for specific
requirements.
The mm macros and additional information are summarized under the following headings:
v Beginning Macros for Formal Memoranda
v Business Letter Macros
v Ending Macros (Trailing Information)
v Paragraphs
v Section Headings
v Lists
v Displays, Tables, Equations, and Footnotes
v Page Headers and Footers
v Miscellaneous Macros
v mm Registers
v mm Strings
v String Names
v Reserved Names.
Section Headings
.H {1 2 3 4 5 6 7} [HeadingText] [FootnoteMark] Specifies numbered headings.
.HU HeadingText Specifies unnumbered headings.
.HM {1 0001 A a I i}... Specifies heading mark style:
1 Arabic
0001 Arabic with leading 0s (zeros)
A Uppercase alphabetic
a Lowercase alphabetic
I Uppercase Roman
i Lowercase Roman.
.HX [Dlev] [Rlev] [HeadingText] Calls user-defined exit macro before headings.
.HY [Dlev] [Rlev] [HeadingText] Calls user-defined exit macro in the middle of headings.
.HZ [Dlev] [Rlev] [HeadingText] Calls user-defined exit macro after headings.
Lists
If the last option [1] is present in the list-start macros, there is no space between items.
Sixth option:
0 No blank line before each list item.
Seventh option:
0 No blank line before list.
.LC [Level] Clears list status up to the Level variable value.
.TH [N]
Must be used when specifying option H to .TS:
N Suppresses table headers unless on top of new page.
.TE Ends table.
.TB [Title] [Override] [0 1 2]
The value of the Override variable replaces or enhances the default numbering. Specifies table
caption:
0 Override value is used as a prefix.
1 Override value becomes a suffix.
2 Replace Override value becomes a replacement.
.EX [Title] [Override] [0 1 2]
The value of the Override variable replaces or enhances the default numbering. Specifies exhibit
caption:
0 Override value is used as a prefix.
1 Override value becomes a suffix.
2 Replace Override value becomes a replacement.
.EQ [Label]
Starts equation display using the specified label.
.EN Ends equation display.
.EC [Title] [Override] [0 1 2]
The value of the Override variable replaces or enhances the default numbering. Specifies equation
caption:
0 Override value is used as a prefix.
1 Override value becomes a suffix.
2 Replace Override value becomes a replacement.
.FS [Label]
Starts footnote using the specified label as an indicator. Default is numbered footnote.
.FE Ends footnote.
.FD [{0 1 2 3 4 ... 11}] [1]
Sets footnote format:
First option:
Set up formatting style for footnote text. Default is 0 for mmt command. Default is 10 for mm
command. See the following table for the value.
Second option:
Miscellaneous Macros
.B [Option] [Prev-Font-option] Prints in bold (up to six options).
.I [Option] [Prev-Font-option] Prints in italics (up to six options); underlines with the nroff command.
.R Returns to Roman font.
.PM [Option] Sets proprietary marking. If you do not give the .PM macro an option,
you turn off proprietary markings. The /usr/lib/macros/string.mm file
contains some proprietary markings. This file should be edited to meet
the user’s needs.
.RD [Prompt] [Diversion] [String] Stops code macro. The Prompt variable should be a user-defined
string without spaces. The Diversion variable allows the typed-in text
to be saved. The String variable contains the first line typed following
the prompt.
First option:
0 Resets reference counter (default).
1 Does not reset reference counter.
Second option:
0 Causes an .SK macro after (default).
1 Does not cause an .SK macro after.
2 Does not cause an .SK macro before.
3 Does not cause an .SK macro before or after.
.RS/.RF Numbers references automatically.
.WC [{N WF -WF FF -FF WD -WD FB -FB}] Controls width for footnotes and displays when using two columns:
N Normal mode ( -WF, -FF, -WD).
WF Footnotes always wide.
-WF Footnotes follow page style.
FF First footnote determines width of remaining footnotes on
that page.
-FF Footnotes follow setting of WF or -WF option.
WD Always wide displays.
-WD Displays follow page style.
FB Floating display causes page break (default).
-FB Floating display does not cause page break.
.SP [Lines] Skips lines down.
.SK [Number] Skips the specified number of pages. (The default is 1.)
.OP Breaks to an odd page.
.2C Prints output in two columns.
.1C Prints output in one column (normal line width restored).
.SA [Option] Sets right-margin justification
Options:
0 Sets default to off (default for the nroff command).
1 Sets default to on (default for the troff command).
Defaults:
Options 1 and 2:
Number
New value.
+/-Number
Increment to current value.
D Default.
C Current value.
P Previous value.
.VM [Top] [Bottom] Sets variable vertical margins.
.nP Starts double-line indent on paragraph.
The following macros are for alternating fonts and all take one to six options:
mm Registers
If an * (asterisk) follows a register name, that register can be set one of two ways: from the command line
(see the example in the mm command) or before the formatter reads mm macro definitions. In the
following list, the number shown in parentheses is the default value.
mm Strings
Print special strings by using the following escape sequences:
String Names
BU Bullet.
Ci Indent of heading levels in the table of contents.
DT Current date. The locale-specific date format specified by the locale setting for the LC_TIME category is
used as the default setting. This corresponds to the %x format specifier of the strftime subroutine. Use
the .ND macro to change the current date.
EM Em dash.
F Footnote numbering.
HF Heading level font string:
1 Roman
2 italics
3 Bold (2 2 2 2 2 2 2).
Reserved Names
If you define your own strings, macros, and registers, use only names that consist of either a single
lowercase letter, or a lowercase letter followed by any character other than a lowercase letter. The names
c2 and nP are exceptions to this; they are reserved.
The macro requests are defined in the ms Requests section. Many nroff and troff command requests can
have unpredictable results in conjunction with this package. However, the first 4 requests in the following
list can be used after initialization, and the last 2 requests can be used before initialization.
Font and point-size changes with the\f and \s macros are also allowed. For example, \fIword\fR
italicizes word. Output of the tbl, eqn, and refer command preprocessors for equations, tables, and
references is acceptable as input.
Formatting distances can be controlled in ms macros by means of built-in number registers. For example,
the following number register sets the line length to 6.5 inches:
.nr LL 6.5i
ms Requests
Following are external ms macro requests:
Initial Value: -
Break: yes
.AE Ends abstract.
Break: yes
.AIName Author’s institution.
Initial Value: -
Break: yes
.AM Sets accent mark definitions.
Initial Value: -
Break: no
Initial Value: -
Break: yes
.B [X] Puts X in boldface. If no X, switches to boldface.
Initial Value: -
Break: no
.B1 Begins text to be enclosed in a box.
Initial Value: -
Break: yes
.B2 Ends boxed text and prints it.
Initial Value: -
Break: yes
.BT Prints bottom title at foot of page.
Break: no
.BX X Prints word X in a box.
Initial Value: -
Break: no
.CM Cuts mark between pages.
Initial Value: if t
Break: no
.CT Indicates chapter title; page number moved to CF (TM).
Initial Value: -
Break: yes
Reset: yes
.DA [X] Forces date X at bottom of page. If no X, date is today.
Initial Value: if n
Break: no
.DE Ends display (unfilled text) of any kind.
Initial Value: -
Break: yes
.DS X Y Begins display with keep. X=I, L, C, B; Y=indent.
Initial Value: I
Break: yes
.ID Y Indents display with no keep; Y=indent.
Break: yes
Initial Value: -
Break: yes
.CD Centers display with no keep.
Initial Value: -
Break: yes
.BD Block display; centers entire block.
Initial Value: -
Break: yes
.EF X Sets even page footer X (3 part as for troff command, .tl request).
Initial Value: -
Break: no
.EH X Sets even page header X (3 part as for troff command, .tl request).
Initial Value: -
Break: no
.EN Ends displayed equation produced by eqn command.
Initial Value: -
Break: yes
.EQ [X] [Y] Breaks out equation. X=L, I, C; Y is equation number.
Initial Value: -
Break: yes
.FE Ends footnote to be placed at bottom of page.
Initial Value: -
Break: no
.FP Numbers footnote paragraph; can be redefined.
Initial Value: -
Break: no
FS [X] Starts footnote; X is optional footnote label.
Initial Value: -
Break: no
.HD Sets optional page header below header margin.
Break: no
.I [X] Italicizes X. If no X, equivalent to italics font .ft 2.
Initial Value: -
Break: no
Initial Value: -
Break: yes
Reset: yes
.IX X Y Indexes words such as X and Y, up to five levels.
Initial Value: -
Break: yes
.KE Ends keep of any kind.
Initial Value: -
Break: no
.KF Begins floating keep; text fills remainder.
Initial Value: -
Break: no
.KS Begins keep; keeps unit together on a single page.
Initial Value: -
Break: yes
.LG Sets larger type size; increases point size by 2. Valid only for the troff command.
Initial Value: -
Break: no
.LP Begins left block paragraph.
Initial Value: -
Break: yes
Reset: yes
.MC X Sets multiple columns. X is column width.
Initial Value: -
Break: yes
Reset: yes
.ND [X] Indicates no date in page footer; X is date on cover.
Initial Value: if t
Break: no
.NH X Y Sets numbered header: X=level; X=0, resets; X=S, sets to Y.
Initial Value: -
Break: yes
Reset: yes
Break: no
.OF X Sets odd page footer X (3 part as for me macro, .tl request).
Initial Value: -
Break: no
.OH X Sets odd page header X (3 part as for me macro, .tl request).
Initial Value: -
Break: no
.P1 Prints header on first page.
Initial Value: if TM
Break: no
.PP Indents first line of paragraph.
Initial Value: -
Break: yes
Reset: yes
.PT Prints page title at head of page.
Initial Value: %
Break: no
.PX X Prints index (table of contents); X=do not suppress title.
Initial Value: -
Break: yes
.QP Quotes paragraph (indented and shorter).
Initial Value: -
Break: yes
Reset: yes
.R [X] Returns to Roman font. Prints in Roman font. If X is missing, equivalent to font .ft1.
Initial Value: on
Break: no
.RE Retreats (end level of relative indentation). Used with the .RS request.
Initial Value: 5n
Break: yes
Reset: yes
.RP [X] Prints title page in released paper format; X=no, stops title on first page.
Initial Value: -
Break: no
Initial Value: 5n
Break: yes
Reset: yes
.SG Sets signature line.
.SH Sets unnumbered section header (in boldface).
Initial Value: -
Break: yes
Reset: yes
.SM Sets smaller type size; decrease point size by 2. Valid for the troff command only.
Initial Value: -
Break: no
.TA Sets tabs to 8n, 16n, ... (nroff); 5n, 10n, ... (troff).
Break: no
.TC X Prints table of contents at end; X=do not suppress title.
Initial Value: -
Break: yes
.TE Ends table processed by tbl command.
Initial Value: -
Break: yes
.TH Ends multipage header of table. Must be used with the .TS H request.
Initial Value: -
Break: yes
.TL Sets title line (in boldface and 2 points larger).
Initial Value: -
Break: yes
.TM Sets UC Berkeley thesis mode.
Break: no
.TS X Begins table. If X is H, table prints header on all pages.
Initial Value: -
Break: yes
Reset: yes
.UL X Underlines X, even for the troff command.
Initial Value: -
Break: no
Initial Value: -
Break: no
.XA X Y Sets another index entry; X=page; X=no, for none.
Initial Value: -
Break: yes
.XE Ends index entry or series of .IX request entries.
Initial Value: -
Break: yes
.XP Exdents first line of paragraph; others indented.
Initial Value: -
Break: yes
Reset: yes
.XS X Y Begins index entry; X=page; X=no, for none; Y=indent.
Initial Value: -
Break: yes
.1C Begins one-column format, on a new page.
Initial Value: on
Break: yes
Reset: yes
.2C Begins two-column format.
Initial Value: -
Break: yes
Reset: yes
.]- Sets beginning of refer command reference.
Initial Value: -
Break: no
.[0 Sets end of unclassifiable type of reference.
Initial Value: -
Break: no
.[N For journal article, N=1 (one). For book, N=2. For book article, N=3.
Initial Value: -
Break: no
ms Registers
Following is a list of number registers and their default values:
When resetting number register values, make sure to specify the appropriate units. Set the line length to 7i
instead of just 7, which would result in output with one character per line. Setting the FF register to 1 (one)
suppresses footnote superscripting. Setting it to 2 also suppresses indentation of the first line. Setting the
FF register to 3 produces a footnote paragraph like the .IP request.
Following is a list of string registers available in the ms macros. These string registers can be used
anywhere in the text.
When using the extended accent mark definitions available with the .AM request, these strings should
come after, rather than before, the letter to be accented.
Notes:
1. It is important to note that floating keeps and regular keeps are diverted to the same space, so they
cannot be mixed.
2. The date format is restricted to U.S. English format.
The output can be previewed on most terminals, in particular the Tektronix 4014. For this device, specify
the -rX1 flag (which is automatically specified by the mvt command when that command is called with the
-D4014 flag). To preview output on other terminals, specify the -a flag.
Foil-Start Macros
For the following nine macros, the first character of the name (V or S) distinguishes between view graphs
and slides, respectively, while the second character indicates whether the foil is square (S), small wide
(w), small high (h), big wide (W), or big high (H). Slides are narrower than the corresponding view graphs.
The ratio of the longer dimension to the shorter one is larger for slides than for view graphs. As a result,
slide foils can be used for view graphs, but view graphs cannot be used for slide foils. On the other hand,
view graphs can accommodate a bit more text.
.VS [FoilNumber] [FoilID] [Date] Starts a square view graph. Foil size is to be 7 inches by 7 inches. The
foil-start macro resets all variables (such as indent and point size) to initial
default values, except for the values of the FoilID and Date variables inherited
from a previous foil-start macro. The .VSmacro also calls the .A macro.
.Vw, .Vh,.VW, .VH, .Sw, .Sh, .SW, Same as the .VS macro, except that these macros start view graphs (V) or
.SH slides (S) that are small wide (w), small high (h), large wide (W), or large high
(H).
Note: The .VW and .SW foils are meant to be 9 inches wide by 7 inches high. However, because the
typesetter paper is generally only 8 inches wide, .VW and .SW foils are printed 7 inches wide by
5.4 inches high and have to be enlarged by a factor of 9/7 before use as view graphs.
Level Macros
.A [X] Places text that follows at the first indentation level (left margin). The presence of the X
variable suppresses the half-line spacing from the preceding text.
.B [Mark [Size]] Places text that follows at the second indentation level. Text is preceded by a specified mark
(default is a large bullet). The Size variable is the increment or decrement to the point size of
the mark with respect to the prevailing point size (default is 0). A value of 100 for the Size
variable makes the point size of the mark equal to the default value of the Mark variable.
.C [Mark [Size]] Same as the .B macro, but for the third indentation level. The default value of the Mark
variable is an em dash.
.D [Mark [Size]] Same as the .B macro, but for the fourth indentation level. The default value of the Mark
variable is a small bullet.
Default-Setting Macros
.DF [Number Name]... Sets font positions. It cannot be displayed within foil input text; that is, it must follow the
input text for a foil, but it must precede the next foil-start macro. The specified number
is the position of the font specified by the Name variable. The .DF macro takes up to
four pairs of Number Name variables, such as 1 H. The first Name variable specifies
the prevailing font. For example: .DF 1 H 2 I 3 B 4 S.
.DV [A] [B] [C] [D] Alters the vertical spacing between indentation levels. The value specified by the A, B,
C, or D variable is the spacing for the .A, .B, .C, or .D macro, respectively. All non-null
parameters must be dimensioned. Null parameters leave the corresponding spacing
unaffected. The default setting is: .DV .5v .5v .5v 0v.
The .S, .DF, .DV, and .U macros do not cause a break. The .I macro causes a break only if it is called
with more than one variable. All the other macros cause a break.
The mv macro package also recognizes the following uppercase synonyms for the following corresponding
lowercase troff command requests:
v .AD
v .BR
v .CE
v .FI
v .HY
v .NA
v .NF
v .NH
v .NX
v .SO
v .SP
v .TA
v .TI
nroff and troff Requests for the nroff and troff Commands
The following nroff and troff requests are included in a specified working file or in standard input. The
nroff and troff requests control the characteristics of the formatted output when the file or standard input
is processed with the nroff or troff commands. The nroff and troff requests are grouped by function, in
the following sections:
v Numerical Parameter Input
v Font and Character Size Control
v Page Control
v Text Filling, Adjusting, and Centering
v Vertical Spacing
v Line Length and Indenting
v Macros, Strings, Diversions, and Position Traps
v Number Registers
v Tabs, Leaders, and Fields
v Input and Output Conventions and Character Translations
v Hyphenation
v Three-Part Titles
v Output Line Numbering
v Conditional Acceptance of Input
v Environment Switching
v Insertions from Standard Input
v Input and Output File Switching
v Miscellaneous
For number variables written as +Number, the variable can be expressed as follows:
v The Number variable by itself is an absolute value.
v The +Number variable increases the currently set value.
v The -Number variable decreases the variable relative to its current value.
Note: For all numeric parameters, numbers are expressed using ASCII Arabic numerals only.
The notes at the end of this command are referenced in the specific requests where applicable.
Note:
1. If a non-kanji output device is selected, an en-width is used instead.
2. If a non-kanji output device is selected, an em-width is used instead.
In the nroff request, both the em and the en are taken to be equal to the C, which is output-device
dependent; frequent values are 1/10 and 1/12 inch. Actual character widths in the nroff request need not
be all the same, and characters constructed with predefined strings such as - > are often extra wide.
Japanese Language Support: In the output from the nroff command, all double-width Japanese characters
such as all kanji and some katakana characters have a fixed width equal to two Cs. All single-width
Japanese characters such as some katakana characters have a fixed width equal to C.
The scaling for horizontally-oriented control characters, vertically-oriented control characters, and the
requests .nr, .if, and .ie are as follows:
Orientation Default Request or Function
Measure
All other requests ignore scale indicators. When a number register containing an already appropriately
scaled number is interpreted to provide numerical input, the unit scale indicator u might need to be
appended to prevent an additional inappropriate default scaling. The Number might be specified in
decimal-fraction form, but the parameter that is finally stored is rounded to an integer number of basic
units.
The font name itself can be substituted for the font position; for example, .bd I 3. The Number
variable is functionally identical to the -u flag of the nroff command. (The bold mode must be
in effect when the characters are physically printed.) This request can affect the contents of
the .b general-number register.
The bold mode still must be in effect, or restarted at the time of physical output. You cannot
turn off the bold mode in the nroff command if it is being controlled locally by the printing
device as with, for example, a DASI 300.
If No Value Specified: -
.bd S Font Number Makes the characters in the special font bold whenever the specified font is the current font.
The mode must be in effect when the characters are physically printed. The Font value must
be an ASCII font name or font position. The mode still must be in effect, or again so, at the
time of physical output.
If No Value Specified: -
.cs Font Number M Sets constant character space (width) mode to the Font variable value (if mounted). The width
of every character is taken to be the value specified in the Number variable divided by 36 ems.
If the M variable is not specified, the em width is that of the character’s point size; if the M
variable is given, the width is the value specified by the M variable minus points. All affected
characters are centered in this space, including those with an actual width larger than this
space. Special font characters occurring while the specified font is the current font are also so
treated. The Font value must be an ASCII font name or font position. If the Number variable is
absent, the mode is turned off. The mode must be in effect when the characters are physically
printed. This request is ignored by the nroff command. Relevant values are part of the current
environment. The mode still must be in effect, or again so, at the time of physical output.
If No Value Specified: -
.fp Font Specifies the font position. This is a statement that the specified font is mounted on the
Number[ File ] position specified by the Number variable. The Font variable must be a one- or two-character
ASCII font name.
The .fp request accepts a third optional variable, the File variable, which is the actual path
name of the file containing the specified font. The File variable value can be any legal file
name and can contain extended characters.
Japanese Language Support: The Filevalue can be any legal file name. Values are typesetter-
or printer-dependent.
Initial Value: -
If using a font name consisting of two characters, use the alternative form of .ft, \f. Relevant
values are part of the current environment. Values are typesetter or printer-dependent.
This request is ignored by the nroff command. Relevant values are part of the current
environment.
Page Control
.bp [+/-][Number] Specifies a break page. The current page is ejected and a new page is begun. If the
+/-Number variable is specified, its value becomes the new page number. Also refer to the
.ns request.
This request usually causes a line break similar to the .br request. Calling this request with
the control character ” ’ “ (instead of ”.“) suppresses that break function.
If No Value Specified: -
.mk Register Marks the current vertical place (or a place in the current diversion) in an internal register
(associated with the current diversion level) or in the specified register, if given. The
Register variable is the ASCII name of a number register. Mode or relevant values are
associated with the current diversion level. For more information, refer to the .rt request.
The value of D is also usually contained in the .t Number register. Mode or relevant
values are associated with the current diversion level.
If No Value Specified: -
.pl [+/-][Number] Sets page length to the +/-Number variable value. The internal limitation is approximately
136 inches in the nroff command, but varies with the device type in the troff command. A
good working maximum for the troff command is 75 inches. The current page length is
available in the .p register.
Initial Value: 0 for the nroff command; 1 for the troff command.
The .sp request can be used in all cases, instead of the .rt request, by spacing to the
absolute place stored in an explicit register as, for example, when using the sequence .mk
Register . . . .sp|\nRu.
The adjustment indicator can also be a number obtained from the .j register.
Usually, lines of Japanese text are filled to the margins without regard for the characters
beginning or ending lines. When kinsoku shori processing is enabled, lines are prevented from
ending with an open bracket character or from beginning with a close bracket or punctuation
character. If a line ends with an open bracket, the line is left short and the bracket begins the
next line. If a line begins with a close bracket or punctuation character, the preceding line is
extended and the character ends the preceding line. Requesting Japanese kinsoku shori
processing on an output device that does not support kanji characters has no effect.
.br Specifies a break. The filling of the line currently being collected is stopped and the line is
output without adjustment. Text lines beginning with space characters and empty text lines
(blank lines) also cause a break.
Initial Value: -
If No Value Specified: -
.ce [Number] Centers the next specified number of input text lines within the current line length, minus
indent. If the Number variable equals 0, any residual count is cleared. A break occurs after
each of the Number variable input lines. If the input line is too long, it is left adjusted.
Relevant values are part of the current environment. This request usually causes a line
break similar to the .br request. Calling this request with the control character ” ’ “ (instead
of ”.“) suppresses that break function.
If No Value Specified: -
.na Specifies no-adjust mode. Adjustment is turned off; the right margin is ragged. The
adjustment type for the .ad request is not changed. Output-line filling still occurs if the fill
mode is on. Relevant values are part of the current environment.
If No Value Specified: -
.nf Specifies no-fill mode. Subsequent output lines are neither filled nor adjusted. Input-text
lines are copied directly to output lines without regard for the current line length. Relevant
values are part of the current environment. This request usually causes a line break similar
to the .br request. Calling this request with the control character ” ’ “ (instead of ”.“)
suppresses that break function.
If No Value Specified: -
Vertical Spacing
Blank text line Causes a break and outputs a blank line exactly like an .sp 1 request.
.ls Number Sets line spacing to the value specified by the +/-Number variable. The Number -1 Vs (blank
lines) variable values are appended to each output-text line. Appended blank lines are omitted
if the text or previous appended blank line reached a trap position. Relevant values are part of
the current environment.
Initial Value: 1
If No Value Specified: -
.os Outputs saved vertical space. The no-space mode has no effect. Used to output a block of
vertical space requested by the previous .sv request.
Initial Value: -
If No Value Specified: -
.rs Restores spacing. The no-space mode is turned off. This request usually causes a break.
If No Value Specified: -
Initial Value: -
If No Value Specified: 1V
.sv Number Saves a contiguous vertical block of the specified size. If the distance to the next trap is greater
than the Number variable value, the specified vertical space is output. The no-space mode has
no effect. If this distance is less than the specified vertical space, no vertical space is
immediately output, but is remembered for later output (refer to the .os request). Subsequent
.sv requests overwrite any still-remembered Number variable value.
Initial Value: -
Initial Value: The Number variable equals 1/16 inch for the nroff command and 12 points for
the troff command.
Relevant values are part of the current environment. This request usually causes a line
break similar to the .br request. Calling this request with the control character ” ’ “ (instead
of ”.“) suppresses that break function.
Initial Value: -
Initial Value: -
Initial Value: -
Initial Value: -
If No Value Specified: -
.da [Macro] Diverts, appending to the specified macro and appends version of the .di request. The
Macro variable must be one or two ASCII characters. Mode or relevant values are
associated with the current diversion level.
Initial Value: -
Initial Value: -
Initial Value: -
If the current date were July 10, 1991, in an English U.S. locale, DT would be defined as
7/10/91.
.ds DT^A0 0^A”Today is %B %d, %Y“
If the current date were July 10, 1991, in an English U.S. locale, DT would be defined as
Today is July 10, 1991.
The second syntax method is not intended for general use. It is used in the nroff and
troff macro files supplied with the system to facilitate internationalization of internally
generated messages.
Initial Value: -
Initial Value: -
Initial Value: -
Initial Value: -
If No Value Specified: -
.wh Number Macro Installs a trap to call the specified macro at the page position specified by the Number
variable. A negative Number variable value is interpreted with respect to the page bottom.
Any macro previously planted at the page position specified by the Number variable is
replaced by the Macro variable value. A Number variable value of 0 refers to the top of a
page. In the absence of the Macro variable, the first trap found at the page position
specified by the Number variable, if any, is removed. The Macro variable must be one or
two ASCII characters.
Initial Value: -
If No Value Specified: -
An Arabic format indicator having N digits (for example, 000000001) indicates a field
width of N digits. The read-only registers and the width function are always Arabic.
Japanese Language Support: The following value specifies the character width for
formatting Japanese numeric output in kanji:
k The number is formatted as a kanji string. If this is requested when a
non-kanji codeset is specified, a warning message is printed and the 1
format is used.
Initial Value: Arabic
If No Value Specified: -
.nr Register +/-Number1 Assigns the specified register the value specified by the +/-Number variable with
Number2 respect to the previous value, if any. The increment for auto-incrementing is set to
the Number2 variable value. The Register variable must be one or two ASCII
characters.
Initial Value: -
If No Value Specified: -
.rr Register Removes the specified register. If many registers are being created dynamically, it
can become necessary to remove registers that are not needed to recapture internal
storage space for new registers. The Register variable must be one or two ASCII
characters.
Initial Value: -
If No Value Specified: -
Initial Value: .
The specified type determines how the text is adjusted at the tab stops. The Type
variable values are as follows:
Type Adjustment
R Right-adjusting
C Centering
blank Left-adjusting
Initial Value: 8 ens for the nroff command and 0.5 inch for the troff command
Initial Value: .
If No Value Specified: .
.cu [Number] A variant of the .ul request that causes every character to be underlined and causes no
line breaks to occur in the affected input lines. That is, each output space following a .cu
request is similar to an unpaddable space. The .cu request is identical to the .ul request
in the troff command. Relevant values are part of the current environment.
Initial Value: ’
If No Value Specified: ’
Initial Value: \
If No Value Specified: \
.eo Turns off the escape mechanism.
Initial Value: On
If No Value Specified: -
.lg [Number] Turns on the ligature mode if the Number variable value is absent or nonzero; turns off
ligature mode if the Number variable value is 0. If the Number variable value is 2, only
the two-character ligatures are automatically called. The ligature mode is inhibited for
request, macro, string, register, or file names, and in the copy mode. This request has
no effect in the nroff command.
If No Value Specified: On
.tr Character1 Character2 Translates, among other things, the character value specified by the Character1 variable
Character3 Character4 into the Character2 variable value, the character value specified by the Character3
variable into the Character4variable value. If an odd number of characters is given, the
last one is mapped into the space character. To be consistent, a particular translation
must stay in effect from input to output time. All specified characters must be ASCII
characters. To reset the .tr request, follow the request with previous variables given in
duplicate.
If No Value Specified: -
.ul [Number] Underlines in the nroff command (or italicizes in the troffcommand) the number of
input-text lines specified by the Numbervariable. Actually switches to underline font,
saving the current font for later restoration. Other font changes within the span of a .ul
request take effect, but the restoration undoes the last change. Output generated by the
.tl request is affected by the font change, but does not decrement the Number variable
value. For more information, refer to the section ”Three-Part Titles“. If the specified
number is greater than 1, there is the risk that a trap-called macro can provide text lines
within the span; environment switching can prevent this.
Initial Value: \%
If No Value Specified: \%
.hw Word1... Specifies hyphenation points in words with embedded minus signs. Versions of a word with a
terminal s are implied; that is, dig-it implies dig-its. This list is examined initially and after each
suffix stripping. The space available is 1024 characters, or about 50 to 100 words.
Initial Value:
If No Value Specified: -
Three-Part Titles
.lt [+/-][Number] Sets the length of title value specified by the +/-Number variable. The line length and the
title length are independent. Indents do not apply to titles, although page offsets do.
Relevant values are part of the current environment.
Initial Value: %
Initial Value: -
If No Value Specified: -
Initial Value: -
Initial Value: -
Environment Switching
.ev Environment Switches to the specified environment. The value specified by the Environment variable
must be 0, 1, or 2. Switching is done in push-down fashion so that restoring a previous
environment must be performed with the .ev request rather than with a specific
reference.
Initial Value: -
If No Value Specified: -
.rd Prompt Reads insertion from standard input until two newline characters in a row are found. If the
standard input is the user’s keyboard, the specified prompt (or the ASCII BEL character) is
written onto the user’s terminal. The .rd request behaves like a macro, and additional variables
can be placed after the Prompt variable.
Initial Value: -
Initial Value: -
If No Value Specified: -
.lf Number File Corrects the troff command interpretation of the current line number (as specified by the
Number variable) and the current file (as specified by the File variable) for use in error
messages.
Initial Value: -
If No Value Specified: -
.nx File Uses the specified file as the input file. The current file is considered ended and the input is
immediately switched to the specified file.
Initial Value: -
Initial Value: -
If No Value Specified: -
.so File Switches the source file. The top input (file-reading) level is switched to the specified file. When
this file ends, input is again taken from the original file. The .so request can be nested.
When a .so request is encountered, the processing of the specified file is immediate.
Processing of the original file (for example, a macro that is still active) is suspended.
A file should be preprocessed, if necessary, before being called by the .so request. The eqn,
tbl, pic, and grap commands do not reach through a .so request to process an object file.
Initial Value: -
If No Value Specified: -
Based on the message SetNumber and the MessageNumber variables within the
locale-specific catalog, the message catalog is read in copy mode and the
corresponding message is written to the user’s terminal. The initial sequence specifying
the message set and message number can be omitted for backward compatibility. The
ASCII code Control-A (^A) delimits message identification, default message, and optional
argument list. The ASCII code Control-B (^B) delimits individual optional argument list.
If you assume the troff command runs with the following conditions:
v The message at set 2 and number 42matches the default message.
v The .ab directive is on line 124in the input file.
Initial Value: -
For example,
.Dt ”%A, %B %d, %Y (%T)“
Initial Value: -
If No Value Specified: -
.ig Macro Ignores input lines. The .ig request works exactly like the .de request, except that the
input is discarded. For more information, refer to ”Macros, Strings, Diversions, and
Position Traps“. The input is read in copy mode, and any auto-incremented registers are
affected. The Macro variable must be one or two ASCII characters.
Initial Value: -
Initial Value: -
For example:
.sy date > /tmp/today
Today is
.so /tmp/today
Initial Value: -
If No Value Specified: -
.tm String The specified string is written to the user’s terminal.
.tm ^A<SetNumber> Based on the message set number and the message number within the locale-specific
<MessageNumber> catalog, the message catalog is read in copy mode and the corresponding message is
[^A”<DefaultMessage> “] written to the user’s terminal. The initial sequence specifying the message set and
[^A<Argument> message number can be omitted for backward compatibility. The ASCII code Control-A
^B <Argument> ^A delimits message identification, default message, and optional argument list. The
^B<Argument> ...] ASCII code Control-B ^B delimits individual optional argument list.
If you assume the troff command runs with the following conditions:
v The message at set 2 and number 23 matches the default message.
v The command line has troff using the -T option with device PSC.
v The .tm directive is on line 539 in the input file.
Initial Value: -
Notes
The following notes apply to the nroff and troff requests. They are referenced by number in the requests
where they apply.
1. The .L string register contains the current program locale value of all the categories.
2. The .m string register contains the locale value of the LC_MESSAGES category.
3. The .t string register contains the locale value for the LC_TIME category.
4. While the .L, .t, and .mstring registers provide access to some environment values, a more general
technique can be used to access any other environment variable. For example, if the TED environment
variable is exported, the following troff commands:
Environment Variables
LC_ALL Specifies the locale to be used for all the locale categories. It overrides any setting of the
other locale environment variables.
LC_MESSAGES Specifies the locale value for the LC_MESSAGES category. This is used if the LC_ALL
environment variable is not set.
LC_TIME Specifies the locale value for the LC_TIME category. This is used if the LC_ALL
environment variable is not set.
LANG Specifies the locale value to be used for all the locale categories. This is used if none of the
above environment variables are set. This is the most often used environment variable to
specify the locale.
Files
/usr/share/lib/tmac/tmac.* Contains the pointers to standard macro files.
/usr/share/lib/macros/* Denotes standard macro files.
/usr/share/lib/tmac/tmac.an Contains the pointer to the man macro package.
/usr/share/lib/macros/an Contains the man macro package.
/usr/share/lib/tmac/tmac.e file Contains the me macro definition file.
/usr/share/lib/me directory Contains the macro definition files.
/usr/share/lib/tmac/tmac.m Contains the pointer to the mm macro package.
/usr/share/lib/macros/mmn Contains the mm macro package.
/usr/share/lib/macros/mmt Contains the mm macro package.
/usr/share/lib/tmac/tmac.ptx Points to the macro package.
/usr/share/lib/macros/ptx Contains the macro package.
/usr/share/lib/tmac/tmac.x Contains the macro definition files.
/usr/share/lib/ms Contains the ms macro definitions.
/usr/share/lib/tmac/tmac.v Contains macro definitions.
/usr/share/lib/macros/vmca Contains macro definitions.
/usr/lib/nls/msg/$LANG/macros.cat Contains locale-specific message catalog for the mm, me, ms, and
mv macro packages.
/usr/lib/font/dev*/* Contains the font width tables.
/var/tmp/trtmp* Denotes a temporary file.
Related Information
The col command, eqn command, grap command, hplj command, ibm3812 command, ibm3816
command, mm command, mmt command, mvt command, neqn command, nroff command, pic
command, ptx command, refer command, tbl command, tc command, xpreview command.
The nroff and troff Input file format, troff file format, troff font file format.
Message Facility in in AIX 5L Version 5.3 National Language Support Guide and Reference.
National Language Support Overview in AIX 5L Version 5.3 National Language Support Guide and
Reference.
Purpose
Performs protocol tracing on TCP sockets.
Syntax
trpt [ -a ] [ -f ] [ -j ] [ -pAddress ]... [ -s ] [ -t ]
Description
The trpt command queries the buffer for Transmission Control Protocol (TCP) trace records. This buffer is
created when a socket is marked for debugging with the setsockopt subroutine. The trpt command then
prints a description of these trace records.
Note: You can use the traceson command to turn on socket level debugging for daemons.
When you specify no options, the trpt command prints all the trace records found in the system and
groups them according to their TCP/IP connection protocol control block (PCB).
The -f flag can be used to follow the trace log once it is located. The -j flag can be used to check the
presence of trace records for the socket in question.
If the system image does not contain the proper symbols to find the trace buffer, the trpt command cannot
succeed.
Output Fields
The information put out by the trpt command varies with the flag you use. Definitions of the fields
contained in the various types of output follow:
Protocol Control Block Identifies the protocol block to be traced, as shown in the following example:
identifier 4c500c:
Timestamp Specifies the time at which the connection is attempted, as shown in the following
example:
500
Flags
-a Prints the values of the source and destination addresses for each packet recorded, in addition to
the normal output.
-f Follows the trace as it occurs, waiting briefly for additional records each time the end of the log is
reached.
-j Lists just the protocol control block addresses for which trace records exist.
-pAddress Shows only trace records associated with the protocol control block specified in hexadecimal by the
Address variable. You must repeat the -p flag with each Address variable specified.
-s Prints a detailed description of the packet-sequencing information, in addition to the normal output.
-t Prints the values for all timers at each point in the trace, in addition to the normal output.
Examples
1. To print trace information as well as the source and destination addresses for each packet recorded,
enter:
$ trpt -a
Related Information
The netstat command, tracesoff command, traceson command.
Transmission Control Protocol/Internet Protocol, TCP/IP Protocols, TCP/IP routing in Networks and
communication management.
Purpose
Returns an exit value of zero (true) or a nonzero exit value (false).
Syntax
true
false
Examples
To construct a loop that displays the date and time once each minute, use the following code in a shell
script:
while true
do
date
sleep 60
done
Related Information
Creating and running a shell script in Operating system and device management provides information on
creating and executing shell procedures.
truss Command
Purpose
Traces a process’s system calls, dynamically loaded user level function calls, received signals, and
incurred machine faults.
Syntax
truss [ -f] [ -c] [ -a] [ -l ] [ -d ] [ -D ] [ -e] [ -i] [ { -t | -x} [!] Syscall [...] ] [ -s [!] Signal [...] ] [ { -m }[!] Fault
[...]] [ { -r | -w} [!] FileDescriptor [...] ] [ { -u } [!]LibraryName [...]:: [!]FunctionName [ ... ] ] [ -o Outfile]
{Command| -p pid [. . .]}
Description
The truss command executes a specified command, or attaches to listed process IDs, and produces a
trace of the system calls, received signals, and machine faults a process incurs. Each line of the trace
output reports either the Fault or Signal name, or the Syscall name with parameters and return values.
The subroutines defined in system libraries are not necessarily the exact system calls made to the kernel.
The truss command does not report these subroutines, but rather, the underlying system calls they
make. When possible, system call parameters are displayed symbolically using definitions from relevant
system header files. For path name pointer parameters, truss displays the string being pointed to. By
default, undefined system calls are displayed with their name, all eight possible argments and the return
value in hexadecimal format.
When the -o flag is used with truss, or if standard error is redirected to a non-terminal file, truss ignores
the hangup, interrupt, and signals processes. This facilitates the tracing of interactive programs which
catch interrupt and quit signals from the terminal.
If the trace output remains directed to the terminal, or if existing processes are traced (using the -p flag),
then truss responds to hangup, interrupt, and quit signals by releasing all traced processes and exiting.
This enables the user to terminate excessive trace output and to release previously existing processes.
Released processes continue to function normally.
For those options which take a list argument, the name all can be used as a shorthand to specify all
possible members of the list. If the list begins with a !, the meaning of the option is negated (for example,
Every machine fault, with the exception of a page fault, results in posting a signal to the process which
incurred the fault. A report of a received signal immediately follows each report of a machine fault, unless
that signal is being blocked by the process.
To avoid collisions with other controlling processes, truss does not trace a process which it detects is
being controlled by another process with the /proc interface.
The trace output for multiple processes is not produced in strict time order. For example, a read on a pipe
may be reported before the corresponding write. However, for each process the output is strictly
time-ordered. The trace output contains tab characters and standard tab stops are set at every eight
positions.
The system may run out of per-user process slots when tracing children. This is because when tracing
more than one process, truss runs as one controlling process for each process being traced, doubling the
number of process slots being used for any given process. The usual system-imposed limit of 25
processes per user should be taken into account prior to running a trace on multiple processes
The operating system enforces certain security restrictions on the tracing of processes. You must have
access privileges to the commands you are tracing. The set-uid and set-gid processes can only be traced
by a privileged user. The truss command loses control of any process which performs an execution of a
set-id or unreadable object file, unless it is run by a privileged user. These untraced processes continue
normally and independently of truss from the point of the execution.
The lightweight processes (LWP) mentioned in truss output are really kernel threads. The option -l displays
the LWP id (i.e. the thread id) on each line of the trace output.
User library functions in AIX libraries have both static and dynamic loaded function calls. The tracing with
option -u is done for dynamically loaded function calls only.
User level function call tracing for dynamically loaded function calls is provided with -u option. This option
will produce an entry/exit trace of the function calls.
Flags
-a Displays the parameter strings which are passed in each
exec system call.
-c Counts traced system calls, faults, and signals rather than
displaying trace results line by line. A summary report is
produced after the traced command terminates or when
truss is interrupted. If the -f flag is also used, the counts
include all traced Syscalls, Faults, and Signals for child
processes.
-d A timestamp will be included with each line of output. Time
displayed is in seconds relative to the beginning of the
trace. The first line of the trace output will show the base
time from which the individual time stamps are measured.
By default timestamps are not displayed.
-D Delta time is displayed on each line of output. The delta
time represents the elapsed time for the LWP that incurred
the event since the last reported event incurred by that
thread. By default delta times are not displayed.
-e Displays the environment strings which are passed in
each exec system call.
Examples
1. To produce a trace of the find command on the terminal, type:
truss find . -print >find.out
2. To trace the lseek, close, statx, and open system calls, type:
truss -t lseek,close,statx,open find . -print > find.out
3. To display thread id along with regular output for find command, enter:
truss -l find . -print >find.out
4. To display timestamps along with regular output for find command, enter:
truss -d find . -print >find.out
5. To display delta times along with regular output for find command, enter:
truss -D find . -print >find.out
6. To trace the malloc() function call and exclude the strlen() function call in the libc.a library while
running the ls command, enter:
truss -u libc.a::malloc,!strlen ls
7. To trace all function calls in the libc.a library with names starting with ″m″, and exclude the strlen()
function call in the libc.a library while running the ls command, enter:
truss -u libc.a::m*,!strlen ls
8. To trace all function calls in the libc.a library with names starting with ″m″ while running the ls
command, enter:
truss -u libc.a::m* ls
9. To trace all function calls from the library libcurses.a and exclude calls from libc.a while running
executable foo, enter:
truss -u libcurses.a,!libc.a::* foo
10. To trace the refresh() function call from libcurses.a and the malloc() function call from libc.a while
running the executable foo, enter:
truss -u libc.a::malloc -u libcurses.a::refresh foo
Files
/proc filesystem
tset Command
Purpose
Initializes terminals.
Syntax
tset [ -e C ] [ -k C ] [ -i C ] [ - ] [ -s ] [ -I ] [ -Q ] [ -m [ Identifier ] [ TestBaudRate ] :Type ] ... [ Type
]
Description
The tset command enables you to set the characteristics of your terminal. It performs terminal-dependent
processing, such as setting erase and kill characters, setting or resetting delays, and sending any
sequences needed to properly initialize the terminal.
The tset command first determines the type of terminal involved (specified by the Type parameter). It then
performs necessary initializations and mode settings. The type of terminal attached to each port is
specified in the Object Data Manager (ODM) database. The terminfo database contains possible type
names for terminals. If a port is not wired permanently to a specific terminal (that is, it is not hardwired),
the tset command gives it an appropriate generic identifier, such as dialup.
When no flags are specified, the tset command reads the terminal type out of the TERM environment
variable and re-initializes the terminal.
When the tset command is used in a startup script (the .profile file for sh users or the .login file for csh
users), the script should include information about the type of terminal you will usually use on ports that
are not hardwired. These ports are identified in the ODM database as dialup, plugboard, or ARPANET,
among others. To specify which terminal type you usually use on these ports, use the -m flag (followed by
the appropriate port type identifier), an optional baud rate specification, and the terminal type. If more than
one mapping is specified, the first applicable mapping prevails. A missing port type identifier matches all
identifiers. Any of the alternate generic names given in the terminfo database can be used as the
identifier.
You can specify the baud rate in the tset command as you would with the stty command. The baud rate is
compared with the speed of the diagnostic output (which should be the control terminal). The baud rate
test can be any combination of the following characters:
v . (period)
v @ (at sign)
v < (less than sign)
v ! (exclamation point)
The @ (at sign) stands for the preposition at, and the ! (exclamation point) inverts the sense of the test. To
avoid problems with metacharacters, place the -m flag argument inside ’’ (single quotes). Users of the csh
command must also put a \ (backslash) before any ! (exclamation point).
The following example sets the terminal type to adm3a if the port in use is a dialup at a speed greater than
300 baud. It sets the terminal type to dw2 if the port is a dialup port at a speed of 300 baud or less:
tset -m ’dialup>300:adm3a’ -m dialup:dw2 -m ’plugboard:?adm3a’
If no mapping applies and a final type option (not preceded by an -m flag) is given on the command line,
that type is used. Otherwise, the default terminal type is the one identified in the ODM database.
Hardwired ports should always be identified in the ODM database.
When the terminal type is known, the tset command engages in terminal driver mode setting. This usually
involves setting:
v An initialization sequence to the terminal
v The single character erase and optionally the line-kill (full-line erase) characters
v Special character delays
Tab and new-line expansion are turned off during transmission of the terminal initialization sequence.
On terminals that can backspace but not overstrike (such as a CRT), and when the erase character is the
default erase character (# on standard systems), the erase character is changed to Backspace (Ctrl-H).
Flags
-e C Sets the erase character to the character specified by the C
parameter.The default is the backspace character.
-I Suppresses transmission of terminal initialization strings.
-i C Sets the interrupt character to the character specified by the C
parameter. The C parameter defaults to ^C (caret C). The ^ (caret)
character can also be used for this option.
-k C Sets the line-kill character to the character specified by the C
parameter. The C parameter defaults to ^X (caret X). The ^ (caret)
character can also be used for this option.
-m IdentifierTestbaudRate:Type Specifies which terminal type (in the Type parameter) is usually used
on the port identified in the Identifier parameter. A missing identifier
matches all identifiers. You can optionally specify the baud rate in the
TestBaudRate parameter.
-Q Suppresses printing of the Erase set to and Kill set to messages.
-s Prints the sequence of csh commands that initialize the TERM
environment variable, based on the name of the terminal decided
upon.
- The name of the terminal decided upon is output to standard output.
This is the TERM environment variable.
Examples
The following examples all assume the Bourne shell and usage of the - flag. If you use the csh command,
use the preceding variations. A typical use of the tset command in a .profile or .login file includes the -e
and -k flags, and often the -n or -Q flags as well. To streamline the examples, these flags have not been
included here.
Note: Make sure to enter the tset command all on one line regardless of the number of lines used in the
example.
1. Now you are a 2621 terminal. Do not use the following example in your .profile file, unless you are
always a 2621 terminal.
export TERM; TERM=\’tset \- 2621\’
2. You have an h19 terminal at home that you dial up on, but your office terminal is hardwired and
specified in the ODM database.
If none of the conditions hold, the terminal type specified in the ODM database is used.
4. The following entry is appropriate if you always dial up at the same baud rate on many different
terminals. Your most common terminal is an adm3a. You are always prompted to verify the terminal
type, which defaults to adm3a.
export TERM; TERM=\’tset \- \?adm3a\’
5. If the ODM database is not properly installed and you want to key entirely on the baud rate, type:
export TERM; TERM=\’tset \- \-m ’switch>1200:?vt100’ \-m
’switch<=1200:2621’
6. You dial up at 1200 baud or less on a Concept100, sometimes over switch ports and sometimes over
regular dialups. You use various terminals at speeds higher than 1200 over switch ports, most often
the terminal in your office, which is a vt100. However, sometimes you log in from the university over
the ARPANET; in this case, you are on an ALTO emulating a dm2500. You also often log in on various
hardwired ports, such as the console, all of which are properly entered in the ODM database. To set
your erase character to Ctrl-H and your kill character to Ctrl-U, type:
export TERM
TERM=\’tset \-e \-k(hat)U \-Q \- "-m ’switch<1200:concept100’
"-m ’switch:?vt100’ \-m dialup:concept100 "1-m arpanet: dm2500"’
This also prevents the tset command from printing the following line:
Erase set to Backspace, Kill set to Ctrl-U
7. To set the erase character to a control character, type:
tset -e ^Y
Files
/usr/share/lib/terminfo Contains the terminal capability database.
Related Information
The csh command, reset command, sh command, stty command.
TERM Values for Different Displays and Terminals section of TTY terminal device in Operating system and
device management.
tsh Command
Purpose
Invokes the trusted shell.
tsh Command
Description
The tsh command is a command interpreter that provides greater security than the Korn shell (the
standard login shell). Generally, a user calls the tsh shell by pressing Ctrl+X, Ctrl+R, the secure attention
key (SAK) sequence, after a login. The tsh shell also can be invoked by defining it as the login shell in the
/etc/passwd file.
To use the SAK sequence to invoke the trusted shell, the terminal the user is using must have SAK
enabled, and the user must be allowed to use the trusted path. See the Trusted Computing Base in
Operating system and device management for information on enabling SAK on a terminal, and see the
/etc/security/user file and the chuser command for information on allowing a user to access the trusted
path.
To exit from the tsh shell, use any of the following commands: the logout command, shell command, su
command. The logout command ends the login session, while the other commands execute the user’s
initial program and continue the login session.
The trusted shell differs from the Korn shell in the following ways:
v The function and alias definitions are not supported. Alias definitions are only supported in the
/etc/tsh_profile file.
v The IFS and PATH environment variables cannot be redefined.
v Only trusted programs can be run from the tsh shell.
v The history mechanism is not supported.
v The only profile used is the /etc/tsh_profile file.
v The trusted shell has the following built-in commands:
Security
Access Control: This command should be a standard user program and have the trusted computing
base attribute.
Files Accessed:
Mode File
r /etc/tsh_profile
Examples
To invoke the trusted shell, press the Ctrl+X, Ctrl+R key sequence, the secure attention key (SAK).
Files
/usr/bin/tsh Contains the tsh command.
/etc/tsh_profile Contains initialization commands for the trusted shell.
Related Information
The chuser command, init command, ksh command, logout command, shell command, su command,
tsm command.
See National Language Support Overview in AIX 5L Version 5.3 National Language Support Guide and
Reference for more information about Single-Source Dual Object (SSDO) commands used during
installation.
For more information about the identification and authentication of users, discretionary access control, the
trusted computing base, and auditing, refer to the Securing the network in Security.
See Trusted Computing Base in Security for more information about the trusted path and enabling SAK on
a terminal.
tsm Command
Purpose
Provides terminal state management.
Syntax
tsm Port
Description
The tsm command invokes the terminal state manager, which controls the ports used in the trusted path.
The functions are:
v Establishing line communication modes and discipline - functions performed by the getty command.
v Verifying the user’s account and identity, and setting the initial process credentials and environment -
functions performed by the login command.
v Performing trusted path management if the secure attention key (SAK) is enabled for the port and the
system login program is used.
login This phase is in effect if a user has not successfully logged in. If the secure attention key (SAK) signal is
detected, the system restarts getty-login type processing. The next login puts the user into the trusted
state, if the port and the user support the trusted state.
You can configure the tsm command to create your home directory at your login if you do not have a
home directory already. The tsm command calls the mkuser.sys command to create the home directory
and customize the account. To enable this capability, set the mkhomeatlogin attribute of the usw stanza
in the /etc/security/login.cfg file to true.
Security
Access Control: This command should grant execute (x) permission to any user. The command should be
setuid to the root user and have the trusted computing base attribute.
Files Accessed:
Mode File
r /etc/objrepos/CuAt
r /usr/lib/objrepos/PdAt
r /etc/security/login.cfg
r /etc/security/user
Examples
To provide terminal state management on tty0, add the following line to the /etc/inittab file:
tty0:2:respawn:/usr/sbin/tsm /dev/tty0
This initializes the port /dev/tty0 and sets up the characteristics of the port.
Files
/usr/sbin/tsm Contains the tsm command.
/etc/security/login.cfg Contains configuration information.
/etc/security/user Contains extended user attributes.
Related Information
The getty command, init command, login command, logout command, setgroups command, shell
command, su command, tsh command.
For more information about the identification and authentication of users, discretionary access control, the
trusted computing base, and auditing, refer to the Securing the network in Security.
Purpose
Sorts an unordered list of ordered pairs (a topological sort).
Syntax
tsort [ — ] [ File ]
Description
The tsort command reads from File or standard input an unordered list of ordered pairs, builds a
completely ordered list, and writes it to standard output.
The input File should contain pairs of non-empty strings separated by blanks. Pairs of different items
indicate a relative order. Pairs of identical items indicate presence, but no relative order. You can use the
tsort command to sort the output of the lorder command.
Flag
— (Double hyphen) Interprets all arguments following the — flag as file names. If the file is named —, use
tsort — —.
Exit Status
This command returns the following exit values:
0 Successful completion.
>0 An error occurred.
Files
/usr/ccs/bin/tsort Contains the tsort command.
/usr/ccs/bin/tsort Contains symbolic link to the tsort command.
Related Information
The ar command, ld command, lorder command, xargs command.
ttt Command
Purpose
Starts the tic-tac-toe game.
Syntax
ttt [ -e ] [ i ]
You are always X and your opponent is always O. You can either make the first move or pass to your
opponent. To pass, press the enter key when prompted Your move? at the beginning of the game. The first
to get three in a row wins the game. For example:
new game
123
456
789
Your move?
1
XO3
456
789
Your move?
9
XOO
456
78X
Your move?
5
You win
In the example, your first move was to place an X where 1 was located. The computer placed an O where
the 2 was located. The game progressed until you had three in a diagonal row (1,5, 9). The game repeats
until you quit. To quit the game, press the Interrupt (Ctrl-C) or End Of File (Ctrl-D) key sequence.
Flags
-e Increases the speed of the learning.
-i Displays the instructions prior to the start of the game.
Files
$HOME/ttt.a Specifies the location of the learning file.
/usr/games Specifies the location of the system’s games.
Related Information
The arithmetic command, back command, bj command, craps command, fish command, fortune
command, hangman command, moo command, number command, quiz command, turnoff command,
turnon command, wump command.
tty Command
Purpose
Writes to standard output the full path name of your terminal.
Syntax
/usr/bin/tty [ -s ]
If your standard input is not a terminal and you do not specify the -s flag, you get the
message Standard input is not a tty.
The following environment variables affect the execution of the tty command:
LANG Determines the locale to use for the locale categories when neither the LC_ALL variable nor
the corresponding environment variable beginning with LC_ specifies a locale.
LC_ALL Determines the locale to be used. This variable overrides any values for locale categories that
are specified by any other environment variable beginning with LC_ or by the LANG variable.
LC_CTYPE Determines the locale for the interpretation of sequences of bytes of text data as characters.
For example, this variable may specify multi-byte characters instead of single-byte characters.
LC_MESSAGES Determines the language for messages.
Flags
-s Suppresses reporting the path name.
Exit Status
This command returns the following exit values:
Examples
1. To display the full path name of your display:
tty
2. To test whether or not the standard input is a terminal:
if tty -s
then
echo ’Enter the text to print:’ >/dev/tty
qprt -
fi
If the standard input is a terminal, this displays the message ″Enter the text to print:″ as a prompt and
prints the text that the user types. If the standard input is not a terminal, this displays nothing; it merely
prints the text read from the standard input.
The echo . . . >/dev/tty displays the prompt on the screen even if you redirect the standard output of
the shell procedure. This way the prompt is never written into an output file. The special file /dev/tty
always refers to your terminal, although it also has another name such as /dev/console or /dev/tty2.
Files
/usr/bin/tty Contains the tty command.
/dev/tty Specifies the tty pseudo device.
tunchange Command
Purpose
Updates one or more tunable stanzas in a file.
Syntax
tunchange -f Filename ( -t Stanza ( {-o Parameter[=Value]} | -D ) | -m Filename2 )
Description
The tunchange command unconditionally updates a tunable file. It can also merge a second file with the
current file.
Note: No message will be displayed (even when a parameter of type bosboot is changed).
Flags
-f Filename Name of the updated tunable file. If the name does not include the ’/’ (forward slash)
character, it is considered to be relative to /etc/tunables.
-t Stanza Name of the stanza to update. Stanza is either schedo, vmo, ioo, no, nfso, or raso.
Stanza corresponds to the name of the command which can update the parameter or
parameters specified by the -o flag.
-o Parameter=Value Parameter to be set to Value. It must be valid in the Stanza specified by the -t flag
and consistent with the other parameters of the file specified by the -f flag.
-D Resets all parameters of the Stanza to their default value.
-m Filename2 Merges the Filename2 file with the current Filename file.
Exit Status
0 Changes were correctly applied.
>0 One of the following conditions caused an error:
v The specified Filename, Filename2, or Stanza was invalid.
v Parameter=Value was invalid for the Parameter.
v No message was provided.
Examples
1. To update the pacefork parameter in the /etc/tunables/nextboot file, type:
tunchange -f nextboot -t schedo -o pacefork=10
2. To update the pacefork parameter in the /home/mine/mytunable file, type:
tunchange -f /home/mine/mytunable -t schedo -o pacefork=10
3. To reset all schedo stanza parameters to their default value in the /etc/tunables/nextboot file, type:
tunchange -f nextboot -t schedo -D
4. To merge the /home/mine/mytunable file with the /etc/tunables/nextboot file, type:
tunchange -f nextboot -m /home/mine/mytunable
Related Information
The raso, schedo, vmo, ioo, no, nfso, tuncheck, tundefault, tunrestore, and tunsave commands.
Kernel Tuning in AIX 5L Version 5.3 Performance Tools Guide and Reference.
tuncheck Command
Purpose
Validates a tunable file.
Syntax
tuncheck [ -r | -p ] -f Filename
Description
The tuncheck command validates a tunable file. All tunables listed in the specified file are checked for
range and dependencies. If a problem is detected, a warning is issued.
Additionally, warnings are issued if Filename contains unknown stanzas, or unknown tunables in a known
stanza. However, that does not make the checking fail.
Upon success, the AIX_level, Kernel_type and Last_validation fields in the info stanza of the checked
file are updated.
Flags
-f Filename Specifies the name of the tunable file to be checked. If it
does not contain the ’/’ (forward slash) character, the
name is relative to /etc/tunables.
-p Checks Filename in both current and boot contexts. This
is equivalent to running tuncheck twice, one time without
any flag and one time with the -r flag.
-r Checks Filename in a boot context.
Exit Status
0 Filename is valid.
>0 Filename is invalid, message have been provided.
Examples
1. To check whether mytunable can be applied immediately, type:
tuncheck -f ./mytunable
2. To check whether /etc/tunables/nextboot can be applied during a reboot, type:
tuncheck -r -f nextboot
3. To check whether /etc/tunables/nextboot can be applied immediately and after a reboot, type:
tuncheck -p -f nextboot
Files
/usr/sbin/tuncheck Contains the tuncheck command.
/etc/tunables Contains all the tunable files.
Related Information
The raso, schedo, vmo, ioo, no, nfso, tunchange, tundefault, tunrestore, and tunsave commands.
Kernel Tuning in AIX 5L Version 5.3 Performance Tools Guide and Reference.
tundefault Command
Purpose
Reset all tunable parameters to their default value.
Syntax
tundefault [ -r | -p ]
Description
The tundefault command launches all the tuning commands (ioo, vmo, schedo, no, nfso, and raso) with
the -D flag. This resets all the AIX tunable parameters to their default value, except for parameters of type
Flags
-p Makes the changes permanent: resets all the tunable parameters to their default values and updates
the /etc/tunables/nextboot file.
-r Defers the reset to their default value to next reboot. This clears stanza(s) in the
/etc/tunables/nextboot file, and if necessary, proposes bosboot and warns that a reboot is needed
Examples
1. To permanently reset all tunable parameters to their default values, enter:
tundefault -p
All of the tuning commands are launched with the -Dp flags. This resets all the tunable parameters to
their default value. This also updates the /etc/tunables/nextboot file. This command completely and
permanently resets all tunable parameters to their default values.
2. To defer the setting of all tunable parameters until next reboot, enter:
tundefault -r
Calls all tuning commands with -Dr. This clears all of the stanzas in the /etc/tunables/nextboot file,
and if necessary, proposes bosboot and displays a message warning that a reboot is necessary to
make the changes effective.
Files
/usr/sbin/tundefault Contains the tundefault command.
/etc/tunables/ Contains all the tunable files.
Related Information
The raso, schedo, vmo, ioo, no, and nfso commands.
The “tunchange Command” on page 547, “tuncheck Command” on page 548, “tunrestore Command” on
page 551, and “tunsave Command” on page 552.
Kernel Tuning in AIX 5L Version 5.3 Performance Tools Guide and Reference.
Purpose
Restores tunable parameter values from a file.
Syntax
tunrestore [ -r ] -f Filename
tunrestore -R
Description
The tunrestore command restores all tunable parameters values stored in a file.
tunrestore -f Filename immediately applies Filename. All tunables listed in Filename are set to the value
defined in this file. Tunables not listed in Filename are kept unchanged. Tunables explicitly set to DEFAULT
are set to their default value.
tunrestore -r -f Filename applies Filename for the next boot. This is achieved by checking the specified
file for inconsistencies (the equivalent of running tuncheck on it) and copying it over to
/etc/tunables/nextboot. If bosboot is necessary, the user will be offered to run it.
tunrestore -R is only used during reboot. All tunables that are not already set to the value defined in the
nextboot file are modified. Tunables not listed in the nextboot file are forced to their default value. All
actions, warnings and errors are logged into /etc/tunables/lastboot.log.
Additionally, a new tunable file called /etc/tunables/lastboot is automatically generated. That file has all
the tunables listed with numerical values. The values representing default values are marked with the
comment DEFAULT VALUE. Its info stanza includes the checksum of the /etc/tunables/lastboot.log file to
make sure pairs of lastboot/lastboot.log files can be identified.
Flags
-f Filename Specifies the name of the tunable file to apply. If it does not contain the ’/’ (forward
slash) character, the name is relative to /etc/tunables.
-r Makes the specified file become the new nextboot file.
-R Restores /etc/tunables/nextboot during boot process.
Files
/usr/sbin/tunrestore Contains the tunrestore command.
/etc/tunables Contains tunable files.
/etc/tunables/nextboot Contains the values to be applied during the next boot.
/etc/tunables/lastboot Contains the values of all tunables after the last boot.
/etc/tunables/lastboot.log Contains messages, warnings and errors emitted by
tunrestore during the last boot.
Related Information
The raso, schedo, vmo, ioo, no, and nfso commands.
The “tunchange Command” on page 547, “tuncheck Command” on page 548, “tundefault Command” on
page 549, and “tunsave Command.”
Kernel Tuning in AIX 5L Version 5.3 Performance Tools Guide and Reference.
tunsave Command
Purpose
Saves current tunable parameter values to a file.
Syntax
tunsave [ -a | -A ] -f | -F Filename [ -d Description ]
Description
The tunsave command saves the current state of tunable parameters in a file.
If Filename does not already exist, a new file is created. If it already exists, an error message prints unless
the -F flag is specified, in which case, the existing file is overwritten.
Flags
-a Saves all tunable parameters, including those who are currently set to their default
value. These parameters are saved with the special value DEFAULT.
-A Saves all tunable parameters, including those who are currently set to their default
value. These parameters are saved numerically, and a comment, # DEFAULT
VALUE, is appended to the line to flag them.
-d Description Specifies the text to use for the Description field. Special characters must be
escaped or quoted inside the Description field.
-f Filename Specifies the name of the tunable file where the tunable parameters are saved. If
Filename already exists, an error message prints. If it does not contain the ’/’
(forward slash) character, the Filename is relative to /etc/tunables.
Examples
1. To save all tunables different from their default value into /etc/tunables/mytunable, type:
tunsave -f mytunable
2. To save all tunables, including those who are currently set to their default value, but replace the default
values with the special value DEFAULT, type:
tunsave -a -f /home/admin/mytunable
3. To save all tunables, including those who are currently set to their default value using all numerical
values, but flag the default values with the comment DEFAULT VALUE, type:
tunsave -A -f mytunable
Files
/usr/bin/tunsave Contains the tunsave command.
/etc/tunables Contains all the saved files.
Related Information
The raso, schedo, vmo, ioo, no, and nfso commands.
The “tunchange Command” on page 547, “tuncheck Command” on page 548, “tundefault Command” on
page 549, and “tunrestore Command” on page 551.
Kernel Tuning in AIX 5L Version 5.3 Performance Tools Guide and Reference.
turnacct Command
Purpose
Provides an interface to the accton command to turn process accounting on or off.
Syntax
/usr/sbin/acct/turnacct on | off | switch
Description
The turnacct command provides an interface to the accton command to turn process accounting on or
off. You must specify whether you want process accounting on or off, because there is no default.
The switch flag turns off accounting and moves the current active data file (/var/adm/pacct) to the next
free name in the /var/adm/pacctincr file, where incr is a number starting at 1 and increased by one for
each additional pacct file. After moving the pacct file, the turnacct command again turns on accounting.
The turnacct switch command is usually called by the ckpacct command, running under the cron
daemon, to keep the active pacct data file a manageable size.
Files
/usr/sbin/acct Contains the path to the accounting commands.
/var/adm/pacct Contains the current file for process accounting.
/var/adm/pacct* Used if the pacct file gets too large.
Related Information
The accton command, ckpacct command.
Setting up an accounting subsystem in Operating system and device management explains the steps you
must take to establish an accounting system.
For more information about the Accounting System, the preparation of daily and monthly reports, and the
accounting files, see the System accounting in Operating system and device management.
turnoff Command
Purpose
Sets the permission codes off for files in the /usr/games directory.
Syntax
turnoff
Description
The turnoff command sets the permission codes of files in the /usr/games directory. Root user authority
is required to run this command.
The turnoff command looks for files in /usr/games whose permissions are set to 111 and sets these
permissions to 000. If you install any new games in the /usr/games directory, set these permissions to
111.
Files
/usr/games Contains the location of the system’s games.
Related Information
The arithmetic command, back command, bj command, craps command, fish command, fortune
command, hangman command, moo command, number command, quiz command, ttt command,
turnon command, wump command.
turnon Command
Purpose
Sets permission codes on for files in the games directory.
Description
The turnon command sets the permission codes of files in the /usr/games directory. Root user authority
is required to run this command.
The turnon command looks for files with permissions set to 000 and sets them to 111 (execute permission
for all users). If you install any new games in the /usr/games directory, set these permissions to 111.
File
/usr/games Contains the location of the system’s games.
Related Information
The arithmetic command, back command, bj command, craps command, fish command, fortune
command, hangman command, moo command, number command, quiz command, ttt command,
turnoff command, wump command.
tvi Command
Purpose
Provides a trusted editor with a full screen display.
Syntax
tvi [ - l ] [ -R ] [ -w Number ] [ -c [ Subcommand ] ] [ File ... ]
Description
The tvi command calls the tvi editor, a trusted version of the vi editor, to edit the file or files specified by
the File parameter. Files are edited in the order specified. If you do not provide a file name, the command
opens a new file in which you can create text, but if you try to save the text to a file, you are prompted to
add a file name to the save command, such as :w File. See the Examples section for more information.
You enter and leave the tvi editor in command mode, but to add or change text, you must enter text input
mode. See the description of text input mode for information about the subcommands that initiate text
input mode. To leave text input mode, press the Esc key. This returns you to command mode where you
can save the text to a file with one of the :w commands, and exit the tvi editor, for example, with the :q
command.
Because the full-screen display editor started by the tvi command is based on the ex editor, you can use
the ex subcommands within the tvi editor. Subcommands function at the cursor position on the display
screen.
The tvi editor makes a copy of the file you are editing in an edit buffer. The contents of the file are not
changed until you save the changes.
Note: Several functions of the vi editor are not supported by the tvi editor. If you refer to information on
the vi editor, be aware that the -r flag, the -t flag, shell escapes, user-defined macros, key mapping,
and setting vi options permanently are not supported by the tvi editor.
Editing Modes
The tvi editor operates in the following modes:
command mode The tvi editor starts in command mode. Any subcommand can be called except those
that only correct text during text input mode. To see a description of the subcommands,
refer to the topics in Subcommands for the tvi Editor. To identify the subcommands that
cannot be called from command mode, refer to Changing Text While in Input Mode.
The tvi editor returns to command mode when subcommands and other modes end.
Press the Esc key to cancel a partial subcommand.
text input mode The tvi editor enters text input mode when you use a permitted command that adds or
changes text. To see a list of subcommands that initiate text input mode, refer to Adding
Text to a File and the subcommands that change text from command mode, the C
subcommand and the cx subcommands. After entering one of these subcommands,
you can edit text with any of the subcommands that function in text input mode. To see
a description of the subcommands, refer to the topics in “Subcommands for the tvi
Editor”. To return to command mode from text input mode, press the Esc key for a
typical exit or press the Ctrl+C keys to create an INTERRUPT signal.
last line mode Some subcommands read input on a line displayed at the bottom of the screen. These
subcommands include those with the prefix : (colon), / (slash), and ? (question mark).
When you enter the initial character, the tvi editor places the cursor at the bottom of the
screen so you can enter the remaining command characters. To run the subcommand,
press the Enter key. To cancel the subcommand, press the Ctrl+C keys to create an
INTERRUPT signal. When you use the : (colon) to enter last line mode, the following
characters have special meaning when used before commands that specify counts:
% All lines regardless of cursor position
$ Last line
. Current line
Security
Access Control: This command should grant execute (x) access to all users and have the trusted
computing base attribute.
Auditing Events:
Event Information
TVI filename
Examples
1. To call a trusted editor to edit the plans file, type:
tvi plans
This command puts the tvi editor into command mode. To add or change text, you must enter text
input mode or use a command accepted in command mode. For more information, refer to the
description of text input mode.
2. To save the text you create with the tvi editor, leave text input mode by pressing the Esc key, and then
enter one of the save commands :w, :w File, or :w! File, for example:
:w plans
In this example, a file name, such as plans, is needed if you gave the tvi command without specifying
a file name. If the file is already named, the :w command would not need the File parameter. If you
want to overwrite an existing file, use the :w! File command, specifying the file you want to overwrite
with the File parameter.
If you try to save an unnamed file without supplying a file name, the following message appears:
No current filename
If the editor already is in command mode, you do not need to press the Esc key before giving the quit
(q!) command.
Files
/usr/bin/tvi Contains the tvi command.
For more information about the identification and authentication of users, discretionary access control, the
trusted computing base, and auditing, refer to the Securing the network in Security.
twconvdict Command
Purpose
Converts other user dictionary to the operating system user dictionary. This command only applies to AIX
4.2 or higher.
Syntax
twconvdict [ -i Type ] [ -v CodePage ] [ -f Source ] [ -t Target ]
Description
The twconvdict command converts a dictionary to an operating system user dictionary. The supported
code pages are SOPS, PS55 and ET. The dictionary type include both Tseng_Jye and Phonetic user
dictionaries.
Flags
-f Source Specifies the name of font file to convert.
-i Type Specifies the type of dictionary to convert to. Type can be:
TJ Tseng_Jye, or
PH Phonetic.
-t Target Specifies the name of the converted font file.
-v CodePage Specifies the type of code page to convert to. CodePage can be:
SOPS
PS55, or
ET.
Exit Status
This command returns the following exit values:
0 Successful completion.
>0 An error occurred.
Security
Access Control: You must have root authority to run this command.
Examples
To convert the dictionary USRFONT.C12 to an operating system dictionary of code page of type SOPS and
dictionary type of Tseng_Jye with the name aix, enter:
558 Commands Reference, Volume 5
twconvdict -i TJ -v SOPS -f USRFONT.C12 -t aix
Files
/usr/lpp/tls/bin/twconvdict Contains the twconvdict command.
twconvfont Command
Purpose
Converts other font files to a BDF font file.
Syntax
twconvfont [ -v CodePage ] [ -f Source ] [ -t Target ]
Description
The twconvfont command converts one font file type to the BDF font file. The supported code pages are
SOPS, PS55 and ET.
Flags
-f Source Specifies the name of font file to convert.
-t Target Specifies the name of the converted font file.
-v CodePage Specifies the type of code page to convert to. CodePage can be:
SOPS
PS55, or
ET.
Exit Status
This command returns the following exit values:
0 Successful completion.
>0 An error occurred.
Security
Access Control: You must have root authority to run this command.
Examples
To convert the font file USRFONT.C12 to a BDF font file of code page of type SOPS with the name user.bdf,
enter:
twconvfont -v SOPS -f USRFONT.C12 -t user.bdf
Files
/usr/lpp/tls/bin/twconvfont Contains the twconvfont command.
Purpose
Writes a description of the command type.
Syntax
type CommandName ...
Description
The standard output of the type command contains information about the specified command and
identifies whether this is a shell built-in command, subroutine, alias, or keyword. The type command
indicates how the specified command would be interpreted if used. Where applicable, the type command
displays the related path name.
Because the type command must know the contents of the current shell environment, it is provided as a
Korn shell or POSIX shell regular built-in command. If the type command is called in a separate command
execution environment, the command may not produce accurate results. This would be the case in the
following examples:
nohup type writer
find . -type f | xargs type
Exit Status
The following exit values are returned:
0 Successful completion.
>0 An error occurred.
Examples
1. To learn whether the cd command is a base command or an alias or some other command type,
enter:
type cd
Files
/usr/bin/ksh Contains the Korn shell type built-in command.
Related Information
The bsh command, command command, the ksh command.
Purpose
Unloads an interface instance from the kernel.
Syntax
ucfgif [ -l InterfaceInstance ]
Description
The ucfgif method removes an interface instance from the kernel. To remove the interface instance, the
ucfgif method does the following:
1. Unloads the interface software by calling the /usr/sbin/ifconfig interface detach.
2. Sets the status flag of the interface instance to defined.
Note: The ucfgif method is a programming tool and should not be executed from the command
line.
Flags
-l InterfaceInstance Specifies the interface instance to be unconfigured. If no interface name is
specified, all configured interface instances are unconfigured.
Example
To remove an interface instance from the kernel, enter the method in the following format:
ucfgif -l tr0
Related Information
The ifconfig command.
Writing a Device Method in Kernel Extensions and Device Support Programming Concepts.
Object Data Manager (ODM) Overview for Programmers in General Programming Concepts.
ucfginet Method
Purpose
Unloads the Internet instance and all related interface instances from the kernel.
Syntax
ucfginet
Note: The ucfginet method is a programming tool and should not be executed from the command
line.
Related Information
The cfginet method, rmdev command, ucfgif method.
Writing a Device Method in Kernel Extensions and Device Support Programming Concepts.
Object Data Manager (ODM) Overview for Programmers in General Programming Concepts.
ucfgqos Method
Purpose
Unconfigures and unloads the Quality of Service (QoS) instance from the kernel.
Syntax
ucfgqos
Description
The ucfgqos method disables Quality of Service (QoS) for the TCP/IP protocol suite on a host. This
method detaches the QoS instance from the TCP/IP instance and unloads it from the kernel.
Note: The ucfgqos method is a programming tool and is not intended to be invoked from the
command line.
Example
To configure QoS on a host, use the following format:
ucfgqos
Related Information
The cfgqos method, and ucfginet method.
ucfgvsd Command
Purpose
ucfgvsd – Unconfigures a virtual shared disk.
Description
The ucfgvsd command unconfigures the specified virtual shared disks. The specified virtual shared disks
must be in the stopped state to be unconfigured. This command does not change any virtual shared disk
definitions. It moves virtual shared disks from the stopped state to the defined state.
You can use the System Management Interface Tool (SMIT) to run this command. To use SMIT, enter:
smit vsd_mgmt
Under normal circumstances, you should not issue this command. The Recoverable virtual shared disk
subsystem uses this command to manage shared disks in a controlled manner. If you issue this command,
the results may be unpredictable.
Flags
−a Specifies that all virtual shared disks in the stopped state are to be unconfigured.
Parameters
vsd_name Specifies a virtual shared disk. The disk specified must be in the stopped state. If all disks
have been unconfigured, and you specify VSD0, this command will attempt to unload the
device driver from the kernel.
Security
You must have root authority to run this command.
Exit Status
0 Indicates the successful completion of the command.
nonzero Indicates that an error occurred.
Restrictions
Under normal circumstances, you should not issue this command. The Recoverable virtual shared disk
subsystem uses this command to manage shared disks in a controlled manner. If you issue this command,
the results may be unpredictable.
Standard Output
Current RVSD subsystem run level.
Examples
To unconfigure the virtual shared disk vsd1vg1n1 in the stopped state, enter:
ucfgvsd vsd1vg1n1
Location
/opt/rsct/vsd/bin/ucfgvsd
Related Information
Commands: cfgvsd, lsvsd, preparevsd, resumevsd, startvsd, stopvsd, suspendvsd
Purpose
Compiles or generates a UCS-2 (Unicode) conversion table for use by the iconv library.
Syntax
uconvdef [ -f SrcFile ] [ -v ] UconvTable
Description
The uconvdef command reads SrcFile and creates a compiled conversion table in UconvTable. The
SrcFile defines a mapping between UCS-2 and multibyte code sets (one or more bytes per character). The
UconvTable is in a format that can be loaded by the UCSTBL conversion method located in the
/usr/lib/nls/loc/uconv directory. This method uses the table to support UCS-2 conversions in both
directions.
Flags
-f SrcFile Specifies the conversion table source file. If this flag is not used, standard input is read.
-v Causes output of the processed file statements.
UconvTable Specifies the path name of the compiled table created by the uconvdef command. This should
be the name of the code set that defines conversions into and out of UCS-2.
Exit Status
The following exit values are returned:
0 Successful completion.
>0 An error occurred.
Examples
To access the compiled UCS-2 conversion table:
1. Create the compiled UconvTable using the name of the multibyte code set. For example, the
conversion table between IBM-850 and UCS-2 can be compiled as follows:
uconvdef -f IBM-850.ucmap IBM-850
2. Place the table in a directory called uconvTable. The default system directory is /usr/lib/nls/loc/
uconvTable. If another directory is used, the LOCPATH environment variable needs to be set to
include the parent directory (for example, /usr/lib/nls/loc).
mv IBM-850 /usr/lib/nls/loc/uconvTable
3. Create symbolic links for conversions in each direction in a directory called iconv. The names for
these links should be formed by concatenating the ″From″ code set and the ″To″ code set, separated
by an underscore. The links should be set to point to the /usr/lib/nls/loc/uconv/UCSTBL conversion
method. The default directory for these links is /usr/lib/nls/loc/iconv. If another directory is used, the
LOCPATH environment variable needs to be set to include the parent directory (for example,
/usr/lib/nls/loc).
ln -s /usr/lib/nls/loc/uconv/UCSTBL \
/usr/lib/nls/loc/iconv/IBM-850_UCS-2
ln -s /usr/lib/nls/loc/uconv/UCSTBL \
/usr/lib/nls/loc/iconv/UCS-2_IBM-850
Note: The \ (backslash) is a line continuation character that is only needed if the command is
broken into two lines.
Code Set Overview, Converters Overview, and List of UCS-2 Interchange Converters in AIX 5L Version 5.3
National Language Support Guide and Reference.
udefif Method
Purpose
Removes an interface object from the system configuration database.
Syntax
udefif [ -l InterfaceInstance ]
Description
The udefif method deletes the specified interface instance from the system configuration database by:
1. Removing the database object associated with the interface instance.
2. Removing the connection and attribute information associated with the interface instance.
Flags
-l InterfaceInstance Specifies the interface instance to be undefined. If no interface
instances are specified, the udefif method undefines all defined
interface instances.
Example
To remove an interface instance from the database, enter a method similar to the following:
udefif -l tr0
Related Information
The rmdev command, udefinet method.
Writing a Device Method in Kernel Extensions and Device Support Programming Concepts.
Object Data Manager (ODM) Overview for Programmers in General Programming Concepts.
udefinet Method
Purpose
Undefines the Internet instance in the configuration database.
Description
The udefinet method removes the database information associated with the Internet instance, including
attribute information associated with the Internet instance.
Note: The udefinet method is a programming tool and should not be executed from the command
line.
Related Information
The rmdev command.
Writing a Device Method in Kernel Extensions and Device Support Programming Concepts.
Object Data Manager (ODM) Overview for Programmers in General Programming Concepts.
udfcheck Command
Purpose
Performs a file system check on a UDF file system.
Syntax
udfcheck -d device [ -t tempfile ]
Description
The udfcheck command checks and repairs the UDF volume on a specified device.
Flags
-d device Specifies the device on which udfcheck checks and repairs the
UDF volume.
-t tempfile Specifies a file where the udfcheck command stores information
needed to perform a file system check.
Examples
1. To check the content of the UDF file system on device /dev/cd1, enter the following:
udfcheck -d /dev/cd1
Files
/usr/sbin/udfcheck Contains the udfcheck command
/usr/lib/libudf.a Contains the library routines called by the udfcheck
command
udfcreate Command
Purpose
Creates UDF file systems.
Syntax
udfcreate -d device [ -b bitmap_location ] [ -f formatType ]
Description
The udfcreate command creates a UDF file system on the specified device and labels it with the generic
set ID (setID) and volume name (volName).
Flags
-b Specifies the bitmap_location. It can be one of the
following, b, e, or m. b indicates that the location of the
bitmap will be placed at the beginning of the partition. e
indicates that the location of the bitmap will be placed at
the end of the partition. m indicates that the location of the
bitmap will be placed at the middle of the partition. The
default location of the bitmap is the beginning of the
partition.
-d device Specifies the device on which to create the UDF volume.
-f Indicates which version of UDF you want to be on the
media. Format type of 1 represents UDF 1.5 version, 2
represents UDF 2.0 version, and 3 represents UDF 2.01
version. The default version is UDF 1.5.
Examples
1. To create a new UDF file system on device /dev/cd1, enter the following:
udfcreate -d /dev/cd1
Files
/usr/sbin/udfcreate Contains the udfcreate command
/usr/lib/libudf.a Contains the library routines called by the udfcreate command
Related Information
“udflabel Command” and “udfcheck Command” on page 566.
udflabel Command
Purpose
Fetches and changes the label on a UDF file system.
Description
The udflabel command displays or changes a UDF volume name. If there is no label provided, it displays
the current UDF volume name on the device. If there is a label provided, it sets the current UDF volume
name on the device to the new label.
Flags
-d device Specifies the device containing the UDF volume.
-l label Sets the label on the current UDF volume.
Examples
1. To change the current label on device /dev/cd1 hello, enter the following:
udflabel -d /dev/cd1 -l hello
2. To display the current label on device /dev/cd1, enter the following:
udflabel -d /dev/cd1
Files
/usr/sbin/udflabel Contains the udflabel command
/usr/lib/libudf.a Contains the library routines called by the udflabel
command
Related Information
“udfcreate Command” on page 567 and “udfcheck Command” on page 566.
uil Command
Purpose
Starts the User Interface Language (UIL) compiler for the AIXwindows system.
Syntax
uil [ -IPathName ] InputFile [ -m ] [ -o FileName ] [ -s ] [ -v FileName ] [ -w ] [
-wmd FileName ]
Description
The uil command calls the UIL compiler. The UIL is a specification language for describing the initial state
of a user interface for an AIXwindows application. The specification describes the objects (menus, dialog
boxes, labels, push buttons, and so on) used in the interface and specifies the functions to be called when
the interface changes state as a result of user interaction.
Flags
-IPathName Specifies IncludePathName with no spaces. Causes the compiler to look for include files in
a specified directory if include files were not found in the default paths. (uppercase i)
Example
To start the UIL compiler, enter:
uil -I. -o ex.uid ex.uil
Exit Status
This command returns the following exit values:
Related Information
The X command.
uimx Command
Purpose
Starts the UIM/X user-interface management system for the X Window System.
Syntax
uimx [ -dir Path ] [ -file FileName ] [ -workspace Name ] [ -xrm Options ]
Description
The uimx command starts the UIM/X user-interface management system for the X Window System. It
supports Motif 1.2 and provides a complete programming environment for developing graphical user
interfaces (GUIs). UIM/X supports object-oriented programming in both C and C++.
UIM/X saves and loads text files that use the Xt resource syntax to describe interfaces and projects. It can
also load UIL files. It generates C, C++, and UIL code. It can also generate makefiles, message catalogs,
and resource files for an application.
UIM/X includes a built-in C Interpreter and the following tools and editors:
v Palette of Motif widgets
v Widget Browser for browsing complex widget hierarchies
v WYSIWYG layout editor for drawing interfaces
Alphabetical Listing of Commands 569
v Property Editor for setting initial values of widget properties; initial values can be literal values or C
expressions
v Callback Editors for entering callback code
v Event, Action, and Translation Editors
v Menu and Main Window Editors
v Declarations Editor for editing the generated code for an interface
v Program Layout Editor for editing the generated main program and makefile; this editor gives you direct
access to the main event loop
UIM/X supports two operating modes: Design and Test. In Test mode, the built-in C Interpreter allows you
to test the behavior of your application. In Design mode, the C Interpreter validates the code you enter into
the various UIM/X editors.
UIM/X provides a convenience library of functions that simplify the task of programming with X and Motif.
Flags
dir Path Sets UIM/X’s current directory to path.
file FileName Loads an existing project, interface, or palette file called FileName. FileName can include
an absolute path name, a path name relative to the current directory, or a path name
relative to the -dir value.
workspace Name Loads UIM/X into the corresponding CDE workspace called name.
xrm Options Enables you to enter any resource specifications (options) that you would otherwise put
in a resource file.
Security
Access Control: Any User
Example
To start UIM/X, enter:
uimx
Files
/usr/uimx2.8/bin/uimx Contains the uimx command.
ul Command
Purpose
Performs underlining.
Syntax
ul [ -i ] [ -t Terminal ] [ File ... ]
Description
The ul command reads the named files specified by the File parameter (or standard input if no file is
given) and translates occurrences of underscores to the sequence that indicates underlining for the
terminal in use, as specified by the TERM environment variable.
If the -t flag is not specified, the ul command translates for the terminal type specified by the
TERM environment variable. If the value of the Terminal variable is not a valid terminal type,
the ul command translates for a dumb terminal.
Files
/usr/share/lib/terminfo/* Contains the terminal capabilities database.
Related Information
The cat command, colcrt command, man command, nroff command.
ulimit Command
Purpose
Sets or reports user resource limits.
Syntax
ulimit [ -H ] [ -S ] [ -a ] [ -c ] [ -d ] [ -f ] [ -m ] [ -n ] [ -s ] [ -t ] [ Limit ]
Description
The ulimit command sets or reports user process resource limits, as defined in the /etc/security/limits
file. This file contains these default limits:
fsize = 2097151
core = 2097151
cpu = -1
data = 262144
rss = 65536
stack = 65536
nofiles = 2000
These values are used as default settings when a new user is added to the system. The values are set
with the mkuser command when the user is added to the system, or changed with the chuser command.
Limits are categorized as either soft or hard. With the ulimit command, you can change your soft limits, up
to the maximum set by the hard limits. You must have root user authority to change resource hard limits.
Many systems do not contain one or more of these limits. The limit for a specified resource is set when
the Limit parameter is specified. The value of the Limit parameter can be a number in the unit specified
with each resource, or the value unlimited. To set the specific ulimit to unlimited, use the word unlimited
The current resource limit is printed when you omit the Limit parameter. The soft limit is printed unless you
specify the -H flag. When you specify more than one resource, the limit name and unit is printed before
the value. If no option is given, the -f flag is assumed.
Since the ulimit command affects the current shell environment, it is provided as a shell regular built-in
command. If this command is called in a separate command execution environment, it does not affect the
file size limit of the caller’s environment. This would be the case in the following examples:
nohup ulimit -f 10000
env ulimit 10000
Once a hard limit has been decreased by a process, it cannot be increased without root privilege, even to
revert to the original limit.
For more information about user and system resource limits, refer to the getrlimit, setrlimit, or vlimit
subroutine in AIX 5L Version 5.3 Technical Reference: Base Operating System and Extensions Volume 1.
Flags
-a Lists all of the current resource limits.
-c Specifies the size of core dumps, in number of 512-byte blocks.
-d Specifies the size of the data area, in number of K bytes.
-f Sets the file size limit in blocks when the Limit parameter is used, or reports the file size limit if no parameter is
specified. The -f flag is the default.
-H Specifies that the hard limit for the given resource is set. If you have root user authority, you can increase the
hard limit. Anyone can decrease it.
-m Specifies the size of physical memory, in number of K bytes.
-n Specifies the limit on the number of file descriptors a process may have.
-s Specifies the stack size, in number of K bytes.
-S Specifies that the soft limit for the given resource is set. A soft limit can be increased up to the value of the
hard limit. If neither the -H nor -S flags are specified, the limit applies to both.
-t Specifies the number of seconds to be used by each process.
Exit Status
The following exit values are returned:
0 Successful completion.
>0 A request for a higher limit was rejected or an error occurred.
Example
To set the file size limit to 51,200 bytes, enter:
ulimit -f 100
Files
/usr/bin/ksh Contains the ulimit built-in command.
Related Information
The ksh command.
umask Command
Purpose
Displays or sets the file mode creation mask.
Syntax
umask [ -S ] [ Mask ]
Description
If the Mask parameter is not specified, the umask command displays to standard output the file mode
creation mask of the current shell environment. If you specify the Mask parameter using a three-digit octal
number or symbolic code, the umask command sets the file creation mask of the current shell execution
environment. The bits set in the file creation mask are used to clear the corresponding bits requested by
an application or command when creating a file.
The chmod command describes how to use the symbolic and numeric codes to set permissions.
The -S flag produces symbolic output. If the flag is not specified, the default output format is octal.
Flags
-S Produces symbolic output.
Exit Status
The following exit values are returned:
0 The file mode creation mask was successfully changed, or no Mask parameter was supplied.
>0 An error occurred.
Examples
1. To set the mode mask so that subsequently created files have their S_IWOTH bit cleared, enter either:
umask a=rx,ug+w
OR
umask 002
After setting the mode mask, display the current values of the mode mask by entering:
umask
Note: The -r, -w, and -x Mask parameter values (or anything beginning with a hyphen) must be
preceded by — (double hyphen, no space between) to keep it from being interpreted as an
option.
Files
/usr/bin/ksh Contains the Korn shell umask built-in command.
/usr/bin/umask Contains the umask command.
Related Information
The bsh command, chmod command, csh command, ksh command.
umcode_latest Command
Purpose
Identifies system resources with firmware or microcode that can be updated from a specified source of
image files.
Syntax
umcode_latest [-s source] [-l] [-A] | [-a[-q][-r]| -i] | -h
Description
The umcode_latest command lists or downloads the system resources that have an older firmware or
microcode level than the firmware or microcode level that was found on the specified source for those
system resources.
Note: System Firmware images of system types 8842/8844/7047/7013/7015/7017 and 7025-F50 are not
supported by this command. For systems with temporary and permanent system firmware images,
the umcode_latest command uses the temporary system firmware image for comparisons with the
images on the specified source. System firmware image file names must end with .img.
Flags
-a Updates all system resources that have newer microcode
on the source.
Exit Status
0 The command completed successfully.
>0 An error occurred.
Examples
1. To list all system resources with firmware or microcode that can be updated from the images in
/etc/microcode, enter:
/usr/lpp/diagnostics/bin/umcode_latest
2. To list all system resources with firmware or microcode that can be updated from the images that are
in the /tmp/fwupdate directory, enter:
/usr/lpp/diagnostics/bin/umcode_latest -s /tmp/fwupdate
3. To list all system resources with firmware or microcode that can be updated from the images that are
in the /tmp/fwupdate directory, and for each resource ask whether the resource should be updated at
this time, enter:
/usr/lpp/diagnostics/bin/umcode_latest -s /fwupdate -i
4. To automatically update all of the system resources with firmware or microcode that have newer
images on the ISO 9660 format CD-ROM, which has already been inserted into the cd1 drive, enter:
/usr/lpp/diagnostics/bin/umcode_latest -s cd1 -a -q
Restrictions
System Firmware images of system types 8842/8844/7047/7013/7015/7017 and 7025-F50 are not
supported by this command. For systems with temporary and permanent system firmware images, the
umcode_latest command uses the temporary system firmware image for comparisons with the images on
the specified source. System firmware image file names must end with .img.
Location
/usr/lpp/diagnostics/bin/umcode_latest
Related Information
The diag command.
Purpose
Unmounts a previously mounted file system, directory, or file.
Syntax
{ unmount | umount } [ -f ] [ -a ] | [ all | allr | Device | Directory | File | FileSystem |
-n Node | -t Type ]
Description
Another name for the umount command is the unmount command. Either name can be used. You can
use the System Management Interface Tool (SMIT) to run this command. To use SMIT, enter:
smit umount
The umount command unmounts a previously mounted device, directory, file, or file system. Processing
on the file system, directory, or file completes and it is unmounted. Members of the system group and
users operating with root user authority can issue any umount command. Only users with root authority or
are members of the system group can unmount a directory or file.
Note: SMIT will not unmount the /usr/lpp/info/$LANG directory, the directory on which SMIT helps
are located. Typically, this is the CD-ROM.
To unmount local mounts you can specify the device, directory, file, or file system on which it is mounted.
If the file system being unmounted is a JFS2 snapshot, the umount command will unmount the snapshot,
though the snapshot will still be active. The snapshot command must be used to delete the snapshot.
If the file system being unmounted is a snapped file system with mounted snapshots, the umount
command displays a warning that there are mounted snapshots and exits without unmounting the file
system. The snapshots must be unmounted first.
Note: If the cdromd CD and DVD automount daemon is enabled, then those devices will be automatically
mounted as specified in the /etc/cdromd.conf file. Use the cdumount or cdeject command to
unmount an automounted CD or DVD. Use ″stopsrc -s cdromd″ to disable the CD/DVD
automount daemon.
Flags
-a Unmounts all mounted file systems.
all Unmounts all mounted file systems.
allr Unmounts all remotely mounted file systems.
Note: For remote mounts, specify the device, directory, file, or file system parameters. If you
specify the allr flag, the umount command unmounts all remote mounts.
-f Forces an unmount in a remote environment. Use to free a client when the server is down and server
path names cannot be resolved, or when a file system must be unmounted while it is still in use. The -f
flag is not supported for journaled file systems.
Note: For remote file systems, using this flag causes all file operations on the file system except
close() and unmap() to fail. Any file data that has been written by an application but has not yet
transferred to the server will be lost. A forced unmount of an NFS version 4 file system can cause open
file state for other file systems mounted from the same server to be lost as well.
-n Node Specifies the node holding the mounted directory you want to unmount. The umount -n Node
command unmounts all remote mounts made from the Node parameter.
Note: You cannot use the umount command on a device in use. A device is in use if any file is open
for any reason or if a user’s current directory is on that device.
Examples
1. To unmount all mounts from remote node Node A, enter:
umount -n nodeA
2. To unmount files and directories of a specific type, enter:
umount -t test
This unmounts all files or directories that have a stanza in the /etc/filesystems file that contains the
type=test attribute.
Files
/etc/filesystems Lists the known file systems and defines their characteristics.
Related Information
The cdcheck command, cdeject command, cdmount command, cdromd command, cdumount
command, cdutil command, mount command, fuser command.
The mount subroutine, umount subroutine, vmount subroutine, uvmount subroutine, mntctl subroutine.
The System Management Interface Tool (SMIT) in Operating system and device management explains the
structure, main menus, and tasks that are done with SMIT.
The Mounting in Operating system and device management explains mounting files and directories, mount
points, and automatic mounts.
umountall Command
Purpose
Unmounts groups of dismountable devices or filesystems.
Syntax
umountall [ -k ] [ -s ] [ -F FileSytemType ] [ -l | -r ]
umountall [ -k ] [ -s ] [ -h Host ]
Description
The umountall command by default unmounts all dismountable file systems or devices except root, /proc,
/var and /usr. If the FileSystemType is specified, umountall limits its actions to the file system type
specified. There is no guarantee that umountall will unmount busy file systems, even if the -k option is
specified.
Exit Status
0 The command completed successfully.
>0 An error occurred.
Examples
1. To unmount all dismountable file systems, enter:
umountall
2. To unmount all dismountable filesystems of type jfs, enter:
umountall -F jfs
3. To unmount all dismountable filesystems mounted from host.domain, enter:
umountall -h host.domain
4. To unmount all remotely mounted filesystems, enter:
umountall -r
Files
/usr/sbin/umountall Contains the umountall command.
Related Information
The umount command.
Purpose
Removes alias definitions.
Syntax
unalias -a
Description
The unalias command removes the definition for each alias name specified, or removes all alias
definitions if the -a flag is used. Alias definitions are removed from the current shell environment.
Since the unalias command affects the current shell execution environment, it is provided as a Korn shell
or POSIX shell regular built-in command.
Flags
-a Removes all alias definitions from the current shell environment.
Exit Status
The following exit values are returned:
0 Successful completion.
>0 One of the alias names specified did not represent a valid alias definition, or an error occurred.
Files
/usr/bin/ksh Contains the Korn shell unalias built-in command.
/usr/bin/unalias Contains the unalias command.
Related Information
The alias command, csh command, ksh command.
uname Command
Purpose
Displays the name of the current operating system.
Syntax
uname [ -a | -x | -S Name ] [ -F ] [ -f ] [ -l ] [ -L ] [ -m ] [ -M ] [ -n ] [ -p ] [ -r ] [ -s ] [ -T Name ] [ -u ] [ -v ]
Description
The uname command writes to standard output the name of the operating system that you are using.
The machine ID number contains 12 characters in the following digit format: xxyyyyyymmss. The xx
positions indicate the system and is always 00. The yyyyyy positions contain the unique ID number for the
You can use the uname -m command sometimes to determine which model you are using. The following
list is not complete. Refer to hardware vendor supplied documentation for values in the range E0 - FF.
Also note that not all machine types have a machine ID. Many new machines share a common machine
ID of 4C. Hexadecimal codes for the system models (mm) are:
Machine Machine Machine
Type Model ID
7006 410 42
7007 N40 F0
7008 M20 43
7008 M20A 43
7009 C10 48
7011 220 41
7011 230 47
7011 250 46
7012 320 31
7012 320H 35
7012 340 37
7012 350 38 or 77
7012 355 77
7012 360 76
7012 365 76
7012 370 75
7012 375 75
7012 380 58
7012 390 57
7012 G30 A6
7012 G40 A7
7013 520 30
7013 520H 34
7013 530 10
7013 530H 18
7013 540 14 or 11
7013 550 1C
7013 550L 77
7013 560 5C
7013 570 67
7013 580 66
7013 58H 71
7013 590 70
7013 590H 72
7013 J30 A0
7013 J40 A1
7015 930 20 or 02
7015 950 2E
7015 970 63
7015 970B 63
7015 980 64
7015 980B 64
7015 990 80
7015 R10 67
7015 R20 72
7015 R24 81
7015 R30 A3
7015 R40 A4
7016 730 10
7018 740 30
7018 770 67
7024 E20 C0
The machine identifier value returned by the uname command may change when new operating system
software levels are installed. This change affects applications using this value to access licensed
programs. To view this identifier, enter the uname -m command.
Flags
-a Displays all information specified with the -m, -n, -r, -s, and -v flags. Cannot be used with the -x or
-SName flag. If the -x flag is specified with the -a flag, the -x flag overrides it.
-F Displays a system identification string comprised of hexadecimal characters. This identification string
is the same for all partitions on a particular system.
-f Similar to the F flag, except that the partition number is also used in the calculation of this string. The
resulting identification string is unique for each partition on a particular system.
-l Displays the LAN network number.
-L Displays LPAR number and LPAR name. If LPAR does not exist, -1 is displayed for LPAR number
and NULL for LPAR name. If a system is capable of LPAR, but is currently running in Symmetric
Multi Processing (SMP) mode, 1 is displayed for LPAR number and NULL for LPAR name.
-m Displays the machine ID number of the hardware running the system.
Note: The -m flag cannot be used to generate a unique machine identifier for partitions in an LPAR
environment.
-M Displays the system model name. If the model name attribute does not exist, a null string is
displayed.
-n Displays the name of the node. This may be a name the system is known by to a UUCP
communications network.
-p Displays the architecture of the system processor.
-r Displays the release number of the operating system.
-s Displays the system name. This flag is on by default.
-S Name Sets the name of the node. This can be the UUCP communications network name for the system.
-T Name Sets the system name. This can be the UUCP communications network name for the system.
-u Displays the system ID number. If this attribute is not defined, the output is the same as the output
displayed by uname -m.
-v Displays the operating system version.
-x Displays the information specified with the -a flag as well as the LAN network number, as specified
by the -l flag.
If you enter a flag that is not valid, the uname command exits with an error message, an error return
status, and no output.
Note: The uname command does not preserve the new system name and node name values across
system reboot.
Exit Status
This command returns the following exit values:
uname -a
Files
/usr/bin/uname Contains the uname command.
Related Information
The uname or unamex subroutine.
uncompress Command
Purpose
Restores compressed files.
Syntax
uncompress [ -c ] [ -F ] [ -f ] [ -n ] [ -q ] [ -V ] [ File ... ]
Description
The uncompress command restores original files that were compressed by the compress command.
Each compressed file specified by the File parameter is removed and replaced by an expanded copy. The
expanded file has the same name as the compressed version, but without the .Z extension. If the user has
root authority, the expanded file retains the same owner, group, modes, and modification time as the
original file. If the user does not have root authority, the file retains the same modes and modification time,
but acquires a new owner and group. If no files are specified, standard input is expanded to standard
output.
Flags
-c Write to standard output. No files are changed.
-f or -F Forces expansion. The -f and -F flags are interchangeable. Overwrites the file if it already exists.
The system does not prompt the user that an existing file will be overwritten. File size may not
actually shrink.
-n Omits the compressed file header from the compressed file.
Note: Use this option if the file was compressed using the -n flag. Otherwise, uncompressing the
file will not work.
-q Suppresses the display of compression statistics generated by the -v flag. If several -v and -q flags
are on the same command line, the last one specified controls the display of the statistics.
-V Writes the current version and compile options to standard error.
Parameters
File ... Specifies the compressed files to restore.
Return Values
The uncompress command detects an error and exit with a status of 1 if any of the following events
occur:
v The input file was not produced by the compress command.
Exit Status
0 Successful completion.
>0 An error occurred.
Example
To uncompress the foo.Z file, enter:
uncompress foo.Z
Related Information
The compress command, dmpuncompress command, pack command, unpack command, zcat
command.
undefvsd Command
Purpose
undefvsd – Undefines a virtual shared disk.
Syntax
undefvsd vsd_name ...
Description
This command is used to remove a virtual shared disk definition and any special device files from /dev for
the given vsd_names on all the virtual shared disk nodes. The virtual shared disks must be unconfigured
and in the defined state on all the virtual shared disk nodes.
You can use the System Management Interface Tool (SMIT) to run the undefvsd command. To use SMIT,
enter:
smit delete_vsd
Flags
None.
Parameters
vsd_name Specifies the virtual shared disk whose underlying logical volume you no longer want to be
globally accessed by any virtual shared disk nodes.
Security
You must have root authority to run this command.
Restrictions
You must issue this command from a node that is online in the peer domain. To bring a peer domain
online, use the startrpdomain command. To bring a particular node online in an existing peer domain, use
the startrpnode command. For more information on creating and administering an RSCT peer domain,
refer to the RSCT: Administration Guide.
Standard Output
Current RVSD subsystem run level.
Examples
To delete the information associated with the virtual shared disk vsd1vg2n1, enter:
undefvsd vsd1vg2n1
Location
/usr/lpp/vsd/bin/undefvsd
Related Information
Commands: defvsd
unexpand Command
Purpose
Writes to standard output with tabs restored.
Syntax
unexpand [ -a | -t TabList ] [ File ... ]
Description
The unexpand command puts tabs back into the data from the standard input or the named files and
writes the result to standard output. By default, only leading spaces and tabs are reconverted to maximal
strings of tabs.
Flags
-a Inserts tabs wherever their presence compresses the resultant file by replacing two or more
characters.
The TabList variable must consist of a single positive-decimal integer or multiple positive-decimal
integers. The multiple integers must be in ascending order and must be separated by commas or
by blank characters with quotation marks around the integers. The single TabList variable sets
the tab stops an equal number of column positions apart. The multiple TabList variable sets the
tab stop at column positions that correspond to the integers in the TabList variable.
A space-to-tab conversion does not occur for characters at positions beyond the last one
specified in a multiple TabList variable.
Note: When the -t flag is specified, the -a flag is ignored and conversion is not limited to processing
leading blank characters.
Exit Status
This command returns the following exit values:
Example
To replace space characters with tab characters in the xyz file, enter:
unexpand xyz
Files
/usr/bin/unexpand Contains the unexpand command.
Related Information
The expand command, newform command, tab command, untab command.
Input and output redirection overview in Operating system and device management.
unfencevsd Command
Purpose
unfencevsd – Gives applications running on a node or group of nodes access to a virtual shared disk or
group of virtual shared disks that were previously fenced from applications running on those nodes.
Syntax
unfencevsd {−a | −v vsd_name_list} {−n node_list [−f] }
Description
Under some circumstances, the system may believe a node has become inoperable and may begin
recovery procedures when the node is actually operational, but is cut off from communication with other
nodes running the same application. In this case, the problem node must not be allowed to serve requests
for the virtual shared disks it normally manages until recovery is complete and the other nodes running the
You can issue this command from any node that is online in the peer domain.
Flags
−a Specifies all virtual shared disks.
−f Allows a fenced node to unfence itself.
−n node_list Specifies one or more node numbers separated by commas.
−v vsd_name_list
Specifies one or more virtual shared disk names, separated by commas.
Parameters
None.
Security
You must have root authority to run this command.
Exit Status
0 Indicates the successful completion of the command.
nonzero Indicates that an error occurred.
Restrictions
You must issue this command from a node that is online in the peer domain. To bring a peer domain
online, use the startrpdomain command. To bring a particular node online in an existing peer domain, use
the startrpnode command. For more information on creating and administering an RSCT peer domain,
refer to the RSCT: Administration Guide.
Standard Output
Current RVSD subsystem run level.
Examples
1. To unfence node 5 from the virtual shared disks vsd1 and vsd2, enter:
unfencevsd -v vsd1,vsd2 -n 5
2. To unfence node 7 from the virtual shared disks vsd1 and vsd2 when the unfencevsd command must
be entered from node 7, enter:
unfencevsd -v vsd1,vsd2 -n 7 -f
Location
/opt/rsct/vsd/bin/unfencevsd
Related Information
Commands: fencevsd, lsvsd
Refer to RSCT: Managing Shared Disks for more information on the Recoverable virtual shared disk
subsystem and how you can use the fencevsd, unfencevsd, and lsfensevsd commands to preserve data
integrity during application recovery.
Purpose
Cancels a previous get command.
Syntax
unget [ -rSID ] [ -s ] [ -n ] File ...
Description
The unget command allows you to restore a g-file created with get -e before the new delta is created. Any
changes are therefore discarded. If you specify a - (dash) for the value of File, standard input is read, and
each line of standard input is interpreted as the name of an SCCS file. An end-of-file character terminates
input.
If you specify a directory for the File value, the unget command performs the requested actions on all
SCCS files that are currently in the process of being edited (those files with the s. prefix).
Once you have run an unget command on a file, you must reissue a get -e command to make changes to
the file. The unget command automatically deletes the g-file.
Flags
Each flag or group of flags applies independently to each named file.
-n Prevents the automatic deletion of the g-file. This flag allows you to retain the edited version of the file
without making a delta.
-rSID Specifies the new delta that would have been created by the next use of the delta command. You must
use this flag if you have two or more pending deltas to the file under the same login name. You can look at
the p-file to see if you have more than one delta pending to a particular SID under the same login name.
The SID specification must unambiguously specify only one SID to discard, or the unget command
displays an error message and stops running.
-s Suppresses displaying the deleted SID.
Exit Status
This command returns the following exit values:
0 Successful completion.
>0 An error occurred.
Example
To discard the changes you have made to an SCCS file after running a get -e command, enter:
unget s.prog.c
Files
/usr/bin/unget Contains the path to the SCCS unget command.
Related Information
The delta command, get command, sact command.
Source Code Control System (SCCS) Overview in AIX 5L Version 5.3 General Programming Concepts:
Writing and Debugging Programs.
unifdef Command
Purpose
Removes ifdef lines from a file.
Syntax
unifdef [ -t ] [ -l ] [ -c ] [ -DSymbol ] [ -USymbol ] [ -idSymbol ] [ -iuSymbol ] [ File ]
Description
The unifdef command is useful for removing ifdef lines from a file while otherwise leaving the file alone.
The unifdef command recognizes nested ifdefs, comments, and single and double quotes of C syntax in
order to function correctly, but does not include files or interpret macros. The unifdef command recognizes
but does not remove comments.
The unifdef command takes its input from standard input if no File is specified and copies its output to
standard output.
Once a Symbol is specified, the lines inside those ifdefs are copied to the output or removed, as
appropriate. The ifdef, ifndef, else, elif, and endif lines associated with the symbol are also removed. Ifdefs
that involve unspecified symbols are untouched and copied out along with their associated ifdef, else, elif,
and endif lines. If the same symbol appears in more than one argument, only the first occurrence is
significant. For instance, if an ifdef X occurs nested inside another ifdef X, the inside ifdef is considered an
unrecognized symbol.
When using ifdefs to delimit non-C lines such as comments or unfinished code, it is necessary to specify
which symbols are to be used for that purpose. Otherwise, the unifdef command will try to parse for
quotes and comments in those ifdef lines.
OR
#elif X
OR
#elif defined(X) || defined(Y)
Keywords
The following keywords are recognized by the unifdef command:
v ifdef
v ifndef
v else
v endif
v elif
Exit Status
This command returns the following exit values:
Examples
1. The following example:
unifdef -DA original.c > modified.c
causes the unifdef command to read the file original.c, and remove the #ifdef A lines. It then
removes everything following an #elif/#else associated with the #ifdef A, down to the #endif. The output
is placed in the modified.c file.
2. The following example:
unifdef -UA original.c > modified.c
causes the unifdef command to read the file original.c, and remove the #ifdef A down to either its
associated #elif//#else, or its associated #endif. In the case of the #elif, the #elif is replaced with #if. In
the case of #else, the #else is deleted along with its associated #endif. The output is placed in the
modified.c file.
Files
/usr/bin/unifdef Contains the unifdef command.
Related Information
The cpp command.
uniq Command
Purpose
Reports or deletes repeated lines in a file.
Description
The uniq command deletes repeated lines in a file. The uniq command reads either standard input or a
file specified by the InFile parameter. The command first compares adjacent lines and then removes the
second and succeeding duplications of a line. Duplicated lines must be adjacent. (Before issuing the uniq
command, use the sort command to make all duplicate lines adjacent.) Finally, the uniq command writes
the resultant unique lines either to standard output or to the file specified by the OutFile parameter. The
InFile and OutFile parameters must specify different files.
The input file must be a text file. A text file is a file that contains characters organized into one or more
lines. The lines can neither exceed 2048 bytes in length (including any newline characters) nor contain null
characters.
The uniq command compares entire lines by default. If the -f Fields or -Fields flag is specified, the uniq
command ignores the number of fields specified by the Fields variable. A field is a string of characters
separated from other character strings by one or more <blank> characters. If the -s Characters or
-Characters flag is specified, the uniq command ignores the number of characters specified by the
Characters variable. Values specified for the Fields and Characters variables must be positive decimal
integers.
The current national language environment determines the <blank> characters used by the -f flag as well
as how the -s flag interprets bytes as a character.
The uniq command exits with a value of 0 if successful. Otherwise, it exits with a value greater than 0.
Flags
-c Precedes each output line with a count of the number of times each line appeared in the
input file.
-d Displays only the repeated lines.
-f Fields Ignores the number of fields specified by the Fields variable. If the value of the Fields
variable exceeds the number of fields on a line of input, the uniq command uses a null
string for comparison. This flag is equivalent to the -Fields flag.
-u Displays only the unrepeated lines.
-s Characters Ignores the number of characters specified by the Characters variable. If the value of the
Characters variable exceeds the number of characters on a line of input, the uniq
command uses a null string for comparison. If both the -f and -s flags are specified, the
uniq command ignores the number of characters specified by the -s Characters flag
starting in the field following the fields specified by the -f Fields flag. This flag is equivalent
to the +Characters flag.
-Fields Ignores the number of fields specified by the Fields variable. This flag is equivalent to the -f
Fields flag.
+Characters Ignores the number of characters specified by the Characters variable. If both the -Fields
and +Characters flags are specified, the uniq command ignores the number of characters
specified by the +Characters flag starting in the field following the fields specified by the
-Fields flag. This flag is equivalent to the -s Characters flag.
Exit Status
This command returns the following exit values:
then the newfruit file will contain the following lines after you run the uniq command:
apples
peaches
pears
bananas
cherries
Files
/usr/bin/uniq Contains the uniq command.
Related Information
The comm command, sort command.
units Command
Purpose
Converts units in one measure to equivalent units in another measure.
Syntax
units [ - ] [ File ]
Description
The units command converts quantities expressed in one measurement to their equivalents in another.
The units command is an interactive command. It prompts you for the unit you want to convert from and
the unit you want to convert to. This command only does multiplicative scale changes. That is, it can
convert from one value to another only when the conversion involves a multiplication. For example, it
cannot convert between degrees Fahrenheit and degrees Celsius because the value of 32 must be added
or subtracted in the conversion.
You can specify a quantity as a multiplicative combination of units, optionally preceded by a numeric
multiplier.
Indicate powers by entering suffixed positive integers, and indicate division with a / (slash).
The units command recognizes lb as a unit of mass, but considers pound to be the British pound sterling.
Compound names are run together (such as lightyear). Prefix British units differing from their American
counterparts with br (brgallon, for instance).
Most familiar units, abbreviations, and metric prefixes are recognized by the units command, as well as
the following:
Flags
- Lists the conversion factors contained in the /usr/share/lib/unittab file before you are prompted to enter your
conversion.
Examples
1. To display conversion factors for inches to centimeters, enter:
units
you have: in
you want: cm
The output tells you to multiply the number of inches by 2.540000e+00 to get centimeters, and to
multiply the number of centimeters by 3.937008e-01 to get inches.
These numbers are in standard exponential notation, so 3.937008e-01 means 3.937008 x 10-1, which
is the same as 0.3937008.
Note: The second number is always the reciprocal of the first; for example, 2.54 equals
1/0.3937008.
2. To convert a measurement to different units, enter:
units
you have: 5 years
you want: microsec
The output shows that 5 years equals 1.577846 x 1014 microseconds, and that one microsecond
equals 6.337753 x 10-15 years.
3. To give fractions in measurements, enter:
units
you have: 1|3 mi
you want: km
The | (vertical bar) indicates division, so 1|3 means one-third. This shows that one-third mile is the
same as 0.536448 kilometers.
4. To include exponents in measurements, enter:
units
you have: 1.2-5 gal
you want: floz
The expression 1.2-5 gal is the equivalent of 1.2 x 10-5. Do not type an e before the exponent (that
is, 1.2e-5 gal is not valid). This example shows that 1.2 x 10-5 (0.000012) gallons equal 1.536 x
10-3 (0.001536) fluid ounces.
5. To specify complex units, enter:
units
you have: gram centimeter/second2
you want: kg-m/sec2
The units gram centimeter/second2 mean ″grams x centimeters/second2.″ Similarly, kg-m/sec2 means
″kilograms x meters/sec2,″ which is often read as ″kilogram-meters per seconds squared.″
6. If the units you specify after you have: and you want: are incompatible:
you have: ft
you want: lb
The conformability message means the units you specified cannot be converted. Feet measure
length, and pounds measure mass, so converting from one to the other does not make sense.
Therefore, the units command displays the equivalent of each value in standard units.
In other words, this example shows that one foot equals 0.3048 meters and that one pound equals
0.4535924 kilograms. The units command shows the equivalents in meters and kilograms because the
command considers these units to be the standard measures of length and mass.
Files
/usr/bin/units Contains the units command.
/usr/share/lib/unittab Lists units that the units command creates as well as units defined by the
user.
Related Information
The bc command, dc command.
Purpose
Performs an unlink subroutine.
Syntax
unlink File
Description
The unlink command performs the unlink subroutine on a specified file.
The unlink command does not issue error messages when the associated subroutine is unsuccessful; you
must check the exit value to determine if the command completed normally. It returns a value of 0 if it
succeeds, a value of 1 if too few or too many parameters are specified, and a value of 2 if its system call
is unsuccessful.
Attention: The unlink command allows a user with root user authority to deal with unusual
problems, such as moving an entire directory to a different part of the directory tree. It also permits
you to create directories that cannot be reached or escaped from. Be careful to preserve the
directory structure by observing the following rules:
v Be certain every directory has a . (dot) link to itself.
v Be certain every directory has a .. (dot dot) link to its parent directory.
v Be certain every directory has no more than one link to itself or its parent directory.
v Be certain every directory is accessible from the root of its file system.
An attempt to remove a file or directory that has been exported for use by the NFS version 4 server will
fail with a message saying that the resource is busy. The file or directory must be unexported for NFS
version 4 use before it can be removed.
Example
To remove a directory entry pointed by file2, enter:
unlink file2
Files
/usr/sbin/unlink Contains the unlink command.
Related Information
The fsck command, link command, ln command.
The File systems in Operating system and device management explains file system types, management,
structure, and maintenance.
The Files in Operating system and device management provides information on working with files.
The Directories in Operating system and device management explains working with directories and path
names.
Purpose
Unloads a crypto module from the IP Security subsystem.
Syntax
unloadipsec -c crypto_mod_name
Description
The unloadipsec command unloads a crypto module from the IP Security subsystem. The unloadipsec
command can be used when a crypto module is no longer being used or when a crypto module is to be
replaced with a newer version.
A crypto module can only be unloaded after the IP Security device is stopped. The steps for replacing a
crypto module are: change the IP Security device to the defined state; unload the old crypto module using
this command; uninstall the old module and install the new module, and bring the IP Security device back
to the available state.
Flags
-c crypto_mod_name Specifies the name of the crypto module to be unloaded.
When used without any flag, the command lists all the
crypto modules installed (but not necessarily loaded).
unmirrorvg Command
Purpose
Removes the mirrors that exist on volume groups or specified disks. This command only applies to AIX
4.2.1 or later.
Syntax
unmirrorvg [ -c Copies ] VolumeGroup [ PhysicalVolume .. . ]
Description
The unmirrorvg command unmirrors all the logical volumes detected on a given volume group. This same
functionality may also be accomplished manually if you execute the rmlvcopy command for each
individual logical volume in a volume group.
By default, unmirrorvg will pick the set of mirrors to remove from a mirrored volume group. If you wish to
control which drives no longer are to contain mirrors, you must include the list of disks in the input
parameters, PhysicalVolume.
When the PhysicalVolume parameter is listed in the command, this indicates that only logical volumes with
copies that exist on this PhysicalVolume should be unmirrored. Logical volumes that exist solely on the
other drives in the volume group are unaffected and remain mirrored.
Notes:
1. If LVM has not recognized that a disk has failed it is possible that LVM will remove a different mirror.
Therefore if you know that a disk has failed and LVM does not show those disks as missing you
should specify the failed disks on the command line or you should use replacepv to replace the disk
or reducevg to remove the disk.
When unmirrorvg is executed, the default COPIES value for each logical volume becomes 1. If you wish to
convert your volume group from triply mirrored to doubly mirrored, use the -c option.
Note: To use this command, you must either have root user authority or be a member of the system
group.
Attention: The unmirrorvg command may take a significant amount of time to complete because of
complex error checking and the number of logical volumes to unmirror in a volume group.
You can use the System Management Interface Tool (SMIT) to run this command. To use SMIT, enter:
smit unmirrorvg
Flag
-c Copies Specifies the minimum number of copies that each logical volume must have after the unmirrorvg
command has finished executing. If you do not want all logical volumes to have the same number
of copies, then reduce the mirrors manually with the rmlvcopy command. If this option is not used,
the copies will default to 1.
rootvg unmirroring When the rootvg unmirroring has completed, you must perform two additional
tasks: bosboot and bootlist.
The bosboot command is required to reinitialize the boot record on the remaining
disk. The bootlist command needs to be performed so that the system will only
boot to the disk left in rootvg.
Examples
1. To unmirror a triply mirrored volume group and leave two copies, enter:
unmirrorvg -c 2 workvg
The logical partitions in the logical volumes held on workvg now have 2 copies.
2. To get default unmirroring of rootvg, enter:
unmirrorvg rootvg
Note: When unmirrorvg workvg hdisk7 is run, hdisk7 will be the remaining drive in the volume
group. This drive is not actually removed from the volume group. You must run the migratepv
command to move the data from the disk that is to be removed from the system to disk hdisk7.
Files
/usr/sbin Directory where the unmirrorvg command resides.
Related Information
The migratepv command, mklvcopy command, mirrorvg command, syncvg command, reducevg
command, extendvg command.
unpack Command
Purpose
Expands files.
Syntax
unpack File ...
Description
The unpack command expands files created by the pack command. For each file specified, the unpack
command searches for a file called File.z. If this file is a packed file, the unpack command replaces it by
its expanded version. The unpack command names the new file name by removing the .z suffix from File.
If the user has root authority, the new file has the same access modes, access and modification times,
owner, and group as the original file. If the user does not have root authority, the file retains the same
access modes, access time, and modification time, but acquires a new owner and group.
The unpack command operates only on files ending in .z. As a result, when you specify a file name that
does not end in .z, the unpack command adds the suffix and searches the directory for a file name with
that suffix.
The exit value is the number of files the unpack command was unable to unpack. A file cannot be
unpacked if any of the following occurs:
v The file name (exclusive of .z) has more than 253 bytes.
v The file cannot be opened.
v The file is not a packed file.
v A file with the unpacked file name already exists.
v The unpacked file cannot be created.
Exit Status
This command returns the following exit values:
Example
To unpack packed files:
unpack chap1.z chap2
This expands the packed files chap1.z and chap2.z, and replaces them with files named chap1 and chap2.
Note that you can give the unpack command file names either with or without the .z suffix.
Files
/usr/bin/unpack Contains the unpack command.
Related Information
The cat command, compress command, pack command.
untab Command
Purpose
Changes tabs into spaces.
Syntax
untab [ FileName ... ]
Description
The untab command reads the file specified by the FileName parameter or standard input, and replaces
tabs in the input with space characters. If you specify a file with the FileName parameter, the untab
command writes the resulting file back to the original file. If the input is standard input, the untab
command writes to standard output. The untab command assumes that tab stops are set every eight
columns, starting with column nine. The file name specified for the FileName parameter cannot exceed
PATH_MAX-9 bytes in length.
Example
To replace tab characters in the File file with space characters, enter:
untab File
Files
/usr/bin/untab Contains the untab command.
update Command
Purpose
Periodically updates the super block.
Syntax
update
Description
The update command executes a sync subroutine every 30 seconds. This action ensures the file system
is up-to-date in the event of a system crash.
Files
/usr/sbin/update Contains the update command.
Related Information
The init command, rc command, sync command.
updatevsdnode Command
Purpose
Modifies virtual shared disk subsystem options.
Syntax
updatevsdnode −n {ALL | node_number [,node_number ...]}
{[−a VSD_adapter]
[−b min_buddy_buffer_size]
[−x max_buddy_buffer_size
[−s max_buddy_buffers]
[−M vsd_max_ip_packet_size]}
[−f] [−c cluster_name | NONE]
Note: This command only modifies the subsystem options. To effectively configure the virtual shared
disks, you must first unconfigure all the virtual shared disks, unload the device driver, and then
reconfigure the shared disks.
You can use the System Management Interface Tool (SMIT) to run this command. To use SMIT, enter:
smit vsd_mgmt
and select the Set/Show Virtual Shared Disk Device Driver Operational Parameters option or the
Update virtual shared disk Device Driver Node Parameters option.
Flags
−n Specifies the node numbers of the nodes whose information you want this command to
update, or ALL nodes in the RSCT peer domain. You can issue the command
/usr/bin/lsclcfg to find out the node number of the node you are running on.
−a Specifies the adapter name to be used for virtual shared disk communications with this
node or nodes. You must specify ml0 as the adapter name.
−b Specifies the smallest buddy buffer a server uses to satisfy a remote request to a virtual
shared disk. This value must be a power of 2 and greater than or equal to 4096. The
suggested value to use is 4096 (4 KB).
−x The largest buddy buffer a server will use to satisfy a remote request. This value must be
a power of 2 and greater than or equal to the min_buddy_buffer_size. The suggested
value to use is 262144 (256 KB). This value must be the same on all nodes in the RSCT
peer domain.
−s This is the number of max_buddy_buffer_size buffers to allocate. The virtual shared disk
device driver will have an initial size when first loaded, and then will dynamically allocate
and reclaim additional space as needed. The suggested starting value for a 32-bit kernel
is 128 256 KB buffers. The suggested value is 2000 256KB buffers.
Buddy buffers are only used on the servers. On client nodes you may want to set
max_buddy_buffers to 1.
Note: The statvsd command will indicate if remote requests are queueing waiting for
buddy buffers.
−M Specifies the maximum message size in bytes for virtual shared disks. This value must not
be greater than the maximum transmission unit (MTU) size of the network. The
recommended values are:
v 61440 (60 KB) for a switch
v 8192 (8 KB) for jumbo frame Ethernet
v 1024 (1 KB) for 1500-byte MTU Ethernet
−f Specifies that this command will force updates to virtual shared disk subsystem options by
reconfiguring one or more virtual shared disks on all nodes in the RSCT peer domain on
which virtual shared disks are currently configured.
−c cluster_name | NONE
Changes the cluster the node belongs to. NONE removes the node from the cluster.
Note: The cluster_name is required only for SSA (Serial Storage Architecture) disks.
Security
You must have root authority to run this command.
Exit Status
0 Indicates the successful completion of the command.
nonzero Indicates that an error occurred.
Restrictions
You must issue this command from a node that is online in the peer domain. To bring a peer domain
online, use the startrpdomain command. To bring a particular node online in an existing peer domain, use
the startrpnode command. For more information on creating and administering an RSCT peer domain,
refer to RSCT Administration Guide.
Examples
To increase the buddy buffer size to 48 maximum sized buddy buffers on node 3, enter:
updatevsdnode -n 3 -s 48
Note: The device driver must be unconfigured from the kernel and reloaded to have this change go into
effect.
Location
/opt/lpp/vsd/bin/updatevsdnode
Related Information
Commands: lsvsd, vsdatalst, vsdnode
updatevsdtab Command
Purpose
updatevsdtab – Changes the Virtual shared disk subsystem attributes.
Syntax
updatevsdtab {−v vsd_names | −a} {[−s ]} [−f]
Description
Use this command to update the virtual shared disk size. When you change the virtual shared disk size
using the updatevsdtab command, the change will not take effect until the virtual shared disk is
unconfigured and configured again.
If the −f flag is specified, the virtual shared disks involved will be reconfigured on all nodes that are up and
initially had these virtual shared disks configured.
You can use the System Management Interface Tool (SMIT) to run this command. To use SMIT, enter:
smit vsd_mgmt
Flags
−v vsd_names Specifies a list of virtual shared disk names to be updated.
−a Specifies that the option is to be changed on all nodes of the system or system partition.
−s Updates the virtual shared disk size after the associated logical volume size is changed.
−f Forces changes by reconfiguring a virtual shared disk on all nodes in the current system
partition on which the virtual shared disk is configured.
Parameters
None.
Security
You must have root authority to run this command.
Exit Status
0 Indicates the successful completion of the command.
nonzero Indicates that an error occurred.
Restrictions
You must issue this command from a node that is online in the peer domain. To bring a peer domain
online, use the startrpdomain command. To bring a particular node online in an existing peer domain, use
the startrpnode command. For more information on creating and administering an RSCT peer domain,
refer to the RSCT: Administration Guide.
Standard Output
Current RVSD subsystem run level.
Examples
1. To reset the size of the virtual shared disk named USER1n3, enter:
updatevsdtab -v USER1n3 -s
Location
/usr/lpp/csd/bin/updatevsdtab
Related Information
Commands: defvsd, updatevsdnode
updatevsdvg Command
Purpose
Changes virtual shared disk global volume group characteristics.
Syntax
updatevsdvg { −a │ −g global_volgrp { −k VSD −p primary_node −b secondary_node │ −k CVSD −l
server_list [−c cluster_name] } }
Flags
−a Specifies that persistent reserve information should be reestablished in the
object data manager (ODM) for all VSD volume groups served by this
node. This flag is intended for the initial setup phase of allowing multiple
clusters to access the same virtual shared disks. It is also useful for
recovery after the device ODM entries have been removed inadvertently.
This flag causes all of the volume groups served by the node to be varied
offline. The volume groups will be varied offline on this node and on all
other servers for the volume groups. For this reason, you should stop the
recoverable virtual shared disk subsystem before issuing the
updatevsdvg command with this flag.
−b secondary_node Specifies the secondary node.
−c cluster_name Specifies the cluster name for the server nodes that will be serving
concurrently accessed shared disks. This flag is applicable only for SSA
(Serial Storage Architecture) disks, and a cluster_name must be specified
for SSA.
−g global_volgrp Specifies an existing global volume group name.
−k VSD | CVSD Specifies whether the volume group will be of type concurrent virtual
shared disk or serial-access (nonconcurrent) virtual shared disk.
−l server_list Specifies a colon-separated list of servers for concurrent virtual shared
disks.
−p primary_node Specifies the primary node.
Security
You must have root authority to run this command.
Exit Status
0 Indicates the successful completion of the command.
nonzero Indicates that an error occurred.
Restrictions
You must issue this command from a node that is online in the peer domain. To bring a peer domain
online, use the startrpdomain command. To bring a particular node online in an existing peer domain, use
the startrpnode command. For more information on creating and administering an RSCT peer domain,
refer to RSCT Administration Guide.
Standard Output
Current RVSD subsystem run level.
Examples
1. To change the global volume group named ess_gvg from a virtual shared disk global volume group to
a concurrent global volume group with three servers, assuming that the disks are cabled correctly and
that the disk subsystem supports persistent preserve such as ESS disks, enter:
updatevsdvg -g ess_gvg -k CVSD -l 9:17:21
2. To remove a server from an SSA global volume group named ssa_gvg, where the original server list is
9:10 and belongs to an SSA cluster named cluster9_10, (that is, the command vsdatalst -c shows
SSA cluster information), enter:
updatevsdvg -g ssa_gvg -k CVSD -l 9 -c cluster9_10
3. To change a concurrent global volume group named ess_gvg back to a virtual shared disk global
volume group, where the original server list is 9:17:21, the new primary node number is 9, and the
new secondary node number is 21, enter:
updatevsdvg -g ess_gvg -k VSD -p 9 -b 21
Location
/opt/rsct/vsd/bin/updatevsdvg
Related Information
Commands: vsdatalst, vsdvg
uprintfd Daemon
Purpose
Constructs and writes kernel messages.
Syntax
uprintfd
Related Information
The NLuprintf kernel service and uprintf kernel service.
The Input and Output Handling Programmer’s Overview in AIX 5L Version 5.3 General Programming
Concepts: Writing and Debugging Programs.
uptime Command
Purpose
Shows how long the system has been up.
Syntax
uptime
Description
The uptime command prints the current time, the length of time the system has been up, the number of
users online, and the load average. The load average is the number of runnable processes over the
preceding 1-, 5-, 15-minute intervals. The output of the uptime command is, essentially, the heading line
provided by the w command.
Related Information
The ruptime command, w command.
useradd Command
Purpose
Creates a new user account.
Syntax
useradd [ -c comment ] [ -d dir ] [ -e expire ] [ -g group ] [ -G group1,group2 ... ] [ -m [ -k skel_dir ] ] [ -u
uid ] [ -s shell ] [ -r role1,role2 ... ] login
Description
The useradd command creates a new user account. The login parameter must be a unique string (its
length is can be configured by administrators using the chdev command). You cannot use the ALL or
default keywords in the user name.
The useradd command does not create password information for a user. It initializes the password field
with an asterisk (*). Later, this field is set with the passwd or pwdadm command. New accounts are
disabled until the passwd or pwdadm commands are used to add authentication information to the
/etc/security/passwd file.
The useradd command always checks the target user registry to make sure the ID for the new account is
unique to the target registry. The useradd command can also be configured to check all user registries of
Note: ID collision detection in the target registry is always enforced regardless of the dist_uniqid system
attribute.
The uniqbyname system attribute setting works well against two registries. With more than two registries,
and with ID collision already existing between two registries, the behavior of the useradd command is
unspecified when creating a new account in a third registry using colliding ID values. The new account
creation might succeed or fail depending on the order in which the registries are checked.
The check for ID collision only enforces ID uniqueness between the local registry and remote registries, or
between remote registries. There is no guarantee of ID uniqueness between the newly created account on
the remote registry and existing local users on other systems that make use of the same remote registry.
The useradd command bypasses a remote registry if the remote registry is not reachable at the time the
command is run.
Flags
-c comment Supplies general information about the user specified by
the login parameter. The comment parameter is a string
with no embedded colon (:) characters and cannot end
with the characters ’#!’.
-d dir Identifies the home directory of the user specified by the
login parameter. The dir parameter is a full path name.
-e expire Identifies the expiration date of the account. The expire
parameter is a 10-character string in the MMDDhhmmyy
form, where MM is the month, DD is the day, hh is the
hour, mm is the minute, and yy is the last 2 digits of the
years 1939 through 2038. All characters are numeric. If
the expire parameter is 0, the account does not expire.
The default is 0. See the date command for more
information.
-g group Identifies the user’s primary group. The group parameter
must contain a valid group name and cannot be a null
value.
-G group1,group2,... Identifies the groups the user belongs to. The
group1,group2,... parameter is a comma-separated list of
group names.
-k skel_dir Copies default files from skel_dir to user’s home directory.
Used only with -m flag.
-m Makes user’s home directory if it does not exist. The
default is not to make the home directory.
-r role1,role2,... Lists the administrative roles for this user. The
role1,role2,... parameter is a list of role names, separated
by commas.
Exit Status
0 The command completed successfully.
>0 An error occurred.
Examples
1. To create the davis user account with default values, enter:
useradd davis
Restrictions
To prevent login inconsistencies, avoid composing user names entirely of uppercase alphabetic characters.
While the useradd command supports multibyte user names, restrict user names to characters with the
POSIX-portable filename character set.
To ensure that your user database remains uncorrupted, you must be careful when naming users. User
names must not begin with a hyphen (-), plus sign (+), at sign (@), or tilde (~). You cannot use the
keywords ALL or default in a user name. Additionally, do not use any of the following characters within a
user-name string:
: Colon
" Double quote
# Pound sign
, Comma
= Equal sign
\ Back slash
/ Slash
? Question mark
' Single quote
` Back quote
Finally, the login parameter cannot contain any space, tab, or newline characters.
Location
/usr/sbin/useradd
Files
The useradd command has read and write permissions to the following files.
Related Information
The chfn Command, chgroup Command, chgrpmem Command, chsh Command, lsgroup Command,
lsuser Command, mkgroup Command, mkuser Command, passwd Command, pwdadm Command,
rmgroup Command, rmuser Command, “setgroups Command” on page 76, “setsenv Command” on page
80, “su Command” on page 241, “userdel Command,” “usermod Command” on page 609.
userdel Command
Purpose
Removes a user account.
Syntax
userdel [ -r ] login
Description
The userdel command removes the user account identified by the login parameter. The command
removes a user’s attributes without removing the user’s home directory by default. The user name must
already exist. If the -r flag is specified, the userdel command also removes the user’s home directory.
Only the root user or users with UserAdmin authorization can remove administrative users. Administrative
users are those users with admin=true set in the /etc/security/user file.
Flags
-r Removes the user's home directory.
Exit Status
0 The command completed successfully.
>0 An error occurred.
Examples
1. To remove the user davis account and its attributes from the local system, enter:
userdel davis
Location
/usr/sbin/userdel
Files
The userdel command has read and write permissions to the following files.
Related Information
The chfn Command, chgroup Command, chgrpmem Command, chsh Command, lsgroup Command,
lsuser Command, mkgroup Command, mkuser Command, passwd Command, pwdadm Command,
rmgroup Command, rmuser Command, “setgroups Command” on page 76, “setsenv Command” on page
80, “su Command” on page 241, “useradd Command” on page 605, “usermod Command.”
usermod Command
Purpose
Changes user attributes.
Syntax
usermod [ -u uid ] [ -g pgroup ] [ -G group1,group2 ... ] [ -d dir [ -m ] ] [ -s shell ] [ -c comment ] [ -l
new_name ] [ -e expire ] [ -R role1,role2 ... ] login
Description
Attention: Do not use the usermod command if you have a Network Information Service (NIS)
database installed on your system.
The usermod command changes attributes for the user identified by the login parameter. The user name
must already exist. To change an attribute, specify the flag and the new value. The following files contain
local user attributes that are set by this command:
v /etc/passwd
v /etc/security/environ
v /etc/security/limits
v /etc/security/user
v /etc/security/user.roles
v /etc/security/audit/config
v /etc/group
v /etc/security/group
Avoid changing the ID for an account so that system security is not compromised. However, when the ID
is changed using the usermod command, ID collision checking is also controlled by the dist_uniqid
attribute in the usw stanza of the /etc/security/login.cfg file. The behavior of ID collision control is the
same as that described for the mkuser command.
Flags
-c comment Supplies general information about the user specified by the login parameter.
The comment parameter is a string with no embedded colon (:) characters and
cannot end with the characters ’#!’.
-d dir Changes the home directory to the directory specified by the dir parameter.
Exit Status
0 The command completed successfully.
>0 An error occurred.
Examples
1. To change the user davis to be a member of the system group, enter:
usermod -g system davis
Restrictions
To ensure the integrity of user information, some restrictions apply when using the usermod command.
Only the root user or users with UserAdmin authorization can use the usermod command to perform the
following tasks:
v Make a user an administrative user by setting the admin attribute to true.
v Change any attributes of an administrative user.
v Add a user to an administrative group
An administrative group is a group with the admin attribute set to True. Members of the security group can
change the attributes of nonadministrative users and add users to nonadministrative groups.
The usermod command manipulates local user data only. You cannot use it to change data in registry
servers like NIS and DCE.
Location
/usr/sbin/usermod
Files
The usermod command has read and write permissions to the following files.
Related Information
The chfn Command, chgroup Command, chgrpmem Command, chsh Command, lsgroup Command,
lsuser Command, mkgroup Command, mkuser Command, passwd Command, pwdadm Command,
rmgroup Command, rmuser Command, “setgroups Command” on page 76, “setsenv Command” on page
80, “su Command” on page 241, “useradd Command” on page 605, “userdel Command” on page 608.
users Command
Purpose
Displays a compact list of the users currently logged on to the system.
Syntax
users [ File ]
Description
The users command lists the login names of the users currently logged on to the system to standard
output (stdout) in a compact, one-line list format. If an argument is given, it is used as an alternate file
instead of /etc/utmp.
Files
/etc/utmp Contains list of current users.
/usr/bin/users Contains the users command.
Related Information
The who command.
usrck Command
Purpose
Verifies the correctness of a user definition.
Syntax
usrck { -l [ -b ] | -n | -p | -t | -y } { ALL | User ... }
Description
The usrck command verifies the correctness of the user definitions in the user database files, by checking
the definitions for ALL the users or for the users specified by the User parameter. If more than one user is
specified, there must be a space between the names. You must select a flag to indicate whether the
system should try to fix erroneous attributes.
The usrck command verifies that each user name listed in the /etc/passwd file has a stanza in the
/etc/security/user, /etc/security/limits and /etc/security/passwd files. The usrck command also verifies
that each group name listed in the /etc/group file has a stanza in the /etc/security/group file. The usrck
command using the -y flag creates stanzas in the security files for the missing user and group names.
A list of all the user attributes follows, with notations stating which attributes are checked:
account_locked No check. The usrck command sets this attribute to True and disables accounts.
admgroups Checks to see if the admgroups are defined in the user database and, if you indicate
that the system should fix errors, the command removes any groups that are not in the
database.
auditclasses Checks to see if the auditclasses are defined for the user in the /etc/security/audit/
config file. If you indicate that the system should fix errors, the command deletes all
the auditclasses that are not defined in the /etc/security/audit/config file.
auth1 Checks the primary authentication method. Unless the method is NONE or SYSTEM, it
must be defined in the /etc/security/login.cfg file and the program attribute must exist
and be executable by the root user. If you indicate that the system should fix errors, it
will disable the user account if an error is found.
Note: The auth1 attribute is deprecated and should not be used.
auth2 Checks the secondary authentication method. Unless the method is NONE or SYSTEM,
it must be defined in the /etc/security/login.cfg file and the program attribute must
exist and be executable by the root user. There is no system fix.
Note: The auth2 attribute is deprecated and should not be used.
core Ensures that the values are sensible. If not, the command resets the values to 200
blocks, the minimum value.
core_hard Ensures that the values are sensible. If not, the command resets the values to 200
blocks, the minimum value.
cpu Ensures that the values are sensible. If not, the command resets the values to 120
seconds, the minimum value.
cpu_hard Ensures that the values are sensible. If not, the command resets the values to 120
seconds, the minimum value.
data Ensures that the values are sensible. If not, the command resets the values to 1272
blocks (636K), the minimum value.
data_hard Ensures that the values are sensible. If not, the command resets the values to 1272
blocks (636K ), the minimum value.
dictionlist Checks the list of dictionary files. If you indicate that the system should fix errors, all
dictionary files that do not exist are deleted from the user database.
expires No check.
fsize Ensures that the values are sensible. If not, the command resets the values to 200
blocks, the minimum value.
fsize_hard Ensures that the values are sensible. If not, the command resets the values to 200
blocks, the minimum value.
gecos No check.
histexpire Ensures that the values are sensible. If you indicate that the system should fix errors,
values that are too large are set to the largest possible value and values that are too
small are set to the smallest possible value.
histsize Ensures that the values are sensible. If you indicate that the system should fix errors,
values that are too large are set to the largest possible value and values that are too
small are set to the smallest possible value.
maxage Ensures that the values are sensible. If you indicate that the system should fix errors,
values that are too large are set to the largest possible value and values that are too
small are set to the smallest possible value.
maxexpired Ensures that the values are sensible. If you indicate that the system should fix errors,
values that are too large are set to the largest possible value and values that are too
small are set to the smallest possible value.
maxrepeats Ensures that the values are sensible. If you indicate that the system should fix errors,
values that are too large are set to the largest possible value and values that are too
small are set to the smallest possible value.
minage Ensures that the values are sensible. If you indicate that the system should fix errors,
values that are too large are set to the largest possible value and values that are too
small are set to the smallest possible value. The system also indicates if the minage
attribute is larger than the maxage attribute.
minalpha Ensures that the values are sensible. If you indicate that the system should fix errors,
values that are too large are set to the largest possible value and values that are too
small are set to the smallest possible value.
mindiff Ensures that the values are sensible. If you indicate that the system should fix errors,
values that are too large are set to the largest possible value and values that are too
small are set to the smallest possible value.
minlen Ensures that the values are sensible. If you indicate that the system should fix errors,
values that are too large are set to the largest possible value and values that are too
small are set to the smallest possible value.
minother Ensures that the values are sensible. If you indicate that the system should fix errors,
values that are too large are set to the largest possible value and values that are too
small are set to the smallest possible value. The system also indicates if the minage
attribute plus the maxage attribute is greater than the maximum password size.
name Checks the uniqueness and composition of the user name. The name must be a unique
string of eight bytes or less. It cannot begin with a + (plus sign), a : (colon), a - (minus
sign), or a ~ (tilde). Names beginning with a + (plus sign) or with a - (minus sign) are
assumed to be names in the NIS (Network Information Service) domain, and no further
processing is performed. It cannot contain a colon (:) in the string and cannot be the
ALL or default keywords. If you indicate that the system should fix errors, the
command disables the user account if an error is found and deletes any invalid entry in
the /etc/passwd file.
The usrck command verifies that, for each user name listed in the /etc/passwd file,
there is a stanza in the /etc/security/user, /etc/security/limits, and
/etc/security/passwd files. The command adds stanzas for each one identified as
missing. The usrck command additionally verifies that each group name listed in the
/etc/group file has a stanza in the /etc/security/group file.
nofiles Ensures that the value is sensible. If not, resets the value to 200, the minimum value.
nofiles_hard Ensures that the value is sensible. If not, resets the value to 200, the minimum value.
pgrp Checks for the existence of the primary group in the user database. If you indicate that
the system should fix errors, it will disable the user account if an error is found.
pwdchecks Checks the list of external password restriction methods. If you indicate that the system
should fix errors, all methods that do not exist are deleted from the user database.
If the fix involves disabling a user account, use the chuser command to reset the value of the
account_locked attribute to False. You can use the System Management Interface Tool (SMIT) to run the
chuser command by entering:
smit chuser
The root user or a member of the security group can enable a user account again by removing the
account_locked attribute or setting the account_locked attribute to False. The root user’s account is not
disabled by the usrck command.
Generally, the sysck command calls the usrck command as part of the verification of a trusted-system
installation. If the usrck command finds any errors in the user database, the root user or a member of the
security group should execute both the grpck command and the pwdck command.
The usrck command checks to see if the database management security files (/etc/passwd.nm.idx,
/etc/passwd.id.idx, /etc/security/passwd.idx, and /etc/security/lastlog.idx) files are up-to-date or newer
than the corresponding system security files. Please note, it is all right for the /etc/security/lastlog.idx to
be not newer than /etc/security/lastlog. If the database management security files are out-of-date, a
warning message appears indicating that the root user should run the mkpasswd command.
The usrck command checks if the specified user can log in. If the user cannot log in because of too many
unsuccessful login attempts or because the password is expired, the usrck command issues a warning
message indicating why the user cannot log in. If you indicate that the system should fix errors, the system
disables the user account if the user cannot log in for the above reasons.
If the -l flag is specified, the usrck command scans all users or the users specified by the User parameter
to determine if users can access the system. The criteria used to determine accessibility for a user are
listed in the following table:
If the -b flag is also specified, the output consists of two fields, the user name and a 16-digit bit mask,
separated by a tab. Each digit in the bit mask corresponds to a criteria in the User Accessibility Criteria
table above, with criteria 1 represented by the rightmost digit. If the bit location for a criteria is set to 1, the
check for this criteria failed for the user. Extra digits in the output are reserved for future use.
The following is an example of the usrck command with the -l and -b flags:
Flags
-b Reports users who are not able to access the system and the reasons, with the reasons displayed in a
bit-mask format. The -l flag must be specified if the -b flag is specified.
Note: The bit mask does not report criteria 10 (user denied login to terminal), since this cannot be considered
a complete scenario when determining if a system is inaccessible to a user. Likewise, the bit mask does not
report criteria 9 (User denied access by applications) if at least one but not all of the attributes’ values deny
authentication; this criteria is only reported when all four attribute values deny authentication.
-l Scans all users or the users specified by the User parameter to determine if the users can access the system.
-n Reports errors but does not fix them.
-p Fixes errors but does not report them.
-t Reports errors and asks if they should be fixed.
-y Fixes errors and reports them.
Security
Access Control: This command should grant execute (x) access to the root user and members of the
security group. The command should be setuid to the root user and have the trusted computing base
attribute.
Files Accessed:
Mode File
r /etc/passwd
r /etc/security/user
rw /etc/security/group
rw /etc/group
rw /etc/security/lastlog
rw /etc/security/limits
rw /etc/security/audit/config
rw /etc/security/login.cfg
Auditing Events:
Event Information
USER_Check user, attribute-error, status
Exit Status
This command returns the following exit values:
Examples
1. To verify that all the users exist in the user database, and have any errors reported (but not fixed),
enter:
usrck -n ALL
2. To delete from the user definitions those users who are not in the user database files, and have any
errors reported, enter:
usrck -y ALL
3. To display the list of users who are unable to access the system, enter:
usrck -l ALL
4. To display the list of users who are unable to access the system, in a bit mask format, enter:
usrck -l -b ALL
Files
/usr/bin/usrck Specifies the path of the usrck command.
/etc/passwd Contains basic user attributes.
/etc/security/user Contains the extended attributes of users.
/etc/group Contains basic group attributes.
/etc/security/group Contains the extended attributes of groups.
/etc/security/lastlog Contains the last login attributes for users.
/etc/security/limits Contains the process resource limits of users.
/etc/security/audit/config Contains audit system configuration information.
/etc/security/login.cfg Contains configuration information.
Related Information
The grpck command, pwdck command, sysck command.
Securing the network in Security describes the identification and authentication of users, discretionary
access control, the trusted computing base, and auditing.
utmpd Daemon
Purpose
Monitors and maintains /etc/utmp file.
Description
The utmpd daemon monitors the /etc/utmp file for validity of the user process entries at regular intervals.
An user process that has been terminated, but has not been cleaned up in the /etc/utmp file, is removed
by cross checking the process id of the entry against the process table.
The Interval parameter specifies the amount of time in seconds between each scan of the /etc/utmp file.
The default interval time would be 300 seconds.
Usage
To start utmpd from /etc/inittab, add the following entry to the file:
utmpd:2:respawn:/usr/sbin/utmpd
init starts the utmpd daemon during system startup. To have the changes take effects immediately without
rebooting, type:
telinit q
Security
Only the root user can read and execute this command.
Files
/etc/inittab Specifies stanzas read by the init command.
/etc/utmp Contains a record of users logged into the system.
uucheck Command
Purpose
Checks for files and directories required by BNU.
Syntax
uucheck [ -v ] [ -x DebugLevel ]
Description
The uucheck command verifies the presence of the files and directories required by the Basic Networking
Utilities (BNU) facility. The command also checks for some errors in the /etc/uucp/Permissions file.
Note: The uucheck command does not check for correct file and directory modes or for errors in the
/etc/uucp/Permissions file, such as duplicate login or machine names.
Issue the uucheck command from the command line after installing the BNU program, configuring the
BNU facility for your site, or making changes in part of the BNU facility, such as the /etc/uucp/
Permissions file.
Note: Only someone with root user authority can use the uucheck command at the command line.
Flags
-v Displays a detailed explanation of how BNU interprets the /etc/uucp/Permissions file.
Examples
1. To find out how the BNU programs interpret the /etc/uucp/Permissions file, enter:
uucheck -v
The -v flag instructs the uucheck command to verify that the BNU files exist and displays a detailed
explanation of how the BNU programs interpret the /etc/uucp/Permissions file. The output is similar to
the following:
*** uucheck: Check Required Files and Directories
*** uucheck: Directories Check Complete
Machine(s): (nostromo)
CAN execute the following commands:
command (ALL), fullname (ALL)
uucheck -x8
Files
/etc/uucp/Permissions Describes access permissions for remote systems.
/etc/uucp/Systems Describes accessible remote systems.
uucico Daemon
Purpose
Transfers Basic Networking Utilities (BNU) command, data, and execute files to remote systems.
Syntax
uucico [ -r RoleNumber ] [ -x DebugLevel ] -s SystemName
Description
The uucico daemon transfers Basic Networking Utilities (BNU) command (C.*), data (D.*), and execute
(E.*) files, created by the uucp and uux commands, to a specified remote system. Both the local and
remote systems run the uucico daemon, and the two daemons communicate with each other to complete
transfer requests.
Usually the uucico daemon is called by the uucp and uux commands when needed and is started
periodically by the BNU scheduling daemon, uusched, which is started by the cron daemon.
The uucico daemon can be started from the command line for debugging. The BNU uutry, Uutry, and
uukick commands also start the uucico daemon with debugging turned on.
Requirement: Either you must be in the /usr/sbin/uucp directory when you call the uucico daemon, or
you must call the daemon with the full path name, /usr/sbin/uucp/uucico.
Tip: In the case of a uux command request for the execution of a command on a remote system, the
uucico daemon transfers the files and the uuxqt daemon executes the command on the remote
system.
Example
To call the uucico daemon from the command line, enter:
to start the daemon as a background process and contact remote system hera.
Files
/etc/locks /* Contains lock files which prevent multiple uses of
devices and multiple calls to systems.
/usr/sbin/uucp/* Contains the uucico daemon and the
configuration files for BNU.
/etc/uucp/Devices Contains information about available devices.
/etc/uucp/Dialcodes Contains dialing code abbreviations.
/etc/uucp/Dialers Specifies initial handshaking on a connection.
/etc/uucp/Maxuuscheds Limits scheduled jobs.
/etc/uucp/Maxuuxqts Limits remote command executions.
/etc/uucp/Permissions Describes access permissions for remote systems.
/etc/uucp/Systems Describes accessible remote systems.
/var/spool/uucp/.Admin/errors Lists uucico daemon errors that BNU cannot
correct.
/var/spool/uucp/.Log/uucico /* Contains uucico daemon log files.
/var/spool/uucp/.Status/SystemName Lists the last time a remote system was contacted
and the minimum time until the next retry.
/var/spool/uucp/SystemName /* Contains C.*, D.*, and X.* files to be transferred
by the uucico daemon.
/var/spool/uucp/SystemName/C.* Contains command files.
/var/spool/uucp/SystemName/D.* Contains data files.
/var/spool/uucp/SystemName/X.* Contains execute files.
/var/spool/uucppublic/* Contain files after transfer by the uucico daemon.
Related Information
The cron daemon, uusched daemon.
The uucp command, uukick command, uuq command, uustat command, uusnap command, uutry
command, Uutry command, uux command.
BNU daemons, BNU file and directory structure in Networks and communication management.
uuclean Command
Purpose
Removes files from the BNU spool directory.
Syntax
/usr/sbin/uucp/uuclean [ -m ] [ -nHours ] [ -pPrefix ] [ -dSubdirectory ]
Description
The uuclean command checks the Basic Networking Utilities (BNU) spool directory (/var/spool/uucp) for
files with the specified prefixes and deletes those that are older than the given number of hours. If the
-nHours flag is not included, the uuclean command deletes files that are older than 72 hours.
If the -p flag is not included, the uuclean command deletes all files in the specified subdirectories of the
spool directory that meet the age requirement. If the -d flag is not included, the command deletes all the
files (that meet the age and prefix requirements) in all the subdirectories of the spool directory. Thus if
neither the -d or the -p flag is included, the uuclean command deletes all files in all subdirectories of the
/var/spool/uucp directory that meet the age requirement.
If the -m flag is not specified, the uuclean command sends mail to owners of all command (C.*) files that
it deletes. If the -m flag is specified, the command sends mail to the owner of each file it deletes, including
data (D.*) and execute (X.*) files. The mail message includes the name of the deleted file.
Note: Only someone with root user authority or who is logged in as uucp can issue the uuclean
command.
Flags
-dSubdirectory Deletes files from the specified subdirectory of the /var/spool/uucp directory if they
match specifications given with the -n and -p flags. If the -d flag is not specified, the
uuclean command checks all subdirectories of the /var/spool/uucp directory. Up to 10
subdirectories can be specified with the -d flag.
-m Instructs the uuclean command to send mail to the owner of each file when it is deleted.
-nHours Deletes files whose ages are more than the number of hours specified by the Hours
variable, if they match specifications given with the -d and -p flags. The default is 72
hours.
-pPrefix Deletes files with the prefix given by the Prefix variable, if they match specifications given
with the -n and -d flags. Up to 10 prefixes can be specified with the -p flag.
Examples
1. To delete all old command files, enter:
/usr/sbin/uucp/uuclean -pC
This command deletes all files in all subdirectories of the /var/spool/uucp directory whose names
begin with C and that are older than 72 hours (the default). The system sends mail to the original
owner of each file, stating that the file has been deleted.
This command deletes all files in all subdirectories of the spool directory, if the files are older than 72
hours (the default). It sends mail to the owner of each file it deletes.
4. To schedule the uuclean command to be started periodically by the cron daemon, add an entry similar
to the following to your /var/spool/cron/crontabs/uucp file:
15 22 * * * /usr/sbin/uucp/uuclean -n96 -pC -pD -pX
This entry will cause the cron daemon to start the uuclean command at 22:15 (10:15 p.m.) daily. The
uuclean command will delete all command (C.*), data (D.*), and execute (X.*) files that are older than
96 hours from all subdirectories of the spool directory.
Files
/usr/sbin/uucp/uuclean Contains the uuclean command.
/var/spool/uucp /* Contains spooling files removed by the uuclean command.
/var/spool/cron/crontabs/uucp Schedules uucp jobs for the cron daemon.
Related Information
The uucp command, uux command, uucleanup command, uudemon.cleanu command.
BNU file and directory structure, BNU maintenance commands in Networks and communication
management.
uucleanup Command
Purpose
Deletes selected files from the Basic Networking Utilities (BNU) spooling directory.
Syntax
uucleanup [ -CDays ] [ -WDays ] [ -mString ] [ -DDays ] [ -TDays ] [ -XDays ] [ -o Days] [
-sSystemName ]
Description
The Basic Networking Utilities (BNU) uucleanup command scans the spooling directory (/var/spool/uucp)
for files that are older than a specified number of days and removes them. The uucleanup command
performs the following tasks:
v Informs the requester of send and receive requests for systems that cannot be reached.
v Warns users about requests that have been waiting for a given number of days. The default is 1 day.
v Returns to the sender mail that cannot be delivered.
v Removes from the spool directory all other files older than a specified number of days.
Flags
-CDays Removes C.* (command) files as old as, or older than, the number of days specified by the
Days variable, and notifies the requester that the files have been deleted. The default time
is 7 days.
-DDays Removes D.* (data) files as old as, or older than, the number of days specified by the Days
variable. Also attempts to deliver any remaining mail messages. The default time is 7 days.
-mString Includes a specified line of text in the warning message generated by the -WDays option.
The default line is See your local administrator to locate the problem.
-oDays Removes other files as old as, or older than, the number of days specified by the Days
variable. The default time is 2 days.
-sSystemName Executes the uucleanup command only on the spooling directory specified by the System
variable. The default is to clean up all BNU spooling directories.
Restriction: System names can contain only ASCII characters.
-TDays Removes TM.* (temporary) files as old as, or older than, the number of days specified by
the Days variable. Also attempts to deliver any remaining mail messages. The default time
is 7 days.
-WDays Sends an electronic mail message to the requester warning that C.* (command) files as old
as, or older than, the number of days specified by the Days variable are still in the spooling
directory. The message includes the job ID and, if the request included mail, the mail
message. The administrator can use the -m option to include a message line telling whom
to call to check the problem. The default time is 1 day.
-XDays Removes any X.* (execute) files as old as, or older than, the number of days specified by
the Days variable. The default time is 2 days.
Examples
Warning Users That Their Command Files Have Not Been Sent
1. To send a warning for C.* (command) files 2 or more days old, enter:
uucleanup -W2
This warns the requester that the files have not been sent.
2. To send a message with the warning, enter:
This locates C.* (command) files 1 or more days old (default), warns requesters that their files have
not been sent, and gives the message: Check these files waiting in the BNU job queue.
uucleanup -C5
This removes all D.* (data) files and all X.* (execute) files 3 or more days old.
3. To clean up all files at once using defaults, enter:
uucleanup
This removes all C.*, D.*, T.*, and X.* files, and all other files older than the default times.
Important: Whenever the -C and -W flags are used together, make sure the value specified for the -W
flag is less than that for the -C flag. Otherwise, the -C flag will delete all the C.*
(command) files before any warnings can be printed.
uucleanup -shera
This removes all files using defaults for system hera, but does not remove any files for any other systems.
Files
/usr/sbin/uucp/* Contains the uudemon.cleanu shell procedure and all the
configuration files for BNU.
/var/spool/cron/crontabs/uucp Schedules BNU jobs for the cron daemon, including the
uudemon.cleanu shell procedure.
/var/spool/uucp/* Contain files removed by the uucleanup command.
Related Information
The cron daemon.
The uucp command, uudemon.cleanu command, uustat command, uux command, uuclean command.
uucp Command
Purpose
Copies files from one system to another.
Syntax
uucp [ -c | -C ] [ -d | -f ] [ -gGrade ] [ -j ] [ -m ] [ -nUser] [ -r ] [ -sFile ] [
-xDebugLevel ] SourceFile ... DestinationFile ...
Description
The uucp command is a Basic Networking Utilities (BNU) command that copies one or more source files
from one system to one or more destination files on another UNIX system. Files can be copied within a
local system, between a local and a remote system, and between two remote systems.
where N is the grade of the request and xxxx is the hexadecimal sequence number used by BNU.
If the uucp command is used with the -C flag to copy the files to the spool directory for transfer, the uucp
command creates not only a command file, but also a data (D.*) file that contains the actual source file.
The full path name of a data file is a form of the following:
/var/spool/uucp/SystemName/D.SystemNamexxxx###
Once the command files (and data files, if necessary) are created, the uucp command then calls the
uucico daemon, which in turn attempts to contact the remote computer to deliver the files.
It is useful to issue the uuname command to determine the exact name of the remote system before
issuing the uucp command. The uulog command provides information about uucp activities with another
system.
SystemName!PathName
where SystemName is taken from a list of system names that BNU knows about.
The destination SystemName can also be a list of names, such as the following:
SystemName!SystemName! . . . ! SystemName!PathName
In this case, an attempt is made to send the file using the specified route to the destination. Make sure
that intermediate nodes in this route are willing to forward information, and that they actually talk to the
next system.
The shell pattern-matching characters ? (question mark), * (asterisk), and [ . . . ] (brackets and ellipsis)
can be used in the path names of the source file; the appropriate system expands them. The shell
pattern-matching characters should not be used in the path name of the destination file.
If the DestinationFile is a directory rather than a file, the uucp command uses the last part of the
SourceFile name to name the transferred file on the remote system.
Path Names
Path names for the SourceFile and DestinationFile parameters contain only ASCII characters. Paths for
the source file can be one of the following:
v A full path name
v A relative path name
Paths for the DestinationFile parameter can be in the forms for the SourceFile parameter, or can be one of
the following:
Permissions
v The system administrator should restrict the access to local files by users on other systems.
v When transmitting files, the uucp command preserves execute permissions and grants read and write
permissions to the owner, the group, and all others. (The uucp command owns the file.)
v Sending files to arbitrary DestinationFile path names on other systems or getting files from arbitrary
SourceFile path names on other systems often fails because of security restrictions. The files specified
in the path name must give read or write permission not only for the same group of users but also for
any group.
v Protected files and files in protected directories owned by the requestor can be sent by the uucp
command.
Flags
-c Prevents files from being copied. This flag is the default and should not be used with the -C
flag. If both flags are specified, the -c flag is overridden.
-C Copies local files to the spool directory for transfer. Depending on the configuration of the
Poll and Systems files and on how often the uusched daemon is run, the files may be
transferred immediately on demand polling or in the future.
Occasionally, problems occur while transferring a source file; for example, the remote
computer may not be working or the login attempt may fail. In such a case, the file remains in
the spool directory until it is either transferred successfully or removed by a cleanup
command.
The -m flag works only when sending files or receiving a single file. It does not work when
forwarding files.
-nUser Notifies the recipient on the remote system identified by the User entry that a file has been
sent. The mail system does not send a message for a local transfer. User names can contain
only ASCII characters. Receiving multiple files specified by the shell pattern-matching
characters ? (question mark), * (asterisk), and [ . . . ] (brackets and ellipses) does not
activate the -n option.
-r Prevents the starting of the uucico file transfer daemon, even if the command was issued at
a time when calls to the remote system are permitted. (By default, a call to the remote
system is attempted if the command is issued during a time period specified in the Poll and
Systems files.) The -r option is useful for debugging.
-sFile Reports the status of the transfer to the specified file. In this case, the File variable must
designate a full path name.
-xDebugLevel Displays debugging information on the screen of the local system. The DebugLevel variable
is a number from 0 to 9. The higher the number, the more detailed the report.
Examples
1. To copy a file from the local system to a remote system, enter:
uucp /home/geo/f1 hera!/home/geo/f1
In this example, the f1 file from the local system is copied to remote system hera.
2. To copy a file from the remote system and place it in the public directory, enter:
uucp hera!geo/f2 /var/spool/uucppublic/f2
In this example, the f2 file from remote system hera is copied and placed in the public directory.
3. To copy a file from the remote system and place it in a directory other than the public directory, enter:
uucp hera!geo/f2 /home/geo/f2
In this example, the f2 file from the remote system hera is copied to the /home/geo/f2 directory. The
geo login directory must allow write permission to members of the other group, for example, with mode
777.
Files
/usr/bin/uucp Contains the uucp command.
/etc/uucp/Poll File listing times when remote systems are
automatically called (polled).
/etc/uucp/Systems File describing accessible remote systems.
/etc/uucp/Sysfiles Specifies alternate files to be used as
Systems files.
/var/spool/uucp Spooling directory containing BNU status
information.
/var/spool/uucppublic Public directory containing files awaiting
transfer by the uucico daemon.
/var/spool/uucppublic/SystemName/C.* Contains command files.
/var/spool/uucppublic/SystemName/D.* Contains data files.
uucpadm Command
Purpose
Enters basic BNU configuration information.
Syntax
uucpadm
Description
The uucpadm command provides interactive entry and modification of basic BNU configuration
information in the Devices, Systems, Permissions, Poll, and Dialcodes files in the /etc/uucp directory.
You can use the uucpadm command repeatedly to adjust the same file.
When you enter the uucpadm command at the command line, the command displays a list of the files you
can change. After you choose a file to modify, the command displays a vertical list of the names of the
fields in that file. You can enter the appropriate entry in each field. When you press the Enter key, the
cursor moves to the next field in the list.
The command uses a copy of a file to record changes. The original file remains unchanged until you press
the Ctrl+U or Ctrl+X key sequence at the appropriate menu. You can exit to the main uucpadm menu at
any time, without saving your changes, by using the Ctrl+D key sequence.
The help routine provides instructions for each data field. Type a ? (question mark) in any menu field to
access the help routine for that field.
Type a ~ (tilde) in any field to enter an ASCII editor and edit the appropriate file for that field. The
uucpadm command invokes the editor designated by the EDITOR environment variable. If the EDITOR
variable is not defined, the command invokes the vi editor.
If your entry for the first menu item matches an existing record, the uucpadm command retrieves that
record for update. The command also tells you how many records have that first entry. If your entry for the
first menu item does not match any existing record, the uucpadm command displays the word ADD at the
top of the screen.
The uucpadm command checks the data as you enter it. If an inconsistency among the files is found, the
command displays a warning message.
If the uucpadm command recognizes the entry you make for the first menu item, it fills in the default
values for the remaining fields. For example, if you type TCP as the Type in the Devices file menu, the
command places a - (hyphen) in each remaining field for you. It also checks for consistency with other
files and for processes that should be running on the system. For example, when you type TCP as the Type
in the Devices file menu, the uucpadm command checks to see if the uucpd daemon is running. If the
daemon is not running, the command displays a note after the Type field, as follows:
Note: The uucpadm command does not edit the /etc/uucp/Dialers file. Use an ASCII editor to edit this
file.
Mode File
rw /etc/uucp/Devices
rw /etc/uucp/Dialcodes
rw /etc/uucp/Permissions
rw /etc/uucp/Poll
rw /etc/uucp/Systems
Examples
1. To start the uucpadm command, type the following:
/usr/sbin/uucp/uucpadm
If the remote machine is merlin or nostromo, the login ID must be uucpz (VALIDATE option).
Remote hosts using this ID can request to send files, and the local host can sendfiles as
requested. Users with this ID can read all files with permissions granted to the others group, and
can write to all files, except those in the /etc directory, with permissions granted to the others
group.
The machine ID is merlin. Requests for file transfers can be made. The user can read all files and
can write to all files except those in the /etc directory. The execution of all commands is permitted.
5. To make an entry in the /etc/uucp/Poll file, choose the Add/Change Uucp Poll File option at the
uucpadm menu. Following is a sample uucpadm screen defining an entry in the Poll file:
System: merlin
Hours: 0 7 13 19
This entry instructs BNU to poll the merlin.aus.ibm.com system at 2400 hours (midnight), 700 hours (7
a.m.), 1300 hours (1 p.m.), and 1900 hours (7 p.m.).
6. To make an entry in the /etc/uucp/Dialcodes file, choose the Add/Change Uucp Dialcodes option at the
uucpadm menu. Following is a sample uucpadm screen defining an entry in the Dialcodes file:
Abr: LA
Dialcode: 1-213-
This entry assigns LA as the abbreviation for the Los Angeles area code.
Files
/usr/sbin/uucp/uucpadm Contains the uucpadm command.
/etc/uucp/Devices Contains information about available devices.
/etc/uucp/Dialcodes Contains dialing code abbreviations.
/etc/uucp/Dialers Specifies initial handshaking on a connection.
/etc/uucp/Permissions Describes access permissions for remote systems.
/etc/uucp/Poll Specifies when BNU polls remote systems to initiate tasks.
/etc/uucp/Systems Describes accessible remote systems.
Related Information
The uucp command, uuname command.
The uucheck command checks the /etc/uucp/Permissions file for correct configuration.
BNU configuration for a telephone connection example, Example of BNU configuration for a TCP/IP
connection, and BNU configuration for a direct connection in Networks and communication management.
uucpd Daemon
Purpose
Handles communications between BNU and TCP/IP.
uucpd
Description
The uucpd daemon is an internal program that enables users of systems linked by the Basic Networking
Utilities (BNU) program to establish a TCP/IP connection to other systems linked over a Token-Ring,
Ethernet, or other network.
The uucpd daemon is a subserver of the inetd daemon. The uucpd daemon must be running as a
background process on all the networked systems before the BNU program can use TCP/IP system to
communicate. If the uucpd daemon is not running, reconfigure the inetd daemon to start the uucpd
daemon. Use the netstat command to find out if the uucpd daemon is running.
Files
/etc/hosts Contains the host name table used by TCP/IP.
/etc/inetd.conf Contains the configuration of the inetd daemon.
/etc/services file Defines socket assignments used by TCP/IP.
/usr/sbin /uucpd Contains the uucpd daemon.
/etc/uucp/Devices Contains information about available devices.
/etc/uucp/Permissions Describes access permissions for remote systems.
/etc/uucp/Systems Describes accessible remote systems.
Related Information
The inetd daemon.
uudecode Command
Purpose
Decodes a binary file that was used for transmission using electronic mail.
Syntax
uudecode [ -o OutputFile ] [ InFile ]
Description
The uudecode command reads an encoded file, strips off leading and trailing lines added by mailers, and
recreates the original file with the specified mode and name. Decoding a file causes the result to be
automatically saved to a file. The file name is identical to the remote file argument originally supplied to
the uuencode command unless an output file name is specified with the -o flag.
Parameters
InFile Specifies the name of the file to decode.
Example
To decode the file /tmp/con on a local system that was encoded with the follwing command:
uuencode /usr/lib/boot/unix pigmy.goat > /tmp/con
enter:
uudecode /tmp/con
The file pigmy.goat will be identical to the originally encoded file /usr/lib/boot/unix.
Files
/usr/bin/uudecode Contains the uudecode command.
Related Information
The mail command, rmail command, sendmail command, uucp command, uuencode command,
uusend command, uux command.
uudemon.admin Command
Purpose
Provides periodic information on the status of BNU file transfers.
Syntax
uudemon.admin
Description
The /usr/sbin/uucp/uudemon.admin command is a shell procedure that mails status information about
the Basic Networking Utilities (BNU) activities to the uucp login ID at intervals specified in the
/var/spool/cron/crontabs/uucp file. The command executes both the uustat -p and the uustat -q
commands:
v The -p flag instructs the uustat command to run the ps -flp command (process status, which generates
a full, long list of specified process IDs) for all process ID (PID) numbers in the lock files.
v The -q flag lists the jobs currently queued to run on each system. These jobs either are waiting to
execute or are in the process of executing. If a status file exists for the system, its date, time, and
status information are reported.
Execute the uudemon.admin command at least once a day. The uudemon.admin command is not
enabled when you install the BNU program. To run this command automatically, edit the
Examples
To run the uudemon.admin command automatically, edit the /var/spool/cron/crontabs/uucp file and
remove the comment character (#) from the beginning of the uudemon.admin command line. Change:
#48 8,12,16 * * * /usr/bin/sh -c
"/usr/sbin/uucp/uudemon.admin > /dev/null"
to:
48 8, 12, 16 * * * /usr/bin/sh -c "/usr/sbin/uucp/uudemon.admin > /dev/null"
The 48 notation represents minutes, the 8,12,16 notation represents hours based on the 24-hour clock,
and the three asterisks (* * *) are placeholders representing the day of the month, the month of the year,
and the day of the week, respectively. This line therefore instructs the cron daemon to run the
uudemon.admin command daily at 48 minutes past the hours 0800, 1200, and 1600, that is, at 8:48 a.m.,
12:48 p.m., and 4:48 p.m., respectively.
Note: These run intervals are defaults. By altering them, you can change the times at which the cron
daemon executes the uudemon.admin command to fit the needs of your site.
Files
/usr/sbin/uucp/uudemon.admin Contains the uudemon.admin command and the configuration files for
BNU.
/etc/locks/* Contains lock files which prevent multiple uses of devices and multiple
calls to systems.
/var/spool/cron/crontabs/uucp Schedules BNU jobs, including the uudemon.admin command, for the
cron daemon.
Related Information
The uustat command.
uudemon.cleanu Command
Purpose
Cleans up BNU spooling directories and log files.
Syntax
uudemon.cleanu
Description
The /usr/sbin/uucp/uudemon.cleanu command is a shell script that cleans up the Basic Networking
Utilities (BNU) spooling directories and log files. The command deletes files in the spooling directories that
are as old as, or older than, a specified number of days, and then removes empty spooling directories.
The uudemon.cleanu command also updates archived log files by removing log information more than
three days old. The command removes log files for individual computers from the var/spool/uucp/.Log
directory, merges them, and places them in the var/spool/uucp/.Old directory, which contains old log
information.
Instruct the cron daemon to run the uudemon.cleanu command daily, weekly, or at longer intervals,
depending on the amount of transactions the uucico and uuxqt daemons perform on the local system.
To run this command automatically, remove the comment character (#) at the beginning of the
uudemon.cleanu command line in the /var/spool/cron/crontabs/uucp file.
Note: The uudemon.cleanu command is not usually entered on the command line but is instead
executed by the cron daemon.
Example
To run the uudemon.cleanu procedure automatically, edit the /var/spool/cron/crontabs/uucp file and
uncomment the uudemon.cleanu line. Change:
# 45 23 * * * /usr/bin/sh -c
"/usr/sbin/uucp/uudemon.cleanu > /dev/null"
to:
45 23 * * * /usr/bin/sh -c "/usr/sbin/uucp/uudemon.cleanu > /dev/null"
The 45 notation represents minutes, the 23 notation represents hours based on the 24-hour clock, and the
three asterisks (* * *) are placeholders representing the day of the month, the month of the year, and the
day of the week, respectively. This line therefore instructs the cron daemon to run the uudemon.cleanu
shell procedure at 45 minutes after hour 2300-that is, at 11:45 p.m.
Notes:
1. These run intervals are defaults. By altering them, you can change the times at which the cron
daemon executes the uudemon.cleanu command so that they fit the needs of your site.
2. The system allots the BNU program a specified amount of storage space for any one particular log file;
the number of blocks is determined by the default ulimit value. If the uudemon.cleanu command fails
to execute because the ulimit value is set too low for the requirements of the local system, delete the
uudemon.cleanu command line (shown previously) from the /var/spool/cron/crontabs/uucp file and
add the following entry to the root crontabs file, /var/spool/cron/crontabs/root:
45 23 * * * ulimit 5000; /usr/bin/su uucp
-c "/usr/sbin/uucp/uudemon.cleanu > /dev/null"
Put the text on one line when entering it in the root crontabs file.
Files
/usr/sbin/uucp/uudemon.cleanu Contains the uudemon.cleanu command.
/var/spool/cron/crontabs/uucp Schedules BNU jobs, including the uudemon.cleanu
command, for the cron daemon.
/var/spool/cron/crontabs/root Schedules root user jobs for the cron daemon.
/var/spool/uucp/.Log /* Contains the BNU program log files.
Related Information
The uustat command, uux command.
Purpose
Initiates file transport calls to remote systems using the BNU program.
Syntax
uudemon.hour
Description
The /usr/sbin/uucp/uudemon.hour command is a shell procedure used by the Basic Networking Utilities
(BNU). In conjunction with the Poll file, the uudemon.poll command, and the /var/spool/cron/crontabs/
uucp file, the uudemon.hour command initiates calls to remote systems.
The uudemon.hour command calls the following programs, which are involved in transferring files
between systems at specified hourly intervals:
v The uusched daemon first searches the spooling directory on the local system for command files that
have not been transferred to the specified remote system, and then schedules the transfer of those
files.
v The uuxqt daemon searches the spooling directory for execute files that have been transferred to the
local system but have not yet been processed on that system.
Instruct the cron daemon to run the uudemon.hour command at specified hourly intervals. The frequency
at which you run the uudemon.hour command depends on the amount of file-transfer activity originating
from the local computer. If users on the local system initiate a large number of file transfers, you may need
to specify that the cron daemon should start the uudemon.hour command several times an hour. If the
number of file transfers originating from the local system is low, you can probably specify a start time once
every 4 hours, for example.
To run the uudemon.hour command automatically, remove the comment character (#) from the beginning
of the uudemon.hour command line in the /var/spool/cron/crontabs/uucp file.
Note: The uudemon.hour command is not usually entered on the command line, but is executed by the
cron daemon.
Example
To run the uudemon.hour command automatically, edit the /var/spool/cron/crontabs/uucp file and
remove the comment character (#) at beginning of the uudemon.hour command line. Change:
#25,55 * * * * /usr/bin/sh -c "/usr/sbin/uucp/uudemon.hour > /dev/null"
to:
25,55 * * * * /usr/bin/sh -c "/usr/sbin/uucp/uudemon.hour > /dev/null"
The 25,55 notation represents minutes, and the four asterisks (* * * *) are placeholders representing the
hour of the day, the day of the month, the month of the year, and the day of the week, respectively.
Therefore, this line instructs the cron daemon to run the uudemon.hour command at 25 minutes past the
hour and again at 55 minutes past the hour; for example, at 8:25 and 8:55 a.m., again at 9:25 and 9:55
a.m., and again every hour of every day.
Notes:
1. These run intervals are defaults. By altering them, you can change the times at which the cron
daemon executes the uudemon.hour command to fit the needs of your site. For example, to run the
uudemon.hour command once every 4 hours, type the numeral 4 in the time-interval field.
Files
/usr/sbin/uucp/uudemon.hour Contains the uudemon.hour command.
/etc/uucp/Poll Specifies when the BNU program should poll remote systems to initiate
tasks.
/var/spool/cron/crontabs/uucp Schedules BNU jobs, including the uudemon.hour and uudemon.poll
commands, for the cron daemon.
Related Information
The uudemon.poll command.
uudemon.poll Command
Purpose
Polls the systems listed in the BNU Poll file.
Syntax
uudemon.poll
Description
The /usr/sbin/uucp/uudemon.poll command is a shell procedure used by the Basic Networking Utilities
(BNU). In conjunction with the /etc/uucp/Poll file, the uudemon.hour command, and the
/var/spool/cron/crontabs/uucp file, the uudemon.poll command initiates calls to remote systems.
The time at which you run the uudemon.poll command depends on the time at which you run the
uudemon.hour command. In general, schedule the polling shell procedure before the hourly procedure.
This schedule enables the uudemon.poll command to create any required command files before the cron
daemon runs the uudemon.hour command.
Instruct the cron daemon to run the uudemon.poll command about 5 to 10 minutes before running the
uudemon.hour command. To run this procedure automatically, remove the comment character (#) from
the beginning of the uudemon.poll command line in the /var/spool/cron/crontabs/uucp file.
Note: The uudemon.poll command is not usually entered on the command line, but is executed by the
cron daemon.
to:
20,50 * * * * /usr/bin/sh -c "/usr/sbin/uucp/uudemon.poll > /dev/null"
The 20,50 notation represents minutes, and the four asterisks (* * * *) are placeholders representing the
hour of the day, the day of the month, the month of the year, and the day of the week, respectively. This
line therefore instructs the cron daemon to run the uudemon.poll command at 20 minutes past the hour
and again at 50 minutes past the hour-for example, at 8:20 and 8:50 a.m., and at 9:20 and 9:50
a.m.-every hour of every day.
Note: Change the times at which the cron daemon executes the uudemon.poll command to correspond
to the times you set up for the uudemon.hour command. The defaults specified in the
/var/spool/cron/crontabs/uucp file instruct the cron daemon to run the uudemon.poll command 5
minutes before running the uudemon.hour command.
Files
/usr/sbin/uucp/* Contains the uudemon.poll and uudemon.hour commands and all the
configuration files for BNU.
/etc/uucp/Poll Specifies when the BNU program should poll remote systems to initiate
tasks.
/var/spool/cron/crontabs/uucp Schedules BNU jobs, including the uudemon.poll command, for the
cron daemon.
Related Information
The uudemon.hour command.
Setting up BNU polling for remote systems in Networks and communication management.
uuencode Command
Purpose
Encodes a binary file for transmission using electronic mail.
Syntax
uuencode [ -m ] [ SourceFile ] OutputFile
Description
The uuencode command converts a binary file to ASCII data. This is useful before using BNU (or uucp)
mail to send the file to a remote system. The uudecode command converts ASCII data created by the
uuencode command back into its original binary form.
Flags
-m Encode the output using the MIME Base64 algorithm. If
-m is not specified, the old uuencode algorithm will be
used.
Parameters
OutputFile Specifies the name of the decoded file. You can direct the output of the uuencode command to
standard output by specifying /dev/stdout as the OutputFile.
SourceFile Specifies the name of the binary file to convert. Default is standard input.
Examples
1. To encode the file unix on the local system and mail it to the user jsmith on another system called
mysys, enter:
uuencode unix unix | mail jsmith@mysys
2. To encode the file /usr/lib/boot/unix on your local system with the name pigmy.goat in the file
/tmp/con , enter:
uuencode /usr/lib/boot/unix pigmy.goat > /tmp/con
Files
/usr/bin/uuencode Contains the uuencode command.
Related Information
The mail command, rmail command, sendmail command, uucp command, uudecode command,
uusend command, uux command.
Purpose
Generates Universal Unique Identifiers (UUIDs) for objects, types, and interfaces.
Syntax
/etc/ncs/uuid_gen [ -c ] [ -p ] [ -C ] [ -P ]
Description
The uuid_gen program generates Universal Unique Identifiers (UUIDs). By default, it generates a
character-string representation of a UUID. The options for uuid_gen enable you to generate source-code
representations of UUIDs, suitable for initializing variables of type uuid_$t.
Examples
1. To generate a character-string representation of a UUID, enter the following:
/etc/ncs/uuid_gen
}
3. To generate a C source-code representation of a UUID, enter the following:
/etc/ncs/uuid_gen -C
end;
5. To generate a Pascal source-code representation of a UUID, enter the following:
/etc/ncs/uuid_gen -P
Related Information
List of NCS Commands.
uukick Command
Purpose
Uses debugging mode to contact a specified remote system.
Syntax
uukick [ -xDebugLevel ] SystemName
Description
The uukick command contacts a remote system, named by the SystemName parameter, using debugging
mode. The debugging mode provides a means of monitoring Basic Networking Utilities (BNU) file transfers
and connections to remote computers.
The uukick command starts the uucico daemon, which actually contacts the specified remote system.
The uucico daemon produces debugging output that enables you to monitor its progress as it establishes
the connection to the remote system, performs the remote login, and transfers a file.
The debugging output is scrolled on the screen of the local system. Once the system has finished
displaying this information, press the Interrupt key to return to the prompt.
Requirement: Either you must be in the /usr/lib/uucp directory when you issue the uukick command, or
you must issue the command with the full path name, /usr/sbin/uucp/uukick.
Tip: The uukick command is a shell script stored in the /usr/lib/uucp directory.
Flags
-xDebugLevel Overrides the default amount of detail in the debugging information the command displays on
the screen. The valid range for the DebugLevel variable is 0 to 9, with a default of 5. Higher
numbers cause the final report to be more detailed. If the -x flag is not used, the uucico
daemon is started with the default level, which produces a moderate amount of information.
Example
To change the amount of detail in the information about the progress of the operation of the uucico
daemon, use the -x flag to specify a higher or lower debugging level. For example, enter:
This instructs the uukick command to generate as much information as possible about the way in which
the uucico daemon is working while trying to connect to system hera. Or, enter:
This instructs the command to generate less than the default amount of information about the connection.
Related Information
The tail command, uucp command, uutry command, Uutry command, uux command.
Monitoring a BNU remote connection and Monitoring a BNU file transfer in Networks and communication
management.
uulog Command
Purpose
Provides information about BNU file-transfer activities on a system.
Syntax
uulog [ -x ] [ -Number ] [ -fSystem | -sSystem ]
Description
The Basic Networking Utilities (BNU) uulog command displays the contents of the log files containing the
activities of the uucico and uuxqt daemons. Individual log files are created for each remote system with
which the local system uses the uucp, uuto, and uux commands to communicate.
Use the uulog command to display a summary of uucp, uuto, and uux command requests by the user or
by the system. All of these transactions are logged in files in the /var/spool/uucp/.Log directory. The files
are named DaemonName/SystemName where the DaemonName directory is named for the daemon
involved and the SystemName file is named for the remote system the daemon is contacting.
The uucp and uuto commands call the uucico daemon. The uucico daemon’s activities are logged in the
SystemName file in the /var/spool/uucp/.Log/uucico directory.
The uux command calls the uuxqt daemon. The uuxqt activities are logged in the SystemName file in the
/var/spool/uucp/.Log/uuxqt directory.
You can examine these individual log files by issuing the uulog command directly. However, you can also
have the BNU program automatically append these temporary log files to a primary log file that you can
then examine. This is called compacting the log files and is handled by the uudemon.cleanu command, a
shell script.
Examples
1. To display the uucico log file for system hera, enter:
uulog -shera
The preceding lines log a conversation between the local system (nostromo) and remote system hera.
The conversation began at 10:18:38 (a.m.) on October 30th, and ended at 10:18:41. User jim
attempted to transfer a data file, D.hera661e6c9, to system hera. The connection to hera was
successful, but the file could not be transferred because BNU could not read it.
2. To display the uuxqt log file, enter:
uulog -x
3. To display the last forty lines of the file transfer log for system zeus, enter:
Files
/usr/bin/uulog Contains the uulog command.
/var/spool/uucp/.Log Contain the BNU log files.
Related Information
The tail command, uucp command, uudemon.cleanu command, uuto command, uux command.
Purpose
Provides information about other systems accessible to the local system.
Syntax
uuname [ -c | -l ]
Description
The uuname command is a Basic Networking Utilities (BNU) command that displays a list of all the
computers networked to the local system. This list of accessible systems is displayed on the screen of the
local terminal.
In order for a local system to communicate with a remote system by way of BNU, the remote system must:
v Have a UNIX-based operating system.
v Be connected to the local system. (A telephone line can serve as the connection media.)
BNU can be used to communicate between a workstation and a non-UNIX-based operating system, but
such communications may require additional hardware or software. The remote systems accessible with
BNU commands are identified when the BNU programs are installed and listed in a BNU Systems file (by
default, the /etc/uucp/Systems file, or one or more files specified in the /etc/uucp/Sysfiles file).
Before copying a file to another system with the uuto or uucp command, issue the uuname command to
determine the exact name of the remote system.
Flags
-c Displays only the names of systems contained in the cu Systems files (configured by the /etc/uucp/Sysfiles
file). Omission of this flag displays the names of systems contained in the uucico Systems files (also
configured by the /etc/uucp/Sysfiles file). If /etc/uucp/Sysfiles is not used to separate cu and uucico
configuration into separate Systems files, the names of all systems listed in /etc/uucp/Systems are displayed
regardless of the -c flag.
-l Displays the name of the local system.
Examples
1. To identify the remote systems connected to the local system, enter:
uuname
uuname -l
Related Information
The ct command, cu command, uname command, uucp command, uupick command, uustat command,
uuto command, uux command.
uupick Command
Purpose
Completes the transfer of and handles files sent by the uuto command.
Syntax
uupick [ -sSystem ]
Description
The uupick command is a Basic Networking Utilities (BNU) command that completes the transfer and
handles files that the BNU uuto command has transmitted to a designated user ID.
Once the copied file is the receive directory, the rmail command notifies the recipient that the file has
arrived. The recipient then issues the uupick command, which searches the public directory on the local
system for files sent with some form of the following name:
/var/spool/uucppublic/receive/User/System/File
For each file or directory found, the uupick command displays the following message on the screen of the
local system:
from System: [file File] [dir Directory]
?
The question mark prompt (?) following the message indicates you can now enter one of the file-handling
options.
Flags
-s System Searches /var/spool/uucppublic/receive/User/System for files sent from the specified system.
System names contain only ASCII characters.
File-Handling Options
The question mark prompt (?) following a message indicates that one of the following file-handling options
should be entered:
Option Action
!Command Escapes to a shell to run the specified command. After the command executes, the user is
automatically returned to the uupick command.
* Displays all the file-handling options.
Examples
1. To receive a file sent with the uuto command and add it to the current working directory, enter:
uupick
Enter:
In this example, the /usr/bin/file1 file sent with the uuto command from system anchor is added to
the current working directory.
2. To receive a file sent with the uuto command and add it to a specified directory on your local system,
enter:
uupick
Enter:
a /usr/bin1
In this example, the /usr/bin/file2 file sent with the uuto command from system anchor is added to
the /usr/bin1 directory on the local system.
Note: The a /usr/bin1 instruction means move all files, not just one. Thus, if any other files are
in the ~/anchor/... directory, they will also be moved.
3. To search for files sent from system anchor, enter:
uupick -s anchor
Related Information
The ct command, cu command, uucp command, uuname command, uustat command, uuto command,
uux command.
uupoll Command
Purpose
Forces a poll of a remote BNU system.
Syntax
uupoll [ -gGrade ] [ -n ] SystemName
Description
The uupoll command forces the Basic Networking Utilities (BNU) to poll the remote system specified by
the SystemName parameter. The command is usually run by the cron daemon or by a user who wants to
force a job to be executed immediately. Otherwise, remote systems are polled by the uudemon.poll
command at times scheduled in the /etc/uucp/Poll file and the /var/spool/cron/crontabs/uucp file.
Normally, the uucico daemon contacts a remote system only at times specified in the Poll file or when
there is a job queued for that system. The uupoll command queues a null job for the remote system and
then invokes the uucico daemon. This forces the uucico daemon to contact the remote system
immediately and attempt to send any jobs which are queued for that system. Use the -g flag to specify
that only high priority jobs be sent.
Use the -n flag to queue the null job without starting the uucico daemon. Use this option to:
v Queue a null job before invoking the uucico daemon for debugging.
v Queue a null job just before the uucico daemon is usually invoked, thus forcing the daemon to poll the
specified system.
The SystemName parameter is required, and specifies the name of the remote system to be polled.
Flags
-gGrade Instructs the uupoll command to send only jobs of the given grade (specified by the Grade parameter)
or higher on this call. Jobs of a lower grade will remain in the queue until the next time the remote
system is polled.
-n Queues the null job, but does not invoke the uucico daemon.
Examples
1. To run the uupoll command with the cron daemon, place an entry in your crontabs file similar to:
0 1,7,16 * * * /usr/bin/uupoll hera
This polls system hera at 0100 hours (1 a.m.), 0700 hours (7 a.m.), and 1600 hours (4 p.m.) daily.
This queues null jobs for the remote sites on the hour, and they are processed by the uucico daemon
when it runs at 5 minutes past the hour.
3. To force the uucico daemon to transfer all jobs of grade N or higher for system zeus:
Files
/usr/bin/uupoll Contains the uupoll command.
/etc/uucp/Poll Specifies when the BNU program should poll remote
systems to initiate tasks.
/var/spool/cron/crontabs/uucp Schedules automatic polling of remote systems.
/var/spool/uucp/SystemName Contain files to be transferred to remote systems.
Related Information
The uucp command, uux command.
The Uutry command invokes the uucico daemon with debugging turned on.
The uudemon.poll and uudemon.hour commands perform automatic polling of remote systems as
scheduled by the cron daemon.
uuq Command
Purpose
Displays the BNU job queue and deletes specified jobs from the queue.
Syntax
uuq [ -l | -h ] [ -sSystemName ] [ -uUser ] [ -dJobNumber ] [ -rSpoolDir ] [ -bBaudRate ]
Note: Only a user with root authority can use the -d flag.
Description
The uuq command is used to list or delete job entries in the Basic Networking Utilities (BNU) job queue.
When listing jobs, the uuq command uses a format similar to that used by the ls command. In the default
format, the uuq command lists only the job numbers of the jobs waiting in the queue, followed by a
summary line for each system.
In the long format (uuq -l), which can be quite slow, the information listed for each job is:
v Job number
v Number of files to transfer
v User who sent the job
v Number of bytes to be sent
v Type of job requested:
S Sending a file
R Receiving a file
X Executing a command on the remote system
A user with root authority can use the -dJobNumber flag to delete jobs from the queue after running a uuq
listing to discover the job numbers.
Flags
-bBaudRate Uses the baud rate given, instead of the default (1200 baud), to compute the transfer time.
-d JobNumber Deletes the job designated by the JobNumber variable from the BNU queue. Only someone
with root authority can delete jobs from the queue.
-h Shows only the summary lines for each system.
-l Lists the output in the long format.
-sSystemName Lists only jobs for systems whose system names begin with the string specified in the
SystemName variable.
-r SpoolDir Searches for files in the spooling directory designated by the SpoolDir variable, instead of in
the default spooling directory.
-uUser Lists only jobs queued by users whose login names begin with the string specified in the
User variable.
Examples
1. To get a long listing of all jobs spooled for system hera, type:
uuq -l -shera
2. To get a summary listing for all systems, type:
uuq -h
3. To delete a job for user nita from the queue, first use the uuq command to find the number of the job
you want to delete, as follows:
uuq -l -unita
This produces a list of jobs spooled for user nita. Find the job you wish to remove. If its job number is
13451, for example, the following command will delete the job:
uuq -d13451
Files
/usr/bin/uuq Contains the uuq command.
/var/spool/uucp/SystemName Contains spool files for the remote system designated by
SystemName.
/var/spool/uucp/SystemName/C.* Contain instructions for file transfers.
/var/spool/uucp/SystemName/D.* Contain information about data files to be transferred.
/var/spool/uucp/SystemName/X.* Contain instructions for executing remote commands.
Related Information
The uucp command, uux command, uulog command, uusnap command.
uusched Daemon
Purpose
Schedules work for the Basic Networking Utilities (BNU) file transport program.
Syntax
uusched [ -uDebugLevel ] [ -xDebugLevel ]
Description
The uusched daemon schedules work for the Basic Networking Utilities (BNU) file transport program. It
schedules the transfer of files that are queued in the /var/spool/uucp/SystemName directory. The
scheduling daemon first randomizes the work and then starts the uucico daemon, which transfers the
files.
The uusched daemon is usually started by the uudemon.hour command, a shell procedure, which is run
periodically by the cron daemon based on instructions from the /var/spool/cron/crontabs/uucp file.
The uusched daemon can also be started from the command line for debugging purposes.
Note: Either you must be in the /usr/sbin/uucp directory when you start the uusched daemon, or
you must start the daemon with the full path name, /usr/sbin/uucp/uusched.
Flags
-uDebugLevel Passes as the -xDebugLevel flag to the uucico daemon. The DebugLevel variable is a
number from 0 to 9, with a default of 5. Higher numbers give more detailed debugging
information, which is displayed on the screen of the local system.
-xDebugLevel Outputs debugging messages from the uusched daemon. The DebugLevel variable is a
number from 0 to 9, with a default of 5. Higher numbers give more detailed debugging
information, which is displayed on the screen of the local system.
Example
To start the uusched daemon from the command line, enter:
/usr/sbin/uucp/uusched &
Files
/etc/locks /* Contains lock files that prevent multiple uses of devices and
multiple calls to systems.
/usr/sbin/uucp/* Contains the uusched daemon and the BNU configuration
files.
/etc/uucp/Devices Contains information about available devices.
/etc/uucp/Maxuuscheds Limits scheduled jobs.
/etc/uucp/Systems Describes accessible remote systems.
/var/spool/cron/crontabs/uucp Schedules BNU jobs for the cron daemon, including the
uudemon.hour shell procedure.
/var/spool/uucp/SystemName /* Contain files waiting to be transferred.
Related Information
The uucp command, uudemon.hour command, uustat command, uux command.
uusend Command
Purpose
Sends a file to a remote host.
Syntax
uusend [ -mMode ] [ -r ] Sourcefile System [ !System ... ] ! RemoteFile
Description
The uusend command sends a file to a given location on a remote system. The remote system need not
be directly connected to the local system, but a chain of UUCP links must connect the two systems, and
the uusend command must be available on each system in the chain.
The chain of systems is given by the System[!System ...] parameter, which lists each remote system the
file is to be transferred to, separated by ! (exclamation points). The !Remotefile parameter gives the name
under which the file is to be stored when it reaches the last system in the chain.
Note: Do not put any spaces between the system names and exclamation points or between the last
exclamation point and the remote file name.
The SourceFile parameter specifies the name of the file on the local system. If a - (dash) is used, the
uusend command uses standard input.
Flags
-m Mode Specifies that the mode of the file on the remote system will be taken from the octal number given. If
this flag is not specified, the mode of the input file will be used.
-r Prevents the starting of the uucico daemon, which transfers files between systems. The default is to
start the uucico daemon.
Example
To send a file across one system to another system, enter:
uusend /etc/motd nostromo!gandalf!~nuucp
The /etc/motd file is sent to system nostromo and then to system gandalf, and placed in nuucp’s home
directory, /var/spool/uucppublic/nuucp, where nuucp is a BNU login ID.
Files
/usr/bin/uusend
Contains the uusend command.
Related Information
The uucp command, uux command.
uusnap Command
Purpose
Displays the status of BNU contacts with remote systems.
Syntax
uusnap
Description
The uusnap command displays a table showing the status of the Basic Networking Utilities (BNU). The
table includes the following information for each remote system:
Example
To see a snapshot of the status of BNU, enter:
uusnap
Files
/usr/bin/uusnap Contains the uusnap command.
/var/spool/uucp/.Status/SystemName Records the status of BNU contacts with a remote
system.
/var/spool/uucp/SystemName Contains C.*, D.*, and X.* files to be transferred
by the uucico daemon.
/var/spool/uucp/SystemName/C.* Instruct BNU about files to be transferred.
/var/spool/uucp/SystemName/D.* Contain files to be transferred by BNU.
/var/spool/uucp/SystemName/X.* Specify commands to be remotely executed by
BNU.
Related Information
The uucp command, uux command, uuq command.
BNU file and directory structure, BNU maintenance commands in Networks and communication
management.
uustat Command
Purpose
Reports the status of and provides limited control over BNU operations.
Syntax
uustat [ [ -n Number ] [ -a | -k JobID | -m | -p | -q | -r JobID ] | [ -s System ] [
-u User ] ]
Description
The uustat command is a Basic Networking Utilities (BNU) command that displays status information
about several types of BNU operations. It is particularly useful in monitoring the status of BNU requests.
In addition, the uustat command also gives a user limited control over BNU jobs queued to run on remote
systems. By issuing the command with the appropriate flag, a user can check the general status of BNU
connections to other systems and cancel copy requests made with the uucp and uuto commands.
If the uustat command is issued without any flags, the command reports the status of all BNU requests
issued by the current user since the last time the holding queue was cleaned up. Such status reports are
displayed in the following format:
jobid date/time status system_name user_ID size file
When sending files to a system that has not been contacted recently, it is a good idea to use the uustat
command to see when the last access occurred; the remote system may be down or out of service.
Flags
The following flags are mutually exclusive. Use only one at a time with the uustat command.
-a Displays information about all the jobs in the holding queue, regardless of the user who issued the
original BNU command.
-kJobID Cancels the BNU process specified by the JobID variable. The person using this flag must either
be the one who made the uucp request now being canceled or be operating with root authority.
This flag cancels a process only when that job is still on the local computer. After BNU has moved
the job to a remote system for execution, the -k JobID flag cannot be used to cancel the remote
job.
-m Reports the status of the most recent attempt to contact the specified system with a BNU
command. If the BNU request was completed, the status report is successful. If the job was not
completed, the status report is an error message saying that the login failed.
-n Number Allows the user to specify the amount of machines from which to collect BNU status information.
The amount specified should be greater than or equal to the amount of machines in the Systems
file. The default is 200.
-p Runs a ps -flp (process status: full, long list of specified process IDs) for all PID numbers in the
lock files.
-q Lists the jobs currently queued to run on each system. These jobs are either waiting to execute or
in the process of executing. If a status file exists for the system, its date, time, and status
information are reported. When the job is finished, BNU removes that job listing from the current
queue.
In a status report, a number in parentheses next to the number of a C.* (command) file or an X.*
(execute) file represents the age in days of the oldest C.* or X.* file for that system. The retry field
represents the number of times BNU tried and failed to execute the command because of, for
example, a failed login, locked files, or an unavailable device.
-rJobID Marks the files in the holding queue specified by the JobID variable with the current date and time.
Use this flag to ensure that a cleanup operation does not delete files until the job’s modification
time reaches the end of the specified period.
You can use either one or both of the following flags with the uustat command:
-s System Reports the status of BNU requests for the workstation specified by the System variable. The
System name can contain only ASCII characters.
-u User Reports the status of BNU requests by the user specified by the User variable, for any workstation.
The User name can contain only ASCII characters.
Examples
1. To display the status of all BNU jobs in the holding queue, type:
uustat -a
When the size of the file is given, as in the first three lines of the example output, the file name is also
displayed. The file name can be either the name given by the user, as in the /home/amy/tt entry, or a
name that BNU assigns internally to data files associated with remote executions, such as
D.venus471afd8.
2. To display the status of all jobs in the current queue, type:
uustat -q
This output tells how many C.* (command) files are waiting for each system. The number in
parentheses (2) in the third line of the example indicates that the C.* file has been in the queue for
two days.The date and time refer to the current interaction with the system, followed by a report of the
status of the interaction.
3. To display all process IDs in the lock file, type:
uustat -p
uustat -a
uustat -k heraC3113
5. To report the status of jobs requested by system hera, type:
Files
/etc/locks Contains lock files to prevent multiple uses of devices.
/usr/bin/uustat Specifies the command pathname.
/var/spool/uucp Contains BNU status information.
Related Information
The cron daemon, ct command, cu command, echo command, stty command, uucleanup command,
uucp command, uuname command, uupick command, uuto command, uux command.
uuto Command
Purpose
Copies files from one system to another.
Syntax
uuto [ -m ] [ -p ] Source ... User
Description
The uuto command is a Basic Networking Utilities (BNU) command that copies one or more Source files
from one system to a specified User on another UNIX based system. This program uses the uucp
command for the actual file transfer, but the uuto command enables the recipient to use the uupick
command options to handle the transferred file on the local system.
The sender issues the uuto command to copy one or more files to a specific user ID on another system.
The uucp command then copies the file to the BNU public directory, /var/spool/uucppublic, on the
destination system. The uucp command also creates an additional subdirectory called receive (if it does
not already exist) and directories below it in which to hold the files until the recipient retrieves them with
the uupick command. The full path names to the copied files are some form of the following name:
/var/spool/uucppublic/receive/UserName/System/File
where the UserName and System directories are created based on the User parameter given with the
uuto command.
Once the copied file is in the receive directory, the rmail command notifies the recipient that a file has
arrived. The recipient then issues the uupick command, and this command searches the public directory
for files sent to the recipient and notifies the recipient about each file it locates. The recipient then enters
one of the uupick options to handle the file.
where System is the name of the remote system connected to the local system, and UserName is the
login name of the recipient of the transferred files on the specified system.
When copying a file from one user to another user on the local system, omit the System entry; the
destination is the ID of the user to whom the file is being sent. System names can contain only ASCII
characters.
Flags
-m Notifies the sender by the bellmail command when the source file has been successfully copied.
-p Copies the source file to the spool directory on the local system. The source file resides in the spooling
directory for a set period of time (defined in the uusched program) before the uucp command calls the uucico
daemon, which actually transfers the copy to the public directory on the specified remote system. The default is
to transfer a source file directly to the specified user.
Examples
1. To copy a file to a user on a remote system, enter:
uuto /home/bin/file1 zeus!karen
In this example, the /home/bin/file1 file is sent to user karen on the remote system zeus.
2. To copy a file to a user on a remote system and be notified whether the source file was successfully
copied, enter:
In this example, the /home/bin/file2 file is sent to user karen on the remote system zeus and a
message is returned to the sender verifying that the copy was successful.
3. To copy a file to another user on your local system, enter:
uuto /home/bin/file3 ron
In this example, the /home/bin/file3 file is sent to user ron on the local system. No mail message is
sent to the recipient in a local transfer.
Files
/usr/bin/uuto Contains the uuto command.
/var/spool/uucppublic Is the BNU public directory.
Related Information
The bellmail command, ct command, cu command, uucp command, uuname command, uupick
command uustat command, uux command.
Purpose
Contacts a specified remote system with debugging turned on and allows the user to override the default
retry time.
Syntax
uutry [ -xDebugLevel ] [ -r ] SystemName
Description
The uutry command contacts a remote system, specified by the SystemName parameter, using debugging
mode. Debugging mode provides a means of monitoring Basic Networking Utilities (BNU) connections to
remote computers and file transfers. The uutry command calls the uucico daemon to contact the remote
system.
The debugging output is scrolled on the screen of the local system. Once the system has finished
displaying this information, press the Interrupt key to return to the prompt.
The -r flag overrides the default retry time if the first attempt to contact the remote system is unsuccessful.
The default retry time is 5 minutes.
The SystemName parameter, which is required, specifies the name of the remote system you wish to
contact.
Requirement: Either you must be in the /usr/sbin/uucp directory when you issue the uutry command or
you must issue the command with the full path name, /usr/sbin/uucp/uutry.
Tips:
v The uutry command is a shell script stored in the /usr/lib/uucp directory.
v If the debugging output scrolls too quickly to be read, use the Uutry command to save the output
in a temporary file.
Flags
-r Overrides the default retry time. If for some reason the uucico daemon cannot complete
the requested connection, the daemon waits for a set amount of time and tries again. The
default retry time is 5 minutes.
Note: The time at which the remote system was last polled is recorded in the
SystemName file in the /var/spool/uucp/.Status directory.
-xDebugLevel Overrides the default amount of detail in the debugging information that the uutry
command displays on the screen. The valid range for the DebugLevel variable is 0 to 9,
with a default of 5. Higher numbers cause the final report to be more detailed. If the -x flag
is not used, the uucico daemon is started with the default level, which produces a
moderate amount of information.
Examples
1. To change the amount of detail the uutry command provides about the progress of the uucico
operation, use the -x flag to specify a different debugging level. For example, entering:
Files
/usr/sbin/uucp/uutry Contains the uutry command.
/etc/uucp/Devices Contains information about available devices.
/etc/uucp/Dialcodes Contains dial-code abbreviations.
/etc/uucp/Dialers Specifies initial handshaking on a connection.
/etc/uucp/Permissions Describes access permissions for remote systems.
/etc/uucp/Systems Describes accessible remote systems.
/var/spool/uucp/.Status/SystemName Lists the last time the remote system named by
the SystemName file was contacted.
/var/spool/uucppublic/* Contain the BNU public directories.
Related Information
The tail command, uucp command, Uutry command, uukick command, uux command.
Monitoring a BNU remote connection and Monitoring a BNU file transfer in Networks and communication
management.
Uutry Command
Purpose
Contacts a specified remote system with debugging turned on and saves the debugging output in a
temporary file.
Syntax
Uutry [ -xDebugLevel ] [ -r ] SystemName
Description
The Uutry command contacts a remote system, specified by the SystemName parameter, using
debugging mode. Debugging mode provides a means of monitoring Basic Networking Utilities (BNU)
connections to remote computers and file transfers.
The Uutry command starts the uucico daemon, which actually contacts the specified system. The uucico
daemon produces debugging output that enables you to monitor the daemon’s progress as it establishes
the connection to the remote system, performs the remote login, and transfers a file.
The debugging output is scrolled on the screen of the local system. Once the system has finished
displaying this information, press the Interrupt key to return to the prompt.
The SystemName parameter, which is required, specifies the name of the remote system you wish to
contact.
Notes:
1. Press the Interrupt key while the system is scrolling the output generated by the Uutry command
to return to the prompt. The uucico daemon continues to place the debugging information in the
/tmp/SystemName file.
2. Either you must be in the /usr/sbin/uucp directory when you issue the Uutry command or you
must issue the command with the full path name, /usr/sbin/uucp/Uutry.
3. The Uutry command is a shell script stored in the /usr/sbin/uucp directory.
Flags
-r Overrides the default retry time. If for some reason the uucico daemon cannot complete the
requested connection, the daemon waits for a set amount of time and tries again. The default
retry time is 5 minutes.
Note: The time the remote system was last polled is recorded in the
/var/spool/uucp/.Status/SystemName file.
-xDebugLevel Overrides the default amount of detail in the debugging information that the command
displays on the screen. The valid range for the DebugLevel variable is 0 to 9, with a default
of 5. Higher numbers cause the final report to be more detailed. If the -x flag is not used, the
uucico daemon is started with the default level, which produces a moderate amount of
information.
Example
To change the amount of detail the Uutry command provides about the progress of the uucico operation,
use the -x flag to specify a different debugging level. For example, entering:
instructs the Uutry command to generate as much information as possible about the way in which the
uucico daemon is working.
Files
/tmp/SystemName Contains debugging output from the
Uutry command (temporary file).
/usr/sbin/uucp/Uutry Contains the Uutry command and all the
configuration files for BNU.
/etc/uucp/Devices Contains information about available
devices.
/etc/uucp/Dialcodes Contains dial-code abbreviations.
/etc/uucp/Dialers Specifies initial handshaking on a
connection.
/etc/uucp/Permissions Describes access permissions for
remote systems.
/etc/uucp/Systems Describes accessible remote systems.
/var/spool/uucp/.Status/SystemName file Lists the last time a remote system was
contacted.
Related Information
The uucico daemon, uucpd daemon.
The tail command, uucp command, uustat command, uutry command, uukick command, uux command.
How to Monitor a BNU Remote Connection and Monitoring a BNU remote connection in Networks and
communication management.
Maintaining BNU, Understanding the BNU Daemons in Networks and communication management.
uux Command
Purpose
Runs a command on another UNIX-based system.
Syntax
uux [ -c | -C ] [ -n | -z ] [ - ] [ -aName ] [ -b ] [ -gGrade ] [ -j ] [ -p ] [ -e ] [ -r ] [ -sFile ] [
-xDebugLevel ] CommandString
Description
The uux command is a Basic Networking Utility (BNU) that runs a specified command on a specified
UNIX-based system while enabling the user to continue working on the local system. Before running the
requested command, the uux command gathers any necessary files from the designated systems. The
user can direct the output from the command to a specific file on a specific system. For security reasons,
many installations permit the uux command to run only the rmail command.
The uux commands on other systems create execute (X.*) files that run commands on the local system. In
addition, the uux command on the local system creates both command (C.*) files and data (D.*) files for
transfer to other systems. Execute files contain the command string to be executed on the designated
system. Command files contain the same information as those created by the uucp command. Data files
either contain the data for a remote command execution or else become X.* files on remote systems for
remote command executions.
After creating the files in the spooling directory, the uux command calls the uucico daemon to transfer the
files from the spooling directory on the local system to the designated remote system. Once the files are
transferred, the uuxqt daemon on the remote system executes the CommandString on the specified
system, placing any output from the command in the file designated by the original uux command request.
The CommandString argument is made up of one or more arguments that look like an operating system
command line, except that CommandString argument may be prefixed by the name of the remote system
in the form System!. The default System is the local system. Unless the user entering the uux command
includes the -n flag, the command notifies that user if the remote system does not run the command. This
response comes by mail from the remote system.
Note: The notation ~ (tilde) is the shorthand way of specifying the public spooling directory,
/var/spool/uucppublic.
Flags
- Makes the standard input to the uux command the standard input to the CommandString argument.
-aName Replaces the user ID of the person issuing the command with the user ID specified with the Name
variable.
-b Returns standard input to the command if the exit status is not zero.
-c Transfers the source files to the destination on the specified system. The source files are copied into the
spooling directory, and the uucico daemon is invoked immediately. This flag is the default.
-C Transfers the source files to the spool directory. After a set period of time (specified in the uusched
program), the uucico daemon attempts to transfer the files to the destination on the specified computer.
Occasionally, there are problems in transferring a source file; for example, the remote computer may not
be working or the login attempt may fail. In such cases, the file remains in the spool directory until it is
either transferred successfully or removed by the uucleanup command.
Examples
1. To run the qprt command on a remote system, enter:
uux merlin!qprt /reports/memos/lance
In this example, the remote file /reports/memos/lance is printed on remote system merlin. Since
neither the -n nor -z flag is specified, the uux command notifies the user only if the remote system
fails to run the command. The response comes by the mail command from the remote system.
2. To run commands on two remote systems, enter the information on separate command lines:
uux merlin!qprt /reports/memos/lance
uux zeus!qprt /test/examples/examp1
In this example, the remote /reports/memos/lance file is printed on remote system merlin, and the
remote /test/examples/examp1 file is printed on remote system zeus. Since neither the -n nor -z flag is
specified, the uux command notifies the user only if the remote system fails to run the command. The
response comes by the mail command from the remote system.
3. To queue a job that compares a file on the local system with a file on a remote system, using the diff
command on the local system, and get the job ID of the job, enter:
In this example, the /usr/amy/f1 file on the local system is compared to the /home/amy/f2 file on the
remote system hera and the output is placed in the f1.diff file in the local public directory (the full
path name of this file is /var/spool/uucppublic/f1.diff). The destination name must be entered
either preceded by a > with the whole command string enclosed in ″ ″ (quotation marks) or entered
enclosed in braces and backslashes, as \{ DestinationName \}. The -j flag causes the uux command
to return the BNU job ID of the job.
4. To use the diff command on the local system to compare files that are located on two different remote
systems, enter:
uux "!/usr/bin/diff hera!/usr/amy/f1 venus!/home/amy/f2 > \ !f1.diff"
In this example, the /usr/amy/f1 file from the remote system hera is compared to the /home/amy/f2 file
from the remote system venus and the output is placed in the file f1.diff, located in the current
working directory on the local system.
In this example, the diff file is on the remote system hera. The first source file is on the remote
system hera, and the secondfile is on the system zeus. (zeus may be the local system or another
remote system.) The output is directed to the file DF in the public directory on the local system.
6. To specify an output file on a different remote system, enter:
uux hera!uucp venus!/home/amy/f1 \{merlin!/home/geo/test\}
In this example, the uucp command is run on the remote system hera, and the /home/amy/f1 file,
stored on system venus, is sent to user geo on system merlin as test. The destination name is
entered enclosed in braces and backslashes.
7. To get selected fields from a file on a remote system and place them in a file on the local system,
enter:
uux "cut -f1 -d: hera\!/etc/passwd > ~/passw.cut"
In this example, the cut command is run on the local system. The first field from each line of the
password file on system hera is placed in the passw.cut file in the public directory on the local system.
The uux command is running in a C shell, so a \ (backslash) must precede the exclamation point in
the name of the remote system.
8. To use the uux piping option to specify a remote copy of the /tmp/example file to /tmp/examplecopy on
system mercury use the following syntax:
uux -p mercury!
cp /tmp/example /tmp/examplecopy
The user must enter a Ctrl-D in order to terminate the command input. After Ctrl-D is pressed, the
command will be spooled for remote execution on system mercury.
Files
/usr/bin/uux Contains the uux command.
/var/spool/uucp Is the spooling directory.
/var/spool/uucppublic Is the public directory.
Related Information
The ct command, cu command, mail command, rmail command, uucleanup command, uucp command,
uuname command, uupick command, uustat command, uuto command, qprt command.
uuxqt Daemon
Purpose
Executes Basic Networking Utilities (BNU) remote command requests.
Description
The Basic Networking Utilities (BNU) uuxqt daemon executes commands on designated remote systems.
The uuxqt daemon on each networked system periodically searches the spool directory for remote
execute (X.*) files. These files are sent to the directory by the uucico daemon in response to a uux
command.
When it finds X.* files, the uuxqt daemon checks each file to make sure that:
v All the required data (D.*) files are available.
v The requesting system has the necessary permissions to access the data files and run the requested
commands.
Note: The uuxqt daemon uses the /etc/uucp/Permissions file to validate file accessibility and
command execution permission.
If the data files are present and the requesting system has the appropriate permissions, the uuxqt
daemon executes the commands.
Note: The uuxqt command is usually executed from the uudemon.hour command, a shell
procedure, and not entered from the command line. You must have root user privileges to issue the
uuxqt command from the command line.
Flags
-e Enables file expansion.
-sSystemName Designates the remote system to be contacted. Use only when starting the uuxqt
command manually. The system name is supplied internally when the uuxqt command is
started automatically.
Security
Access Control: You must have root authority to start the uuxqt daemon from the command line.
Example
To start the uuxqt daemon for debugging, enter:
This instructs the command to contact remote system venus and provide fairly detailed information about
the contact.
Files
/usr/sbin/uucp/uuxqt Contains the uuxqt daemon.
/etc/locks Contains lock files that prevent multiple uses of devices and multiple calls to
systems.
Related Information
The uucp command, uudemon.hour command, uustat command, uux command.
Understanding the BNU File and Directory Structure, Understanding the BNU Daemons, Understanding
BNU Security in Networks and communication management.
IBM may not offer the products, services, or features discussed in this document in other countries.
Consult your local IBM representative for information on the products and services currently available in
your area. Any reference to an IBM product, program, or service is not intended to state or imply that only
that IBM product, program, or service may be used. Any functionally equivalent product, program, or
service that does not infringe any IBM intellectual property right may be used instead. However, it is the
user’s responsibility to evaluate and verify the operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter described in this document.
The furnishing of this document does not give you any license to these patents. You can send license
inquiries, in writing, to:
The following paragraph does not apply to the United Kingdom or any other country where such
provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION
PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR
IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT,
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer
of express or implied warranties in certain transactions, therefore, this statement may not apply to you.
This information could include technical inaccuracies or typographical errors. Changes are periodically
made to the information herein; these changes will be incorporated in new editions of the publication. IBM
may make improvements and/or changes in the product(s) and/or the program(s) described in this
publication at any time without notice.
Licensees of this program who wish to have information about it for the purpose of enabling: (i) the
exchange of information between independently created programs and other programs (including this one)
and (ii) the mutual use of the information which has been exchanged, should contact:
IBM Corporation
Dept. LRAS/Bldg. 003
11400 Burnet Road
Austin, TX 78758-3498
U.S.A.
Such information may be available, subject to appropriate terms and conditions, including in some cases,
payment of a fee.
The licensed program described in this document and all licensed material available for it are provided by
IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any
equivalent agreement between us.
For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property
Department in your country or send inquiries, in writing, to:
IBM may use or distribute any of the information you supply in any way it believes appropriate without
incurring any obligation to you.
Information concerning non-IBM products was obtained from the suppliers of those products, their
published announcements or other publicly available sources. IBM has not tested those products and
cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products.
Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.
Any references in this information to non-IBM Web sites are provided for convenience only and do not in
any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of
the materials for this IBM product and use of those Web sites is at your own risk.
This information contains examples of data and reports used in daily business operations. To illustrate
them as completely as possible, the examples include the names of individuals, companies, brands, and
products. All of these names are fictitious and any similarity to the names and addresses used by an
actual business enterprise is entirely coincidental.
COPYRIGHT LICENSE:
This information contains sample application programs in source language, which illustrates programming
techniques on various operating platforms. You may copy, modify, and distribute these sample programs in
any form without payment to IBM, for the purposes of developing, using, marketing or distributing
application programs conforming to the application programming interface for the operating platform for
which the sample programs are written. These examples have not been thoroughly tested under all
conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these
programs. You may copy, modify, and distribute these sample programs in any form without payment to
IBM for the purposes of developing, using, marketing, or distributing application programs conforming to
IBM’s application programming interfaces.
Any performance data contained herein was determined in a controlled environment. Therefore, the results
obtained in other operating environments may vary significantly. Some measurements may have been
made on development-level systems and there is no guarantee that these measurements will be the same
on generally available systems. Furthermore, some measurement may have been estimated through
extrapolation. Actual results may vary. Users of this document should verify the applicable data for their
specific environment.
Trademarks
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business
Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked
terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these
symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information
was published. Such trademarks may also be registered or common law trademarks in other countries. A
current list of IBM trademarks is available on the Web at Copyright and trademark information at
www.ibm.com/legal/copytrade.shtml
Java and all Java-based trademarks and logos are registered trademarks of Sun Microsystems, Inc. in the
United States, other countries, or both.
Linux is a trademark of Linus Torvalds in the United States, other countries, or both.
Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the
United States, other countries, or both.
Other company, product, or service names may be the trademarks or service marks of others.
D F
daemon file
utmpd 617 deleting repeated lines in a
daemons using uniq command 589
tftpd 365 fixing errors in
daily report using tcbck command 322
writing in a file splitting into pieces
using sa2 command 3 using split command 162
data area size limits 571 unmounting
deleting entries using umount command 576
BNU job queue file inclusion
using uuq command 648 processing
description of command type and arguments using soelim command 149
using type command 560 file mode creation masks 573
device configuration commands file size limits 571
savebase 14 file system
devices unmounting
customized using umount command 576
saving information about 14 file systems
removing unwanted files
using skulker command 94
Index 673
file transfers, BNU
status
I
i-node table
uudemon.admin command 633
updating
files
using sync command 280
access times
iconv library
updating 430
generating conversion table for 564
comparing two
ID, user
using sdiff command 47
associated with session
compression 583
using su command 241
copying between systems 625
importing
decompression 582
certificate authority’s certificate
displaying block count
using smimpcacert command 108
using sum command 244
inetd daemon
displaying comparison side-by-side of two
uucpd daemon and 631
using sdiff command 47
init command 339
displaying the checksum
initiating transport calls
using sum command 244
using BNU program
expanding
using uudemon.hour command 636
using unpack command 597
installing
merging
files in a secure system
using sort command 150
verifying using sysck command 319
modification times
internal certificate authority
updating 430
defining 104
removing ifdef’ed lines 588
unconfiguring 120
SCCS
Internet
canceling specified versions 587
tracing network packets 454
comparing two versions 25
ip security crypto module 595
displaying edit status 4
sorting
using sort command 150
sorting unordered lists 544 K
transferring with tftp command 359 kernel messages
writing writing to terminal 604
from specified point 303 kernel name list
folder generating a 465
displaying messages in a key ring files, generating
using scan command 19 server private
formatting txt for using smgenprivkr command 107
printing on typesetting devices
using troff command 473
FORTRAN L
translating programs to RATFOR 229 lines
deleting repeating
using uniq command 589
G local system metrics
games binary recording
tic-tac-toe 544 topasrec 421
games directory permissions 554 log files (BNU)
groups cleaning up 642
resetting for the current login session log files, BNU
using setgroups command 76 cleaning
using uudemon.cleanu command 634
log, trace
H formatting a report from
using trcrpt command 466
hlptcpdump 325
logical volume
hlpuil 568
copying one volume to a new volume 280
hosts
removing mirrors
connecting local with remote
using unmirrorvg command 595
using telnet command 342
split and copy 173
using tn command 342
using tn3270 command 342
M
mail bug report P
mailing of 67 paging 276
Mail commands specifying additional devices for
sendbug 67 using swapon command 276
sendmail 68 Permissions file format
smdemon.cleanu 105 setting up
management information base variables using uucpadm command 629
managing with snmpinfo command 139 verifying 618
memory management phones file format
analyzing virtual memory snapshot setting the phones variable 379
using svmon command 258 physical memory size limits 571
updating the super block 599 Poll file format
message routing 177 setting up
messages using uucpadm command 629
listing lines of 19 polling
logs system 295 remote systems
sending using uudemon.poll command 637
using send command 65 printer
showing changing driver settings
using show command 87 using splp command 175
sorting displaying driver settings
using sortm command 157 using splp command 175
messages, SCCS printing on typesetting devices
displaying help information formats text for
using sccshelp command 26 using troff command 473
MH private key ring installation 110
slocal command 101 process
spost command 177 initializing
using init command 339
using telinit command 339
N process resource allocation
NCS commands removing unused modules 97
uuid_gen 639 process suspension
NDBM database suspending execution for an interval 96
sendmail 70 processing incoming mail, MH 101
networked computers program
displaying list of 644 copying output into a file 337
NFS commands program loops
showmount 89 returning exit values 533
spray 178 program, administration
NFS daemons for SCCS commands
sprayd 180 using sccs command 21
statd 198
nroff command
formatting table for Q
using tbl command 315 querying characteristics
terminals
using stty command 231
O
object file
finding the printable strings R
using strings command 218 Reliable Scalable Cluster Technology (RSCT) topology
object files services
displaying section sizes of XCOFF 93 control scripts
topsvcsctrl 427
Index 675
Reliable Scalable Cluster Technology (RSCT) topology screen
services (continued) copying display to a file 337
scripts creating a typescript 45
topsvcs 425 scripts
remote command requests snap 123
executing 664 snmpevent 130
remote file format topsvcs 425
setting the remote variable topsvcsctrl 427
using tip command 380 sctpctrl command 46
remote system sdiff command 47
connecting to secldapclntd 50
using tip command 375 secldifconv command 52
remote systems sectoldif command 54
executing commands on 664 securetcpip command 55
polling security
using uudemon.poll command 637 auditing the state of the system
resource limits 571 using sysck command 319
route mail for local or network delivery 68 sed command 56
RSCT topology services sedmgr command 61
control scripts sendbug command 67
topsvcsctrl 427 sendmail command 68
scripts sendmail queue
topsvcs 425 cleaning up the
using smdemon.cleanu command 105
server
S private key ring files, generating
sa command 1 using smgenprivkr command 107
sa1 command 3 server certificate importing 109
sa2 command 3 server private keys
sadc command 5 generating
sar command 6 using smgenkeycr command 107
savebase command 14 server properties listing 116
savecore command 16 setclock command 73
savevg command 17 setea command 74
scan command 19 setgroups command 76
SCCS setmaps command 77
commands setsenv command 80
administrating 21 settime command 82
files setting characteristics
administrating 21 terminals
canceling specified versions 587 using stty command 231
comparing two versions 25 setuname command 83
displaying edit status 4 sh command 84
help information 26 shell
sccs command 21 executing with log in credentials
SCCS commands using the shell command 86
administration program for shell command 86
using sccs command 21 shell scripts
displaying help information program loops
using sccshelp command 26 returning exit values 533
sact 4 shells
sccs 21 default 84
sccsdiff 25 show command 87
sccshelp 26 showmount command 89
unget 587 shutacct command 90
SCCS messages shutdown command 91
displaying help information size command 93
using sccshelp command 26 skulker command 94
sccshelp command 26 slattach command 95
schedo command 26
scls command 44
Index 677
STREAMS commands super block
scls 44 updating 599
strace 211 survd daemon 255
strclean 214 svmon command 258
STREAMS facility swap
configuration specifying additional devices for 276
changing 212 swap command 274
querying 215 swapon command 276
driver names swapping 276
listing 44 swcons command 278
error log swts command 279
receiving messages 216 symbol table
error logger sendmail 70
cleaning up 214 sync command 280
modules synclvodm command 280
listing 44 syncvg command 282
portable environment sysck command 284
loading and configuring 223 syscorepath command 287
strerr daemon 216 sysdumpdev command 289
trace messages sysdumpstart command 292
printing 211 sysline command 293
strerr daemon 216 syslogd daemon 295
strinfo command 217 system
strings command 218 displaying uptime for the
stripnm command 221 using uptime command 605
strload command 223 ending operation of the
strreset command 226 using shutdown command 91
strtune command 227 system activity
sttinet method 230 collecting
stty command 231 using sar command 6
stty-cxma command 238 reporting
style command 240 using sar command 6
su command 241 saving
subj command 243 using sar command 6
subject list system call interface program 283
generating system calls
using subj command 243 performing 283
subroutine call interface program 283 system console
subroutine calls redirecting temporarily to a device
performing 283 using swcons command 278
subserver redirecting temporarily to a file
starting using swcons command 278
using startsrc command 192 system dump
stopping saving 16
using stopsrc command 207 system management
turning off tracing performing
using tracesoff command 456 using smit command 111
turning on tracing using smitty command 113
using traceson command 458 System Resource Controller
subsystem starting daemon
starting using srcmstr daemon 181
using startsrc command 192 system status
stopping displaying on terminal status line 293
using stopsrc command 207 Systems file format
turning off tracing setting up
using tracesoff command 456 using uucpadm command 629
turning on tracing
using traceson command 458
sum command 244 T
suma command 245 tab command 298
Index 679
time stamps (continued) tracing, turning off
updating (continued) subservers or subsystems
modification times 430 using tracesoff command 456
timed daemon 369 translating
manipulating with SRC 370 characters
obtaining information about using tr command 444
using timedc command 372 trbsd command 459
timedc command 372 trcctl 461
variables 372 trcdead command 462
timex command 373 trcevgrp command 463
tip command 375 trcnm command 465
escape signals 376 trcrpt command 466
phones file format trcstop command 471
setting the phones variable 379 trcupdate command 472
remote file format troff command 473
setting the remote variable 380 command output interpreter for
variables 378 using tc command 318
tn command 342 formatting table for
tn3270 command 342 using tbl command 315
token-ring device driver trpt command 529
displaying statistics 381 output fields 529
tokstat command 381 trusted editors
topasout command 406 provides
topasrec command 421 using tvi command 555
topology services subsystem trusted shell
control scripts interpreting commands in a
topsvcsctrl 427 using tsh command 540
scripts invoking 541
topsvcs 425 Korn shell
topsvcs script 425 differences between 541
topsvcsctrl script 427 tset command 538
touch command 430 tsh command 540
tprof command 432 tsm command 542
tput command 442 tunchange command 547
tr command 444 tuncheck command 548
trace buffer tundefault command 549
extracting from system dump image 462 tunrestore command 551
trace event groups tunsave command 552
add turnacct command 553
using trcevgrp command 463 tvi command 555
change tvi editor
using trcevgrp command 463 calling
delete using tvi command 555
using trcevgrp command 463 customizing 556
trace log limitations of 556
formatting a report from operating modes of 556
using trcrpt command 466 twconvdict command 558
trace report twconvfont command 559
adding format templates type command 560
using trcupdate command 472 type, command
deleting format templates writing description of
using trcupdate command 472 using type command 560
replacing format templates typesetting devices, printing on
using trcupdate command 472 formats text for
trace session using troff command 473
ending
using trcstop command 471
traceroute command 454 U
tracesoff command 456 ucfgif method 561
traceson command 458 ucfginet method 561
uconvdef command 564
Index 681
682 Commands Reference, Volume 5
Readers’ Comments — We’d Like to Hear from You
AIX 5L Version 5.3
Commands Reference, Volume 5, s - u
We appreciate your comments about this publication. Please comment on specific errors or omissions, accuracy,
organization, subject matter, or completeness of this book. The comments you send should pertain to only the
information in this manual or product and the way in which the information is presented.
For technical questions and information about products and prices, please contact your IBM branch office, your IBM
business partner, or your authorized remarketer.
When you send comments to IBM, you grant IBM a nonexclusive right to use or distribute your comments in any
way it believes appropriate without incurring any obligation to you. IBM or any other organizations will only use the
personal information that you supply to contact you about the issues that you state on this form.
Comments:
If you would like a response from IBM, please fill in the following information:
Name Address
Company or Organization
_ _ _ _ _ _ _Fold
_ _ _and
_ _ _Tape
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Please
_ _ _ _ _do
_ _not
_ _ staple
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Fold
_ _ _and
_ _ Tape
______
NO POSTAGE
NECESSARY
IF MAILED IN THE
UNITED STATES
IBM Corporation
Information Development
Department 04XA-905-6B013
11501 Burnet Road
Austin, TX 78758-3400
_________________________________________________________________________________________
Fold and Tape Please do not staple Fold and Tape
Cut or Fold
SC23-4892-05 Along Line
Printed in U.S.A.
SC23-4892-05