Linux Shell Basics
The bash shell:
Sh: Bourne shell, developed by Steven Bourne in AT & T lab.
-A traditional unix shell.
Csh: C shell, C programming language was used.Developed by Bill Joy
(many features such as:
-command line complition
-command line editing
-History of command for each user is mantained.
Ksh: Korn shell developed by David Korn at AT & T lab.
Bash shell: The Bourne again shell is the Linux standard command line interpreter.
It was developed by GNU project and has Captured all the good features of ‘sh’ and Korn Shell.
– for more help #man bash
to see the current shell
#echo $SHELL
History for the command for each user.
#history
for history file
# /.bash.history
#!! 9repeats the previous command)
#!n (repeats command which is in line number ‘n’ in history file)
eg.
#!23
#!m (repeats prevous command starting with m)
#!l
#!-N (repeats command executed ‘n’ command back)
eg. #!-23 (repeats command entered 23 command back)
bash use of wild card character:
? Matches a single character
* Matches all characters
[a-z] Matches in the range a to z
[^a-e] Doesn’t match in the range a to e
[be] match in the set b and e
[^be] doesn’t match in the set n and e
#rm -rf [^a-d]*
bash contined…
#mkdir /var/xyz/test (it could not create test dir if not exist /var/xyz)
#mkdir -p /var/xyz/test (also creates the parent directories)
#mkdir -p /var/hmg/ministry/{home,finance,agr,health,def}/{sec,officer,executives}
#cd ../finance;ls
Command alias
#alias
eg. find /-name grub -and -user root
alis search=’find / -name grub -and -user root’
Use of quotes:-
‘ Single quote: Treats everything even a special character as ordinary character./
” Double quote: Expands the especial characters.
` Backquote: Command can be executed
Variables
————–
Two types of variables
1. Local shell bariable: Available to the current shell only
2. Environment variable: Available to the current shell as well as sub-shlls.
#env – displays env. shell variable only.
@set – displays both local and env. shell variables.
#ps – displays the current running(foreground) process
#/home/.bash_profile- Containms user-specific shell variables
/etc/profile – contains system-wide shell(globally) shell variables.
#export (variable name) – to make the variable env. variable.
eg. export myvar
#set
#env
#echo $myvar
#ps
#bash
#ps
#echo $myvar