Monday, November 15, 2010

What is Linux Shell

Computers understand the language of zeros and ones known as binary language. In the early days of computing, instructions were provided using binary language, which is difficult for all of us to read and write. Therefore, in an operating system there is a special program called the shell. The shell accepts human readable commands and translates them into something the kernel can read and process.



What Is a Shell?

  • The shell is a user program or it is an environment provided for user interaction.
  • It is a command language interpreter that executes commands read from the standard input device such as keyboard or from a file.
  • The shell gets started when you log in or open a console (terminal).
  • Quick and dirty way to execute utilities.
  • The shell is not part of system kernel, but uses the system kernel to execute programs, create files etc.
  • Several shells are available for Linux including:
Please note that each shell does the same job, but each understands different command syntax and provides different built-in functions. Under MS-DOS, the shell name isCOMMAND.COM which is also used for the same purpose, but it is by far not as powerful as our Linux Shells are!

[edit]Shell Prompt

There are various ways to get shell access:
  • Terminal - Linux desktop provide a GUI based login system. Once logged in you can gain access to a shell by running X Terminal (XTerm), Gnome Terminal (GTerm), or KDE Terminal (KTerm) application.
  • Connect via secure shell (SSH) - You will get a shell prompt as soon as you log in into remote server or workstation.
  • Use the console - A few Linux system also provides a text-based login system. Generally you get a shell prompt as soon as you log in to the system.

[edit]How do I find Out My Current Shell Name?

To find all of the available shells in your system, type the following command:
cat /etc/shells
In case the shells file has more than one shell listed under it, then it means that more than one shell is supported by your Platform

cat /etc/shells

[edit]Command Line Interface (CLI)

The shell provides an interface to Linux where you can type or enter commands using the keyboard. It is known as the command line interface (CLI). To find out your current shell type following command[1].:
echo $SHELL
ps $$
ps -p $$

[edit]Basic Command Line Editing

You can use the following key combinations to edit and recall commands:
  • CTRL + L : Clear the screen.
  • CTRL + W : Delete the word starting at cursor.
  • CTRL + U : Clear the line i.e. Delete all words from command line.
  • Up and Down arrow keys : Recall commands (see command history).
  • Tab : Auto-complete files, directory, command names and much more.
  • CTRL + R : Search through previously used commands (see command history)
  • CTRL + C : Cancel currently running commands.
  • CTRL + T : Swap the last two characters before the cursor.
  • ESC + T : Swap the last two words before the cursor.
  • CTRL + H : Delete the letter starting at cursor.

'cat /etc/shellscat /etc/shells

[edit]Executing A Command

Type your command, and press enter key. Try this the date command which will display current date and time:
date
Sample outputs:
Tue Apr 27 05:20:35 IST 2010

No comments:

Post a Comment