How do I assign alias(es) to my Korn Shell (ksh)?


  

  1. Syntax for Defining Alias
  2. Korn shell alias examples
  3. Managing Alias(es)

Syntax for Defining Alias
  
Alias is a pseudonym or shorthand for a command or series of commands, i.e., a convenient macro for frequently used command or a series of commands. An alias definition affects the current shell execution environment and the execution environments of the subshells of the current shell. The alias definition will not affect the parent process of the current shell nor any utility environment invoked by the shell.

For Korn shell (ksh), you can define alias(es) using

alias alias_name='command'

syntax in .kshrc file in your root directory. You can define as many aliases as you want (as long as you can remember alias names) in .kshrc.

Korn shell alias examples
  

Collection of useful aliases

For example, to create a simple command alias, first open your .kshrc file in your home directory using any text editor of your choice.

alias del='rm -i'

This creates an alias del for the command "rm -i" which prompts you for confirmation that you want to remove a file before it does so.

To create a command alias that consists of a series of commands,

alias mps='ps -aux | grep $USER | less'

This creates an alias mps for the command "ps" with "aux" flags and pipe the result to "grep" command to display current processes belong to you one screenful at a time.

Of course, you can refer to another command alias within an alias,

alias h=history
alias rev='h | tail -10'

The first command assigns an alias h to the "history" command. The next command assigns another alias rev to the command "h | tail -10". This takes the output from the alias h (= the "history" command) and pipes it through the "tail" command to list the ten most recent commands in the command history.

Here's an example for using more than one alias on the same command line,

alias root='cd /; '
alias slist='ls -l | head -5'

Provided the last character in the root alias definition is a blank space (" "). Thus any argument to this alias as also checked to see if it is an alias. If so, it is executed. Also, notice that in the first alias definition the command ends in a ";" (semicolon) to allow another command to follow it.

If you type these two aliases, root slist at the command prompt, then you're changing to your root directory and its contents is listed in a long format with only the first five lines of output being displayed.

Managing Alias(es)
  

  1. To display the value of an alias known to the shell, type;

    $ alias

    To display the current value for a particular alias, use the command;

    $ alias name_of_alias

    For example, to display the current value of the alias named rev;

    $ alias rev
    history | tail -10

  2. Once alias definition is save in .kshrc, the alias will be in effect next time you login. If you wish to make the alias in effect immediately, update your alias definition by sourcing out .kshrc.

    $ . .kshrc

  3. To cancel a command alias during your current login session use the command;

    $ unalias name_of_alias

    For example,

    $ unalias rev

    will cancel the command alias rev for your current login session. You will have to remove the alias definition from your .kshrc file if you want to cancel the alias permanently.

For further details, RTFM on "alias."