Sie sind auf Seite 1von 60

LESSON: 1A

THE LINUX OPERATING


SYSTEM: AN INTRODUCTION

Objectives
In this lesson, you will learn to:











Define operating systems


Identify the functions of an operating system
Trace the history of the Linux operating system
Identify the components of Linux architecture
Log on and Log out from a Linux session
Use the date command
Identify the current users working on the system
Find the uptime of the system
Open the manual pages of the system

Introduction to Linux

1A.1

The Linux Operating System: An Introduction

Objectives
In this lesson, you will learn to:

NIIT

1A.2

Define operating systems


Identify the functions of an operating system
Trace the history of the Linux operating system
Identify the components of Linux architecture
Log on and log out from a Linux session
Use the date command
Identify the current users working on the system
Find the uptime of the system
Open the manual pages of the system

Introduction To Linux

Introduction to Linux

Lesson 1A / Slide 1 of 29

INSTRUCTOR NOTES

Course Overview
This course uses the following components:

Demonstrations: The number of demonstrations included in the lesson varies


depending on the depth and complexity of the content covered in the lesson. For
example, in the first lesson, which is mostly conceptual, there is one demo
giving instructions to log on to the Linux computer and practice a few basic
commands. However, in the lessons covering shell scripting, the exhaustive
scripting commands and constructs are divided into smaller topics and five
demonstrations are placed at the end of the lesson.

CR/SSS: It provides knowledge bytes, tips and tricks, scenario-based best


practices, and FAQs. In addition, the CR/SSS contains challenges with trick
questions. The group discussion section of the CR/SSS ensures participation of
all students in discussing a particular topic related to the lesson.

MRs: These are machine room exercises that test the student on the knowledge
gained in the classroom and self-study.

This course uses the Deez Telecommunications case study across demonstrations and
MRs. Different examples and small case studies are used to explain specific concepts
in CR/SSS.
The slide show for this course needs to run on the Linux environment because Linux
will be installed on the faculty node. To run a slide show on Linux, you need to open
the PowerPoint (.pps) file in OpenOffice.org Impress and select the Slide Show button.
Note that the .pps file cannot run directly in the Linux environment.

Lesson Overview
This lesson is divided into six sections:

Operating Systems: Provides an overview of various types of software. In


addition, the section introduces the functions of operating system software.

Types of Systems: Covers the types of systems and distinguishing features of


single-user and multi-user operating systems.

Introduction to Linux

1A.3

The Linux Operating System: Covers the origin and history of Linux. In addition,
the section outlines the various features and benefits of using the Linux
operating system.

The Linux Architecture: Covers the components of the Linux operating system
including the kernel, shell, and application programs. Various distributors of
Linux are also mentioned in the section with additional pointers to Web sites
where you can obtain more information.

Logging In and Logging Out from a Linux Session: Provides information about
how to log on to the Linux operating system and discusses the use of a login
name and password as an important security feature. It also discusses common
Linux commands, such as date, man, who, uptime, clear, and info.

Initiating a Linux Session: Demonstrates logging onto the Linux operating


system and practicing basic Linux commands.

Session Plan and Activities


You need to ensure that there is complete involvement and participation of students in
the class. You should encourage discussions in class. For this, you can conduct this
lesson as described below:

Initiate a classroom discussion using the following questions:

What is an operating system?


Summarize the discussion by providing a definition of an operating
system and briefly explaining its functions.
What are the different operating systems that you have worked on?
Note down all the answers on the whiteboard in two columns such that
the single-user operating systems are listed on one side and the multiuser operating systems are listed on the other.
Complete the list and then justify the categorization of the operating
systems into single and multi-user systems by discussing their features.
What do you know about Linux?
Resolve the common misconceptions:

1A.4

Associating Linux only with Red Hat

Linux is freeware

Drive the discussion towards the origin and history of Linux.


Explain briefly the features and advantages of using the Linux operating
system.

Demonstrate how to logon to a Linux computer.

Ask students to simultaneously logon to their respective computers.

Demonstrate how to run multiple virtual terminals on your computer:

Introduction to Linux

Log on to your computer as the root user and create multiple users using
the useradd command. You can give the same password to all the users
created using the p option with the useradd command.
To enable each user to log on, you can create a virtual terminal for each
such user and allow the user to log on with the user name and password
just created.

Demonstrate how to logon to the Linux server remotely using the case study of
Deez Telecommunications included in the section, Initiating a Linux Session:

Emphasize the traditional and prevalent methods of using the Linux


operating system.

Emphasize the use of who, who am i, and uptime commands.


Discuss the importance of syntax. Emphasize the following tips when
working on the Command Line Interface (CLI):
Be careful while using spaces in syntax.
All commands in Linux are case sensitive.

Show the implementation of the man and info commands:

Emphasize the difference in output of the man and info commands. Refer to
the additional input for more information.

Show the implementation of the date, clear, tput, and various combinations of
the tput command.

Summarize the lesson.

Introduction to Linux

1A.5

TYPES OF SOFTWARE

Hardware consists of the tangible parts of the computer, such as the monitor and
keyboard. Anything that can be stored electronically is software or data. Software
consists of the instructions that you give to the computer. It is the intangible part of
the computer system. The hardware of the computer cannot work by itself. It requires
instructions from the user. These instructions are given in the form of programs.
Software may be categorized as:

Application software

System software

Application software consists of programs used for various purposes, such as a word
processor or a database management system (DBMS). For example, Microsoft Office
2000 is application software.
System software is used to control the hardware of the computer or to help convert
instructions written in a high-level language to machine language.
System software may be further categorized into:

Operating systems

Compiler software

1A.6

Introduction to Linux

Operating Systems

The Linux Operating System: An Introduction

Operating Systems

Operating system is a software program that manages the computer hardware,


system resources, memory, and interaction between the system and its users.
Some popular operating systems are:
Linux
Unix-Solaris, SCO and Irix
Microsoft DOS
Microsoft Windows 95
Microsoft Windows 98
Microsoft Windows NT Server 4.0
Microsoft Windows 2000 Server
Microsoft Windows Server 2003

NIIT

Introduction To Linux

Lesson 1A / Slide 2 of 29

An operating system is a software program that acts as an interface between a user


and a computer. The operating system manages the computer hardware, system
resources, memory, and interaction between the system and its users. The operating
system also forms the base on which application software is developed.
Some popular operating systems are:

Linux

Unix-Solaris, SCO, Irix etc

Microsoft DOS

Microsoft Windows 95

Microsoft Windows 98

Microsoft Windows NT Server 4.0

Microsoft Windows 2000 Server

Microsoft Windows Server 2003


Introduction to Linux

1A.7

Functions of an Operating System

The Linux Operating System: An Introduction

Functions of an Operating System

NIIT

The functions of an operating system are:


Translates a command keyed in by a user to binary code for the CPU to
understand the command
Handles requests for memory from various applications running on the
system
Handles communication between the devices and the CPU
Rations out the CPU time enabling programs to run concurrently

Introduction To Linux

Lesson 1A / Slide 3 of 29

The functions of operating system are:

Command interpretation: The Central Processing Unit (CPU) needs to


understand a command keyed in by a user. It can interpret only binary code,
which is the code containing 0s and 1s. A command keyed in by a user has to
be translated to binary code for the CPU to understand the command. An
operating system performs this task.

Memory management: Memory management is the mechanism by which an


operating system handles requests for memory. With the development of highly
sophisticated software, memory requirements have increased drastically. An
operating system has to take care of allocating memory to the various
applications running on the system. It has to allocate optimum memory to the
applications and clean up unnecessary data from the memory.

Peripheral management: An operating system has to take care of the devices


(peripherals) attached to the computer. It handles communication between the
devices and the CPU. For example, it handles communication between the CPU
and the printer or the modem.

Process management: To enable several programs to run concurrently, an


operating system has to ration out the CPU time. It needs to ensure that all the

1A.8

Introduction to Linux

programs get a fair share of the CPU time and no one program monopolizes the
CPU time.
The functioning of an operating system depends largely on the computer system on
which it is installed. Because there are two basic types of computer systems singleuser and multi-user there are two types of operating systems. Before you learn about
the details of operating systems, let us first have a brief look at the two types of
computer systems available.

