Events News Research CBS CBS Publications Bioinformatics
Staff Contact About Internal CBS CBS Other

Pedestrian guide to UNIX



This guide introduces UNIX at a very basic level needed for the course in Biological Sequence Analysis. If you are already familiar with UNIX you only need to inspect the chapters Logging in and Getting help.

Index

Logging in
Xwindows
Shell
File system navigation
Simple file commands
Viewing and editing files
Manual pages
Getting help


Logging in

The exercises will be conducted on Silicon Graphics servers at CBS, running either IRIX64 (a "flavour" of UNIX) or Altix (a variant of Linux, which is another "flavour" of UNIX). The servers will be accessed from portable computers (Windows/Mac/Linux).

Each course participant will get his/her own You have been assigned user accounts on the system, each with a home directory. Each internet student has his/her own account, while on-site students will team up in pairs, so two students share one account. The user names are:

    stud001, stud002, stud003, ...
Passwords have been distributed to internet students and will be given to on-site students. For security reasons, please change your password after logging in for the first time. This is done by giving the command yppasswd - then you will be asked to enter first your original password, then a new password. A good password should be at least 6 characters and include both upper-case letters, lower-case letters and digits.

Unless told otherwise by the exercise teacher, the users stud001-stud030 should use the server (host) cell.cbs.dtu.dk, while stud031 and above should use organism.cbs.dtu.dk.

Logging in to the CBS servers with SSH

