Confidential to Trianz Inc.
•
1
Confidential to Trianz Inc.
•
2
•
Introduction to Unix and its architecture
•
Learn to use basic Unix commands
•
Learn to use vi editor
•
Learn to write shell scripts
•
Learn to register and run shell scripts from oracle applications
Confidential to Trianz Inc.
What is UNIX ?
UNIX is an operating system co-created by AT&T Bell
Labs researchers Dennis Ritchie and Ken Thompson
in the late 1960s.
Unix is a multitasking, multiuser, programming
environment.
•
3
Confidential to Trianz Inc.
•
4
Confidential to Trianz Inc.
Kernel – is the single large program which resides in
the memory which is the operating system. It
manages File system, Memory, I/O and Processes.
Shell – is a command interpreter which provides the
user interface for the UNIX operating system.
•
5
Confidential to Trianz Inc.
HP-UX - HP UNIX developed by HP
SunOS and Solaris – Developed by Sun
Microsystems
AIX – Developed by IBM
SCO Unix – Developed by SCO
Linux - Free Source code
BSD – Berkley Software Design
•
6
Confidential to Trianz Inc.
Bourne shell (sh)
C shell (csh)
TC shell (tcsh)
Korn shell (ksh)
Bourne Again SHell (bash)
•
7
Confidential to Trianz Inc.
Bourne C TC Korn BASH
Command history No Yes Yes Yes Yes
Command alias No Yes Yes Yes Yes
Shell scripts Yes Yes Yes Yes Yes
Filename completion No Yes* Yes Yes* Yes
Command line editing No No Yes Yes* Yes
Job control No Yes Yes Yes Yes
•
8
* not the default setting for this shell
Confidential to Trianz Inc.
There are three types of file access supported by
UNIX.
r – read, view the contents of a file or a directory
w – write, edit file/directory contents
x – execute, run executable file
•
9
Confidential to Trianz Inc.
•
10
- rwx r-x r 1 user1 oracle 858 Feb 22 22:28 file1.txt
type
owner
group
size
Modification
date/time
File name
User
permissions
Group
permissions
Other
Permissions
links
For example:
Suppose you type in ls -l and the result is
Confidential to Trianz Inc.
ls - List directory contents
cd - Change the current directory
cp - Copy files and directories
mv - Move (rename) files
mkdir - Make a directory
rm - Remove files or directories (Use with Caution)
rmdir – Delete a directory (Use with Caution)
echo – Display a line of text
•
11
Confidential to Trianz Inc.
cat – Concatenate files and print on the std output
date – Print the system date and time
head – Output the first part of files
tail – Output the last part of files
pwd – Print name of current/Working Directory
man – Format and display the on-line manual pages
who – Show who is logged on
chmod - Change file access permissions
•
12
Confidential to Trianz Inc.
grep – Print lines matching a pattern
find – Search for files in a directory hierarchy
diff – Find differences between two files
ps - Report process status
cut – Remove sections from each line of files
su – run a shell with substitute user and group IDs
wc - Print the number of bytes, words, and lines in files
ln - Make links between files
•
13
Confidential to Trianz Inc.
alias/unalias - Shorthand for a command or commands
sort - Sort lines of text files
exit – Exit the current shell with status
shift – Shift positional parameters
env – Display the environment variables
logout - Exit a login shell
•
14
Confidential to Trianz Inc.
There are 2 types of variables in Unix.
Environment variables
Shell variables
As per conventions environment variables will be in
uppercase and Shell variables will be in lowercase.
Example :
APPL_TOP=/srv/115102/inst/visappl
pathseg=/home/oracle/bin
today=`date`
export – to export the variable to the environment
•
15
Confidential to Trianz Inc.
Redirection operators:
Output redirection : >, |, >>
Input redirection : <
Example:
cat test1 test2 > test3
cat test2 >> test1
ls –l | grep new
sort < test.txt > sortedtest.txt
•
16
Confidential to Trianz Inc.
vi – Visual text editor
vi <file_name> - to open the any text file in vi editor.
Two modes of vi
Command mode – Esc key
Insert mode – a or i
•
17
Confidential to Trianz Inc.
a - enter append mode
i - enter insert mode
h - move cursor left
j - move cursor down
k - move cursor up
l - move cursor right
x - delete char under cursor
r - replace one character under the cursor
u - undo the last change to the file
•
18
Confidential to Trianz Inc.
^ - Goto the beginning of the line
$ - Goto the end of the line
[n]dd - delete line/lines from the cursor position
[n]yy - yank (copy) line/lines from the cursor position
p - paste the yanked line/lines below the cursor position
ctrl-f - Scroll forwards one page
ctrl-b - Scroll backwards one page
:w - Save the file
:q - quit vi
•
19
Confidential to Trianz Inc.
Conventionally, a shell script should start with a line:
#!/bin/ksh
Example shell script
#!/bin/bash
echo “Hello $USER”
echo “Today is “ `date`
echo “You are in directory $PWD”
exit 0
•
20
Confidential to Trianz Inc.
Ex: ls –lrt, myshell.sh oracle
$1 to $9 – will give the arguments 1 to 9. To get
remaining we need to use shift command.
$@ - will give the complete list of all the arguments to
that shell.
•
21
Confidential to Trianz Inc.
Conditionals, if/then/elif
if list
then
list
[elif list then list]
[else list]
fi
Example:
if [ $x -lt $y ] # is $x less than $y ?
then
echo “$y is greater than $x”
fi
•
22
Confidential to Trianz Inc.
For loops
for name in w1 w2
do command-list
done
Example:
for X in red green blue
do
echo $X
done
•
23
Confidential to Trianz Inc.
While Loops
while command-list1
do command-list2
done
Example:
x=0
while [ $x -le 20 ]
do
echo $x
x=`expr $x + 1`
done
•
24
Confidential to Trianz Inc.
$? - returns 0 if the last command is executed
successfully,
else non zero.
$# - returns the number of arguments.
$! - returns the last command PID run in bg (using &)
$$ - returns the current shell PID
•
25