Unix KornShell Quick Reference Go to the home Print this page

Contents

  1. Command Language
    • I/O redirection and pipe
    • Shell variables
    • Pattern matching
    • Control characters
  2. The environment
  3. Most usual commands
    • Help
    • Directory listing
    • Creating a directory
    • Changing directory
    • Comparing files
    • Access to files
    • copying files and directories
    • deleting files & directory
    • moving files & directories
    • Visualizing files
    • linking files & directories
    • Compiling & Linking
    • Debugging a program
    • Archive library
    • Make
    • Job control
    • miscellaneous
    • History & Command line editing
  4. Creating KORNshell scripts
    • The different shells
    • Special shell variables
    • special characters
    • Evaluating shell variables
    • The if statement
    • The logical operators
    • Math operators
    • Controlling execution
    • Debug mode
    • Examples
      • Example 1 : loops, cases ...
      • Example 2 : switches
      • Example 3
      • Example 4
      • Example 5
  5. List of Usual commands
  6. List of Administrator commands



  1. Command Language

    I/O redirection and pipe

    % command                   running in foreground (interactive)
    % command >file             redirects stdout to file
    % command 2>err_file        redirects stderr to err_file
    % command >file 2>&1        redirects both stdout and stderr on file
    % (command > f1) 2>f2       send stdout on f1, stderr on f2
    % command >>file            appends stdout to file
    % command <file             redirects stdin from file
    % command << text           Read standard input uo to line identical
                                to text
    % command1  |  command2     redirects stdout from command1 into stdin of
                                command2 via a pipe
                                Ex :  du ~ | sort -nr | head 
    % command | tee f1 f2 ...   The output of command is sent on
                                stdout and copied into f1, f2, ...
    % command&                  running in background
    % nohup command&            running in background even after log out
    % set -o monitor            to have a message when a background job ends
    stderr : to print on it in a script, use the option -u2 in command print
    

    Shell variables

        # Warning : no blank before of after the = sign
        # Integers :
            n=100  ;  x=&n
            integer t
            typeset -r roues=4      # definition of a CONSTANT (read only)
            typeset -i2 x           # declares x as binary integer
            typeset -i8 y           # declares y as octal integer
            typeset -i16 z          # guess what ?
        # Strings  :
            lettre="Q" ; mot="elephant"
            phrase="Hello, word"
            print "n=$n ; lettre=$lettre ; mot=$mot ; phrase=$phrase"
            typeset -r nom="JMB"    # string constant
        # Arrays   :  one dimensional arrays of integers or strings
        #             automatically dimensionned to 1024
            animal[0]="dog" ; animal[1]="horse" ; animal[3]="donkey"
            set -A flower tulip gardenia " " rose
            print ${animal[*]}
            print ${flower[@]}
            print "cell#1 content : ${flower[1]}
    

    Pattern matching

    +------------------------+------------------------------------------------+
    | Wild card              | matches                                        |
    +------------------------+------------------------------------------------+
    | ?                      | any single char                                |
    | [char1char2... charN]  | any single char from the specified list        |
    | [!char1char2... charN] | any single char other than one from the        |
    |                        | specified list                                 |
    | [char1-charN]          | any char between char1 and charN inclusive     |
    | [!char1-charN]         | any char other than between char1 and charN    |
    |                        | inclusive                                      |
    | *                      | any char or any group of char (including none) |
    | ?(pat1|pat2...|patN)   | zero or one of the specified patterns          |
    | @(pat1|pat2...|patN)   | exactly one of the specified patterns          |
    | *(pat1|pat2...|patN)   | zero, one or more of the specified patterns    |
    | +(pat1|pat2...|patN)   | one or more of the specified patterns          |
    | !(pat1|pat2...|patN)   | any pattern except one of the specif. patterns |
    +------------------------+------------------------------------------------+
      Tilde Expansion :
        ~               your home directory (ls ~)
        ~frenkiel       home directory of another user
        ~+              absolute pathname of the working directory
        ~-              previous directory (cd ~-) ( or cd -)
    

    Control characters

        < ctrl_c> Cancel the currently running process (foreground)
        < ctrl_z> Suspend the currently running process
               then : > bg              : to send it in background
               or     > fg              : continue in foreground
               or     > kill -option    : sends signals (such as TERMINATE)
               ex     > kill -9 pid     : to kill a background job
                        kill -l         : to find out all the signals
                                          supported by your system.
        < ctrl_d> End of file character
        $ stty       to see what are the KILL & <EOF> characters
    


  2. The environment

        +-----------------------------------------------+-----------------------+
        | environmental characteristic                  | child inherit this ?  |
        +-----------------------------------------------+-----------------------+
        | parent's access rights to files, directories  | yes                   |
        | the files that parent has opened              | yes                   |
        | parent's ressource limits (type ulimit)       | yes                   |
        | parent's response to signal                   | yes                   |
        | aliases defined by parent                     | NO (expect opt -x)    |
        | functions defined by parent                   | if exported (*)       |
        | variables defined by parent                   | if exported (*)       |
        | KornShell variables (except IFS)              | if exported (*)       |
        | KornShell variable IFS                        | if NOT exported       |
        | parent's option settings (type set -o)        | no                    |
        +-----------------------------------------------+-----------------------+
        (*) Not needed if a 'set -o allexport' statement has told the KornShell to
            export all these variables and functions
    
    To export a variable :
        $ export LPDEST=pshpa
    
        $ echo $LPDEST                      ---> pshpa
        $ echo LPDEST                       ---> LPDEST
    
    Dot Scripts : a script that runs in the parent's environment, so it is not a child of the caller. A dot script inherits ALL of the caller's environment. To invoke a dot script, just preface the name of the script with a dot and a space :
        $ ficus.ksh     # invoke this script as a regular script.
        $ . ficus.fsh   # invoke the same script as a dot script.
    
    Aliases : An alias is a nickname for a KornShell statement or script, a user program or a command. Example:
        $ alias del='rm -i'     # whenever you type 'del', it's replace by 'rm -i'
        $ alias                 # to see a list of all aliases
        $ unalias del           # remove an alias
    
    It is recommanded (but not mandatory) to write the local variable names in lower case letters and those of global variables in upper case letters.
    Sequence of KornShell start-up scripts : The KornShell supports 3 start-up scripts. The first 2 are login scripts; they are executed when you log in. A third one runs whenever you create a KornShell or run a KornShell script.
        - /etc/profile
        - $HOME/.profile
            Use this file to :
                - set & export values of variables
                - set options such as ignoreeof that you want to apply to your
                  login shell only
                - specify a script to execute when yu log out
            Example :
                set -o allexport                    # export all variables
                PATH=.:/bin:/usr/bin:$HOME/bin      # define command search path
                CDPATH=.:$HOME:$HOME/games          # define search path for cd
                FPATH=$HOME/mathlib:/usr/funcs      # define path for autoload
                PS1='! $PWD> '                      # define primary prompt
                PS2='Line continues here> '         # define secondary prompt
                HISTSIZE=100                        # define size of history file
                ENV=$HOME/.kshrc                    # pathname of environment script
                TMOUT=0                             # KornShell won't be timed out
                VISUAL=vi                           # make vi the comm. line editor
                set +o allexport                    # turn off allexport feature
        - script whose name is hold in the KornShell variable ENV
            Use this file to :
                - define aliases & functions that apply for interactive use only
                - set default options that you want to apply to all ksh invocations
                - set variables that you want to apply to the current ksh invoc.
            Example :
                # The information in this region will be accessible to the KornShell
                # command line and scripts.
                alias -x disk='du'      # -x makes alias accessible to scripts
    
                case $- in
                    *i*)                # Here you are NOT in a script
                        alias copy='cp';;
                esac
    
    KornShell Reserved variables :
      +-----------+-----------------------------------+-------------------+------+
      | Variable  | What this variable holds          | Default           | Who  |
      |           |                                   |                   | sets |
      +-----------+-----------------------------------+-------------------+------+
      | CDPATH    | directories that cd searches      | none              | U    |
      | COLUMNS   | terminal width                    | 80                | SA   |
      | EDITOR    | pathname of command line editor   | /bin/ed           | U,SA |
      | ENV       | pathname of startup script        | none              | U,SA |
      | ERRNO     | error number of most recently     | none              | KSH  |
      |           | failed system call                |                   |      |
      | FCEDIT    | pathname of history file editor   | /bin/ed           | U,SA |
      | FPATH     | path of autoload functions        | none              | U    |
      | HISTFILE  | pathname of history file          | $HOME/.sh_history | U,SA |
      | HISTFILE  | nb of command in history file     | 128               | U,SA |
      | HOME      | login directory                   | none              | SA   |
      | IFS       | set of token delimiters           | white space       | U    |
      | LINENO    | current line number within        | none              | KSH  |
      |           | script or function                |                   |      |
      | LINES     | terminal height                   | 24                | SA   |
      | LOGNAME   | user name                         | none              | SA   |
      | MAIL      | patname of master mail file       | none              | SA   |
      | MAILCHECK | mail checking frequency           | 600 seconds       | U,SA |
      | MAILPATH  | pathnames of master mail files    | none              | SA   |
      | OLDPWD    | previous current directory        | none              | KSH  |
      | OPTARG    | name of argument to a switch      | none              | KSH  |
      | OPTIND    | option's ordinal position on      | none              | KSH  |
      |           | command line                      |                   |      |
      | PATH      | command search directories        | /bin:/usr/bin     | U,SA |
      | PPID      | PID of parent                     | none              | KSH  |
      | PS1       | command line prompt               | $                 | U    |
      | PS2       | prompt for commands that          | >                 | U    |
      |           | extends more than 1 line          |                   |      |
      | PS3       | prompt of 'select' statements     | #?                | U    |
      | PS4       | debug mode prompt                 | +                 | U    |
      | PWD       | current directory                 | none              | U    |
      | RANDOM    | random integer                    | none              | KSH  |
      | REPLY     | input repository                  | none              | KSH  |
      | SECONDS   | nb of seconds since KornShell     | none              | KSH  |
      |           | was invoked                       |                   |      |
      | SHELL     | executed shell (sh, csh, ksh)     | none              | SA   |
      | TERM      | type of terminal you're using     | none              | SA   |
      | TMOUT     | turn off (timeout) an unused      | 0 (unlimited)     | KSH  |
      |           | KornShell                         |                   |      |
      | VISUAL    | command line editor               | /bin/ed           | U,SA |
      | $         | PID of current process            | none              | KSH  |
      | !         | PID of the background process     | none              | KSH  |
      | ?         | last command exit status          | none              | KSH  |
      | _         | miscellaneous data                | none              | KSH  |
      +-----------+-----------------------------------+-------------------+------+
      | Variable  | What this variable holds          | Default           | Who  |
      |           |                                   |                   | sets |
      +-----------+-----------------------------------+-------------------+------+
        Where U  : User sets this variable
              SA : system administrator
              KSH: KornShell
    
    To get a list of exported objetcts available to the current environment :
        $ typeset -x        # list of exported variables
        $ typeset -fx       # list of exported functions
    
    To get a list of environment variables :
        $ set
    


  3. Most usual commands

    Help

        > man command               Ex: > man man
        > man -k keyword            list of commands related to this keyword
        > apropos keyword           locates commands by keyword lookup
        > whatis command            brief command description
    

    Directory listing

        > ls [opt]
            -a list hidden files
            -d list the name of the current directory
            -F show directories with a trailing '/'
               executable files with a trailing '*'
            -g show group ownership of file in long listing
            -i print the inode number of each file
            -l long listing giving details about files and directories
            -R list all subdirectories encountered
            -t sort by time modified instead of name
    

    Creating / Deleting a directory

        > mkdir dir_name
        > rmdir dir_name	(directory must be empty)
    

    Changing directory

        > cd pathname
        > cd
        > cd ~tristram
        > cd -              # return to the previous working directory
    
        > pwd               # display the path name of the working directory
    

    Comparing files

        > diff  f1   f2      text files comparison
        > sdiff f1   f2      idem in 2 columns
        > diff  dir1 dir2    directory comparison
        > cmp   f1   f2      for binary files
        > file  filename     determine file type
        > comm  f1   f2      compare lines common to 2 sorted files
    

    Access to files

        user      group     others
        r w x      rwx        rwx
        4 2 1
        > ls -l             display access permission
        > chmod 754 file    change access (rwx r-x r--)
        > chmod u+x file1   gives yourself permition to execute file1
        > chmod g+re file2  gives read and execute permissions for group members
        > chmod a+r *.pub   gives read permition to everyone
        > umask 002         (default permissions : inverse) removes write permission
                            for other in this example
        > groups username   to find out which group 'username' belongs to
        > ls -gl            list the group ownwership of the files
        > chgrp group_name file/directory_name
                            change the group ownwership
    

    copying files and directories

        > cp [-opt] source destination
        > cp source path_to_destination     copy a file into another
        > cp *.txt dir_name                 copy a file to another directory
        > cp -r dir1 dir2                   copy several files into a directory
        > cat fil1 fil2 > fil3              concatenates fil1 and fil2, and places
                                            the result in fil3
    

    deleting files & directory

        > rm [opt] filename
        > rm -r dir_name
        > rmdir dirname
    

    moving files & directories

        > mv [opt] file1 file2
        > mv [opt] dir1 dir2
        > mv [opt] file dir
    

    Visualizing files

        > cat file1 file2 ...   print all files on stdout
        > more file             print 'file' on stdout, pausing at each end of page
        > pg file               idem, with more options
        > od file               octal dump for a binary file
        > tail file             list the end of a file (last lines)
        > tail -n file          idem for the last n lines
        > tail -f file          idem, but read repeatedly in case the file grows
        > tail +n file          read the fisrt n lines of 'file'
        > head                  give first few lines
    

    linking files & directories

        > ln [-opt] source linkname
                                  The 2 names (source & linkname) address the same
                                  file or directory
        > ln part1.txt ../helpdata/sect1 /public/helpdoc/part1
                                  This links part1.txt to ../helpdata/sect1 and
                                  /public/helpdoc/part1.
        > ln -s sdir/file .       makes a symbolic link between 'file' in the
                                  subdirectory 'sdir' to the filename 'file' in
                                  the current directory
        > ln ~sandra/prog.c .     To make a link to a file in another user's home
                                  directory
        > ln -s directory_name(s) directory_name
                                  To link one or more directories to another dir.
        > ln -s $HOME/accounts/may .
                                  To link a directory into your current directory
      Examples :
        > ln -s /net/cdfap2/user/jmb   cdfap2
        > ln -s ~frenkiel/cdf/man/manuel   pfmanuel
    

    Compiling & Linking

    Use "man xxx" to have a precise description of the following commands :
        > cc        C compiler
        > f77       Fortran compiler
        > ar        archive & library maintainer
        > ld        link editor
        > dbx       symbolic debugger
      Examples :
        > cc hello.c                     executable : a.out
        > f77 hello.f                    idem
        > cc main.c func1.c func2.c      sevaral files
        > cc hello.c -o hello            redefine the executable name
        > cc -c func1.c                  compilation only, then :
        > cc main.c func1.o -o prog
    

    Job control

        > nohup command             run a command immune to hangups, logouts,
                                    and quits
        > at, batch                 execute commands at a later time (see 'man at')
        > jobs [-lp] [job_name]     Display informations about jobs
        > kill -l                   Display signal numbers ans names
        > kill [-signal] job...     Send a signal to the specified jobs
        > wait [job...]             Wait for the specified jobs to terminate
                                    (or for all child processes if no argument)
        > ps                        List executing processes
    

    miscellaneous

        > who [am i]        lists names of users currently logged in
        > rwho              idem for all machines on the local network
        > w                 idem + what they are doing
        > whoami            your userid
        > groups            names of the groups you belong to
        > hostname          name of the host currently connected
        > finger            names of users, locally or remotly logged in
        > finger name       information about this user
        > finger name@cdfhp3
        > mail              electronic mail
        > grep              searching strings in files
        > sleep             sleep for a given amount of time (shell scripts)
        > sort              sort items in a file
        > touch             change the modification time of a file
        > tar               compress all files in a directory (and its
                            subdirectories) into one file
        > type              tells you where a command is located (or what it is an
                            alias for)
        > find pathname -name "name" -print
                            seach recursively from pathename for "name". "name" can
                            contain wild chars.
        > findw string
                            search recursively for filenames containing 'string'
        > file fich         tries to guess the type of 'fich' (wild chars allowed)
        > passwd            changing Pass Word
        > sh -x command     Debugging a shell script
        > echo $SHELL       Finding out which shell you are using
            /.../sh                 Bourne shell
            /.../csh                C shell
            /.../tcsh               TC shell
            /.../ksh                Korn shell
            /.../bash               Bourne Again SHell
        > df                gives a list of available disk space
        > du                gives disk space used by the current directory and all
                            its subdirectories
        > time command      execute 'command' and then, gives the elapse time
        > ruptime           gives the status of all machines on the local network
        > telnet host       for remote login
        > rlogin host       idem for machines running UNIX
        > stty              set terminal I/O options
                            (without args or with -a, list current settings)
        > tty, pty          get the name of the terminal
        > write user_name   send a message (end by < ctrl_d --> to a logged user
        > msg y             enable message reception
        > msg n             disable message recpt.
        > mes               status of mes. recept.
        > wall              idem write, but for all logged users.
        > date              display date and time on standard output
        > ulimit            set or display system ressource limits
        > whence command    find pathname corresponding to 'command'
        > whence -v name    gives the type of 'name' (built-in, alias, files ...)
        > tee [-a] file     reads standard input, writes to standard output and
                            file. Appends to 'file' if option -a
        > wc file           Counts lines, words and chars in 'file'
    
    for other commands, looks in appendix or in directories such as :
        /bin
        /usr/bin
        /usr/ucb
        /usr/local/bin
    

    History & Command line editing

        > history
        > history 166 168           # list commands 166 through 168
        > history -r 166 168        # idem in reverse order
        > history -2                # list previous 2 commands
        > history set               # list commands from most recent set command
        > r                         # repeat last command
        > r cc                      # repeat most recent command starting with cc
        > r foo=bar cc              # idem, changing 'foo' to 'bar'
        > r 215                     # repeat command 215
        > r math.c=cond.c 214       # repeat command 214, but substitute cond.c
                                    # for math.c
    
    You can edit the command line with the 'vi' or 'emacs' editor :
        Put the following line inside a KornShell login script :
            FCEDIT=vi; export FCEDIT
            $ set -o emacs
        > fc [-e editor] [-nlr] [first [last]]
            * display (-l) commands from history file
            * Edit and re-execute previous commands (FCEDIT if no -e).
              'last' and 'first' can be numbers or strings
        $ fc                        # edit a copy of last command
        $ fc 271                    # edit, then re-execute command number 271
        $ fc 270 272                # group command 270, 271 & 272, edit, re-execute
    


  4. Creating KORNshell scripts

    The different shells

        /bin/csh        C shell (C like command syntax)
        /bin/sh         Bourne shell (the oldest one)
        /bin/ksh        Korn shell (variant of the previous one)
        + public domain (tcsh, bash, ...)
    

    Special shell variables

    There are some variables which are set internally by the shell and which are available to the user:
        $1 - $9       these variables are the positional parameters.
        $0            the name of the command currently being executed.
        $argv[20]     refers to the 20th command line argument
        $#            the number of positional arguments given to this
                      invocation of the shell.
        $?            the exit status of the last command executed is
                      given as a decimal string.  When a command
                      completes successfully, it returns the exit status
                      of 0 (zero), otherwise it returns a non-zero exit
                      status.
        $$            the process number of this shell - useful for
                      including in filenames, to make them unique.
        $!            the process id of the last command run in
                      the background.
        $-            the current options supplied to this invocation
                      of the shell.
        $*            a string containing all the arguments to the
                      shell, starting at $1.
        $@            same as above, except when quoted :
                      "$*" expanded into ONE long element : "$1 $2 $3"
                      "$@" expanded into THREE elements : "$1" "$2" "$3"
        shift   : $2 -> $1 ...)
    

    special characters

    The special chars of the Korn shell are :
        $  \  #  ?  [  ]  *  +  &  |  (  )  ;  `  "  '
    - A pair of simple quotes '...' turns off the significance of ALL enclosed chars
    - A pair of double quotes "..." : idem except for $ ` " \
    - A '\' shuts off the special meaning of the char immediately to its right.
      Thus, \$ is equivalent to '$'.
    - In a script shell :
        #       : all text that follow it up the newline is a comment
        \       : if it is the last char on a line, signals a continuation line
                  qui suit est la continuation de celle-ci
    

    Evaluating shell variables

    The following set of rules govern the evaluation of all shell variables.
        $var                  signifies the value of var or nothing,
                              if var is undefined.
        ${var}                same as above except the braces enclose
                              the name of the variable to be substituted.
        +-------------------+---------------------------+-------------------+
        | Operation         | if str is unset or null   | else              |
        +-------------------+---------------------------+-------------------+
        | var=${str:-expr}  | var= expr                 | var= ${string}    |
        | var=${str:=expr}  | str= expr ; var= expr     | var= ${string}    |
        | var=${str:+expr}  | var becomes null          | var= expr         |
        | var=${str:?expr}  | expr is printed on stderr | var= ${string}    |
        +-------------------+---------------------------+-------------------+
    

    The if statement

    The if statement uses the exit status of the given command
            if test
            then
                commands     (if condition is true)
            else
                commands     (if condition is false)
            fi
    
    if statements may be nested:
            if ...
            then ...
            else if ...
            ...
            fi
            fi
    
    Test on numbers :
        ((number1 == number2))
        ((number1 != number2))
        ((number1   number2))
        ((number1 >  number2))
        ((number1 = number2))
        ((number1 >= number2))
            Warning : 5 different possible syntaxes (not absolutely identical) :
                if ((x == y))
                if test $x -eq $y
                if let "$x == $y"
                if [ $x -eq $y ]
                if [[ $x -eq $y ]]
    
    Test on strings: (pattern may contain special chars)
        [[string  =  pattern]]
        [[string  != pattern]]
        [[string1   string2]]
        [[string1 >  string2]]
        [[ -z string]]                  true if length is zero
        [[ -n string]]                  true if length is not zero
            Warning : 3 different possible syntaxes :
                if [[ $str1 = $str2 ]]
                if [ "$str1" = "$str2" ]
                if test "$str1" = "$str2"
    
    Test on objects : files, directories, links ...
        examples :
                [[ -f $myfile ]]            # is $myfile a regular file?
                [[ -x /usr/users/judyt ]]   # is this file executable?
        +---------------+---------------------------------------------------+
        | Test          | Returns true if object...                         |
        +---------------+---------------------------------------------------+
        | -a object     | exist; any type of object                         |
        | -f object     | is a regular file or a symbolic link              |
        | -d object     | is a directory                                    |
        | -c object     | is a character special file                       |
        | -b object     | is a block special file                           |
        | -p object     | is a named pipe                                   |
        | -S object     | is a socket                                       |
        | -L object     | is a symbolic (soft) link with another object     |
        | -k object     | object's "sticky bit" is set                      |
        | -s object     | object isn't empty                                |
        | -r object     | I may read this object                            |
        | -w object     | I may write to (modify) this object               |
        | -x object     | object is an executable file                      |
        |               |        or a directory I can search                |
        | -O object     | I ownn this object                                |
        | -G object     | the group to which I belong owns object           |
        | -u object     | object's set-user-id bit is set                   |
        | -g object     | object's set-group-id bit is set                  |
        | obj1 -nt obj2 | obj1 is newer than obj2                           |
        | obj1 -ot obj2 | obj1 is older than obj2                           |
        | obj1 -ef obj2 | obj1 is another name for obj2 (equivalent)        |
        +---------------+---------------------------------------------------+
    

    The logical operators

    You can use the && operator to execute a command and, if it is successful, execute the next command in the list. For example:
            cmd1 && cmd2
    
    cmd1 is executed and its exit status examined. Only if cmd1 succeeds is cmd2 executed. You can use the || operator to execute a command and, if it fails, execute the next command in the command list.
            cmd1 || cmd2
    
    Of course, ll combinaisons of these 2 operators are possible. Example :
            cmd1 || cmd2 && cmd3
    

    Math operators

    First, don't forget that you have to enclose the entire mathematical operation within a DOUBLE pair of parentheses. A single pair has a completely different meaning to the Korn-Shell.
            +-----------+-----------+-------------------------+
            | operator  | operation | example                 |
            +-----------+-----------+-------------------------+
            | +         | add.      | ((y = 7 + 10))          |
            | -         | sub.      | ((y = 7 - 10))          |
            | *         | mult.     | ((y = 7 * 4))           |
            | /         | div.      | ((y = 37 / 5))          |
            | %         | modulo    | ((y = 37 + 5))          |
            |         | shift     | ((y = 2#1011  2))     |
            | >>        | shift     | ((y = 2#1011 >> 2))     |
            | &         | AND       | ((y = 2#1011 & 2#1100)) |
            | ^         | excl OR   | ((y = 2#1011 ^ 2#1100)) |
            | |         | OR        | ((y = 2#1011 | 2#1100)) |
            +-----------+-----------+-------------------------+
    
    

    Controlling execution

        goto my_label
        ......
        my_label:
      -----
        case value in
            pattern1) command1 ; ... ; commandN;;
            pattern2) command1 ; ... ; commandN;;
                ........
            patternN) command1 ; ... ; commandN;;
        esac
            where : value    value of a variable
                    pattern  any constant, pattern or group of pattern
                    command  name of any program, shell script or ksh statement
            example 1 :
                case $advice in
                    [Yy][Ee][Ss])   print "A yes answer";;
                    [Mm]*)          print "M followed by anything";;
                    +([0-9))        print "Any integer...";;
                    "oui" | "bof")  print "one or the other";;
                    *)              print "Default";;
            example 2 :     Creating nice menus
                PS3="Enter your choice :"
                select menu_list in English francais
                do
                    case $menu_list in
                        English)  print "Thank you";;
                        francais) print "Merci";;
                        *)        print "???"; break;;
                    esac
                done
      -----
        while( logical expression)
        do
            ....
        done
        while :                 # infinite loop
            ....
        done
        while read line         # read until an EOF (or <crtl_d> )
        do
            ....
        done  fname             # redirect input within this while loop
        until( logical expression)
        do
            ....
        done <fin >fout         # redirect both input and output
      -----
        for name in 1 2 3 4     # a list of elements
        do
            ....
        done
        for obj in *            # list of every object in the current directory
        do
            ....
        done
        for obj in * */*        # $PWD and the next level below it contain
        do
            ....
        done
      -----
        break;                  # to leave a loop (while, until, for)
        continue;               # to skip part of one loop iteration
                                # nested loops are allowed in ksh
      ----
        select ident in Un Deux # a list of identifiers
        do
            case $ident in
                Un) ....... ;;
                Deux) ..... ;;
                *) print " Defaut" ;;
            esac
        done
    

    Debug mode

        > ksh -x script_name
      ou, dans un 'shell script' :
        set -x          # start debug mode
        set +x          # stop  debug mode
    

    Examples

    Example 1 : loops, cases ...

        #!/bin/ksh
        USAGE="usage :  fmr [dir_name]"	# how to invoke this script
        print "
            +------------------------+
            | Start fmr shell script |
            +------------------------+
        "
        function fonc
        {
        echo "Loop over params, with shift function"
        for i do
            print "parameter $1"    # print is equivalent to echo
            shift
        done                        # Beware that $# in now = 0 !!!
        }
        echo "Loop over all ($#) parameters : $*"
        for i do
            echo "parameter $i"
        done
                                    #----------------------
        if (( $# > 0 ))             # Is the first arg. a directory name ?
        then
            dir_name=$1
        else
            print -n "Directory name:"
            read dir_name
        fi
        print "You specified the following directory; $dir_name"
        if [[ ! -d $dir_name ]]
        then
            print "Sorry, but $dir_name isn't the name of a directory"
        else
            echo "-------- List of directory $dir_name -----------------"
            ls -l $dir_name
            echo "------------------------------------------------------"
        fi
                                      #----------------------
        echo "switch on #params"
        case $# in
            0) echo "command with no parameter";;
            1) echo "there is only one parameter : $1";;
            2) echo "there are two parameters";;
            [3,4]) echo "3 or 4 params";;
            *) echo "more than 4 params";;
        esac
                                      #----------------------
        fonc
        echo "Parameters number (after function fonc) : $#"
                                      #------- To read and execute a command
        echo "==> Enter a name"
        while read com
        do
            case $com in
                tristram) echo "gerard";;
                guglielmi) echo "laurent";;
                dolbeau) echo "Jean";;
                poutot) echo "Daniel ou Claude ?";;
                lutz | frenkiel) echo "Pierre";;
                brunet) echo "You lost !!!"; exit ;;
                *) echo "Unknown guy !!! ( $com )"; break ;;
            esac
            echo "==> another name, please"
        done
                                      #------ The test function :
        echo "Enter a file name"
        read name
        if [ -r $name ]
        then echo "This file is readable"
        fi
        if [ -w $name ]
            then echo "This file is writable"
        fi
        if [ -x $name ]
            then echo "This file is executable"
        fi
                                      #------
        echo "--------------- Menu select ----------"
        PS3="Enter your choice: "
        select menu_list in English francais quit
        do
            case $menu_list in
                English)   print "Thank you";;
                francais)  print "Merci.";;
                quit)       break;;
                *)       print " ????";;
            esac
        done
        print "So long!"
    

    Example 2 : switches

        #!/bin/ksh
        USAGE="usage: gopt.ksh [+-d] [ +-q]"    # + and - switches
        while getopts :dq arguments             # note the leading colon
        do
          case $arguments in
            d) compile=on;;                     # don't precede d with a minus sign
           +d) compile=off;;
            q) verbose=on;;
           +q) verbose=off;;
           \?) print "$OPTARG is not a valid option"
               print "$USAGE";;
          esac
        done
        print "compile=$compile - verbose= $verbose"
    

    Example 3

        ###############################################################
        # This is a function named 'sqrt'
        function sqrt            # square the input argument
        {
            ((s = $1 * $1 ))
        }
        # In fact, all KornShell variables are, by default, global
        # (execpt when defined with typeset, integer or readonly)
        # So, you don't have to use 'return $s'
        ###############################################################
        # The shell script begins execution at the next line
        print -n "Enter an integer : "
        read an_integer
        sqrt $an_integer
        print "The square of $an_integer is $s"
    

    Example 4

        #!/bin/ksh
        ############ Using exec to do I/O on multiple files ############
        USAGE="usage : ex4.ksh file1 file2"
        if (($# != 2))                    # this script needs 2 arguments
        then
            print "$USAGE"
            exit 1
        fi
    
        ############ Both arguments must be readable regular files
        if [[ (-f $1) && (-f $2) && (-r $1) && (-r $2) ]]
        then                              # use exec to open 4 files
            exec 3 <$1                    # open $1 for input
            exec 4 <$2                    # open $2 for input
            exec 5> match                 # open file "match" for output
            exec 6> nomatch               # open file "nomatch" for output
        else                              # if user enters bad arguments
            print "$        USAGE"
            exit 2
        fi
        while read -u3 lineA              # read a line on descriptor 3
        do
            read -u4 lineB                # read a line on descriptor 4
            if [ "$lineA" = "$lineB" ]
            then                          # send matching line to one file
                print -u5 "$lineA"
            else                          # send nonmatching lines to another
                print -u6 "$lineA; $lineB"
            fi
        done
    
        print "Done, today : $(date)"     # $(date) : output of 'date' command
        date_var=$(date)                  # or put it in a variable
        print " I said $date_var"         # and print it...
    

    Example 5

        ############ String manipulation examples ##################
        read str1?"Enter a string: "
        print "\nYou said : $str1"
        typeset -u  str1                  # Convert to uppercase
        print "UPPERCASE: $str1"
        typeset -l str1                   # Convert to lowercase
        print "lowercase: $str1"
        typeset +l str1                   # turn off lowercase attribute
        read str2?"Enter another one: "
        str="$str1 and $str2"             #concatenate 2 strings
        print "String concatenation : $str"
            # use '#'  to delete from left
            #     '##' to delete all
            #     '%'  to delete all
            #     '%%' to delete from right
        print "\nRemove the first 2 chars -- ${str#??}"
        print "Remove up to (including) the first 'e' -- ${str#*e}"
        print "Remove the first 2 words -- ${str#* * }"
        print "\nRemove the last 2 chars -- ${str%??}"
        print "Remove from last 'e' -- ${str%e*}"
        print "Remove the last 2 tokens -- ${str% * *}"
        print "length of the  string= ${#str}"
        ########################
        # Parsing strings into words :
        typeset -l line                     # line will be stored in lowercase
        read finp?"Pathname of the file to analyze: "
        read fout?"Pathname of the file to store words: "
        # Set IFS equal to newline, space, tab and common punctuation marks
        IFS="
            ,. ;!?"
        while read line                     # read one line of text
        do                                  # then Parse it :
            if [[ "$line" != "" ]]          # ignore blank lines
            then
                set $line                   # parse the line into words
                print "$*"                  # print each word on a separate line
            fi
        done < $finp > $fout                # define the input & output paths
        sort $fout | uniq | wc -l           # UNIX utilities
    


  5. List of Usual commands

    Support this site, buy deep discounted Computer Books here!
    adb                 absolute debugger
    adjust              simple text formatter
    admin               create and administer SCCS files
    ar                  maintain portable archives and libraries
    as                  assembler
    asa                 interpret ASA carriage control characters
    astrn               translate assembly language
    at, batch           execute commands at a later time
    atime               time an assembly language instruction sequence
    atrans              translate assembly language
    awk                 pattern - directed scanning and processing language
    banner              make posters in large letters
    basename, dirname   extract portions of path names
    bc                  arbitrary - precision arithmetic language
    bdftosnf            BDF to SNF font compiler for X11
    bdiff               big diff
    bfs                 big file scanner
    bifchmod            change mode of a BIF file
    bifchown, bifchgrp  change file owner or group
    bifcp               copy to or from BIF files
    biffind             find files in a BIF system
    bifls               list contents of BIF directories
    bifmkdir            make a BIF directory
    bifrm, bifrmdir     remove BIF files or directories
    bitmap, bmtoa       bitmap editor and converter utilities
    bs                  a compiler/interpreter for modest - sized programs
    cal                 print calendar
    calendar            reminder service
    cat                 concatenate, copy, and print files
    cb                  C program beautifier, formatter
    cc, c89             C compiler
    cd                  change working directory
    cdb, fdb, pdb       C, C++, FORTRAN, Pascal symbolic debugger
    cdc                 change the delta commentary of an SCCS delta
    cflow               generate C flow graph
    chacl               add, modify, delete, copy, or summarize access con
    chatr               change program's internal attributes
    checknr             check nroff/troff files
    chfn                change finger entry
    chmod               change file mode
    chown, chgrp        change file owner or group
    chsh                change default login shell
    ci                  check in RCS revisions
    clear               clear terminal screen
    cmp                 compare two files
    cnodes              display information about specified cluster nodes
    co                  check out RCS revisions
    col                 filter reverse line - feeds and backspaces
    comb                combine SCCS deltas
    comm                select or reject lines common to two sorted files
    compact, uncompact  compact and uncompact files
    cp                  copy files and directory subtrees
    cpio                copy file archives in and out
    cpp                 the C language preprocessor
    crontab             user crontab file
    crypt               encode/decode files
    csh                 a shell (command interpreter) with C - like syntax
    csplit              context split
    ct                  spawn getty to a remote terminal (call terminal)
    ctags               create a tags file
    cu                  call another (UNIX) system; terminal emulator
    cut                 cut out (extract) selected fields of each line of a
    cxref               generate C program cross - reference
    date                print or set the date and time
    datebook            calendar and reminder program for X11
    dbmonth             datebook monthly calendar formatter for postscript
    dbweek              datebook weekly calendar formatter for postscript
    dc                  desk calculator
    dd                  convert, reblock, translate, and copy a (tape) file
    delta               make a delta (change) to an SCCS file
    deroff              remove nroff, tbl, and neqn constructs
    diff                differential file and directory comparator
    diff3               3 - way differential file comparison
    diffmk              mark differences between files
    dircmp              directory comparison
    domainname          set or display name of Network Information Ser -
    dos2ux, ux2dos      convert ASCII file format
    doschmod            change attributes of a DOS file
    doscp               copy to or from DOS files
    dosdf               report number of free disk clusters
    dosls, dosll        list contents of DOS directories
    dosmkdir            make a DOS directory
    dosrm, dosrmdir     remove DOS files or directories
    du                  summarize disk usage
    echo                echo (print) arguments
    ed, red             text editor
    elm                 process mail through screen - oriented interface
    elmalias            create and verify elm user and system aliases
    enable, disable     enable/disable LP printers
    env                 set environment for command execution
    et                  Datebook weekly calendar formatter for laserjet
    ex, edit            extended line - oriented text editor
    expand, unexpand    expand tabs to spaces, and vice versa
    expr                evaluate arguments as an expression
    expreserve          preserve editor buffer
    factor, primes      factor a number, generate large primes
    file                determine file type
    find                find files
    findmsg, dumpmsg    create message catalog file for modification
    findstr             find strings for inclusion in message catalogs
    finger              user information lookup program
    fixman              fix manual pages for faster viewing with
    fold                fold long lines for finite width output device
    forder              convert file data order
    from                who is my mail from?
    ftio                faster tape I/O
    ftp                 file transfer program
    gencat              generate a formatted message catalog file
    get                 get a version of an SCCS file
    getaccess           list access rights to
    getconf             get system configuration values
    getcontext          display current context
    getopt              parse command options
    getprivgrp          get special attributes for group
    gprof               display call graph profile data
    grep, egrep, fgrep  search a file for a pattern
    groups              show group memberships
    gwindstop           terminate the window helper facility
    help                ask for help
    hostname            set or print name of current host system
    hp                  handle special functions of HP2640 and HP2621 - series
    hpterm              X window system Hewlett - Packard terminal emulator.
    hyphen              find hyphenated words
    iconv               code set conversion
    id                  print user and group IDs and names
    ident               identify files in RCS
    ied                 input editor and command history for interactive progs
    imageview           display TIFF file images on an X11 display
    intro               introduction to command utilities and application
    iostat              report I/O statistics
    ipcrm               remove a message queue, semaphore set or shared
    ipcs                report inter - process communication facilities status
    join                relational database operator
    kermit              kermit file transfer
    keysh               context - sensitive softkey shell
    kill                terminate a process
    ksh, rksh           shell, the standard/restricted command program
    lastcomm            show last commands executed in reverse order
    ld                  link editor
    leave               remind you when you have to leave
    lex                 generate programs for lexical analysis of text
    lifcp               copy to or from LIF files
    lifinit             write LIF volume header on file
    lifls               list contents of a LIF directory
    lifrename           rename LIF files
    lifrm               remove a LIF file
    line                read one line from user input
    lint                a C program checker/verifier
    ln                  link files and directories
    lock                reserve a terminal
    logger              make entries in the system log
    login               sign on
    logname             get login name
    lorder              find ordering relation for an object library
    lp, cancel, lpalt   send/cancel/alter requests to an LP line
    lpstat              print LP status information
    ls, l, ll, lsf, lsr, lsxlist contents of directories
    lsacl               list access control lists (ACLs) of files
    m4                  macro processor
    mail, rmail         send mail to users or read mail
    mailfrom            summarize mail folders by subject and sender
    mailstats           print mail traffic statistics
    mailx               interactive message processing system
    make                maintain, update, and regenerate groups of programs
    makekey             generate encryption key
    man                 find manual information by keywords; print out a
    mediainit           initialize disk or cartridge tape media
    merge               three - way file merge
    mesg                permit or deny messages to terminal
    mkdir               make a directory
    mkfifo              make FIFO (named pipe) special files
    mkfontdir           create fonts.dir file from directory of font
    mkmf                make a makefile
    mkstr               extract error messages from C source into a file
    mktemp              make a name for a temporary file
    mm, osdd            print documents formatted with the mm macros
    more, page          file perusal filter for crt viewing
    mt                  magnetic tape manipulating program
    mv                  move or rename files and directories
    mwm                 The Motif Window Manager.
    neqn                format mathematical text for nroff
    netstat             show network status
    newform             change or reformat a text file
    newgrp              log in to a new group
    newmail             notify users of new mail in mailboxes
    news                print news items
    nice                run a command at low priority
    nl                  line numbering filter
    nljust              justify lines, left or right, for printing
    nlsinfo             display native language support information
    nm                  print name list of common object file
    nm                  print name list of common object file.
    nm                  print name list of object file
    nodename            assign a network node name or determine current
    nohup               run a command immune to hangups, logouts, and quits
    nroff               format text
    nslookup            query name servers interactively
    od, xd              octal and hexadecimal dump
    on                  execute command on remote host with environment similar
    pack, pcat, unpack  compress and expand files
    pam                 Personal Applications Manager, a visual shell
    passwd              change login password
    paste               merge same lines of several files or subsequent
    pathalias           electronic address router
    pax                 portable archive exchange
    pcltrans            translate a Starbase bitmap file into PCL raster
    pg                  file perusal filter for soft - copy terminals
    ppl                 point-to - point serial networking
    pplstat             give status of each invocation of
    pr                  print files
    praliases           print system - wide sendmail aliases
    prealloc            preallocate disk storage
    printenv            print out the environment
    printf              format and print arguments
    prmail              print out mail in the incoming mailbox file
    prof                display profile data
    protogen            ANSI C function prototype generator
    prs                 print and summarize an SCCS file
    ps, cps             report process status
    ptx                 permuted index
    pwd                 working directory name
    pwget, grget        get password and group information
    quota               display disk usage and limits
    rcp                 remote file copy
    rcs                 change RCS file attributes
    rcsdiff             compareRCS revisions
    rcsmerge            merge RCS revisions
    readmail            read mail from specified mailbox
    remsh               execute from a remote shell
    resize              reset shell parameters to reflect the current size
    rev                 reverse lines of a file
    rgb                 X Window System color database creator.
    rlog                print log messages and other information on RCS files
    rlogin              remote login
    rm                  remove files or directories
    rmdel               remove a delta from an SCCS file
    rmdir               remove directories
    rmnl                remove extra new - line characters from file
    rpcgen              an RPC protocol compiler
    rtprio              execute process with real - time priority
    rup                 show host status of local machines (RPC version)
    ruptime             show status of local machines
    rusers              determine who is logged in on machines on local
    rwho                show who is logged in on local machines
    sact                print current SCCS file editing activity
    sar                 system activity reporter
    sb2xwd              translate Starbase bitmap to xwd bitmap format
    sbvtrans            translate a Starbase HPSBV archive to Personal
    sccsdiff            compare two versions of an SCCS file
    screenpr            capture the screen raster information and
    script              make typescript of terminal session
    sdfchmod            change mode of an SDF file
    sdfchown, sdfchgrp  change owner or group of an SDF file
    sdfcp, sdfln, sdfmv copy, link, or move files to/from an
    sdffind             find files in an SDF system
    sdfls, sdfll        list contents of SDF directories
    sdfmkdir            make an SDF directory
    sdfrm, sdfrmdir     remove SDF files or directories
    sdiff               side-by - side difference program
    sed                 stream text editor
    sh                  shell partially based on preliminary POSIX draft
    sh, rsh             shell, the standard/restricted command programming
    shar                make a shell archive package
    shl                 shell layer manager
    showcdf             show the actual path name matched for a CDF
    size                print section sizes of object files
    sleep               suspend execution for an interval
    slp                 set printing options for a non - serial printer
    soelim              eliminate .so's from nroff input
    softbench           SoftBench Software Development Environment
    sort                sort and/or merge files
    spell, hashmake     spelling errors
    split               split a file into pieces
    ssp                 remove multiple line - feeds from output
    stconv              Utility to convert scalable type symbol set map
    stlicense           server access control program for X
    stload              Utility to load Scalable Type outlines
    stmkdirs            Utility to build Scalable Type ``.dir'' and
    stmkfont            Scalable Typeface font compiler to create X and
    strings             find the printable strings in an object or other
    strip               strip symbol and line number information from an
    stty                set the options for a terminal port
    su                  become super - user or another user
    sum                 print checksum and block or byte count of
    tabs                set tabs on a terminal
    tar                 tape file archiver
    tbl                 format tables for nroff
    tcio                Command Set 80 CS/80 Cartridge Tape Utility
    tee                 pipe fitting
    telnet              user interface to the TELNET protocol
    test                condition evaluation command
    tftp                trivial file transfer program
    time                time a command
    timex               time a command; report process data and system
    touch               update access, modification, and/or change times of
    tput                query terminfo database
    tr                  translate characters
    true, false         return zero or one exit status respectively
    tset, reset         terminal - dependent initialization
    tsort               topological sort
    ttytype             terminal identification program
    ul                  do underlining
    umask               set file - creation mode mask
    umodem              XMODEM - protocol file transfer program
    uname               print name of current HP - UX version
    unget               undo a previous get of an SCCS file
    unifdef             remove preprocessor lines
    uniq                report repeated lines in a file
    units               conversion program
    uptime              show how long system has been up
    users               compact list of users who are on the system
    uucp, uulog, uuname UNIX system to UNIX system copy
    uuencode, uudecode  encode/decode a binary file for
    uupath, mkuupath    access and manage the pathalias database
    uustat              uucp status inquiry and job control
    uuto, uupick        public UNIX system to UNIX system file copy
    uux                 UNIX system to UNIX system command execution
    vacation            return ``I am not here'' indication
    val                 validate SCCS file
    vc                  version control
    vi                  screen - oriented (visual) display editor
    vis, inv            make unprintable characters in a file visible or
    vmstat              report virtual memory statistics
    vt                  log in on another system over lan
    wait                await completion of process
    wc                  word, line, and character count
    what                get SCCS identification information
    which               locate a program file including aliases and paths
    who                 who is on the system
    whoami              print effective current user id
    write               interactively write (talk) to another user
    x11start            start the X11 window system
    xargs               construct argument
    xcal                display calendar in an X11 window
    xclock              analog / digital clock for X
    xdb                 C, FORTRAN, Pascal, and C++ Symbolic Debugger
    xdialog             display a message in an X11 Motif dialog window
    xfd                 font displayer for X
    xhost               server access control program for X
    xhpcalc             Hewlett - Packard type calculator emulator
    xinit               X Window System initializer
    xinitcolormap       initialize the X colormap
    xline               an X11 based real - time system resource observation
    xload               load average display for X
    xlsfonts            server font list displayer for X
    xmodmap             utility for modifying keymaps in X
    xpr                 print an X window dump
    xrdb                X server resource database utility
    xrefresh            refresh all or part of an X screen
    xseethru            opens a transparent window into the image planes
    xset                user preference utility for X
    xsetroot            root window parameter setting utility for X
    xstr                extract strings from C programs to implement shared
    xtbdftosnf          BDF to SNF font compiler (HP 700/RX)
    xterm               terminal emulator for X
    xthost              server access control program for X
    xtmkfontdir         create a fonts.dir file for a directory of
    xtshowsnf           print contents of an SNF file (HP 700/RX)
    xtsnftosnf          convert SNF file from one format to another (HP
    xwcreate            create a new X window
    xwd                 dump an image of an X window
    xwd2sb              translate xwd bitmap to Starbase bitmap format
    xwdestroy           destroy one or more existing windows
    xwininfo            window information utility for X
    xwud                image displayer for X
    yacc                yet another compiler - compiler
    yes                 be repetitively affirmative
    ypcat               print all values in Network Information Service map
    ypmatch             print values of selected keys in Network Information
    yppasswd            change login password in Network Information System
    ypwhich             list which host is Network Information System
    


  6. List of Administrator commands

    accept, reject      allow/prevent LP requests
    acctcms             command summary from per - process accounting
    acctcom             search and print process accounting
    acctcon1, acctcon2  time accounting
    acctdisk, acctdusg  overview of account
    acctmerg            merge or add total accounting files
    acctprc1, acctprc2  process accounting
    arp                 address resolution display and control
    audevent            change or display event or system call audit
    audisp              display the audit information as requested by the
    audomon             audit overflow monitor daemon
    audsys              start or halt the auditing system and set or
    audusr              select users to audit
    automount           automatically mount NFS file systems
    backup              backup or archive file system
    bdf                 report number of free disk blocks (Berkeley version)
    bifdf               report number of free disk blocks
    biffsck             Bell file system consistency check and interactive
    biffsdb             Bell file system debugger
    bifmkfs             construct a Bell file system
    boot                bootstrap process
    bootpd              Internet Boot Protocol server
    bootpquery          send BOOTREQUEST to BOOTP server
    brc, bcheckrc, rc   system initializa
    buildlang           generate and display locale.def file
    captoinfo           convert a termcap description into a terminfo
    catman              create the cat files for the manual
    ccck                HP Cluster configuration file checker
    chroot              change root directory for a command
    clri                clear inode
    clrsvc              clear x25 switched virtual circuit
    cluster             allocate resources for clustered operation
    config              configure an HP - UX system
    convertfs           convert a file system to allow long file names
    cpset               install object files in binary directories
    cron                clock daemon
    csp                 create cluster server processes
    devnm               device name
    df                  report number of free disk blocks
    diskinfo            describe characteristics of a disk device
    disksecn            calculate default disk section sizes
    diskusg             generate disk accounting data by user ID
    dmesg               collect system diagnostic messages to form error log
    drm admin           Data Replication Manager administrative tool
    dump, rdump         incremental file system dump, local or across
    dumpfs              dump file system information
    edquota             edit user disk quotas
    eisa config         EISA configuration tool
    envd                system physical environment daemon
    fbackup             selectively backup files
    fingerd             remote user information server
    frecover            selectively recover files
    freeze              freeze sendmail configuration file on a cluster
    fsck                file system consistency check and interactive repair
    fsclean             determine shutdown status of specified file system
    fsdb                file system debugger
    fsirand             install random inode generation numbers
    ftpd                DARPA Internet File Transfer Protocol server
    fuser, cfuser       list process IDs of all processes that have
    fwtmp, wtmpfix      manipulate connect accounting records
    gated               gateway routing daemon
    getty               set terminal type, modes, speed, and line discip.
    getx25              get x25 line
    glbd                Global Location Broker Daemon
    grmd                graphics resource manager daemon
    gwind               graphics window daemon
    hosts to named      Translate host table to name server file
    ifconfig            configure network interface parameters
    inetd               Internet services daemon
    init, telinit       process control initialization
    insf                install special files
    install             install commands
    instl adm           maintain network install message and default
    intro               introduction to system maintenance commands and
    ioinit              initialize I/O system
    ioscan              scan I/O system
    isl                 initial system loader
    killall             kill all active processes
    lanconfig           configure network interface parameters
    lanscan             display LAN device configuration and status
    last, lastb         indicate last logins of users and ttys
    lb admin            Location Broker administrative tool
    lb test             test the Location Broker
    link, unlink        exercise link and unlink system calls
    llbd                Local Location Broker daemon
    lockd               network lock daemon
    lpadmin             configure the LP spooling system
    lpana               print LP spooler performance analysis information
    lpsched, lpshut     start/stop the LP request
    ls admin            Display and edit the license server database
    ls rpt              Report on license server events
    ls stat             Display the status of the license server system
    ls targetid         Prints information about the local NetLS tar
    ls tv               Verify that Network License Servers are working
    lsdev               list device drivers in the system
    lssf                list a special file
    makecdf             create context - dependent files
    makedbm             make a Network Information System database
    mkboot, rmboot      install, update, or remove boot programs
    mkdev               make device files
    mkfs                construct a file system
    mklost+found        make a lost+found directory
    mklp                configure the LP spooler subsystem
    mknod               create special files
    mkpdf               create a Product Description File from a prototype
    mkrs                construct a recovery system
    mksf                make a special file
    mount, umount       mount and unmount file system
    mountd              NFS mount request server
    mvdir               move a directory
    named               Internet domain name server
    ncheck              generate path names from inode numbers
    netdistd            network file distribution (update) server daemon
    netfmt              format tracing and logging binary files.
    netlsd              Starts the license server
    nettl               control network tracing and logging
    nettlconf           configure network tracing and logging command
    nettlgen            generate network tracing and logging commands
    newfs               construct a new file system
    nfsd, biod          NFS daemons
    nfsstat             Network File System statistics
    nrglbd              Non - Replicatable Global Location Broker daemon
    opx25               execute HALGOL programs
    pcnfsd              PC - NFS daemon
    pcserver            Basic Serial and HP AdvanceLink server
    pdc                 processor - dependent code (firmware)
    pdfck               compare Product Description File to File System
    pdfdiff             compare two Product Description Files
    perf                test the NCS RPC runtime library
    ping                send ICMP ECHO REQUEST packets to network hosts
    portmap             DARPA port to RPC program number mapper
    proxy               manipulates the NS Probe proxy table
    pwck, grpck         password/group file checkers
    quot                summarize file system ownership
    quotacheck          file system quota consistency checker
    quotaon, quotaoff   turn file system quotas on and off
    rbootd              remote boot server
    rcancel             remove requests from a remote line printer spool
    reboot              reboot the system
    recoversl           check and recover damaged or missing shared
    regen               regenerate (uxgen) an updated HP - UX system
    remshd              remote shell server
    repquota            summarize quotas for a file system
    restore, rrestore   restore file system incrementally, local
    revck               check internal revision numbers of HP - UX files
    rexd                RPC - based remote execution server
    rexecd              remote execution server
    ripquery            query RIP gateways
    rlb                 remote loopback diagnostic
    rlbdaemon           remote loopback diagnostic server
    rlogind             remote login server
    rlp                 send LP line printer request to a remote system
    rlpdaemon           remote spooling line printer daemon, message
    rlpstat             print status of LP spooler requests on a remote
    rmfn                remove HP - UX functionality (partitions and filesets)
    rmsf                remove a special file
    rmt                 remote magnetic - tape protocol module
    route               manually manipulate the routing tables
    rpcinfo             report RPC information
    rquotad             remote quota server
    rstatd              kernel statistics server
    runacct             run daily accounting
    rusersd             network username server
    rwall               write to all users over a network
    rwalld              network rwall server
    rwhod               system status server
    sa1, sa2, sadc      system activity report package
    sam                 system administration manager
    savecore            save a core dump of the operating system
    sdfdf               report number of free SDF disk blocks
    sdffsck             SDF file system consistency check, interactive
    sdffsdb             examine/modify an SDF file system
    sdsadmin            create and administer Software Disk Striping
    sendmail            send mail over the internet
    setmnt              establish mount table /etc/mnttab
    setprivgrp          set special attributes for group
    showmount           show all remote mounts
    shutdown            terminate all processing
    sig named           send signals to the domain name server
    snmpd               daemon that responds to SNMP requests
    spray               spray packets
    sprayd              spray server
    statd               network status monitor
    stcode              translate hexadecimal status code value to textual
    subnetconfig        configure subnet behavior
    swapinfo            system swap space information
    swapon              enable additional device or file system for paging
    sync                synchronize file systems
    syncer              periodically sync for file system integrity
    sysdiag             online diagnostic system interface
    syslogd             log systems messages
    sysrm               remove optional HP - UX products (filesets)
    telnetd             TELNET protocol server
    tftpd               trivial file transfer protocol server
    tic                 terminfo compiler
    tunefs              tune up an existing file system
    untic               terminfo de - compiler
    update, updist      update or install HP - UX files (software
    uucheck             check the uucp directories and permissions file
    uucico              transfer files for the uucp system
    uuclean             uucp spool directory clean - up
    uucleanup           uucp spool directory clean - up
    uugetty             set terminal type, modes, speed and line discip.
    uuid gen            UUID generating program
    uuls                list spooled uucp transactions grouped by transaction
    uusched             schedule uucp transport files
    uusnap              show snapshot of the UUCP system
    uusnaps             sort and embellish uusnap output
    uusub               monitor uucp network
    uuxqt               execute remote uucp or uux command requests
    uxgen               generate an HP - UX system
    vhe altlog          login when Virtual Home Environment (VHE) home
    vhe mounter         start the Virtual Home Environment (VHE)
    vhe u mnt           perform Network File System (NFS) mount to
    vipw                edit the password file
    vtdaemon            respond to vt requests
    wall, cwall         write to all users
    whodo               which users are doing what
    xdm                 X Display Manager
    xtptyd              X terminal pty daemon program
    ypinit              build and install Network Information Service data
    ypmake              create or rebuild Network Information Service data
    yppasswdd           daemon for modifying Network Information Service
    yppoll              query NIS server for information about NIS map
    yppush              force propagation of Network Information Service
    ypserv, ypbind      Network Information Service server and
    ypset               bind to particular Network Information Service