See the UNIX Programmers Manual or via % man csh
# Annotated csh .login file
set path=(. /usr/local /usr/ucb /bin /usr/bin ~kempa/bin)
# When the C Shell tries to run a command it will look in the
# directories listed in the path variable. The directory named .
# refers to the "current working directory".
# The directories are searched in the order listed in the path variable.
# The ~kempa is shorthand for /va/kempa
setenv EXINIT 'set autoindent shell=/bin/csh'
# The environment variable EXINIT is set to the string in single quotes.
# This variable is used by the editors, ed, ex, edit, and vi, for
# initialization. In this case the editor variables autoindent and
# shell are set.
set ignoreeof
# The shell variable ignoreeof is set so that it is not
# possible to logoff with CTRL-D
set mail = (300 /usr/spool/mail/kempa /usr/spool/mail/kemp)
# The mail variable is set so that the system will check
# for mail every 300 seconds (5 minutes). The system will
# look in two places, kempa and kemp for mail.
# If the mail variable is not set the system will default to
# checking for mail every 10 minutes, and look in the mail file
# which has the same name as the user's login name.
set history = 20
# The history variable is set to store the last 20 commands.
# If this variable is not set only the last command will be saved
# on the history list
alias ts \\
'set noglob; eval `tset -s ?h19`'
# These two lines alias the name ts to the commands on the line below.
# The \\ allows the continuation of the alias on the next line. A \\
# and then a RETURN is the same as a space.
# set noglob disables filename substitution, the tset command is
# run and the output is placed in a string between the back-quotes.
# This is then taken via the eval command as input to the shell.
# The ? before the h19 means that the tset command will prompt
# the user for terminal type. The default will be h19.
# The result of all of this is that the terminal name h19 is used
# to initialize the environment variables TERM and TERMCAP. This
# is important so that full screen editors, and other commands
# work correctly.
ts; stty new crt; biff y
# The ts alias is run. Then stty, a command that sets input/output
# defaults is run with new and crt as arguments. Finally the
# biff command is run which tells the system to notify the user
# right away when new mail arrives. biff n, turns off this option.
# The ; separates commands. Each command could have been put on
# a different line.
echo "USING: $TERM"; echo ""
# This displays the word USING: and the type of terminal the
# system thinks is being used to the screen.
msgs -f
# checks to see if there are any system messages.
# The -f flag inhibits the "no new messages" message
alias sh /bin/csh
# The sh command now invokes a C Shell instead of a Bourne shell
alias rm 'rm -i'
# Any time rm is used it will be called with the -i (interactive)
# flag.
alias h 'history -r'
# h calls history with the commands listed in reverse order.
# This alias assumes that the history variable has been set
# to some number greater than 1
alias list 'echo "" ; pwd ; ls -F ; echo ""'
# list displays a blank line, displays the working directory,
# lists the current directory, and displays a blank line
alias go 'cd \\!* ; list'
# changes directory, runs list
alias back 'go ..'
# runs go on the directory before the current directory
# .. means the previous directory
list
# run the list command (alias)