Saturday, 10 August 2013

Why to Write Shell Script

- Shell script can take input from user, file and output them on screen.
– Useful to create our own commands.
– Save lots of time.
– To automate some task of day today life.
– System Administration part can be also automated.

What is 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 Operating System there is special program called Shell. Shell accepts your instruction or commands in English (mostly) and if its a valid command, it is passed to kernel. Shell is a user program or it’s a 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:
BASH ( Bourne-Again SHell ) - developed by Brian Fox and Chet Ramey, it is free Software,
Most common shell in Linux. It’s Freeware shell.
CSH (C SHell) – developed by 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) – developed by David Korn AT & T Bell Labs – TCSH is an enhanced but completely compatible version of the Berkeley UNIX C shell (CSH).
Note : 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 ).

What Kernel Is

Kernel is heart 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 :-
l I/O management
l Process management
l Device management
l File management
l Memory management

Who Developed the Linux

In 1991, Linus Torvalds studying Unix at the University, where he used special educational experimental purpose operating system called Minix (small version of Unix and used in Academic environment). 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.

What is Pipes in Unix/Linux

A pipe is a way to connect the output of one program to the input of another program without any
temporary file.
Pipe Defined as:
“A pipe is nothing but a temporary storage place where the output of one command is stored and then passed as the input for second command. Pipes are used to run more than two commands ( Multiple commands) from same command line.”