Before you log in the first time, you have to make sure that an SSH (Secure Shell) program is available on your computer - see "Setting up your own computer for the course" (on-site students won't necessarily need Flash).

Tips for using SSH for Windows

  • The copy and paste keyboard shortcuts are different from most Windows programs: use Ctrl-Insert to copy from the SSH window and Shift-Insert to paste into it. You can copy the command lines from the exercise manual in your browser with Ctrl-C and paste them into the command line with Shift-Insert, if you're lazy (real bioinformaticans are!).

  • Sometimes it is very nice to have more than one shell, e.g. if you want to type commands from one shell, while keeping some results in another shell. On the tool bar (just below the menu bar) there is an icon that looks like a miniature of the 'SSH Secure Shell' icon. Click on that and you get a new shell popping up. Very useful.

  • You might even want to copy files from the Unix system to your portable. Next to the minature 'SSH Secure Shell' icon, there is a minature folder icon. Click on that, and a file transfer window pops up. Just use drag-and-drop from the desktop to the unix folder (or vice versa).


Xwindows

The window system in the UNIX world (called 'X' or 'X windows') is quite similar to the PC Windows or Macintosh environments. You will not encounter an X windows manager during the course, since you are not working from UNIX terminals, but you can open X windows applications within your PC Windows interface.

Two things are needed for this to work: A tunnel that transports X windows communication over a secure connection (this is handled by SSH), and an X server - see "Setting up your own computer for the course".

When you start an X windows application from the command line, it is a good idea to run it in the background by placing an "&" at the end of the command line:

nedit file &
In this way, the shell will keep running, so that you can continue to use the command line without closing the nedit window.


Shell

There is a special type of window called 'shell' or 'terminal window' that is similar to an MS-DOS or "Command Prompt" window in Windows (it lacks equivalent in the old Macintosh environment, but Mac OS X, being a UNIX variant, has it). Terminal windows are the principal vehicle of interaction with a UNIX machine. Their function is to perform the commands typed into them.

An active terminal window will display a prompt and pause waiting for a command. The prompt can look like this:

genome[stud014]:/home/people/stud014/alignment>

It means that you have logged in to the machine called "genome", your username is "stud014" and you are in the directory (=folder) "alignment" in the directory "stud014" in the directory "people" in the directory "home" at the highest level of the file hierarchy.

The commands are submitted by typing them after the prompt and then hitting the RETURN key. They may be copied/pasted from another window (see above). The command you have typed is not submitted until you hit the RETURN key; you can move back and forth in the command string using the LEFT and RIGHT arrow keys and correct mistakes quietly. A command line may be longer than a line on the screen, just keep typing!

As soon as the RETURN key has been hit the execution starts. Do not be alarmed if nothing happens at once; sometimes it takes a while to load and activate a programme.

You can recall the previous command line with the UP arrow key, and then edit it with LEFT and RIGHT arrow keys and BACKSPACE. Use this to correct mistakes instead of typing the whole thing again. Note, however, that you can not use the mouse to position the cursor within the command line.

If you are familiar with MS-DOS, please note these differences in UNIX:

  • Commands and file names are case-sensitive: X.AA and x.aa are two different files.
  • Directories in path names are delimited by / (slash), not \ (backslash).
  • There are no drive letters, such as C:.
  • Options to commands are normally preceded with a - (minus), not a / (slash).


File system navigation

The contents of the current directory (=folder) can be examined by typing 'ls' ("list"). It can look like this:
genome[stud014]:/home/people/stud014/alignment> ls
file1    file2 dir1 dir2
To get more information than just the file names, use 'ls -l' or the shorthand 'll' ("list long"). This gives you the permissions, ownership, size, and last modification time of all the files.

You can change to a directory in the current directory with the command 'cd':

genome[stud014]:/home/people/stud014/alignment> cd dir2
genome[stud014]:/home/people/stud014/alignment/dir2>
Notice the the prompt changes as you go to another directory.

To go up one level in the hierarchy, use 'cd ..'. To go to your home directory, use 'cd' with no arguments:

genome[stud014]:/home/people/stud014/alignment/dir2> cd ..
genome[stud014]:/home/people/stud014/alignment> cd
genome[stud014]:/home/people/stud014>
Wherever you are, 'cd' with no arguments will always take you to your home directory.

To create a new directory, use 'mkdir newdir'.


Simple file commands

To copy one or more file(s), use cp:
cp file newfile
cp file1 file2 etc... directory
To rename a file or move one or more file(s), use mv:
mv file newfile
mv file1 file2 etc... directory
To delete (remove) one or more file(s), use rm:
rm file1 file2 etc...
See the manual pages for details:
    man cp
    man mv
    man rm

Viewing and editing files

Text files

  • A very short text file can be typed on the screen with the command
    cat file
    (where you should substitute file with the actual name of the file).

  • Larger files may be viewed with a pager:
    less file
    which shows you one screenful at a time. When the viewing session starts you are shown the top of the file. You move around in the file as follows:
        SPACE	one screenful forward
        b 		one screenful backward
        RETURN	one line forward
        k		one line backward
        g		top (beginning) of file
        G		bottom (end) of file
        q		leave the session
    
  • If you want to create/modify a text file type
    nedit file &
    A new window will appear and the file named file will be shown in it ready for editing. If file does not exist you will get an empty window in which to type. The 'nedit' editor is a Silicon Graphics editor in Macintosh-style with menus, mouse support, and on-line help.

Other files

Files containing graphics can be viewed with many different tools. The choice of tool depends on the format of the file in question, e.g., ghostview should be used for postscript files. Most often it is mentioned in the exercise manual.


Viewing and saving output from commands

Often, a UNIX command will produce much more output than there is room for on the the screen at one time. In this case, there are two things you can do:
  • Pipe the output of the command through a pager:
    command | less
    (see above for how to use less).

    In general, the construct `command1 | command2' (known as a pipe) means that the output from command1 is used as input to command2. You will see examples of this in the exercises.

  • Save (redirect) the output to a file:
    command > file
    Then you can examine the file as described above, edit it, print it, or whatever you like.


Manual pages

Most UNIX commands have manual pages which are viewed with the command man, e.g.
man align
The manual page for the command will automatically be piped to less (see above).


More information

is found on the "Using UNIX" page.


Getting help

There will be staff on duty to assist you in the course of the exercises. The questions concerning the computer system and the technicalities of UNIX should be put primarily to the support people:
    Hans Henrik Staerfelt,	room 011, phone 2471
    Peter Wad Sackett,		room 020, phone 2427
    Kristoffer Rapacki,		room 013, phone 2483
The questions concerning the exercise itself should be put to the teacher responsible for it. The above distinction can be fuzzy so you should generally grab whoever is at hand and ask for help.