Many computers used at Fermilab use the UNIX operating system, or close variants thereof. This note is intended to get you oriented in your new account, and to give you an idea of how and where to look for more information about the UNIX operating system. It is not intended to replace any other documentation. More thorough documentation is available in various reference and text books.

  1. Mark G. Sobell, A Practical Guide to Unix System V (Second Edition) Benjamin/Cummings (1991)

  2. UNIX at Fermilab , Computing Division document GU0001. See http://cddocs.fnal.gov/cfdocs/productsDB/docs.html (you probably had already guessed that), and follow the link "General UNIX documentation (GU)".

  3. Try seaching the WWW (e.g., www.altavista.digital.com) for unix+summary, unix+overview, "a quick introduction to UNIX", etc.

Directory Structure

There are several ways of refering to a directory:

For example, imagine Ramberg's home directory is /usr1/home/ramberg, and he has a sub-directory called "hyperon." If I am currently in /usr1/home/another/sub1, I can refer to the hyperon sub-directory as: Note: All file names, commands, and variables are case specific in UNIX.

Editing Files

There are several editors available. The most intuitive is nedit. See the section on "Products" below.

Emacs and vi are two other commonly used editors on Fermilab UNIX systems.

Basic Commands

Here are a (very) few basic commands in UNIX.

Note for reading these descriptions:



Commands and applications that are not part of the operating system are defined at Fermilab as "products". In order to run these programs, you usually need to setup the corresponding product, i.e., tell the operating system where to find them, each time you log in:

setup product

Some useful products are:

Important files

There are two very important files that can make using a UNIX system much easier.

[Note: File whose names begin with ".", such as ".login", are "hidden" files. They do not normally appear in a simple ls command, unless you give the -a option.]

A starting version of each of these are provided with your new account. As an exercise, you can do the following: Now you're editing the .login file. This is the best place to set variables that you'll need, as well as setup any products that you use very frequently. When you're done, try editing .cshrc. You'll notice that some aliases have been suggested, but they are "commented out," with the c-shell comment character "#". The aliases re-defining the commands cp, mv, and rm to always use the -i (confirm) option are a very good idea. To activate them, remove the initial "#", save the file, logout, and then login.

Printing Files

The standard UNIX command lpr is replaced at Fermilab with flpr. This allows most printers to be accessed from most machines. The key commands are (see the man pages for more info):

The names of the printer queues are posted near each printer.

Postscript Files

Postscript is a graphics language used widely at Fermilab and elsewhere. Typeset papers, plots made by programs such as PAW, and other figures are often written in postscript. Many printers at Fermilab interpret postscript automatically. In this case, you can send a postscript file to the printer as you would any other. In some cases, however, it is necessary to specify a special queue on a printer when printing postscript. The names of such queues often are the default with "_ps" added. If you fail to specify a "postscript queue" when necessary, the raw postscript language will be printed, instead of the graphics you intended.

Note: To view a postscript file on the screen, use ghostview.


The UNIX system supports variables. You can read about them in any thorough reference. The value of a variable var is refered to as $var.

Connecting to Other Computers

Two particularly useful means of connecting to other computers are given below. See a good reference for others.


Some topics to look for in references which may lead you to more useful information:

P. Shanahan - 6/3/98