Introduction

This tutorial is designed for beginners only and explains the basics of shell programming by showing some examples of shell programs. Its not help or manual for the shell. While reading this tutorial you can find manual quite useful ( type man bash at $ prompt to see manual pages). Manual contains all necessary information you need, but it won't have that much examples, which makes idea more clear. For that reason, this tutorial contains examples rather than all the features of shell. I assumes you have at least working knowledge of Linux i.e. basic commands like how to create, copy, remove files/directories etc or how to use editor like vi or mcedit and login to your system. 

What Linux is?

Who developed the Linux?

In 1991, Linus Torvalds studding Unix at the University, where he used special educational experimental purpose operating system called Minix (small version of Unix). But Minix had it's own limitations. Linus felt he could do better than the Minix. So he developed his own version of Minix, which is now know as Linux. Linux is Open Source From the start of the day. For more information on Linus Torvalds, please visit his home page

How to get Linux?

Linux available for download over the net, this is useful if your internet connection is fast. Another way is order the  CD-ROMs which saves time, and the installation from CD-ROM is fast /automatic. Various Linux distributions available. Following are important Linux distributions


Red Hat Linux: http://www.redhat.com/ 


SuSE Linux: http://www.suse.com/  


Mandrake Linux: http://www.mandrakesoft.com  




Caldera Linux: http://www.calderasystems.com/  


Debian GNU/Linux: http://www.debian.org/ 

Slackware Linux: http://www.slackware.com/  

How to Install Linux

My next article is totally dedicated to Linux Installation (using Red Hat Linux 6.x) for Begginers (Also LIPS Ver. b1.0) , Which is suppose to be release at the end of April - 2001. Please check out http://www.freeos.com or my homepage http://gite-vivek.50megs.com  at the end of April - 2001 or first week of May - 2001.

Where I can use Linux?

You can use Linux as Server Os or as stand alone Os on your workstation. (But it is best suited for Server.) As a server Os it provides different services/network resources to client. Server Os must be

Linux offers this features (Plus its Open Source and Free OS). So Linux can be used as

1) On stand alone workstation for word processing, graphics, software development, internet, e-mail, chatting, small personal database management system etc.

2) In network environment as 

(A) File and Print or Application Server

Share the data, Connect the expensive device like printer and share it, e-mail within the lan/intranet etc are some application.

 

(B) Linux sever cab be connected to Internet, So that PC's on intranet can share the internet/e-mail etc. You can put your web sever that run your web site or transmit the information on the internet.

 What Kernel Is?

Kernel is hart of Linux Os. 

It manages resource of Linux Os. Resources means facilities available in Linux. For e.g. Facility to store data, print data on printer, memory, file management etc . 

Kernel decides who will use this resource, for how long and when. It runs your programs (or set up to execute binary files) 

The kernel acts as an intermediary between the computer hardware and various programs/application/shell.

 

It's Memory resident portion of Linux. It performance following task :-

What's Linux Shell

Computer understand the language of 0's and 1's called binary language.

In early days of computing, instruction are provided using binary language, which is difficult for all of us, to read and write. So in Os there is special program called Shell. Shell accepts your instruction or commands in English and translate it into computers native binary language.

This is what Shell Does for US

You type Your command and shell convert it as

Shell is a user program or it's environment provided for user interaction. Shell is an command language interpreter that executes commands read from the standard input device (keyboard) or from a file. 

Shell is not part of system kernel, but uses the system kernel to execute programs, create files etc.  

Several shell available with Linux including

Shell Name Developed by Where Remark
BASH ( Bourne-Again SHell ) Brian Fox and Chet Ramey
Free Software Foundation
Most common shell in Linux. It's Freeware
shell.
CSH (C SHell) Bill Joy University of California (For BSD) The C shell's syntax and usage are very similar to 
the C programming language. 
KSH (Korn SHell) David Korn  AT & T Bell Labs  
TCSH See the man page.
Type $ man tcsh

--

TCSH is an enhanced but completely compatible version of the Berkeley UNIX C shell (CSH).

Tip: To find all available shells in your system type following command       
$ cat /etc/shells

Note that each shell does the same job, but each understand a different command syntax and provides different built-in functions. 

In MS-DOS, Shell name is COMMAND.COM which is also used for same purpose, but it's not as powerful as our Linux Shells are!

Any of the above shell reads command from user (via Keyboard or Mouse) and tells Linux Os what users want. If we are giving commands from keyboard it is called command line interface ( Usually in-front of $ prompt, This prompt is depend upon your shell and Environment that you set or by your System Administrator, therefore you may get different prompt ).

Tip: To find your shell type following command       
$ echo $SHELL                                                         

How to use Shell

To use shell (You start to use your shell as soon as you log into your system) you have to simply type commands. 

Click here to see common Linux Command

What is Shell Script ?

Normally shells are interactive. It means shell accept command from you (via keyboard) and execute them. But if you use command one by one (sequence of 'n' number of commands) , the you can store this sequence of command to text file and tell the shell to execute this text file instead of entering the commands. This is know as shell script.

Shell Script is series of command written in plain text file. Shell script is just like batch file is MS-DOS but have more power than the MS-DOS batch file. 

Why to Write Shell Script ?

Which Shell We are using to write Shell Script ?

In this tutorial we are using bash shell.

Objective of this Tutorial (LSST v.1.5)

What I need to learn this Tutorial (LSST v.1.5)