Unix Training

advertisement
Confidential to Trianz Inc.
•1
• 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.
•2
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.
Confidential to Trianz Inc.
•3
Confidential to Trianz Inc.
•4
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.
Confidential to Trianz Inc.
•5

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
Confidential to Trianz Inc.
•6





Bourne shell (sh)
C shell (csh)
TC shell (tcsh)
Korn shell (ksh)
Bourne Again SHell (bash)
Confidential to Trianz Inc.
•7
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
* not the default setting for this shell
Confidential to Trianz Inc.
•8
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
Confidential to Trianz Inc.
•9
For example:
Suppose you type in ls -l and the result is
- rwx r-x r-- 1 user1 oracle 858 Feb 22 22:28 file1.txt
owner
type
File name
links
User
permissions
Group
permissions
Modification
date/time
group
size
Other
Permissions
Confidential to Trianz Inc.
•10
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
Confidential to Trianz Inc.
•11
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
Confidential to Trianz Inc.
•12
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
Confidential to Trianz Inc.
•13
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
Confidential to Trianz Inc.
•14
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
Confidential to Trianz Inc.
•15
Redirection operators:
Output redirection : >, |, >>
Input redirection : <
Example:
cat test1 test2 > test3
cat test2 >> test1
ls –l | grep new
sort < test.txt > sortedtest.txt
Confidential to Trianz Inc.
•16
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

Confidential to Trianz Inc.
•17
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
Confidential to Trianz Inc.
•18
^ - 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
Confidential to Trianz Inc.
•19
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
Confidential to Trianz Inc.
•20
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.
Confidential to Trianz Inc.
•21
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
Confidential to Trianz Inc.
•22
For loops
for name in w1 w2 ...
do command-list
done
Example:
for X in red green blue
do
echo $X
done
Confidential to Trianz Inc.
•23
While Loops
while command-list1
do command-list2
done
Example:
x=0
while [ $x -le 20 ]
do
echo $x
x=`expr $x + 1`
done
Confidential to Trianz Inc.
•24
$? - 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
Confidential to Trianz Inc.
•25
sqlplus -s <userid>/<passwd>@<dbsid> @<filepath>/<filename>
Example 1:
sqlplus -s $UID/$PWD@$CONSTR@$EXECDIR/sql/oa_com_monitor_cmrun
Example 2 :
st_date=`sqlplus -s $UID/$PWD@$CONSTR << EOF
set head off
set feedback off
select to_char(sysdate-15,'DD-MON-YYYY') from dual;
EOF`
Confidential to Trianz Inc.
•26
The shell script can have either of the 2 extensions.
.prog or .sh
.prog :
1. Create a soft link to the shell without extension to
$FND_TOP/bin/fndcpesr
Ex: ln -s $FND_TOP/bin/fndcpesr $FND_TOP/bin/TEST
2.
Grant execute permission to the both the files (.prog and the file without
extension)
Ex: chmod +x TEST.prog TEST
.sh :
No need to create a soft link.
Confidential to Trianz Inc.
•27
Differences b/w .prog and .sh
.prog: will get the following parameters as default to the shell.
$1 - Connection string (userid/passwd@dbsid)
$2 - Fnd user id
$3 - Fnd user
$4 - Request id
.sh : will only get one parameter which as all the above along with
some additional ones.
Ex: FCP_REQID=250898 FCP_LOGIN="APPS/APPS" FCP_USERID=1117
FCP_USERNAME="SRVCMGR" FCP_PRINTER="noprint"
FCP_SAVE_OUT=Y FCP_NUM_COPIES=0
Confidential to Trianz Inc.
•28
QUESTIONS ??
Confidential to Trianz Inc.
•29
Download