Compiler Software
Compiler software consists of the instructions that convert the instructions written in a
high-level language into machine language to execute specific tasks.

Introduction to Linux

1A.9

TYPES OF SYSTEMS

The Linux Operating System: An Introduction

Types of Systems
Single-User System
A single user system is a small,
general-purpose system, used by
one person at a time such as a
personal computer (PC).
The example of a single-user
operating system is MS DOS.

NIIT

1A.10

Multi-User System
A multi-user system can run multiple
programs concurrently, share
multiple resources such as printers
and disks, and support multiple users
working simultaneously on a system.
The examples of multi-user operating
systems are:
Linux
Unix
Windows NT Terminal Server
Windows 2000 Terminal Server
Windows 2003 Terminal Server

Introduction To Linux

Introduction to Linux

Lesson 1A / Slide 4 of 29

The Linux Operating System: An Introduction

Types of Systems (Contd.)

NIIT

A multi-user system:
Is a computer with several terminals attached to it
Can consist of one CPU with high processing power
Can have multiple CPUs to process multiple applications simultaneously
Supports multi-programming and multi-tasking
Has higher capacity hard disk to store large amount of data
There are two types of terminals:
Dumb terminal
Smart terminal
A terminal is an interface that accepts commands from users and sends them
to the server for execution.
A server is a computer that executes the requests sent by the client
computers attached to it.

Introduction To Linux

Lesson 1A / Slide 5 of 29

Single-User Systems
A single-user system is designed to be used by one person at a time such as a
personal computer (PC). It is a small, general-purpose system to perform various
tasks. The following diagram depicts a single-user system:

A Single-User System

Due to the low cost of the hardware requirements and a wide range of available
software, the PC has become very popular.
Introduction to Linux

1A.11

SingleUser Operating Systems


Microsoft Disk Operating System (MS DOS) is an example of a single-user operating
system. MS DOS has a Command Line Interface (CLI) and is considered the de-facto
single-user operating system for a long time. Even today, most of the operating
systems provide emulators for MS DOS.
Software is said to have a CLI if it is only textual in nature, which
means commands have to be typed in using the keyboard. A
Graphical User Interface (GUI) allows commands to be executed
by clicking icons. GUI-based software is slower than CLI software
but is more user-friendly.

Multi-user Systems
More than one user can work simultaneously on a multi-user system. Multi-user
systems are capable of running multiple programs concurrently and can share
resources such as printers and disks. One of the functions of a multi-user system is to
share hardware resources such as printers and modems. The following diagram
depicts a multi-user system:

A Multi-User System

1A.12

Introduction to Linux

Multi-user Operating Systems


Linux, Unix, Windows NT Server, Windows 2000 Server and Windows 2003 Server are
examples of multi-user operating systems. Here, more than one user can connect to
the system and work concurrently at any point in time. Each user can have more than
one program running simultaneously.
Windows 98 is a multi-tasking operating system but not a multiuser system. It can handle simultaneous execution of multiple
tasks but it cannot have multiple users connected to the system
at one point in time. Linux is a multi-user and multi-tasking
operating system.

Basic Concepts of a Multi-user System


A multi-user system consists of a computer with several terminals attached to it.
Various users can work on this computer through the attached terminals. There are
two types of terminals, dumb and smart.
A dumb terminal consists of only a monitor and a keyboard. It has no hard disk and
no CPU of its own; the server computer takes care of all processing requirements.
A smart terminal has its own CPU and peripherals and can work independent of the
central unit. The advantage of a smart terminal is that it can be used to work on any
operating system that is loaded on its hard disk and can also connect to the central
unit when required.
For example, assume that you are working on a computer running Windows 2000. At
this time, you are using resources (such as the hard disk, memory, and processor), of
your local computer. Now, if you connect and work on another computer running Linux
or Unix, you will start using all the resources of the Linux or Unix computer.
The CPU of a multi-user system is more powerful than a single-user system. It has the
capability to support multi-programming and multi-tasking, which are the two features
essential for multi-user systems. Because many users share a multi-user computer
system, the hard disk is of high capacity to store a large amount of data. It may also
have a CPU with high processing power or multiple CPUs to process multiple
applications simultaneously.
A terminal, also known as a user terminal or node, is an interface that interacts
between the central system and the user. It accepts commands from users and sends
them to the server for execution. For example, you can work on an application running
on the server or another computer from a remote terminal. A user terminal may be at
the same location as the system unit or at a remote site connected to the system unit
by communication lines.
A server is a computer that executes the requests sent by the client computers
attached to it. Depending on the type of tasks it performs, a server can provide
different types of services. For example, a print server performs the task of printing
Introduction to Linux

1A.13

files sent by clients, and a database server stores the database centrally. A single
server may perform more than one service. For example, a database server may also
be a print server.

INSTRUCTOR NOTES
While explaining smart and dumb terminals, you can exemplify the concept by telling
students that they are working on smart terminals that have their own CPUs.

1A.14

Introduction to Linux

THE LINUX OPERATING SYSTEM

History of UNIX

The Linux Operating System: An Introduction

History of Unix

In 1965, Bell Labs and Massachusetts Institute of Technology (MIT) along with
General Electric developed one of the first multi-user computer systems called
Multiplexed Information and Computing Service (Multics).
Around 1969 Ken Thompson and Dennis Ritchie, two Bell Labs engineers
developed Uniplexed Information and Computing Service (Unics), which was later
changed to Unix.
In 1973, Ken Thompson and Dennis Ritchie re-wrote Unix using the C
programming language.
In 1983, an MIT scientist, Richard M. Stallman, launched the GNUs not Unix
(GNU) project to create Unix-like operating system but free from licensing
charges.
To organize the work on the GNU project, Stallman and other people created the
Free Software Foundation (FSF).
FSF developed the General Public License (GPL) to build a body of free software
protected from those who would use it to create proprietary closed-source
systems.
NIIT

Introduction To Linux

Lesson 1A / Slide 6 of 29

Before the advent of UNIX, most systems were single-user systems. These systems
were fast but were not portable because they were written in machine-level language,
which was specific to the computer on which it was written. In 1965, Bell Labs and
Massachusetts Institute of Technology (MIT) along with General Electric took part in
the development of one of the first multi-user computer systems called Multiplexed
Information and Computing Service (Multics). Ken Thompson and Dennis Ritchie, two
Bell Labs engineers, worked on this project until 1969. Later, they developed an
operating system, Uniplexed Information and Computing Service (Unics), which was
similar to the Multics operating system. The name Unics was then changed to UNIX.
In 1973, Ken Thompson and Dennis Ritchie re-wrote Unix using the C programming
language. Around 1974, UNIX was licensed to universities for educational purposes
and, a few years later, was made available commercially.

Introduction to Linux

1A.15

In 1976-77, Ken Thompson took a six-month sabbatical from Bell Labs to teach as a
visiting professor at the Computer Science Department at the University of CaliforniaBerkeley (UCB). What he taught, of course, was the UNIX system. It was an instant
hit, and the word spread quickly throughout the academic community. When
Thompson returned to Bell Labs, students and professors at Berkeley continued to
enhance UNIX. Eventually, many of these enhancements were incorporated into what
came to be known as Berkeley Software Distribution (BSD) Version 4.2.
Minix was another miniature version of UNIX, mainly used as a teaching aid in
universities and colleges. It was a free UNIX clone available with all the source code.
Due to its small size, micro kernel-based design, and ample documentation, it was
well suited to people who wanted to run a UNIX-like system on their personal
computer.
It is interesting to note that MS DOS was created much later than UNIX, by which time
the industry had begun to accept UNIX as the standard operating system. Therefore,
UNIX features have influenced the design of MS DOS.
Many vendors, such as Sun, IBM, and Hewlett-Packard, purchased the source code of
UNIX. They developed their own versions of UNIX. This resulted in many differences
between various versions. To avoid the confusion, some standards called Portable
Operating System for the UNIX environment (POSIX), were outlined. POSIX was a set
of standards that enabled software to run on different UNIX-based operating systems
without changes to the source code.
In 1983, an MIT scientist, Richard M. Stallman, launched the GNU (GNUs not Unix)
project. The main aim of this project was to create a UNIX-like operating system but
free from licensing charges. Under this project, the GNU operating system was
distributed to the programmers around the world to improve it.
To organize the work on the GNU project, Stallman and other people created the Free
Software Foundation (FSF). This organization promoted the development and use of
free software and spread awareness about the ethical and political issues of freedom
in the use of software. FSF developed the General Public License (GPL) to build a body
of free software protected from those who would use it to create proprietary closedsource systems. The organization charges a small fee to operate the foundation.
Around 1990, FSF had developed a number of tools that could be freely modified and
redistributed.

