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

Pedestrian guide to UNIX



This is a general brief guide that introduces UNIX at a very basic level. If you are already familiar with UNIX you only need to inspect the chapter Logging in

Index

Logging in
Xwindows
Using the WWW browser
Shell
File system navigation
Simple file commands
Viewing and editing files
Manual pages




Supercomputer facilities at Center for Biological Sequence Analysis, Technical University of Denmark


Logging in

The exiercises will be conducted on the Silicon Graphics servers at CBS, under Linux and IRIX.

The course participants will form groups or work individually. Each group/person will have its/his/her own account - 25 accounts have been created. The user names are:

    phd01, phd02, phd03, phd04, phd05, ...
Logging in to the CBS servers is done as follows:
  • Open the program PuTTY (StartMenu->Programs->PuTTY->PuTTY). Under "Saved Sessions" there should be an entry called 'genome.cbs.dtu.dk'. Double click on this one, type in your username and password and you will be connected.


Xwindows

The window system in the UNIX world (called 'X' or 'Xwindows') is quite similar to the PC Windows or Macintosh environments. Both CYGWIN and the SGI servers use that system. Windows can be created/deleted, (de)iconized, scrolled, enlarged, moved etc. with the help of the mouse. Such operations will not be described here; after a few experiments you will manage to perform them.

It is possible to copy and paste fragments of text between (most) windows. Selection (=highlighting) is done with the left mouse button; pasting in another place with Shift-Insert.


Shell

There is a special type of window called 'shell' or 'terminal window' that is similar to an MS-DOS window in Windows. Terminal windows are the principal vehicle of interaction with a UNIX/Linux 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[phd14]:/home/people/phd14/alignment>

It means that you have logged in to the machine called "genome", your username is "phd14" and you are in the directory (=folder) "alignment" in the directory "phd14" 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.

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[phd14]:/home/people/phd14/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[phd14]:/home/people/phd14/alignment> cd dir2
genome[phd14]:/home/people/phd14/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[phd14]:/home/people/phd14/alignment/dir2> cd ..
genome[phd14]:/home/people/phd14/alignment> cd
genome[phd14]:/home/people/phd14>
Wherever you are, 'cd' with no arguments will always take you to your home directory.


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. Most often it is mentioned in the exercise manual. Your browser is configured so that it in most cases will launch an appropriate tool when you view a file (select 'Open file' in the 'File' menu).


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).