Header Ads

3.1: Linux - Introduction to Shell

Introducing Shell:

  • Shell is an application, works as a command interpreter
  • Gets a command from user, gets it executed from OS
  • Gives a programming environment to write scripts using interpreted language
  • It has been inherited from UNIX operating system, which was predecessor to Linux


Type of shells:

There are two types of shells that are part of the system. Details are provided as follows:

 

Login shell:

  • Starts after a successful login
  • It is executed under user ID during login process
  • It picks up user specific configuration and loads them

 

Non-login shell:

  • A Non login shell is started by a program without a login
  • In this case, the program just passes the name of the shell executable
  • For example, for a Bash shell it will be simply bash
  • Following are examples of Non-login shells:
                           o Sh
                           o Bash
                           o Ksh
                           o Csh

 

Bash files:

  • .bash_profile (Login shell, during login)
  • .bash_logout (Login shell, during logout)
  • .bashrc (Non-login shell, new instance)
  • .bash_history (Non-login shell, command history)

 

Try out the following:

• Type echo $0 in your command prompt and see the output
• Type cat /etc/shells and understand various shells available
• Execute ls –al command

 

Environment Variables

  • Login-shell’s responsibility is to set the non-login shell and it will set the environment variable
  • Environment variables are set for every shell and generally at login time
  • They are set by the system, holds special values
  • Environmental variables are defined in /etc/profile, /etc/profile.d/ and ~/.bash_profile.
  • When a login shell exits, bash reads ~/.bash_logout
Environment Variable Description
1. SHELL Describes the shell, that will be interpreting user commands.
2. TERM This specifies the terminal type, in which the shell is running.
3. USER The Current logged in user.
4. PWD The Current working directory.
5. OLD PWD The previous working directory.
6. MAIL The path to the current user's mailbox.
7. PATH A list of directories that the system will check when looking for commands.
8. HOME The current user's home directory.
6. HOSTNAME The hostname of the computer.
7. PS1 The primary command prompt definition
  • Basic Shell Commands

Command Process
1. ls List's all the files in the current directory
2. pwd Gives present working directory.
3. cd Change directory.
4. man Gives information about command.
5. exit Exits from the Shell
6. which Shows full pather of command

 

Absolute & Relative path:

  • Path is the location where a particular file is located in the directory (tree) structure
  • It starts with the root (‘/’) directory and goes into appropriate directory
  • The path depends on the reference point from where you take it up:
 1. Absolute path : Specifies the location with reference from root dir
 2. Relative path : Specifies the location with reference to present working directory (pwd)
  • As the name says relative path will vary depending on your pwd.

...

No comments