1A.16

Introduction to Linux

Evolution of Linux

The Linux Operating System: An Introduction

Evolution of Linux

In 1991, Linus Torvalds, a student, while working on Minix wrote the source code
for the kernel, and named it Linux.
Torvalds made the Linux kernel available on the Internet.
The Linux kernel was combined with the GNU system resulting in a complete
operating system called GNU/Linux because it was a combination of the GNU
system and Linux as the kernel.
Linux follows the open development model which means that the current
development version of Linux is always open to everybody.
Tux, the Linux penguin, is the official mascot.

NIIT

Introduction To Linux

Lesson 1A / Slide 7 of 29

Around 1991, Linus Torvalds, a student at the University of Helsinki, Finland, was
working on Minix. Linus Torvalds was impressed with the features of the Unix
operating system. He wanted to create his own version of the Unix operating system
and give it free of charge for use to everybody. Torvalds worked on the project, wrote
the source code for the kernel, and named it Linux. The kernel was the core program
of the Linux operating system. Torvalds made the Linux kernel available on the
Internet.
The Linux kernel was combined with the GNU system resulting in a complete operating
system. This operating system was called GNU/Linux because it was a combination of
the GNU system and Linux as the kernel. The GNU/Linux operating system is referred
to as the Linux operating system.
The core of the Linux system is the kernel. The kernel controls
the resources of the computer and forms an interface between
the user and the hardware. You will learn more about the kernel
later in this section.
Linux follows the open development model. Torvalds has made the source code of the
Linux kernel available for study and changes on the Internet. This means that the
current development version of Linux is always open to everybody. Torvalds also
accepts modifications to the kernel code. The result is that whenever a new version of
Introduction to Linux

1A.17

Linux with new functionality is released, people work on the new version to fix bugs, if
any. To maintain stability, Torvalds exercises strict quality control and then merges all
the new code into the kernel. This is in contrast to a closed model, in which a project
team works on the software version and there are long intervals before people use the
software and fix the errors in it.
To help people gauge whether or not they are using a stable version of Linux, the
following scheme is being used. In version 1.x.y, where x is an even number, it
signifies a stable version of Linux. Conversely, when x is an odd number, it signifies a
beta (trial) release of Linux.
The Internet has played a major role in the development of the Linux operating
system. Today, many companies provide support for Linux on the Internet. Many
Linux forums on the Internet allow free registration and subscription to the latest
information.
Linux has an official mascot the Linux penguin, called Tux, which was selected by
Linus Torvalds to represent the image he associates with the operating system he
created. The following figure shows the Linux official mascot:

The Linux Penguin Tux

INSTRUCTOR NOTES
Emphasize the names of all key people involved in the origin and evolution of Linux,
such as Ken Thompson, Richard Stallman and Linus Torvalds.
After explaining the origin and evolution of Linux, you can check the knowledge level
of students by conducting a One Minute Paper exercise. The One Minute Paper

1A.18

Introduction to Linux

exercise should include asking the student to take a minute to write down that part of
the evolution of Linux, which struck them the most.

Features of the Linux Operating System

The Linux Operating System: An Introduction

Features and Advantages of Linux

The features of Linux are:


Multi-programming
Time-sharing
Multi-tasking
Virtual memory
Shared Libraries
POSIX-Compliance
Samba
Network Information System (NIS)
Cron Scheduler
Office Suites
Data archiving utilities
Licensing
Web server

NIIT

The advantages of Linux are:


Reliability
Backward compatibility
Simple upgrade and installation
process
Low total cost of ownership
Support for legacy devices
GUI interface
Multiple distributors
Excellent security features
Support for high user load
Support for development
libraries

Introduction To Linux

Lesson 1A / Slide 8 of 29

The following features can be outlined in the Linux operating system:

Multiprogramming: Linux allows many programs to be executed simultaneously


by different users. This feature is called multiprogramming.

Time-sharing: Multiprogramming is made possible on the Linux system by the


concept of time-sharing. The operating system has to manage the various
programs to be executed. The programs are queued and CPU time is shared
among them. Each program gets CPU time for a specific period and is then put
back in the queue to wait its turn again as the next program in the queue is
attended.

Multitasking: A program in Linux is broken down into tasks, each task being,
reading from or writing to the disk, or waiting for input from a user. The ability
of any operating system to handle the execution of multiple tasks is known as
multitasking. When a task is waiting for the completion of an activity, the CPU,
instead of wasting time, starts executing the next task. Therefore, while one
task is waiting for input from the user, another program could be reading from
the hard disk. To explain the concept of multitasking, consider an example
Introduction to Linux

1A.19

where you are having a cup of coffee, reading a book, and talking to your friend
over the phone. You are performing more than one task simultaneously.
However, at a given point in time, you would be either sipping coffee, reading
the book, or speaking on the phone. As you notice, you divide your time into
smaller units and in each unit of time; you would be doing only one of the tasks.
Similarly, the CPU divides the time between all the active tasks. The kernel is
responsible for scheduling the tasks.

Virtual memory: The amount of physical memory may not always be sufficient
for executing large applications or for having multiple applications active at a
point in time. In such situations, Linux makes a partition, which is a portion of
the hard disk, available for use as the virtual memory. The system places the
programs and data that are not frequently required on this portion of the hard
disk and loads them in the memory, whenever required. Therefore, it uses the
resources of the computer to the optimum.

Shared libraries: These are sets of functions or sub-routines maintained as a set


of files. All the applications that use these functions access the functions from
the shared library files instead of individually maintaining code for the functions,
thus saving hard disk space and memory.

POSIX-Compliance: Linux is POSIX-compliant and supports most of the


standards set for all Unix systems.

Samba: The name, Samba, is derived from the Server Message Block protocol or
SMB. SMB is the protocol used by the Microsoft operating systems to share file
and print services. Samba is a suite of programs that implement the SMB
protocol in Linux. Using Samba, you can share a Linux file system with the
Windows operating system. You can also share a Windows file system with
Linux. SMB also enables the sharing of printers connected to either Linux or the
Windows operating system.
1. A protocol is a set of rules that states the communication
standards for data transfer between two applications.
2. The term, file system, refers to a mechanism used by an
operating system to store and manage files and
directories on a storage medium.
3. A partition is a portion of the hard disk.

Network Information Service (NIS): It is possible to share passwords and group


files across a network in Linux using the Network Information Service (NIS). In
effect, NIS is a client and server database system. It is a central database of
account information that is used for account authentication. It was developed by
Sun Microsystems and was originally known as Yellow Pages (YP). Later, its
name was changed to NIS due to trademark issues.

Cron scheduler: Linux has a scheduler program called cron. It is used to run
commands, scripts, or programs at scheduled times.

1A.20

Introduction to Linux

Office suites: Linux supports OpenOffice.org, an application program that has


many in-built tools. OpenOffice.org enables you to create documents,
presentations, and illustrations and analyze data. Working on OpenOffice.org is
similar to working on Microsoft Office Application for Windows.

Data archiving utilities: Linux provides utilities for basic data backup (archiving),
such as tar, cpio, and dd. Advanced Maryland Automatic Network Disk Archiver
or Amanda is a backup system supported by Linux. It enables the LAN
administrator in setting up a master backup server and makes back up for
multiple hosts in a large capacity tape drive.

Licensing: Linux is a copyright under the GNU General Public License. The
licensing for Fedora states that a person can download, install, or use the
software and any updates to the software, regardless of the delivery
mechanism.

Web server: A Web server is the software that serves Web pages. Linux comes
with the Apache Web server, which is the most popular Web server in use today.
Apache also supports the Squid proxy server that helps in improving the
performance for accessing the Internet.

Other Features: Linux comes with many other useful and free software such as
text editors, browsers, and scientific applications.

