Unix Introduction
What is UNIX?
UNIX is an operating system which was first developed in the
1960s, and has been under constant development ever since. By operating system,
we mean the suite of programs which make the computer work. It is a stable,
multi-user, multi-tasking system for servers, desktops and laptops.
UNIX systems also have a graphical user interface (GUI) similar
to Microsoft Windows which provides an easy to use environment. However,
knowledge of UNIX is required for operations which aren't covered by a
graphical program, or for when there is no windows interface available, for
example, in a telnet session.
for example, in a telnet session.
Types of UNIX
There
are many different versions of UNIX, although they share common similarities.
The most popular varieties of UNIX are Sun Solaris, GNU/Linux, and MacOS X.
Here in the School, we use Solaris on our servers and
workstations, and Fedora Core Linux on the servers and desktop PCs.
The UNIX operating system
The UNIX operating system is made up of three parts; the kernel,
the shell and the programs.
The kernel
The kernel of UNIX is the hub of the operating system: it
allocates time and memory to programs and handles the file store and
communications in response to system calls.
As an illustration of the way that the shell and the kernel work
together, suppose a user types rm myfile (which
has the effect of removing the file myfile).
The shell searches the filestore for the file containing the program rm,
and then requests the kernel, through system calls, to execute the program rm
on myfile. When the process rm myfile has
finished running, the shell then returns the UNIX prompt % to the user,
indicating that it is waiting for further commands.
The shell
The shell acts as an interface between the user and the kernel.
When a user logs in, the login program checks the username and password, and
then starts another program called the shell. The shell is a command line
interpreter (CLI). It interprets the commands the user types in and arranges
for them to be carried out. The commands are themselves programs: when they
terminate, the shell gives the user another prompt (% on our systems).
The adept user can customise his/her own shell, and users can
use different shells on the same machine. Staff and students in the school have
the tcsh shell by default.
The tcsh shell has certain features to help the user inputting
commands.
Filename Completion - By typing part of the name of a command,
filename or directory and pressing the [Tab] key, the tcsh shell will
complete the rest of the name automatically. If the shell finds more than one
name beginning with those letters you have typed, it will beep, prompting you
to type a few more letters before pressing the tab key again.
History - The shell keeps a list of the commands you have typed
in. If you need to repeat a command, use the cursor keys to scroll up and down
the list or type history for a list of previous commands.
Files and processes
Everything in UNIX is either a file or a process.
A process is an executing program identified by a unique PID
(process identifier).
A file is a collection of data. They are created by users using
text editors, running compilers etc.
Examples of files:
- a document (report, essay etc.)
- the text of a program written in some high-level
programming language
- instructions comprehensible directly to the machine
and incomprehensible to a casual user, for example, a collection of binary
digits (an executable or binary file);
- a directory, containing information about its contents, which may be a mixture of other directories (subdirectories) and ordinary files.
The Directory Structure
All the files are grouped together in the directory structure.
The file-system is arranged in a hierarchical structure, like an inverted tree.
The top of the hierarchy is traditionally called root (written as a
slash / )
In the diagram above, we see that the home directory of the
undergraduate student "ee51vn" contains two sub-directories (docs
and pics) and a file called report.doc.
The full path to the file report.doc is "/home/its/ug1/ee51vn/report.doc"
Starting an UNIX terminal
To open an UNIX terminal window, click on the
"Terminal" icon from the drop-down menus.
An UNIX Terminal window will then appear with a % prompt,
waiting for you to start entering commands.
UNIX Tutorial One
1.1 Listing files and directories
ls (list)
When you first login, your current working directory is your
home directory. Your home directory has the same name as your user-name, for
example, ee91ab, and it is where your personal files and subdirectories
are saved.
To find out what is in your home directory, type
% ls
The ls command lists the contents of
your current working directory.
There may be no files visible in your home directory, in which
case, the UNIX prompt will be returned. Alternatively, there may already be
some files inserted by the System Administrator when your account was created.
ls
does not, in fact, cause all the files in your home directory to be listed, but
only those ones whose name does not begin with a dot (.) Files beginning with a
dot (.) are known as hidden files and usually contain important program
configuration information. They are hidden because you should not change them
unless you are very familiar with UNIX.
To list all files in your home directory including those whose
names begin with a dot, type
% ls -a
As you can see, ls -a lists files that are
normally hidden.
1.2 Making Directories
mkdir (make directory)
We will now make a subdirectory in your home directory to hold
the files you will be creating and using in the course of this tutorial. To
make a subdirectory called unixstuff in your current working directory type
% mkdir unixstuff
To see the directory you have just created, type
% ls
1.3 Changing to a different
directory
cd (change directory)
The command cd directory
means change the current working directory to 'directory'. The current
working directory may be thought of as the directory you are in, i.e. your current
position in the file-system tree.
To change to the directory you have just made, type
% cd unixstuff
Type ls to see the contents (which
should be empty)
Exercise 1a
Make another directory inside the unixstuff directory
called backups
1.4 The directories . and ..
Still in the unixstuff
directory, type
% ls -a
As you can see, in the unixstuff
directory (and in all other directories), there are two special directories
called (.)
and (..)
The current directory (.)
In UNIX, (.)
means the current directory, so typing
% cd .
NOTE:
there is a space between cd and the dot
means stay where you are (the unixstuff directory).
This may not seem very useful at first, but using (.) as the name of the
current directory will save a lot of typing, as we shall see later in the
tutorial.
The parent directory (..)
(..)
means the parent of the current directory, so typing
% cd ..
will take you one directory up the hierarchy (back to your home
directory). Try it now.
Note: typing cd with no argument always returns
you to your home directory. This is very useful if you are lost in the file
system.
1.5 Pathnames
pwd (print working directory)
Pathnames enable you to work out where you are in relation to
the whole file-system. For example, to find out the absolute pathname of your
home-directory, type cd to get back to your
home-directory and then type
% pwd
The full path name will look something like this -
/home/its/ug1/ee51vn
which means that ee51vn (your home directory) is in the
sub-directory ug1 (the group directory),which in turn is located in the its
sub-directory, which is in the home sub-directory, which is in the
top-level root directory called " / " .
Exercise 1b
Use the commands cd, ls
and pwd
to explore the file system.
(Remember, if you get lost, type cd by
itself to return to your home-directory)
1.6 More about home directories and
pathnames
Understanding pathnames
First type cd to get back to your home-directory, then type
% ls unixstuff
to list the conents of your unixstuff directory.
Now type
% ls backups
You will get a message like this -
backups: No such file or directory
The reason is, backups
is not in your current working directory. To use a command on a file (or
directory) not in the current working directory (the directory you are
currently in), you must either cd to the correct directory, or
specify its full pathname. To list the contents of your backups directory, you
must type
% ls unixstuff/backups
~ (your home directory)
Home directories can also be referred to by the tilde ~ character. It can be
used to specify paths starting at your home directory. So typing
% ls ~/unixstuff
will list the contents of your unixstuff directory, no matter
where you currently are in the file system.
What do you think
% ls ~
would list?
What do you think
% ls ~/..
would list?
Summary
Command
|
Meaning
|
Ls
|
list
files and directories
|
ls –a
|
list
all files and directories
|
Mkdir
|
make
a directory
|
cd directory
|
change
to named directory
|
Cd
|
change
to home-directory
|
cd ~
|
change
to home-directory
|
cd ..
|
change
to parent directory
|
Pwd
|
display
the path of the current directory
|
TO BE CONTINUED........
Comments
Post a Comment