Professional Documents
Culture Documents
ULNXC-14
TABLE OF CONTENTS
INTRODUCTION TO LINUX
Module overview
Module structure
Additional supplementary reading
Learning outcomes and assessment criteria
Icons used in this study guide
The history of Linux
Ubuntu Linux
What is Linux?
Using the Linux operating system
The three main parts of the Linux system
The Linux Graphical User Interface
1
1
2
2
3
3
4
6
6
7
8
9
12
15
21
23
23
23
24
24
26
27
30
30
33
34
36
41
44
44
49
49
50
52
60
70
70
71
72
73
73
73
75
output file
input file
input and standard output
error file
76
79
79
80
81
84
84
86
99
99
99
100
105
107
107
113
114
ANSWERS
116
118
118
118
EXERCISE CHECKLIST
119
GLOSSARY
120
128
Introduction to Linux
Welcome to CTIs module on using the Ubuntu Linux operating system.
The module will introduce you to open source software and the increasingly
important role it plays within the IT world. You should already be well
acquainted with the Windows operating system, which means that many of the
concepts and techniques presented in the module will seem familiar. Please
read all the material in this study guide very carefully. On the surface Linux
may seem to be very much like Windows, but as you work through the study
guide you will discover that they differ in many ways.
Module overview
This module is aimed at teaching the basic principles of using the Linux
operating system to run applications and manage files. It is therefore
recommended that you spend as much time as possible working on the Linux
system to gain a thorough understanding of the operating system.
Unlike other operating systems, Linux offers a wide variety of systems
designed for specific uses by incorporating highly specialised applications.
There is no single, definitive Linux operating system. In fact, there are over
200 kinds of Linux, known as Linux distributions, each offering different
varieties of desktop environments and applets. Some of the more well-known
Linux desktop distributions include Mint, Ubuntu, Fedora, Mageia and Debian.
It is interesting to note that Android, the mobile OS, is technically the most
widespread Linux distribution as it uses, and was built from, the Linux kernel.
NOTE
This module and all examination questions are based on the Ubuntu
distribution of Linux, version 12.04.
The module begins with a brief history of Linux and the background of the
Ubuntu distribution to help you understand the nature and spirit of the
operating system, and then introduces you to using Linux through a Graphical
User Interface. Although the interface resembles the Windows desktop in many
ways, a look behind the scenes at the underlying Linux file system will uncover
some of the main differences between them as an introduction to the Linux
command line interface. This is where the true nature and power of Linux is
revealed.
Page 1 of 133
If you are interested in reading more about current developments in Linux, you
are encouraged to visit the following websites:
www.linux.com
www.ubuntu.com
www.linuxnewbie.com
www.go-opensource.org
Module structure
Table 0.1 Suggested work schedule
Introduction, Units 1 and 2
Units 3 6
Units 7 10
Theory examination
Practical examination
1
1
1
1
1
day
day
day
day
day
Page 2 of 133
Page 3 of 133
Page 4 of 133
The first step towards Linux from Unix was taken in the 1980s when Andrew
Tanenbaum, a computer science professor in the Netherlands, wrote an
educational version of Unix called Minix. The purpose of Minix was for students
to learn Unix on home-based Intel PCs.
In August 1991, Linus Torvalds, then a student at the University of Helsinki in
Finland, posted the following message to the Minix newsgroup:
Hello everybody out there using minix
Im doing a (free) operating system
(just a hobby, wont be big and professional
like gnu) for 386 (486) AT clones.
The result of this hobby was Linux, a Unix-like operating system for personal
computers! By creating Linux, Torvalds was able to provide the core of a Unixlike operating system, without all the restrictions associated with Unix itself.
Linux is more user-friendly, runs on PCs, and is relatively inexpensive. The
first real version of Linux became available in 1994 using less than 2 MB of
RAM at amazing speeds.
Linux explored the task switching capabilities of the Intel 80386 chip, and
although it is still mostly used on Intel-based PCs, it now runs on a wide
variety of hardware, including the full x86 family of processors, such as AMDbased PCs.
While Torvalds is responsible for the core of the Linux operating system,
known as the kernel, many other programmers have added utilities and
applications to the basic kernel and created what are known as Linux
distributions. As mentioned earlier, there are over 200 Linux distributions, but
the distributions you are most likely to encounter (on desktop and server
computers, at least) are Mint, Fedora, Mageia, Ubuntu, Debian, Slackware and
openSUSE. Much of the work that has gone into Linux distributions comes
from the GNU project of the Free Software Foundation.
GNU is a self-referential acronym that stands for GNUs Not Unix. To find out
more about the GNU project and the General Public Licence, visit www.gnu.org.
One of the most important decisions made in the early days of Linux was to
make the source code freely available and distributable, and to make it subject
to the GNU General Public Licence. This licence guarantees your freedom to
share and change the software, which means that anyone:
May distribute copies of the software and charge a fee for distributing it,
should have access to the source code, and may change the software or use
pieces of it in new free programs.
Should know they may do these things.
Page 5 of 133
Ubuntu Linux
The Ubuntu story began in 2004 when Mark Shuttleworth got a group of open
source developers together to create a new Linux-based desktop operating
system. The result of this was Ubuntu, an operating system based on a strong
Debian foundation and the GNOME desktop environment. The Ubuntu project
is sponsored by Canonical Ltd, a company owned by Mark Shuttleworth.
October 2004 saw the first release of Ubuntu version 4.10, also known as
Warty Warthog.
All Ubuntu releases thereafter used the same naming
notation, and all carry a similar alliterative name, e.g. Breezy Badger, Edgy Eft
and Feisty Fawn. Ubuntu 12.04 is known as Precise Pangolin.
The name Ubuntu comes from an ancient African phrase Umuntu ngumuntu
ngabantu, which roughly translates into a person is a person through
people.
A traveller through our country would stop at a village, and he didnt have to
ask for food or for water. Once he stops, the people give him food and
entertain him. That is one aspect of Ubuntu but Ubuntu has various aspects.
Ubuntu does not mean that people should not enrich themselves.
The
question therefore is:
Are you going to do so in order to enable the
community around you to improve? Nelson Mandela.
The Ubuntu Linux distribution is aimed at bringing the philosophy of Ubuntu to
the software world. There are also other variations of Ubuntu available, e.g.
gobuntu, edubuntu, xubuntu and kubuntu. There is also the Freedom Toaster
project, which is aimed at making it easier to access open source software by
giving the public the opportunity to freely burn open source software onto
discs. For more information, visit the website at www.freedomtoaster.org.
What is Linux?
Linux is a multi-user, multitasking operating system.
Linux is firstly an operating system. An operating system is the software
that controls the computers use of its hardware resources, and acts as a
liaison between the computer hardware and the application software. Its
responsibilities include:
Page 6 of 133
Linux is a multitasking operating system. This means that Linux manages its
resources in such a way that it can handle several different programs at the
same time. Being able to perform several tasks at the same time leads to the
more productive use of a single machines resources. Linux uses pre-emptive
multitasking in that the operating system (rather than the application) controls
tasks and the allotment of clock cycles to applications.
Linux is also a multi-user operating system. More than one user can access
the system at the same time, and the operating system ensures that all the
users logged onto the system share the resources of the computer. This also
means that these users can share expensive equipment such as printers.
Other features of Linux include:
Page 7 of 133
Tools
Utilities
Shell
Kernel
Figure 0.1 The three main levels of the Linux operating system
Kernel the kernel is the heart of the operating system and communicates
directly with the system hardware. The kernel:
o Controls hardware resources such as memory, terminals and printers.
o Schedules and executes programs.
o Manages the file system.
o Controls input and output.
o Tracks who is logged on to the system.
Page 8 of 133
Command line shells (also called command line interfaces) are used
to issue commands to the shell, and are used by more experienced
users as they provide full access to the system. In this module, you will
access the command line from the desktop.
There are several
command line shells available (the command to run the shell is given in
brackets):
Bourne shell (sh): Named after its creator, Stephen Bourne, it is
one of the earlier shells that provide little help to the user (such as
editing commands typed at the command line).
C shell (csh): Written at Berkeley, it is so called because it derived
its command set from the syntax of the C programming language.
Again, there is little of the user-friendliness of the newer shells.
Enhanced C shell (tcsh): This is the C shell with some additional
user-friendliness.
Bourne-again shell (bash): This is the most popular Linux shell
because of its features and user-friendliness. It is a widely available
Linux shell developed from the Unix Bourne and C shells, with some
added features, by the GNU project.
Utilities and applications form the third layer. They are executable programs
written to do particular jobs well. The advantage of this approach is its
flexibility in that you can add whatever programs you require to customise
your environment.
Page 9 of 133
Page 10 of 133
Page 11 of 133
At the beginning of the module, you should have received an Ubuntu disc.
This is a bootable Live CD. What this means is that you can boot from this CD
without having to format your hard drive. There are two different boot options
available when booting from an Ubuntu 12.04 Live CD:
Boot Option 1
When booting from the CD, the first screen to be displayed is a blank screen
with an icon towards the bottom middle of the screen (Figure 1.1). On this
screen, you can press any key to be presented with a language selection.
Select English, and from the next menu you have the option of trying Ubuntu
without installing, installing Ubuntu, checking the CD for defects, testing the
computers memory, and booting from the computers first hard disk. Select
Try Ubuntu without installing, which will present you with the Live CD
desktop as shown in Figure 1.3.
Page 12 of 133
Boot Option 2
When booting from the CD, do not press any key when presented with the
screen in Figure 1.1. Instead wait a few seconds for the boot process to
continue. Once it does, you will be presented with the Welcome screen shown
in Figure 1.2. From here, click on Try Ubuntu to proceed to the Live CD
desktop as shown in Figure 1.3.
Page 13 of 133
Once you have booted into the Live CD desktop, you can browse the Ubuntu
desktop and familiarise yourself with the environment. Afterwards, if you
choose to, you can install the operating system by double-clicking on the
Install icon on the desktop. After answering a few simple questions, and
following a few easy instructions, the Ubuntu Operating System will be
installed on your PC. If you choose not to, you can just remove the CD from
the drive and restart your PC, after which you will boot into your normal
installation.
Page 14 of 133
During startup, the computer will indicate that it is booting from the optical
drive, and you can make use of the methods covered in either Boot Option
1 or Boot Option 2 above to initiate the installation of Ubuntu.
Having followed either of the above boot options and proceeded to Ubuntus
Live CD desktop, and if you have finished exploring Ubuntus interface and
menus, double-click on the Install Ubuntu 12.04.2 LTS icon on the Live
CD desktop to initiate the Ubuntu 12.04 installation (Figure 1.4).
Alternatively, the following options for initiating Ubuntu 12.04s installation
without first booting into the Live CD desktop are also available:
o If you follow Boot Option 1, after pressing any key and making a
language selection you can select the option to Install Ubuntu to
proceed directly to Ubuntus installation process.
o If you follow Boot Option 2, after waiting for the boot process to
proceed and being presented with Ubuntus initial Welcome screen
(Figure 1.2 above), select the option to Install Ubuntu.
Page 15 of 133
The Installer will start up, and you will be presented with the Welcome
screen, as shown in Figure 1.4 above. Here you need to select the
language that will be used for the installation process. Select English and
click Continue.
This guide assumes that the computer you are installing Ubuntu on is not
connected to the Internet. Therefore, on the Preparing to install Ubuntu
screen (Figure 1.5), you can ignore the Internet connection
recommendation and do not check the Download updates or Install
this third-party software and simply click Continue.
Page 16 of 133
It is also assumed that you are installing Ubuntu on a computer that does
not have any other operating systems installed, so on the Installation
type screen (Figure 1.6) select Erase disk and install Ubuntu and click
Continue.
Should you be installing Ubuntu on a computer that already has another
operating system installed on it, select the option to erase and replace the
existing operating system with Ubuntu.
On the Erase disk and install Ubuntu screen, select the drive the Ubuntu
should be installed to (if there is only one hard drive in your computer, it
will be selected by default) and click Install Now.
Page 17 of 133
While Ubuntu copies its files and installs to your hard drive, the Where are
you? screen (Figure 1.7) will be displayed, asking you to select your city.
Enter Johannesburg (or your city name) or click on the region on the map
around where your closest major city is. This will automatically select the
correct time zone for that region, but you may have to manually set the
correct date and time when you log in for the first time. Once you have
selected your region, and the installer has finished copying files, click
Continue.
Page 18 of 133
On the Keyboard layout screen (Figure 1.8), you are asked to select the
correct keyboard layout. After you have selected the correct layout, you
can type in the provided box to test whether or not you have selected the
correct layout. U.S. English is the standard layout. After you have selected
the correct keyboard layout, click Continue.
The Who are you? screen (Figure 1.9) will now appear, where you are
asked to fill in your name, a computer name, a username (your logon
name) and a password. Fill in your own details. Be sure that you choose a
password that is easy to remember because you will be prompted to enter
this password in order to perform administrative tasks. Enter your details
and click Continue.
Page 19 of 133
Ubuntu will now proceed with its installation, displaying hints, tips and
assorted information while it is busy. You can also continue browsing and
exploring the Linux desktop and menus during the installation process.
Once the installation has completed, you will be prompted to restart the
computer. If you have finished exploring the system, click Restart Now.
After selecting to restart the computer, you will be prompted to remove the
installation media and press <Enter> to continue, after which the computer
will finish restarting and boot into the Linux operating system.
Once the computer has finished booting into the Linux operating system,
you will be prompted to enter the password for the user that you specified
during installation.
Page 20 of 133
To set the correct screen resolution, open the System menu by clicking on the
cog icon on the far right of the top menu bar
(note the options to log out
and shut the computer down), and select Displays (Figure 1.10). Click on the
Resolution drop-down box, and select the appropriate resolution for your
display.
1.2.2
Click on the time displayed on the top menu bar and select Time & Date
Settings to open the Time & Date screen. The Location box should display
Johannesburg, and beside the Set the time section you can select the
Manually radio button in order to set the correct time and date yourself.
Linux Operating System | V1.0 Nov 2013
Page 21 of 133
Further options regarding the display of the time and date on the menu bar
can be configured on the Clock tab. Changes are saved automatically, so once
you have set the time and options, simply close the Time & Date screen by
clicking on the orange X icon at the top left of the screen.
1.2.3
In the Appearance page (Figure 1.11), you can change the Linux theme,
desktop background, interface and visual effects. You can access this page in
one of the following ways:
Page 22 of 133
Superblock
Inode area
Data blocks
Page 23 of 133
Page 24 of 133
The main difference is that everything in the Linux file system is considered a
file, i.e. devices, drives and removable media.
The base of the file system is known as the root folder or / (the equivalent
of C:\ in Windows). The /home folder stores each users files, i.e. settings,
pictures, music, etc. (the equivalent of Documents and Settings\User in
Windows).
A directory is a special file that contains a list of the files, paired with those
files inode numbers, stored in that directory. Every file in the Linux system
must be in one or other directory. Directories have names like files, and these
names follow the same conventions and rules used for file names. Every
directory name must also be in a directory this sets up the tree structure of
the directory hierarchy. A directory that is found in another directory is called
a subdirectory.
Table 2.2 shows the various Linux files.
Table 2.2 Linux files
/
/
/
/
/
/
bin
boot
dev
etc
home
lib
/ lost + found
/ media
/
/
/
/
/
/
/
/
/
mnt
opt
proc
root
sbin
sys
tmp
usr
var
Page 25 of 133
/ ROOT
BIN
BOOT ETC
USR
SYSCONFIG
VAR
TMP
SBIN
TMP
DEV
HOME LIB
USERS
MNT
OPT ROOT
CD ROM
Page 26 of 133
Each file name is contained in a directory that contains the file name and
inode number.
Every files pathname identifies the files location within the directory
hierarchy. A pathname is really a list of one or more file names (directories)
that point to the file.
Every file has one absolute pathname that identifies that file uniquely. This
absolute pathname begins with the root directory, and follows the unique
path through the subdirectories that point to a particular file. For example,
a file located in the SQL_demo directory called my file would have the
absolute pathname:
/home/user_1/SQL_demo/my_file
A shorter relative pathname (or partial pathname) can be used that begins
with the current directory, and describes the path to the required file from
there. If you were in the user_1 directory, the relative pathname for my
file would be:
SQL_demo/my_file
NOTE
Page 27 of 133
Page 28 of 133
.val_1-99
file_12.mem
today file 12/06/03
a.valid.name
etc/passwd
././etc/passwd
/etc/passwd
../../etc/passwd
Page 29 of 133
The Graphical User Interface (GUI) is only one way of interacting with the
Linux operating system. A more direct and powerful way of communicating
with the Linux system is by using a command line interpreter. You can access
a Linux command line interpreter from the Linux desktop by opening a Linux
terminal window.
3.1.1
On the sidebar, click on Dash home to open the Dash overlay. Select the
Terminal application or, if the Terminal application is not visible on the front
Dash screen, enter terminal in the Dash search bar and select the Terminal
application from the search results.
3.1.2
Page 30 of 133
Now select Launch Terminal from the list on the right hand side and type in
your preferred key combination (note that New accelerator is displayed on
the far right to indicate that the system is waiting for you to supply a key
combination), e.g. <Ctrl><T>. Exit the page, and press the shortcut that you
specified. This will then open a Linux terminal (Figure 3.2).
Page 31 of 133
Set profile name, and options for font, cursor and terminal bell on the
General tab.
Set window title and exit options on the Title and Command tab.
Set theme or background and foreground colours on the Colors tab.
Set background options on the Background tab.
Set scroll bar options on the Scrolling tab.
Set keyboard compatibility on the Compatibility tab.
Click the Close button to apply the new settings and exit the dialog box.
Page 32 of 133
user_name is the name you will use to log into Linux. If you are using a
standalone Linux installation, you will specify your user_name during
installation or by adding yourself as a user. If you are accessing Linux on a
network, your user_name will be allocated to you by the network
administrator.
computer_name is the name of the Linux box (machine) to which you are
logged on.
The ~ symbol identifies the directory that the terminal is currently in, with
the tilde (~) symbol indicating that the terminal is currently operating in the
logged-on users home directory. This symbol will change to reflect the
directory being operated in when the directory is changed.
The $ symbol is the default prompt of the bash shell, but will vary according
to the shell you are using.
Page 33 of 133
Page 34 of 133
When prompted, enter your password. The user will be created, and you
are required to enter a password and other information for the new user
(Figure 3.4).
To configure a password for the root user, use the passwd command with
root privileges:
sudo passwd
Close the terminal. Click on the Quit button on the top left hand corner
(hover the mouse point over the left hand side of the top bar to reveal the
button) or, alternatively, enter the exit command to quit the terminal, and
log out of Linux.
At the log in screen, log in as mordin using the information that you entered
in the previous steps.
Once logged in, open a new terminal and type the following command:
sudo adduser genophage
Page 35 of 133
The prompt will respond to the command with the following warning (Figure
3.5):
mordin is not in the sudoers file. This incident will be reported
Log out of Linux, and log back in with your own account.
Page 36 of 133
3.4.1
Entering commands
Page 37 of 133
3.4.2
This command will tell you who is logged on (user names), which terminals
they are using, and the dates and times when they logged on.
Page 38 of 133
To find out more information about the users that are logged on:
Page 39 of 133
Clear the screen using both the command and the shortcut
key combination.
Display the message Hello there on the screen so that the
system bell sounds and each word is displayed on a
separate line.
Page 40 of 133
When specifying the year, use the full year. For example, type 1995, not 95.
Values can range from 1 - 9999.
To display a calendar for the month of December in the year 2013:
When specifying the month and the year, type the number for the month first
(1 - 12). By default, Sunday is displayed as the first day of the week. To
display Monday as the first day of the week, use the -m option. For example,
cal 2 1995 m will display February 1995, with Monday as the first day of the
week.
Use the cal command to find out on what day of the week
you were born.
Use a semicolon to combine the date and who commands to
type them on a single command line.
Correct syntax.
Description (uses of the command).
Examples (how the command can be used).
See also (cross references to related commands).
Page 41 of 133
Make a note of the various options that can be used with the
shutdown command. Use the man command to display this
information.
Make a note of the various options that can be used with the
who command.
Use the man command to display this
information.
Use the options -H, -I, and -q with the who command and
observe the effect of each option. Experiment with using the
commands in combination. For example, try the following:
who H and who -u.
Page 42 of 133
format
of
Linux
command
is:
Page 43 of 133
a long listing displays permissions, number of links, owner, group, file size,
modification date and time, and file name (sorted by file name).
-h
when used with -l, displays the file size in a format that can be read by
humans.
-a
-i
-C
multicolumn format, file names in columns down the screen (same as the
default command without options).
-c
multicolumn format, file names in columns down the screen with directories
listed first.
-x
-R
recursive listing of all files, subdirectories included (i.e. full directory listing).
-F
shows file types (forward slashes </> identifying directories and asterisks
<*> identifying executable files).
-1
Page 44 of 133
In some of the exercises that follow, you will have to create certain files using
the touch command. The touch command will be covered in more detail in
Unit 5. For now, all you have to know is how to create an empty file with the
specified file name.
Page 45 of 133
Ensure that you are in the directory that you want to empty and type rm *
and press <Enter>.
Ensure that you are in the directory that you want to empty and at the top
of the tree you want to erase, and type rm r * and press <Enter>.
To delete a directory:
Ensure that the directory you want to delete is empty, and that you are not
in the directory you want to delete. Type rmdir directory_name and press
<Enter>.
Page 46 of 133
Ensure that you are not in the directory that you want to delete, and type
rm r directory_name and press <Enter>.
Page 47 of 133
Page 48 of 133
Will create a new, empty file if the file name specified does not already exist.
Updates the last accessed time for the file.
Does not open the file in a text editor (as the vi command would).
Is particularly useful for updating the time stamp of a file that relies on daterelated activities such as archiving and backing up.
Page 49 of 133
Display the file types for all files in the current directory
Text editors
A text editor is a program that can be used to create and modify the contents
of a file. In this module, you will work with one of Ubuntus built-in text
editors, vi (pronounced vee-eye).
Technically, vi in Ubuntu 12.04 is actually vim-tiny. Vim (Vi IMproved) is an
update of the older vi, while vim-tiny is a smaller version of vim. Despite
this, the vi command is still used to launch the editor. Another of Ubuntus
built-in text editors is nano.
A text editor is a very simple version of a word processor. Text editors do not
have document formatting features, such as various fonts and ways of aligning
text. Text editors produce simple text files.
The visual editor, vi, runs in two modes:
Command mode This is the mode you enter automatically when you start
vi. Whatever you type in this mode will be interpreted as an editing
command, such as copy, paste and delete text. You can also save and exit
the file from within this mode.
Text entry mode This mode is used to enter text. Keys pressed in this
mode are interpreted as characters, and are inserted into the text file.
Pressing <a>, <i>, <c> or <o> will take you from command mode into text
entry mode. The command you choose to enter the text entry mode depends
on what you intend to do. For example, choose <i> to insert text at the
current cursor position. The other options will be discussed in the text entry
mode section.
Page 50 of 133
Inserts new text from the cursor to the end of the current line.
Opens a line below the current line and places the cursor at the start of
the new line.
Opens a line above the current line and places the cursor at the start of
the new line.
Page 51 of 133
NOTE
You will have to press <Enter> after all save and exit commands,
except ZZ. Typing ZZ in command mode will immediately save
changes to the file and return to the command line prompt
(remember that Linux is case-sensitive). If you start vi without
entering a file name, you will need to specify a file name when you
save it. The format is as follows:
:w filename. This syntax will also work with :wq and :x.
Page 52 of 133
After entering the more command, the first part of the file scrolls up the
screen. At the bottom of the screen, a prompt displays the file name and the
percentage of the file displayed so far. Note that this percentage is in
characters, not lines. At this point, there are several commands that may be
used, depending on how you want to proceed:
Table 5.2 The more command options
<Spacebar>
n <Spacebar>
<Enter>
<b> or
<Ctrl><b>
<q> or <Q>
<h> or <?>
To view the contents of the file and be able to move around in the file:
The less command is similar to the more command, but allows greater
flexibility in moving backwards and forwards in a file.
Page 53 of 133
<End>
Display help.
<q> or <Q>
Use the head and tail commands to view the Ubuntu file.
Try the following commands and compare the results:
o
head Ubuntu
head -2 Ubuntu
tail +2 Ubuntu
tail 5 Ubuntu
tail Ubuntu
Page 54 of 133
wc Ubuntu
wc l w c Ubuntu
wc l m Ubuntu
wc w m Ubuntu
wc lw Ubuntu
Page 55 of 133
-c
-l
lists only the name of the file that contains the specified pattern (stops
scanning after first match is made).
-n
displays the line number of the line containing the specified text.
-i
Use the grep command to find all files that contain the word
Legion.
Search the Ubuntu file for the word because. Display the
line numbers and turn off case sensitivity.
Page 56 of 133
The cp command:
is used to create duplicate copies of ordinary files.
can also be used to copy files for backup purposes by giving the file a new
name or extension, such as .bak to indicate the file is a backup file.
copies the file to a specific directory if the destination file name is a directory
file.
creates a file if the destination file does not already exist.
overwrites a file if the destination file already exists.
can copy more than one source file only if the destination file is a directory
file, for example, the command cp file1 file2 practice will copy both
file1 and file2 into the practice directory.
To put a copy of a file in the Public directory:
To learn more about the options that can be used with the cp
command:
Page 57 of 133
See Unit 4 for more information on how to delete files using the terminal, and
to learn more about the options that can be used with the rm command:
Instead of copying files from one directory to another, and then deleting them
from their original directory, you can move the files.
To move a file from one directory to another:
The mv command:
Moves the source file to a new directory if the destination is a directory file.
Overwrites the contents of a file if the destination is an existing ordinary file.
Creates a new file into which the source file is copied if the destination is an
ordinary file that does not already exist.
Can accept multiple source files, but the destination must be a directory file.
Can use an absolute address (e.g. /home/user/destination_directory) or a
relative address (e.g. ../destination_directory).
Page 58 of 133
The find command is used to locate one or more files that satisfy a condition
in the paths that you specify, and can perform actions on the file that has been
found (such as printing the pathname).
Options that can be used with the find command:
Pathname-list specifies the paths to search use dot (.) to begin at the
current directory or slash (/) for all directories, i.e. from root.
Condition list could be any of the following:
o -name the filename of the specific file to be found.
o -perm ###: where ### represents the octal file permissions.
o -type x where x is one of the following types: d (directory file), f
(ordinary file), c (character device file), b (block device file).
o -user user_name for files with a specific owner or UID.
o -group group_name for files belonging to a specific group or GID.
o -size n to find files of size n blocks.
o -links n to find files with n links.
o -atime n to find files that were accessed n days ago.
o -mtime n to find files that were modified n days ago.
o ctime n to find files that were created n days ago.
Page 59 of 133
Action list specifies the action that should be carried out on the files that
meet the criteria (as per the conditions list), and could be any of the
following:
o print to display files to the screen.
o -exec command: to execute a command.
o -ok command similar to exec, except that you are queried first.
List all directory files on the root directory using the find
command.
5.4.1
File ownership
The first level of implementing data security is file ownership. Each file in a
Linux system has an owner that corresponds to one of the authorised users:
5.4.2
Page 60 of 133
NOTE
5.4.3
File permissions
Permissions are divided into three categories, and have different meanings
depending on whether ordinary files or directory files are involved:
Symbol
r
Category
Read
Write
Execute/
Search
Ordinary files
Can view the contents
of the file
Can change the files
contents
Can run a program file
Directory files
Can see a list of files in
the directory
Can add and remove
files from the directory
Can change to and
search the directory
type
r
w
x
owner (u)
group (g)
others (o)
ordinary file
d directory file
Page 61 of 133
In the case of an ordinary file, the owner has Read, Write and Execute
permissions, whereas the group and other users are limited to Read-only
permission.
NOTE
If you give one user in any group Write permission (i.e. the ability to
change a file), then you give that permission to everyone else in the
group too. This is a major drawback of this permission system.
5.4.4
File permissions can be changed only by the owner of a file or the superuser
(root).
To change a files permissions:
op-code
Permission
A public directory that must be accessible to all system users would have the
following permissions: r w x r w x r w x
Page 62 of 133
An executable file that is accessible only to its owner would have its
permissions set to:
rwx --- --To set permissions for an executable file that is accessible only to its
owner:
The method of changing file permissions that we have seen so far is called
symbolic format. We will now look at the absolute format, which expresses
permissions in a very neat way and requires less typing, thereby reducing the
chance of errors.
To change file permissions using the absolute format:
Absolute format is a little more difficult to construct than the symbolic method,
and is based on an octal number representing the permission mode.
r
4
w
2
x
1
Page 63 of 133
To construct the absolute permission mode, use the process shown below:
user
r
w
x
4
2
1
7
group
r
x
4
0
1
5
other
r
w
4
2
0
6
4
0
0
4
group
0
0
0
0
other
0
0
0
0
4
2
0
6
group
r
4
0
0
4
other
r
4
0
0
4
Page 64 of 133
5.4.5
The chmod command allows the owner of a file to change the permissions for
particular files and directories.
You can, however, change the default
permissions that apply for all new files and directories that you create. The
umask command is used for this purpose.
The umask value tells the system what permissions to exclude, and is
constructed in the following way:
1. Decide what permissions you want as default (in symbolic form).
2. Complement the pattern to show the permissions to exclude.
3. Work out the octal values as for absolute mode permissions.
Should you want rwx rx as your default permissions, you would
calculate the umask value as follows:
user
r
w
x
group
r
other
r
4
0
0
w
2
2
w
2
7
x
1
Octal values
Umask value
rx
rw
Page 65 of 133
Page 66 of 133
Page 67 of 133
Page 68 of 133
r
r
r
r
r
r
r
r
rw
rw
rw
rw
rw
rw
rw
rw
Page 69 of 133
standard input
standard output
standard error
stdin
stdout
stderr
keyboard
screen
screen
0
1
2
file
descriptor
numbers
Linux treats these channels as files, so some textbooks may refer to the
standard input file, the standard output file and the standard error file.
Normally, these channels are attached to your terminal (i.e. screen and
keyboard). It is possible, however, to detach the standard input and output
files of a process and redirect them by changing the identity of these files (the
standard error can also be redirected, although this is rarely done). For
example, instead of having data sent to the stdout, it can be redirected to a
file. Similarly, input can come from a file instead of the keyboard.
When a process is run, the stdin and stdout files for it are opened by the
shell. Linux then achieves redirection by changing the identity of these
standard files from keyboard and screen to some other device (such as a disk
or file).
Page 70 of 133
To use redirection with the cat command to create a new text file:
To echo more than one file to the screen using the cat command:
Page 71 of 133
The cat commands stdin is the keyboard (if no file is given as an argument)
and its stdout the screen.
Command
$ cat file_name
$ cat
stdin
stdout
file
screen
keyboard
screen
Using the append symbol >> adds, or appends, output to the end of the file,
rather than overwriting what is already there. If the file does not already
exist, it is simply created.
Page 72 of 133
NOTE
NOTE
6.6 Pipelines
Linux allows commands to be strung together so that the stdout of one
command becomes the stdin of the next command. This process is called a
pipe, and allows data to be processed by several commands in succession.
Page 73 of 133
Pipelines:
Are used to redirect the flow of data between processes, giving greater
flexibility in the use of the Linux system.
Save time and disk space because intermediate data does not need to be
stored in a temporary file.
The vertical bar ( or |) symbol is used to denote a pipe.
To set up a pipe in Linux:
It must take its input from the stdin (then it can be used at the end of a
pipeline), for example, the more command.
It must send its output to the stdout (then it can be used at the beginning
of a pipeline), for example, the ls command.
It must take its input from the stdin and send its output to the stdout
(then it can be anywhere in a pipeline beginning, middle or end), for
example, the sort command.
The three commands above could be used to sort and display the contents of
the tmp subdirectory, one screen at a time, using the pipe: ls -l /tmp |
sort | more.
Page 74 of 133
Use the who command to get a list of those users who are
signed on, and note the order of the output.
Pipe the output of the who command to the sort command,
and compare the result with the output of the who
command.
Count the number of users signed on by piping the output
of the who command to the wc command.
A common use of the pipe command is to pipe a file to the
more command. Try the command: cat Ubuntu more
and use the <Spacebar> to see more of the file.
Create a file called crew using the vi or nano editor, and
type in the following text:
o Miranda cer-laz-beng
o Thane
unk-dre-assa
o Jacob
cer-laz-fsan
o Kasumi
unk-hum-thie
o Ashley
san-gun-srgt
o Jack
unk-pur-biot
6.7 Filters
Commands that take their input from the stdin and send their output to the
stdout are called filter programs or filters. A defining feature of filters is that
they are commands or programs that can be used anywhere in a pipeline, and
they generally perform some useful transformation of the data that passes
through them. Commands such as sort and wc are good examples of filters.
The tr (translate) command is another filter command. It is used to:
Convert one character into another character.
Compress a group of characters into a single character.
Delete specific characters.
Page 75 of 133
Page 76 of 133
The a option will append data to the specified file, instead of overwriting its
contents.
command 1
pipe
tee
pipe
command 2
file
Sort the crew file, writing the sorted list to the check file
with tee and use pipelining to append a count of how many
unknown entries there are to the check file.
Get the date using the date command and append the
output of the command to the file check using tee, then
display a count of the number of words in the date output.
View the check file using the cat command.
Note that check contains the sorted crew file as well as the
date on the last line.
Page 77 of 133
Page 78 of 133
PID
Terminal name
Execution time used so far
Command name
Page 79 of 133
Run the find command for directory files on the root directory
in the background, and redirect the results to a file called
found and stderr to a file called errorlog so that they do not
come up on the screen.
(find / -type d >found 2>errorlog &)
Note the PID.
Check on running processes using the ps command.
Notice that now you have an additional process (compare with
the PID of the background process).
Note that you can go ahead and continue with other work in
the foreground (such as the ps command).
You can see how the contents of the found file have changed
using the more command. Use <Ctrl><c> to cancel the more
command if the listing gets too long.
Page 80 of 133
After exiting a terminal window while the background process is running, the
user can view the results of that process by opening another terminal window.
To view the results of a protected process:
If a user were to initiate two background processes that take a long time to
complete, protect one and not the other, note the PIDs of the two processes,
log off using the exit command, and open another terminal window the ps
command will show that the unprotected command had been terminated, but
not the protected process. However, this may be difficult to test because most
modern processors will complete the processes before a user can exit and
reopen the terminal window.
Pressing <Ctrl><c> will send an interrupt signal to halt an executing process
and return to the prompt. If the prompt is not at the start of a new line,
simply press <Enter>.
Linux Operating System | V1.0 Nov 2013
Page 81 of 133
Commands that will not be stopped by the interrupt signal will sometimes be
stopped by the quit signal. Pressing <Ctrl><\> sends the quit signal.
Background processes are protected from interrupt and quit signals, so they
cannot be used to terminate misbehaving background processes. In cases like
this, you can use the termination signal together with the PID.
To terminate a background process:
Some programs are even immune to the termination signal. In such cases,
use the kill signal. This signal always terminates any process that you own,
and is known as a sure kill. Use this signal as a last resort since processes
cannot trap it and clean up first.
To execute a sure kill:
To view all the signal numbers that can be used with the kill command:
Page 82 of 133
Page 83 of 133
8.1.2
Tabbed browsing
Firefox enables you to open multiple web pages in a single browser window,
using multiple tabs. You can configure your browser to open links in a new tab
instead of a new window. This is especially useful when you are researching a
single topic on a few different websites, and you are constantly switching
between pages to cross-reference your work.
8.1.3
Whether you are using Web-based email or updating your blog, Firefox has a
built-in spell checking mechanism that can prevent you from making any
embarrassing mistakes.
Page 84 of 133
8.1.4
In the top right hand corner, Firefox has a built-in search bar pre-loaded with
most of the common search engines, e.g. Google and Yahoo. You also have
the freedom to switch between any of these search engines, as well as add
your own engines from any of your favourite sites. When you are using Google
or Yahoo, a drop-down list will appear as soon as you start typing in the search
bar, making suggestions based on common keywords.
8.1.5
Session restoration
When your browser closes unexpectedly, Firefox can easily restore your
previous session. All the tabs you had open as well as any downloads that
were in progress, will be restored, which means that you will never lose your
place. Instead of loading your home page when you start up Firefox, you can
configure it to load your previous session.
8.1.6
Improved security
Anti-spyware protection
Phishing protection
Pop-up blocker
Sandbox security model: a sandbox is a mechanism that is used to run
untested code and programs safely from untrusted sources.
Firefox uses TLS (Transport Layer Security) and SSL (Secure Sockets
Layer) to provide secure communication with Web servers.
8.1.7
Fully customisable
8.1.8
8.1.9
Easy to update
Firefox is also updated on a regular basis, and you can configure your browser
to download and install free updates automatically.
Page 85 of 133
8.1.10
XML
(Extensible Markup Language)
SVG
(Scalable Vector Graphics)
ECMAScript
DOM
(Document Object Model)
MathML
DTD
(Document Type Definition)
PNG
(Portable Network Graphics)
to
find
Page 86 of 133
Start by clicking the Mozilla Firefox icon on the sidebar, typically below
the Home Folder icon. When you start Firefox for the first time, and your
computer has an Internet connection, you are greeted with an Ubuntu start
page displaying a Google search box and Ubuntu help, shop and community
links (Figure 8.1). If your lab or computer has Internet access available,
review the Ubuntu help and community pages for help and information
about Ubuntu, as well as how you can join the Ubuntu community. You can
reach this page from any computer with an Internet connection by going to
start.ubuntu.com.
From the Edit menu along the top menu bar, select Preferences. On the
Firefox Preferences page (Figure 8.2) you can make all the configuration
changes needed to set up your browser.
Page 87 of 133
On the Tabs tab (Figure 8.3), you can specify how Firefox should open new
pages. Firefox can either open pages in a new window or a new tab (refer
to section 4.1.2). The tab bar can be enabled by selecting Always show
the tab bar.
Page 88 of 133
There are various extensions that you can install to improve the
functionality of tabbed browsing:
o Tab Mix Plus Enables you to duplicate tabs and set tab clicking
options.
o Colorful Tabs Each tab is given a different colour to help you to
distinguish between open tabs.
o Tab Preview Hovering the mouse pointer over a tab will display its
contents.
o Tab Catalog Will show the contents of all tabs in a thumbnails-styled
list.
o PermaTabs You can turn your favourite tabs into permanent tabs
o TabRenamizer If you do not want nosy co-workers to see which tabs
you have open, you can easily rename your tabs.
o Tab Effect Adds transition effects to your tab bar when you switch
between tabs.
Page 89 of 133
On the Content tab (Figure 8.4), you can specify how Firefox should display
the contents of web pages.
Page 90 of 133
The Applications tab (Figure 8.6) allows you to specify what action Firefox
should perform when it encounters various file types, e.g. which application
it should use to open mp3 audio files.
Page 91 of 133
On the Privacy tab (Figure 8.7) you can specify how Firefox keeps track of
your browsing history. You can configure Firefox to remember visited
pages, data you have entered into online forms and search engines, as well
as any content that you have downloaded. You can also set Firefox to send
a Do Not Track request to websites, stopping them from tracking your
physical location and site activity, usually for targeted advertising purposes
(note that it is up to the website to support the standard for Do Not Track
requests and not always a given that a particular website does), as well as
configure cookie preferences and exceptions. The location bar, also called
an address bar, options refer to the suggestions displayed when you enter
partial addresses or website names into the bar.
Page 92 of 133
Page 93 of 133
Page 94 of 133
Page 95 of 133
NOTE
On the Sync tab, you can set up a Firefox Sync account which is used by
Firefox to synchronise your browsing history, bookmarks, passwords and
open tabs across multiple devices and browsers.
The Advanced preferences page is split into a further four tabs (Figure
8.10), where you can configure general settings, specify how Firefox
connects to the Internet, manage updates, and configure the encryption
level you want to implement. The four tabs are:
Page 96 of 133
o Network On the Network tab, you can configure how Firefox connects
to the Internet, as well as clearing the cache and selecting the amount of
space in MB that should be reserved for cache. Caching documents
means storing temporary documents in memory for fast retrieval.
Caching helps to reduce bandwidth usage and server load.
Under Connection, select Settings. On the Connection Settings page
(Figure 8.11), you have three options:
You
You
You
You
can
can
can
can
Page 97 of 133
NOTE
Page 98 of 133
Page 99 of 133
Click on the Dash Home button on the sidebar, and select Thunderbird
Mail (if Thunderbird Mail is not visible on the Dash Home screen, enter
thunderbird in the search bar and select Thunderbird Mail from the search
results).
On the Mail Account Setup page (Figure 9.2), fill in the your name and
email address fields, along with a password of your choosing. For the
sake of this exercise, you can fill in any name, email address, and
password.
Thunderbird will now attempt to look up your email accounts email provider
and settings in order to complete the rest of the account setup
automatically. However, as this guide assumes that your computer does
not have Internet access and this exercise is only meant to demonstrate the
setup procedure, the attempt will fail. To continue with the account setup
you can either wait for the lookup to fail, or skip the lookup by clicking the
Manual config button.
The next step is to provide Thunderbird with incoming and outgoing mail
server settings (Figure 9.3):
For the incoming mail servers settings, select IMAP from the Incoming
drop-down list. IMAP stands for Internet Message Access Protocol, and
in most cases has taken over from POP3 (which stands for Post Office
Protocol 3) as most peoples standard Internet protocol for receiving email.
Select port 143 from the Port drop-down list, and None from the SSL
dropdown list (port 143 is the default port used for unencrypted IMAP
traffic).
For the outgoing mail servers settings, you may notice that SMTP is
already locked as the only option. SMTP stands for Simple Mail Transfer
Protocol, and is the standard Internet protocol for sending mail.
For the outgoing mail servers SSL and Authentication drop-down lists,
select None and Normal password, respectively.
In the Username field, enter your email address (the same one used
earlier) and click Done.
A Warning message will now appear (Figure 9.4), warning you that your
mail settings do not make use of encryption. This is, of course, a very
insecure way of configuring an email account, especially given the
revelations regarding information security and the scope of surveillance by
government intelligence agencies in recent times. However, in this case we
are lucky in that the account being set up (probably) does not exist, nor is it
likely to be used at all (let alone spied upon). Ignore the warning by
checking the I understand the risks checkbox and then clicking Done.
10.1 LibreOffice
LibreOffice 3.5 (Figure 10.1) is the default presentation, word processing,
database, spreadsheet and diagramming application for Ubuntu Linux, and
comes standard with the 12.04 distribution. The LibreOffice applications are
very similar to the Microsoft Office applications. You will notice that the menus
are very similar to those found in MS Office applications, e.g. File, Edit, Insert,
Format and Tools.
10.1.2
Spreadsheets
10.1.3 Databases
LibreOffice Base (Figure 10.4) is the open source equivalent of Microsoft
Access. However, in an effort to reduce Ubuntus overall installation footprint,
it is not actually included with the default Ubuntu 12.04 Desktop installation.
This application has the same functionality as Access, i.e. you can create
Tables, Queries, Forms and Reports.
10.1.4 Presentations
LibreOffice Impress (Figure 10.5) is the open source equivalent of Microsoft
PowerPoint. This application has the same functionality as PowerPoint, i.e. you
can create colourful slides, add animation effects to the graphics and headings,
and set transition effects between slides.
10.1.5 Diagrams
LibreOffice Draw (Figure 10.6) is the open source equivalent of Microsoft Visio.
This vector graphics editor has much of the same functionality as Visio, i.e. you
can draw technical diagrams, create large scale posters, and build dynamic 3D
illustrations.
Answers
Unit 1
Unit 2
1)
2)
3)
4)
5)
6)
7)
1)
2)
3)
4)
5)
6)
7)
True
True
True
A
C
B
A
True
True
False
A
D
C
C
Unit 3
Unit 4
1)
2)
3)
4)
5)
6)
7)
8)
9)
1)
2)
3)
4)
5)
True
C
True
A
Syntax
Command
Option
Argument
B
A
ls i
ls a
mkdir mysub
A
Unit 5
Unit 6
1) False
2) True
3) C
4) D
5) D
6) True
7) False
8) False
9) True
10)
True
11)
True
12)
D
13)
A
14)
C
15)
B
16)
B
17)
A
18)
B
19)
D
20)
C
21)
B
1)
2)
3)
4)
5)
6)
False
False
C
D
A
B
Unit 7
1)
2)
3)
4)
5)
6)
7)
8)
True
True
True
True
B
C
C
D
Unit 10
1)
2)
3)
4)
5)
6)
7)
True
PNG
False
ECMAScript
True
False
True
Exercise Checklist
ULNXC-14 V1.0
Student:
Start date:
Student, please note that unless all of the exercises in this study guide have
been completed and signed off by an lecturer, you will not be allowed to write
the Linux Operating System examination.
Date
Sign
Unit 1
Exercises
Unit 2
Exercises
Unit 3
Exercises
Unit 4
Exercises
Unit 5
Exercises
Unit 6
Exercises
Unit 7
Exercises
Unit 8
Exercises
Unit 9
Exercises
Unit 10
Exercises
Glossary
Term
Definition
Absolute
pathname
Accelerated-X
Afterstep
Android
Applications
See Utilities.
Assembly
language
Bash
Bayes Theorem
Bayesian email
filters
Bourne shell
(sh)
Bourne-again
shell (bash)
C language
C shell (csh)
Command
interpreters
Term
Definition
Command line
shells
Command mode
Data blocks
Debian
Demand-paged
virtual memory
Desktop
environments
Desktop
managers
Directory files
Distribution
Edubuntu
Enhanced C shell
(tcsh)
Enlightenment
Error channel
Evolution
Executable
program files
Files that exist on the hard drive until they are executed
in memory to become processes.
Term
Definition
Execute
permissions
File permissions
(ordinary,
directory, block,
character
device)
Filter programs
See Filters.
Filters
Firefox
Freedom toaster
FVWM
General Image
Manipulation
Program (GIMP)
GIMP
GNOME
GNU Network
Object Model
Environment
(GNOME)
Term
Definition
Gobuntu
Graphical User
Interface (GUI)
shells
Group
permissions
GUI shells
IceWM
Inode area
Inode numbers
Input channel
K Desktop
Environment
(KDE)
KDE
Kernel
Kubuntu
Linked files
Linux
Linux terminal
Term
Definition
Live CD
Mageia
Metro-X
Minix
Mint
Multics
A predecessor to Unix.
Multitasking
Named pipes
Open source
LibreOffice
Other
permissions
Output channel
PID
Pipelines
Term
Definition
Pre-emptive
multitasking
Process
Identification
number (PID)
Protected
process
Read
permissions
Redirection
Relative
pathname
Root user
Sampling
sh
shell
Shell
metacharacters
Slackware
Socket files
assigned
to
each
Term
Definition
Standard error
Standard input
Standard output
Stderr
Stdin
Stdout
Sudo
Sudoers
Superblock
Superuser
Suse
Text files
Thunderbird
Ubuntu
Term
Definition
Unix
Vi
Vim
Window
manager
Workspace
switcher
Write
permissions
X Server
X Windows
XFree86
Xubuntu
Poor
Fair
Good
Excellent
Please note any errors that you found in the study guide.
Campus:
Lecturer:
Date:
Please remove this evaluation form and return it to your lecturer so that it can
be forwarded to the Division for Courseware Development. Thank you.
Bedfordview Campus
1st Floor, 14 Skeen Boulevard
Bedfordview, 2008
P.O. Box 1389, Bedfordview, 2008
Tel: +27 (0)11 450 1963/4, Fax: +27 (0)86 686
4950
Email: bedfordview@cti.ac.za
Bloemfontein Campus
Tourist Centre, 60 Park Avenue,
Willows, Bloemfontein, 9301
P.O. Box 1015, Bloemfontein, 9300
Tel: +27 (0)51 430 2701, Fax: +27 (0)51 430 2708
Email: bloemfontein@cti.ac.za
Durban Campus
59 Adelaide Tambo Drive (old Kensington Drive)
Durban North, 4067
P.O. Box 20251, Durban North, 4016
Tel: +27 (0)31 564 0570/5, Fax: +27 (0)31 564
8978
Email: durban@cti.ac.za
Durbanville Campus
Kaapzicht, 9 Rogers Street, Tyger Valley, 7530
P.O. Box 284, Private Bag X7
Tyger Valley, 7536
Tel: +27 (0)21 914 8000, Fax: +27 (0)21 914
8004
Email: durbanville@cti.ac.za
Nelspruit Campus
50 Murray Street
Nelspruit, 1200
P.O. Box 9497, Sonpark, Nelspruit, 1206
Tel: +27 (0)13 755 3918, Fax: +27 (0)13 755
3918
Email: nelspruit@cti.ac.za
Potchefstroom Campus
16 Esselen Street
Cnr Esselen Street & Steve Biko Avenue
Die Bult, Potchefstroom, 2531
P.O. Box 19900, Noordbrug, 2522
Tel: +27 (0)18 297 7760, Fax: +27 (0)18 297
7783
Email: potchefstroom@cti.ac.za
Pretoria Campus
Menlyn Corporate Park, Building A
175 Corobay Avenue (Cnr Garsfontein), Pretoria,
0181
PostNet Suite A147, Private Bag X18
Lynnwood Ridge, 0040
Tel: +27 (0)12 348 3060, Fax: +27 (0)12 348 3063
Email: pretoria@cti.ac.za
Randburg Campus
6 Hunter Avenue, Cnr Bram Fischer Drive
Ferndale, Randburg, 2194
P.O. Box 920, Randburg, 2125
Tel: +27 (0)11 789 3178, Fax: +27 (0)11 789
4606
Email: randburg@cti.ac.za
Vanderbijlpark Campus
Building 2, Cnr Rutherford & Frikkie Meyer Blvds
Vanderbijlpark, 1911
P.O. Box 6371, Vanderbijlpark, 1900
Tel: +27 (0)16 931 1180, Fax: +27 (0)16 933 1055
Email: vanderbijlpark@cti.ac.za