INSTRUCTOR NOTE
While discussing the multi-user feature, outline the fact that Linux is truly a multi-user
operating system but Windows NT is not a multi-user system. This is because multiple
users cannot work simultaneously on the Windows NT system.
In addition, often the terms, multitasking and multiprocessing, are incorrectly used in
the same context. After explaining the multitasking feature in Linux, you can explain
the concept of multiprocessing using the following information.

Introduction to Linux

1A.21

Additional Input: Multiprocessing


Multiprocessing is the most characteristic program-modularization technique. It is the
ability of an operating system to perform multiple processes at the same time. One of
the important features of the Linux kernel is the Symmetric Multiprocessing support.
This means that the system contains multiple identical CPUs to perform various
processes. A particular CPU, however, may not execute all the processes. Instead, in
one time slice, CPU #1 executes a particular process, then at another time, CPU #2
executes that particular process and CPU #1 will execute some other process.
Although having multiple CPUs should add to the speed of processing, the impact is
not always proportional to the number of CPUs. This is because the memory and other
resources are still shared.

Advantages of Linux
The Linux operating system has the following advantages:

Reliability: Linux is a stable operating system. Linux servers are not shut down
for years together. This means that users on the Linux operating system work
consistently with the Linux server without reporting any operating system
failures.

Backward compatibility: Linux is said to be backward compatible. This implies


that Linux has excellent support for earlier hardware. It can run on different
types of processors, including 386 and 486 Intel processors. It also runs well on
DEC Alpha processor, Sun SPARC machine, PowerPC and SGI MIPS.

Simple upgrade and installation process: The installation procedure of most


Linux versions is menu-driven and easy. It includes the ability to upgrade from
prior versions. The upgrade process preserves the existing configuration files
and maintains a list of its actions during installation.

Low total cost of ownership: Linux and most of the packages that come with it
are free. Therefore, the total cost of ownership in procuring Linux server
software is low. In addition, there are a lot of people and organizations providing
free support for Linux so the cost of support can also reduce. The system
configuration requirements for installing a Linux computer are less. For this
reason, the hardware cost goes down.

Support for legacy devices: Linux can run on a computer with low configuration,
such as a 386 DX. Users who have low configuration computers prefer to use
Linux compared to any other operating systems, which require higher
configuration.

GUI interface: The graphical interface for Linux is the X Window system. It is
divided into two subsystems consisting of a server and a client. Linux has a
number of graphical user interfaces called Desktop Environments, such as K
Desktop Environment (KDE) and GNU Object Model Environment (GNOME), both

1A.22

Introduction to Linux

of which are versions of the X Window system. They run on the X server. When
you startup KDE, the desktop is organized into folders such as Trash and Start
Here. Icons represent these folders pictorially. When you click an icon, the K file
manager pops up a browser window. GNOME can be configured in the way you
want to use it. It supports the drag-and-drop mechanism. GNOME follows the
Common Object Request Broker Architecture (CORBA) standards to allow
different software to communicate easily.

Multiple distributors: Linux is offered by many organizations, each with their


own added features. Therefore, the user has various options available. Some
distributions of Linux are Red Hat, SuSE, Mandrake, Debian, and Slackware.

No known viruses: Linux is said to be free of any virus attack. So far, there are
no known viruses for Linux.

Excellent security features: Linux offers high security. This is the reason why
many Internet Service Providers are replacing their current operating systems
with Linux.

Support for high user load: Linux can support a large number of users working
simultaneously.

Support for development libraries: Linux offers an excellent platform for many
development languages, such as C, C++, JAVA, Python, and Perl. It also
supports Integrated Development Environments such as KDevelop and Glade.

Introduction to Linux

1A.23

LINUX ARCHITECTURE

The Linux Operating System: An Introduction

Linux Architecture
Components of Linux operating system

NIIT

1A.24

Introduction To Linux

Introduction to Linux

Lesson 1A / Slide 9 of 29

The Linux Operating System: An Introduction

Linux Architecture (Contd.)

NIIT

The kernel:
Is the core of Linux operating system program
Controls the resources of the computer
Interacts directly with the hardware
The shell:
Is a user interface providing services that a user wants
Protects the user from knowing the intricate hardware details
Linux utilities and application programs:
Are a collection of programs that service day-to-day processing
requirements
Are invoked through the shell

Introduction To Linux

Lesson 1A / Slide 10 of 29

The Linux operating system consists of three main software components, as shown in
the following diagram:

Components of the Linux Operating System

Kernel
The core of the Linux system is the kernel, which is the operating system program.
The kernel controls the resources of the computer, allotting them to different users
and tasks. It interacts directly with the hardware, thus making the programs easy to
write and portable across different platforms of hardware. Because the kernel
communicates directly with the hardware, the parts of the kernel must be customized
to the hardware features of each system. However, the kernel does not interact
directly with a user. Instead, the login process starts up a separate, interactive
program called the shell for each user.
Introduction to Linux

1A.25

Shell
Linux has a simple user interface called the shell that has the power to provide the
services that a user wants. It protects the user from having to know the intricate
hardware details. The features of the shell will be discussed in subsequent sessions.

Linux Utilities and Application Programs


The Linux utilities or commands are a collection of programs that service day-to-day
processing requirements. These programs are invoked through the shell, which is itself
another utility. Apart from the utilities provided as part of the Linux operating system,
more than a thousand Linuxbased application programs, Database Management
System (DBMS), word processors, and various other programs are available from
independent software vendors.

INSTRUCTOR NOTES
After explaining the components of the Linux architecture, you can conduct a test on
the topic. Ask students to explain the Linux architecture by means of a Venn diagram.
The following figure depicts the Venn diagram that explains the interaction of various
components in the Linux architecture:

Users
AP
Shell
Kernel

The Venn Diagram

1A.26

Introduction to Linux

In the preceding diagram, the Linux operating system is represented by the outer
rectangle, with all its components placed inside. The innermost solid core in the center
of the rectangle denotes the kernel. The application programs form the outermost
layer in the Linux Architecture. This layer communicates with the kernel through the
Shell represented as a gray color solid circle encircling the kernel.
The answer to this exercise would indicate the degree of understanding the student
has acquired from this session.

Comparing Linux with UNIX

The Linux Operating System: An Introduction

Comparing Linux with Unix

NIIT

Linux was developed keeping Unix as a reference model and continue to


have the same basic architecture and features.
Linux and Unix operating systems differ in:
Hard disk space requirement
Availability of shells
Distributions or variants
Licensing

Introduction To Linux

Lesson 1A / Slide 11 of 29

Linux was developed keeping Unix as a reference model. Therefore, the basic
architecture and most of the features of Linux and Unix are the same. In fact, Linux is
also considered as another version of Unix. The main difference between Linux and
Unix is that Linux is available free of charge. Various distributors of Linux do charge a
price but the price is low as compared to other operating systems. What you get is a
full-blown server operating system without any licensing issues. Linux comes with all
the development tools you could possibly require, such as C, C++, FORTRAN, Pascal,
and several scripting languages, such as awk, Perl, and Python, most of which are
free. In addition, Web servers, such as Apache, and browsers, such as Netscape
provide their versions for Linux, again free of charge.

Introduction to Linux

1A.27

The Unix operating system requires at least 500 MB of hard disk space. On the other
hand, Linux can be installed on a computer having 150 MB of hard disk space and can
run on 8 MB of RAM.

Features

Linux

Unix

Shells
available

bash, pdksh, tcsh, zsh,


ash

Bourne, Korn, C

Variants

Red Hat, Caldera,


Debian, LinuxPPC, SuSE

AT & T, MULTICS, BSD, SCO,


HP-Ux, IRIX, Ultrix, XENIX,
Sun Solaris

Licensing

Freely distributed

Expensive licensing

Comparison between Linux and Unix

Distributors of Linux

The Linux Operating System: An Introduction

Distributors of Linux

NIIT

All the distributors use the Linux kernel.


The distributors add their own utilities and applications and sell these as a
customized package.
The following are the popular distributors of Linux:
Red Hat and its variations, such as Linux ES, Linux AS, Linux WS,
Desktop, and Fedora Core
Mandrake
Debian
SuSE
Slackware

Introduction To Linux

Lesson 1A / Slide 12 of 29

