From VMS to Linux HOWTO
Prev |  | Next

# 9. Configuring

Your sysadm has already provided you with a number of configuration files like `.xinitrc`, `.bash_profile`, `.inputrc`, and many others. The ones you may want to edit are:

- `.bash_profile` or `.profile`: read by the shell at login time. It's like `LOGIN.COM`;

- `.bash_logout`: read by the shell at logout. It's like `LOGOUT.COM`;

- `.bashrc`: read by non--login shells.

- `.inputrc`: this file customises the key bindings and the behaviour of the shell.

To give you an example, I'll include my `.bash_profile` (abridged):

    # $HOME/.bash_profile

    # don't redefine the path if not necessary
    echo $PATH | grep $LOGNAME > /dev/null
    if [ $? != 0 ]
    then
      export PATH="$PATH:/home/$LOGNAME/bin"  # add my dir to the PATH
    fi

    export PS1='LOGNAME:\w\$ '
    export PS2='Continued...>'

    # aliases

    alias bin="cd ~/bin" ; alias cp="cp -i" ; alias d="dir"
    alias del="delete" ; alias dir="/bin/ls $LS_OPTIONS --format=vertical"
    alias ed="jed" ; alias mv='mv -i'
    alias u="cd .." ; alias undel="undelete"

    # A few useful functions

    inst() # Install a .tar.gz archive in current directory.
    {
      gzip -dc $1 | tar xvf -
    }
    cz() # List the contents of a .zip archive.
    {
      unzip -l $*
    }
    ctgz() # List the contents of a .tar.gz archive.
    {
      for file in $* ; do
        gzip -dc ${file} | tar tf -
      done
    }
    tgz() # Create a .tgz archive a la zip.
    {
      name=$1 ; tar -cvf $1 ; shift
      tar -rf ${name} $* ; gzip -S .tgz ${name}
    }

And this is my `.inputrc`:

    # $HOME/.inputrc
    # Last modified: 16 January 1997.
    #
    # This file is read by bash and defines key bindings to be used by the shell;
    # what follows fixes the keys END, HOME, and DELETE, plus accented letters.
    # For more information, man readline.

    "\e[1~": beginning-of-line
    "\e[3~": delete-char
    "\e[4~": end-of-line

    set bell-style visible
    set meta-flag On
    set convert-meta Off
    set output-meta On
    set horizontal-scroll-mode On
    set show-all-if-ambiguous On

    # (F1 .. F5) are "\e[[A" ... "\e[[E"

    "\e[[A": "info "

Prev | Home | Next
Advanced Topics |  | Useful Programs