2. Course Objective
To introduce the Unix Operating System Concept.
To introduce standard Unix commands.
To introduce VI editor.
3. References
Text Book Reference
Brain W. Kernighan and Rob Pike, The UNIX Programming
Environment.
A Practical Guide to Linux® Commands, Editors, and Shell
Programming - Mark Sobell's
Web Reference
Unix Tutorial For Beginners
Introduction to Unix
http://www.cis.uab.edu/cs344/spring2005/
4. What is Unix Operating System
Unix OS is a Program
Unix OS provides interface
between users and bare
hardware
Unix OS manages
resources: CPU(s),
memory, disks, other I/O
devices.
Operating System
users
5. Why do we need Operating System ?
To Interact with Computer Hardware
End User
Computer Hardware
Operating-System
Utilities
Application
Programs
OS Designer
System Programmer
Application Programmer
E.g.
compiler, librari
es, shell
E.g.
database, web
servers
9. System Architecture
Major components of Unix are :
Kernel
Monitors and controls hardware resources
Allocates them among its users in an optimal manner
Utilities
Programming tools that do standard tasks extremely well.
EX: cp, grep, awk, sed, bc, wc, more
Shell
Command Line Interpreter.
Provides a processing environment for the user programs.
User Applications
Programs written by the user
10. Processing Environment
• User Program
– Set of instructions written by the user
• Process
– Instance of a program under execution
• Shell
– Provides a processing environment for the user programs
12. Absolute Path and Relative Path
The Absolute Path
The entire pathname starting from root(/)
Example
/home/oresoft/.
The Relative Path
The path relative to your present working directory
Example
cd ..
13. How Unix Session Works.
USER TYPES COMMAND
SHELL EXECUTES
UTILITY TO CARRY
OUT COMMAND
SHELLASKS FOR A COMMAND
USER INTERACTS WITH
UTILITY
SHELL PROMPTS FOR
NEXT COMMAND
USER TYPES CONTROL-D
LOGOUT
LOGIN
15. Unix Command Structure
Unix Command line structure
command [options] [arguments]
Refer the following word Doc for Detail Command
16. Concept of stdin, stdout and stderr
Operating System
Another
Computer
program running
stdout
stderr
stdin
Keyboard
A Computer
program running
stdout
stderr
stdin
Monitor
17. Standard Files
Standard Input (0)
This file is opened by shell to accept information.
Standard Output (1)
This file is opened by shell to direct output
Standard Error (2)
This file is opened by shell for writing error messages
18. Regular Expressions
What is it?
String of ordinary and metacharacter which can be used to
match more than one type of pattern.
Uses character set
* , [], ^, $, {}, etc.
19. The Shell Metacharacters.
See Demo at
/home/oresoft/Training/Linux/commands/shellChar
* - Matches all filenames in current directory.
? - Matches a single character.
[abc] - Matches a single character – either a, b or c.
[!abc] - Matches a single character – which is not a, b or c.
[a-c] – Matches a single character which is within the range of a and c.
^abc – Matches the pattern abc at the beginning of the line.
abc$ - Matches the pattern abc at the end of the line.
20. Editor in Unix
Need for editor in Unix
Types of editor
Line Editor
ed : UC Berkeley
ex : Powerful than ed, Bell Systems
Full Screen Editor
vi (stands for visual)
vim – vi improved
emacs (GNU)
21. The vi Editor.
The important characteristic features are:
Omnipresent
Works on different Unix flavors
Fast
Various operations are very fast
Powerful UNDO features
Text in lines could be undone with very less effort
22. The vi Editor.
The limitations are:
Less user-friendly
No graphical user interface
Highly Case-sensitive
Letter in small case has a different implementation in comparison
with the same letter in upper case
Keystrokes could have more than one meaning
A letter (of the same case) has different implementation across
different modes.
23. The vi Editor.
Modes of working:
Command Mode
Keys are interpreted as commands
Insert Mode
Keys are interpreted as data
Escape Mode
Keys are interpreted for saving/exiting purposes
25. Vi editor commands
To move around
h, j, k, l, ^D, ^U, G, 0, ^, $, w, b
Inserting/Deleting text
i, a, I, A, r, R, o, O, dd, dw, c$, D, x, X.
Changing/Replacing text.
cc, cw, c$, ~, J, u, . , yy, yw, p, P
File manipulation.
:w, :wq, ZZ, :w!, :q, :q! , :![command]
26. Searching a pattern
/pattern
Searches forward for first occurrence of a pattern.
?pattern
Searches backward for first occurrence of a pattern.
n
Repeats the last search.
N
Repeats the last search command in opposite direction.
27. Pattern Substitution.
:s/ptn1/ptn2
Replaces first occurrence of ptn1 with ptn2.
: s/ptn1/ptn2/g
Replaces all occurrences in the current line.
: m, n s/ptn1/ptn2/g
Replaces all occurrences in lines m to n.
: ., $ s/ptn1/ptn2/g
Replaces all occurrences from current line to end of file.
28. Customizing vi.
The set command
:set all
:set nu
The abbr command
:abbr itl ―Infosys Technologies Ltd‖
The map command
:map ^X :wq
29. System Variables.
PATH
Search path referred by Unix for any command.
echo $PATH
HOME
Indicates the home directory for the user.
echo $HOME
30. set command
Used for display all the environment variables.
Shows the current values of system variables.
Also allows conversion of arguments into positional parameters.
Syntax : set
set command.
31. File Permission - Absolute Mode.
r w x r w x r w x
4 2 1 4 2 1 4 2 1
Owner Group Other
Group OthersOwner
rwxrwxrwx
Permission Value
R 4
W 2
x 1
- No Permission
32. Summary
Background
Features of Unix
Unix System Architecture
Unix File System
General Unix commands and utilities
Processes
Regular Expressions
Vi Editor
Modes of operation
33. File Permission – Symbolic Mode.
Who User Class Meaning
U User Owner of file
G Group Group to which owner
belongs
O Other All other Users
Who Meaning
r Sets read permission
w Sets write permission
x Sets exec permission
Symbolic mode user class specification
Symbolic mode permissions
35. Unmasking File Permission
umask
Stands for user creation mask.
Sets default permissions for a newly created file and directory.
The value can be changed.
Example
6 6 6 - System wide default permissions
- 0 2 2 - Denial ‗mask‘ set by UMASK
6 4 4 - Resultant permissions that will be
set on all files created (-rw-r—r--)