Many distributors provide Linux. All the distributors use the Linux kernel, which is
controlled by Linus Torvalds. These distributors add their own utilities and applications
and sell the utilities as a customized package. Red Hat, Debian, and Slackware, are
freely usable and after you buy them, you can sell them yourself. (Note that not all
the packages coming with these distributions are free, some have to be bought with a
license). As a result, many other distributors take them as the base for adding
1A.28

Introduction to Linux

utilities. Some of the popular distributors have been mentioned below. More
information on the distributors can be found from their Web sites.

Red Hat
Red Hat Inc. provides different offerings for different types of users. It has divided its
users into two categories. The first category includes the business users who need an
operating system that requires few updates. Red Hat provides the Red Hat Enterprise
Linux product suite for business users. These users need to pay a license fee for the
software. The changes in the operating system are made at a low pace so that
business users need not upgrade the operating system at frequent intervals. The other
category includes the users who use Linux for experimental purpose and make use of
its new and advanced features. The users of this category use the software without
paying any license fee. They can download the software from the Internet and use it
free of charge. Fedora is an example of such freely downloadable operating systems.
The different Linux distributions provided by Red Hat Inc. are:

Red Hat Enterprise Linux suite: Runs on multiple hardware architecture such as
IBM PowerPC, AMD64, Intel EM64T, and Intel x86. The four operating systems
of the Red Hat Enterprise Linux suite are:

Red Hat Enterprise Linux AS: Used for large servers and supports up to 16
CPUs. This operating system supports databases, Enterprise Resource
Planning (ERP), and Customer Relationship Management (CRM) applications.
Red Hat Enterprise Linux ES: Used for small and middle range servers and
supports up to two CPUs. It is used for business applications, such as
printing, mailing, and networking applications.
Red Hat Enterprise Linux WS: Used as desktop operating system and
supports up to two CPUs. This operating system is compatible with Red Hat
Enterprise Linux AS and Red Hat Enterprise Linux ES. This operating system
is suitable for client applications, such as document processing and software
development applications.
Red Hat Desktop: Is used for small and medium business environments. It
supports a single CPU. It is compatible with Red Hat Enterprise Linux AS,
Red Hat Enterprise Linux ES, and Red Hat Enterprise Linux WS. This
operating system is suitable for document processing, browsing, software
development, and instant messaging.
Fedora Core: Represents a general-purpose operating system having
capabilities comparable to other operating systems, such as Windows NT
and Macintosh. Fedora Core is a Red Hat-sponsored project but Red Hat Inc
does not support it. You can download Fedora free of charge from various
Web sites.

Web site: http://www.redhat.com

Mandrake
Introduction to Linux

1A.29

MandrakeSoft offers the power and stability of Linux to both individual and enterprise
users in a user-friendly environment. It contains more than 2300 high-quality
applications including a complete Office Suite of programs and a complete installation
support.
Web site: http://www.mandrakelinux.com

Debian
Debian is among the earliest distributions of Linux. It utilizes the Linux kernel.
However, Debian is designed to accommodate other kernels as well. It is available for
free. It offers precompiled software bundled with more than 8000 packages and an
easy installation procedure.
Web site: http://www.debian.org

SuSE
SuSE is a German distribution. There are a lot of applications and utilities packed
along with SuSE Linux. It also contains StarOffice (Private Edition) and Word Perfect
(Private Edition). It is very popular in Europe. A lot of X development is being done on
SuSE.
Web site: http://www.suse.com

Slackware
Slackware is one of the popular distributions of Linux. It is a complete 32-bit
multitasking "UNIX-like" system and is based around the 2.4 Linux kernel series and
the GNU C Library version 2.3.2 (libc6). Slackware contains an easy to use installation
program, extensive online documentation, and a menu-driven package system.
Web site: http://www.slackware.com

1A.30

Introduction to Linux

LOGGING IN AND LOGGING OUT


FROM A LINUX SESSION
Starting a Linux Session

The Linux Operating System: An Introduction

Starting a Linux Session

NIIT

After you boot the Linux system, the following prompt appears:
Fedora Core release 2 (Tettnang)
Kernel 2.6.5-1.358 on an i686
linuxpc1 login: _
At the login prompt, you can enter your login name and password:
linuxpc1 login: tom
Password:
[user enters password here]
After successful login, you will see the following prompt on the screen:
[tom@linuxpc1 tom]$ _

Introduction To Linux

Lesson 1A / Slide 13 of 29

After you boot the Linux system, a login prompt appears:


Fedora Core release 2 (Tettnang)
Kernel 2.6.5-1.358 on an i686
linuxpc1 login: _
In the prompt, linuxpc1 indicates the hostname of the system.
Each user has an identification name called the user name or the login name, which
has to be entered when the login prompt appears. At the login prompt, after you enter
your login name, you are asked to enter your password, as shown below:
Fedora Core release 2 (Tettnang)
Kernel 2.6.5-1.358 on an i686
linuxpc1 login: tom
Password:

[user enters password here]

Introduction to Linux

1A.31

Linux keeps track of all the user names and the information about users in special
files, shadow and passwd. The login name and password are checked against these
files. If the login name entered does not match any of the user names in the file, the
login message is displayed again. This ensures that only authorized users can access
the computer.
You have to be careful while typing your login name and password because they are
case-sensitive. The entire login process appears as follows:
Fedora Core release 2 (Tettnang)
Kernel 2.6.5-1.358 o an i686
linuxpc1 login: tom
Password:
Last login: Sat Sept 18 12:18:02 from 172.17.55.167
[tom@linuxpc1 tom]$ _
When a valid user name is entered, the [user_name@linuxpc1
current_directory_name]$ symbol is displayed on the screen, by default. This is the
shell prompt in which user_name is the users login name and
current_directory_name is the users current working directory.
The administrator assigns each user a HOME directory when a new login account is
created. When you log on, you are taken directly into your HOME directory. In Linux,
login names (user names) are usually the names of users, and their HOME directory
usually, although not necessarily, has the same name. For instance, if your user name
is tom and your HOME directory name is also tom, after logging in, you will see the
following prompt on the screen:
[tom@linuxpc1 tom]$ _
You can now start working in Linux.

INSTRUCTOR NOTES
Note that in the preceding topic linuxpc1 is the host name that you specify while
installing Fedora. Henceforth, in all the lessons, linuxpc1 is indicated in the commands
or syntax. However, the same might not be visible on students machine or your
machine because the host name specified at the time of Fedora installation might be
different.

1A.32

Introduction to Linux

Connecting to the Linux Server Remotely

The Linux Operating System: An Introduction

Connecting to the Linux Server


Remotely

You can connect to a Linux server from any computer that has operating
systems, such as Windows 9x and Windows NT or 2000, using the following
utilities:
Telnet: You can launch Telnet from the command line by typing the
following command:
telnet 172.17.55.242

PuTTY: Is a third-party program.


Allows you to make ssh (Secure SHell) connections from the
computer that has Windows operating system
Runs as an executable application that does not need to be
installed on your computer

NIIT

Introduction To Linux

Lesson 1A / Slide 14 of 29

You can connect to a Linux server from any computer that has operating systems such
as Windows 9x and Windows NT or 2000 using the following utilities:

Telnet

PuTTY

Telnet
You can launch Telnet from the command line of Windows 9x and Windows NT or 2000
operating system by typing:
telnet <hostname or IP address of the Linux server>
For example, if you had to connect to a Linux computer with an IP address,
172.17.55.242, you need to type the following command at the command line:
telnet 172.17.55.242
A login prompt similar to the one shown below will be displayed:
Fedora Core release 2 (Tettnang)
Kernel 2.6.5-1.358 on an i686
Introduction to Linux

1A.33

login: _
You need to type the login name and password when prompted.

PuTTY
PuTTY is a third-party program that allows you to make ssh (Secure SHell)
connections from the computer that has the Windows operating system installed.
PuTTY uses both SSH and regular telnet connections. It runs as an executable
application that does not need to be installed on your computer.
PuTTY can be downloaded free of charge from the Web site
http://www.chiark.greenend.org.uk/~sgtatham/putty/.
To connect a Windows computer to a computer running the Linux operating system
using PuTTY, you need to perform the following steps:

1.

Double-click the putty.exe file to open the PuTTY Configuration window, as


shown in the following figure:

The PuTTY Configuration Window

2. Type the IP address of the computer running the Linux operating system in
the Host Name (or IP address) text box and select the SSH option. Assume
that the IP address of the computer running the Linux operating system is
172.17.66.196. The PuTTY Configuration window is shown in the following
figure:

1A.34

Introduction to Linux

The PuTTY Configuration Window with the Necessary Settings

Introduction to Linux

1A.35

3. Click the Open button to display the PuTTY window. Because the IP address of
the Linux server is 172.17.66.196, the 172.17.66.196 PuTTY window is
displayed, as shown below:

The PuTTY Prompt

4. Enter your user name and password.

1A.36

Introduction to Linux

Security for the Linux User: Passwords

The Linux Operating System: An Introduction

Security for the Linux User:


Passwords

NIIT

Linux ensures that only authorized users can access the system.
Linux allows you to have a password associated with your login name as an
additional measure of security.
The Linux prompt appears only if you have entered both the user name and
the password correctly, otherwise you are asked to re-enter the user name
followed by the password.
Passwords are not displayed on the screen while they are being entered.
A user can change the password using the passwd command.
The syntax to use the passwd command is:
[steve@linuxpc1 steve]$ passwd

Introduction To Linux

Lesson 1A / Slide 15 of 29

The procedure followed to start a Linux session ensures that only authorized users can
access the system. However, it is easy for anyone to find out your login name because
it is displayed on the screen when being entered. Therefore, the login procedure is not
a foolproof system. To overcome this problem, Linux allows an additional measure of
security by allowing you to have a password associated with your login name. To log
in using a password-protected user name, you have to enter not only the user name
but also the password. The combination of the two is checked by Linux to see if it is an
authorized entry. The Linux prompt appears only if you have entered both the user
name and the password correctly. Otherwise, you are asked to re-enter the user name
followed by the password. Notice that passwords are not displayed on the screen while
they are being entered.

Changing the User Password


A user can also change the password with the passwd command. The steps followed
by the user, steve, to change his password are outlined as follows:

Introduction to Linux

1A.37

Example
[steve@linuxpc1 steve]$ passwd
Changing password for user steve
Changing password for steve
(current) UNIX password:
[user enters old password here]
New UNIX password:
[user enters new password here]
Retype new UNIX password:
[user re-enters new password
here]
passwd: all authentication tokens updated successfully
[steve@linuxpc1 steve]$ _
The passwd command asks for the old password to ensure that only the authorized
user is trying to change the password. In case Linux does not recognize the old
password, it displays a passwd: Authentication token manipulation error
message, and the Linux prompt appears on the screen.
Example
[steve@linuxpc1 steve]$ passwd
Changing password for user steve
Changing password for steve
(current) UNIX password:
[user enters a wrong password]
passwd: Authentication token manipulation error
[steve@linuxpc1 steve]$ _
Example
[steve@linuxpc1 steve]$ passwd
Changing password for user steve
Changing password for steve
(current) UNIX password:
New UNIX password:
Retype new UNIX password:
password]
Sorry, passwords do not match
New UNIX password: _

[user enters the old password]


[user enters a new password]
[user enters the wrong new

When changing a password, the new password should differ from the old password by
at least three positions. In Linux, a password should be at least six characters long
and it cannot be the same as the users login name. The new password cannot be the
same as the old password.
The root user can change the password of any user of the Linux system. On executing
the passwd command followed by a user name, the root user is allowed to change the
password for that user.
Example
[root@linuxpc1 root]# passwd steve
Changing password for user steve
New UNIX password:
[the root user enters a new
password]
Retype new UNIX password:
[the root user re-enters the new
password]
passwd: all authentication tokens updated successfully.
1A.38

Introduction to Linux

[root@linuxpc1 root]# _
1. The root user, also known as the superuser, is the
administrator of the Linux operating system. The
administrator has all the rights necessary to control the
working of the operating system. The prompt of the root
user is denoted by a # sign and not the $ sign, as in the
case of normal users using the bash shell.
2. Linux is case-sensitive. For instance, the user name, tom,
is not the same as Tom.

Viewing the System Date and Time

The Linux Operating System: An Introduction

Viewing the System Date and Time

NIIT

Users can display the current date and time using the date command.
[steve@linuxpc1 steve]$ date
Thu Aug 12 15:56:21 IST 2004
[steve@linuxpc1 steve]$ _

Introduction To Linux

Lesson 1A / Slide 16 of 29

Users can display the current date and time using the date command.
Example
[steve@linuxpc1 steve]$ date
Thu Aug 12 15:56:21 IST 2004
[steve@linuxpc1 steve]$ _
The options of the date command can be used to format the date and time before
displaying them.
Introduction to Linux

1A.39

The options are specified within double-quotes and they must begin with a + symbol.
The month, day, and time in hours and seconds can be referred, as shown in the
following table:

Option

Description

%m

Displays month of the year (in digits)

%d

Displays day of the month (in digits)

%y

Displays year (last two digits)

%D

Displays date as mm/dd/yy

%H

Displays hour (00 to 23)

%M

Displays minutes (00 to 59)

%S

Displays seconds (00 to 59)

%T

Displays time as HH:MM:SS

%a

Displays abbreviated weekday (Sun to Sat)

%h

Displays abbreviated month (Jan to Dec)

%r

Displays time in the AM/PM notation


Options of the date Command

Example
[steve@linuxpc1 steve]$ date "+%T"
22:47:45
[steve@linuxpc1 steve]$ date "+%y"
99
Messages can also be included within the date command. Consider the following
example:
[Steve@linuxpc1 Steve]$ date "+DATE : %D"
DATE : 09/22/04
The date command is also used for changing the system date
and time. Only the system administrator can change the system
date.

Modifying the Screen


1A.40

Introduction to Linux

The Linux Operating System: An Introduction

Modifying the Screen

NIIT

Linux allows you some measure of screen manipulation with the clear and
tput commands.
The clear command: Clears the terminal screen.
[steve@linuxpc1 steve]$ clear
The tput clear command: Clears the standard output device, the
screen, and positions the cursor at the top left corner of the screen.
[steve@linuxpc1 steve]$ tput clear
The tput cup command: Positions the cursor at the specified row and
column.
The tput smso command: Sets the screen to reverse video.
The tput rmso command: Sets the screen back to normal.
The tput blink command: Displays a blinking output.
The tput reset command: Resets the screen to the default settings.

Introduction To Linux

Lesson 1A / Slide 17 of 29

clear
The clear command is used to clear the terminal screen.
Linux allows you some measure of screen manipulation with the tput commands.
Some of the commands are given below.

tput clear
The command tput clear clears the standard output device, the screen, and positions
the cursor at the top left corner of the screen.
Example
tput clear
The tput clear command is similar to the clear command.

tput cup

Introduction to Linux

1A.41

The tput cup command, followed by the screen coordinates, positions the cursor at
the specified row and column.
Example
tput cup 15 20
This will position the cursor at row 15, column 20.
In the command, tput cup 15 2, there is no comma separating
the coordinates.

tput smso
The tput smso command sets the screen to reverse video.

tput rmso
The tput rmso command sets the screen back to normal.

tput blink
The tput blink command displays a blinking output. Note that this option may not
work on a Telnet session.

tput reset
The tput reset command resets the screen back to the default settings.

1A.42

Introduction to Linux

Identifying the Current Users Working on the


System

The Linux Operating System: An Introduction

Identifying the Current Users Working


on a System

NIIT

The who command is used to display the names of all the users who are
currently logged in.
[steve@linuxpc1 steve]$ who
root
tty1
Sep 21 12:29
root
tty2
Sep 21 14:54
andrew
pts/0
Sep 21 11:36 (172.17.55.178)
tom
pts/1
Sep 21 11:15 (172.17.55.133)
The who am i command displays the name of the current user logged in.
[steve@linuxpc1 steve]$ who am I
steve pts/0 Sep 22 18:08 (172.17.55.167)

Introduction To Linux

Lesson 1A / Slide 18 of 29

The who command is used to display the names of all the users who are currently
logged in.
Example
[steve@linuxpc1 steve]$ who
root
tty1
Sep 21 12:29
root
tty2
Sep 21 14:54
steve
tty3
Sep 21 14:57
andrew
pts/0
Sep 21 11:36
tom
pts/1
Sep 21 11:15
steve
pts/2
Sep 21 22:14
mary
pts/3
Sep 21 22:16

(172.17.55.178)
(172.17.55.133)
(172.17.55.167)
(172.17.55.169)

Introduction to Linux

1A.43

The various columns shown in the previous example are explained in the following
table:

Column #

Description

Login name

Terminal type and number

Date and time when logged in

The remote host name of the terminal from


where the user has logged in. Note that this is
shown only for users who have not logged in
from the server.
Output of the who Command

The output of the who command also consists of the terminal file name and the date
and time the user logged in. In the preceding example, for the first three users the
terminal type is ttyN, where N is a number from 1 to 12. The tty terminal type is given
for users who have logged in from the server. It is possible for multiple users to
simultaneously log on from the server using multiple terminals known as virtual
consoles. Linux allows up to six users to log on to the operating system from the
server. Virtual consoles can be invoked by pressing the <Ctrl><Alt><Fx> keys, where
x is the number from 1 to 6 of the respective function keys. The <Alt> key and any of
the function keys, when pressed can help in switching between the consoles. Note that
a virtual console is possible only from the server.
In the preceding output, pts denotes a remote terminal, which is a computer
connected from a computer other than the server.
The who am i command displays the name of the current user logged in.
Example
[steve@linuxpc1 steve]$ who am i
steve pts/0 Sep 22 18:08 (172.17.55.167)
The options available with the who command are shown in the table below:

Option

Description

-m

Displays the name of the current user logged in.


It is the same as who am i

-q

Prints only the login names and the number of


users logged in

1A.44

Introduction to Linux

Option
u or -idle

Description
Prints the number of hours and minutes that the
user has been idle. A '.' means the user was
active in the last minute, 'old' means the user
was idle for more than 24 hours
Options with the who Command

Determining the Uptime of the System

The Linux Operating System: An Introduction

Displaying the Manual Pages

Linux provides two commands for displaying reference on commands:


man: Displays pages of the specified command from the Linux reference
manual. For example, to get detailed information about the ls
command, you can use the following command:
[steve@linuxpc1 steve]$ man ls
info: Provides detailed information about a command. The syntax to
use the info command is:
$ info [options] [menu item]
For example, you can use the following command to display detailed
information about the emacs editor:
$ info emacs

NIIT

Introduction To Linux

Lesson 1A / Slide 20 of 29

The uptime command is used to find the duration for which the system has been
running. It gives a one-line display of information, such as the current time, how long
the system has been running, how many users are currently logged on, and the
system load averages for the percentage CPU utilization in the last 1, 5, and 15
minutes, respectively. Here, percentage CPU utilization is the term used to specify the
process load on the CPU.

Introduction to Linux

1A.45

Example

Displaying the Manual Pages


Linux provides two commands for displaying a reference on commands:

man

info

The Linux Operating System: An Introduction

Displaying the Manual Pages

Linux provides two commands for displaying reference on commands:


man: Displays pages of the specified command from the Linux reference
manual. For example, to get detailed information about the ls
command, you can use the following command:
[steve@linuxpc1 steve]$ man ls
info: Provides detailed information about a command. The syntax to
use the info command is:
$ info [options] [menu item]
For example, you can use the following command to display detailed
information about the emacs editor:
$ info emacs

NIIT

1A.46

Introduction To Linux

Lesson 1A / Slide 20 of 29

Introduction to Linux

The man Command


The man command displays pages from the Linux reference manual that is installed
along with the Linux operating system.
For example, to get detailed information about the ls command, you can use the
following command:
[steve@linuxpc1 steve]$ man ls
Each manual page has the following sections:

Item

Description

SYNOPSIS

Command usage along with the optional and non-optional


arguments

DESCRIPTION

Details on how to use the command and an explanation of


each option

EXAMPLE

Examples of how to use the command

FILES

Files that have to be available for this command to work

SEE ALSO

Commands that are similar in purpose

DIAGNOSTICS

Explanation of error messages

WARNINGS

Things to be careful about when using the command

BUGS

Known problems and suggested improvements


Columns of the Manual Pages

The k option is used to search for a string in the description section of all the manual
pages.

The info Command


Unlike the man command, the info command provides detailed information about a
command. The difference between the man and info command is quite distinctive. The
man command caters to the online help of what was originally the operating systems
manual. On the other hand, the info command aims at providing more in-depth
information and updated documentation. The info command also supports hyperlinks
while the man command does not. Therefore, the information displayed by the info
command spans many pages.
The info command displays information about commands and system calls. The
syntax to use the info command is:
Introduction to Linux

1A.47

info

[options] [menu item]

For example, you can use the following command to display detailed information about
the emacs editor:
$ info emacs
The following table describes the options available with the info command:

Options
--apropos= string

-d, --directory=DIR

-o, --output=FILENAME

-h, --help
--version

Description
Searches the string in the indices of
all the manuals and displays the
result.
Adds the specified directory to
INFOPATH, which the info command
uses to search for an info page.
Creates a file in the current directory
and writes the result of the info
command in the file instead of
displaying the result on the standard
output.
Displays the help page and exits.
Displays version information of the
info command and exits.
Options of the info Command

INSTRUCTOR NOTES
Students may still get confused regarding the man and info commands. It might seem
at first that the output for both commands is the same. You can clarify this doubt by
telling them the differences between the two commands using the following example:
Execute both the man and info commands to display the manual pages for the who
command.
In the output with the man command, the manual page of the who command is
displayed. You can navigate through the screen by means of the arrow keys, one line
at a time, or the Page Up and Page Down keys, one screen at a time. Note that, at
this time, the cursor stays at the bottom of the page.
The display with info command also shows the manual page but in a documented
format. Note that the cursor position changes to the top left on the screen.

1A.48

Introduction to Linux

To navigate through the information, use the arrow keys and Page Up, Page Down
keys. While navigating, you can press the Enter key at a node to get more
information on the node. A node is a pointer to the command or options mentioned on
the top bar of the info display page, which has cross-links or hyper-links. When you
press Enter at the command or options on the page, it will take you to other pages
that carry further information about the command/option. This feature is not available
with the man command.

Ending a Linux Session

The Linux Operating System: An Introduction

Ending a Linux Session

NIIT

Typing exit or logout at the shell prompt ends your current Linux session.
The system then displays the login: prompt on the screen to initiate
another login session in Linux.

Introduction To Linux

Lesson 1A / Slide 21 of 29

After you have logged on to the system, your work session continues until you instruct
the shell to terminate the session.
Typing exit or logout at the command prompt ends your current Linux session.
The system then displays the login: prompt on the screen.
To maintain the security of files, you should never leave the terminal without logging
out.

Introduction to Linux

1A.49

INITIATING A LINUX SESSION

Problem Statement

The Linux Operating System: An Introduction

Demonstration-Initiating a Linux
Session (Contd.)

Problem Statement (Contd.)

NIIT

1A.50

Tom submits a report to the management, on all the above


issues, by the end of the shift. Today, Tom has received several
complaints about the server being slow. The users are facing
difficulty accessing and working on the server over the network.
Help Tom to identify the load average in the system and submit
the same in his daily report.

Introduction To Linux

Introduction to Linux

Lesson 1A / Slide 23 of 29

The Linux Operating System: An Introduction

Demonstration-Initiating a Linux
Session (Contd.)

Solution

NIIT

To identify the clogging in the network and to prepare the daily


report, Tom needs to perform the following tasks:
1.
Connect to the Linux server remotely.
2.
Identify the number of users logged on to the Linux server
and their login time.
3.
Identify the percentage CPU utilization of the system.
4.
Change the password as it is the sixth day today.
5.
Consolidate and submit the report.

Introduction To Linux

Lesson 1A / Slide 24 of 29

Deez Telecommunications Inc. is a call center operating in three shifts per day. Tom is
the system administrator with Deez Telecommunications for the morning shift. He
needs to perform the following routine tasks:

Report the daily attendance of each shift.

Check the load on the Linux server through the shift.

Change the password, once every week, for security reasons.

Tom submits a report to the management on all the above issues by the end of the
shift. Today, Tom has received several complaints about the server being slow. The
users are facing difficulty accessing and working on the server on the network. Help
Tom to identify the load average on the system and submit the same in his daily
report.

Introduction to Linux

1A.51

Solution

The Linux Operating System: An Introduction

Demonstration-Initiating a Linux
Session (Contd.)

Solution

NIIT

To identify the clogging in the network and to prepare the daily


report, Tom needs to perform the following tasks:
1.
Connect to the Linux server remotely.
2.
Identify the number of users logged on to the Linux server
and their login time.
3.
Identify the percentage CPU utilization of the system.
4.
Change the password as it is the sixth day today.
5.
Consolidate and submit the report.

Introduction To Linux

Lesson 1A / Slide 24 of 29

To identify the clogging on the network and to prepare the daily report, Tom needs to
perform the following tasks:
1. Connect to the Linux server remotely.
2. Identify the number of users logged on to the Linux server and their login
time.
3. Identify the percentage CPU utilization of the system.
4. Change the password because it is the sixth day today.
5. Consolidate and submit the report.

1. Connecting to the Linux Server Remotely


Tom needs to connect to the login server using the PuTTY or Telnet utility.

1A.52

Introduction to Linux

2. Identifying the Number of Users Logged on to the


Server
To display the status of all the users logged on to the Linux system, Tom can use the
who command at the shell prompt, as shown below:
[tom@linuxpc1 tom]$ who
steve
tty3
Sep
andrew
pts/0
Sep
tom
pts/1
Sep
angela
pts/2
Sep

21
21
21
21

14:57
11:36
11:15
22:14

The first column in the output of the who command displays the names of all the users
logged on to the Linux server and the last column specifies the login date and time for
each user. This data will help Tom to validate the attendance of the team.

3. Identifying the System Load Average


To identify the system load on the server, Tom can use the uptime command as
follows:
[tom@linuxpc1 tom]$ uptime

10:00:38 up 120 days, 7:54, 100 users, load average: 84.95, 72.90, 61.85
Notice that the third column, 100 users, in the output of the uptime command shows
the total number of users logged on to the server. The last column, load average:
84.95, 72.90, 61.85, shows the system load average for the percentage CPU
utilization in the last 1, 5 and 15 minutes, respectively. The high readings in this
column clearly indicate that the users are running multiple processes on the server,
and therefore, increasing the load on the server and clogging the network.

4. Changing Password
Tom can use the passwd command to change his password. The following output
clearly displays the process for changing the password:
[tom@linuxpc1 tom]$ passwd
Changing password for user tom
Changing password for user tom
New UNIX password: [user enters old password here]
New password: [user enters new password here]
Retype UNIX password: [user re-enters new password here]
passwd: all authentication tokens updated successfully

Introduction to Linux

1A.53

5. Consolidating and Submitting the Report


Tom can consolidate the information acquired in the following ways:

He can redirect the output of the who and uptime commands to a file called
report.

He can, then, print the file report and submit it to the management.
You will learn about redirecting output in the lesson, Pipes and
Filters.

INSTRUCTOR NOTES

Additional Input: The Linux Documentation Project and


the Linux Users Group
Students may ask about how to gain more information about Linux. You can introduce
the Linux Documentation Project (LDP) and the Linux Users Group (LUG) to them.
The LDP was initiated by users and experienced administrators in the Unix and Linux
environment. It provides guides and answers to frequently asked questions for Linux
users. It also includes development projects, commercial products, and links as well as
pointers to useful articles, resources, files, news, and events.
The goal of LDP is to develop good and reliable documentation for the Linux operating
system. LDP covers all the issues of Linux documentation, ranging from online
documentation to printed manuals, covering topics such as installing and executing
commands in Linux.
The latest versions are available at the LDP Web site, http://www.tldp.org.
A LUG is a group of people who have come together for mutual support in Linux. Such
LUGs are created based on locations. The LUG holds monthly meetings at some
location in the city and discusses current issues in Linux. Many LUGs also have e-mail
forums, which are used to discuss any query related to Linux. To become a member of
a LUG, no payment is required. Tell students that they can also participate in LUG
events without becoming a member. They can access the following links to subscribe
to some of the LUGs:

1A.54

Introduction to Linux

http://www.plug.org

http://www.linux-india.org/

http://www.ilug-bom.org/

http://www.linuxdig.com/

Introduction to Linux

1A.55

SUMMARY

The Linux Operating System: An Introduction

Summary (Contd.)

NIIT

1A.56

A multi-user system consists of a central server connected to several


terminals that could be either:
Dumb terminals
Smart terminals
UNIX was the first multi-user operating system.
Linux follows the open development model.
Linux has the following features:
Multi-programming
Time-sharing
Multi-tasking
Virtual memory
Shared libraries
POSIX compliance
Samba
Network Information Service (NIS)
Introduction To Linux

Introduction to Linux

Lesson 1A / Slide 26 of 29

The Linux Operating System: An Introduction

Summary (Contd.)

CRON scheduler
Office suites
Various data archiving utilities
Licensing
Linux has the following advantages:
Reliability
Backward compatibility
Simple upgrade and installation process
Low TCO
Support for legacy devices
GUI through the X Window system
Multiple Distributions
No known viruses
Excellent security features

NIIT

Introduction To Linux

Lesson 1A / Slide 27 of 29

The Linux Operating System: An Introduction

Summary (Contd.)

NIIT

Can support a high user load


Has a number of development libraries
You can start a Linux session by logging on to the Linux server or by
connecting to the Linux server remotely.
You can log out from a Linux session with the logout or exit command.
You can remotely log on to a Linux server using the following utilities:
Telnet
PuTTY
Security for a Linux user is offered in the form of a unique username and
password that is known to the user only.
Some other commonly used commands are:
date: Used to view and change the current system date and time
tput clear: Clears the contents of the screen
tput cup: Used to position the cursor on a specified row and column
Introduction To Linux

Introduction to Linux

Lesson 1A / Slide 28 of 29

1A.57

The Linux Operating System: An Introduction

Summary (Contd.)

tput smso: Sets the screen to reverse video


tput rmso: Sets the screen back to normal
tput blink: Used for a blinking output
tput reset: Resets the screen back to the default settings
who: Displays the information of all the users currently logged on the
Linux system
uptime: Finds the duration for which the system has been running
man: Displays help on any Linux command
info: Displays detailed help on any Linux command in form of
hyperlinks

NIIT

Introduction To Linux

Lesson 1A / Slide 29 of 29

In this lesson, you learned:

Software is categorized into:

Memory management
Peripheral management
Process management

Single-user operating systems


Multi-user operating systems

A multi-user system consists of a central server connected to several terminals


that could be either:

Command interpretation

Operating systems can be classified as:

Application software

The functions of an operating system include:

System software

Dumb terminals
Smart terminals

UNIX was the first multi-user operating system.

1A.58

Introduction to Linux

Linux follows the open development model.

Linux has the following features:

Multi-programming
Time-sharing
Multi-tasking
Virtual memory
Shared libraries
POSIX compliance
Samba
Network Information Service (NIS)
CRON scheduler
Office suites
Various data archiving utilities
Licensing

Linux has the following advantages:

Reliability
Backward compatibility
Simple upgrade and installation process
Low TCO
Support for legacy devices
GUI through the X Window system
Multiple Distributions
No known viruses
Excellent security features
Can support a high user load
Has a number of development libraries

You can start a Linux session by logging on to the Linux server or connecting to
the Linux server remotely.

You can log out from a Linux session with the logout or exit command.

You can remotely log on to a Linux server using the following utilities:

Telnet
PuTTY

Security for a Linux user is offered in the form of a unique username and
password that is known only to the user.

Some other commonly used commands are:

date: Used to view and change the current system date and time.
Introduction to Linux

1A.59

tput clear: Clears the content of the screen.

uptime: Finds the duration for which the system has been running.

1A.60

tput cup: Used to position the cursor on a specified row and column.
tput smso: Sets the screen to reverse video.
tput rmso: Sets the screen back to normal.
tput blink: Used for a blinking output.
tput reset: Resets the screen back to the default settings.
who: Displays the information of all the users currently logged on the Linux
system.
man: Displays help on any Linux command.
info: Displays detailed help on any Linux command in the form of
hyperlinks.

Introduction to Linux

Das könnte Ihnen auch gefallen