This Week`s Topics Review week one lab assignment Review week

Download Report

Transcript This Week`s Topics Review week one lab assignment Review week

Week Two Agenda
•Announcements
•Link of the week
•Use of Virtual Machine
•Review week one lab assignment
•This week’s expected outcomes
•Next lab assignments
•Announcements
•Break Out Problems
•Upcoming Deadlines
•Lab assistance, questions and chat time
Announcements
Class participation
Class participation is an essential element in
all course work. Many times a student’s final
grade borderlines the next highest grade
(.5 – 1). It is the instructors discretion based on
the students participation in class, as to
whether the next highest grade is given.
Convince me professionally, that you want an
“A” in this course.
Link of the week
• http://dmoz.org/Computers/Software/Operating_Systems
The above WEB site lists most all operating systems.
• http://www.javvin.com/unix-like-poster.html
The above Web site has tabs for books, posters, software, and
tools
• Definition of Operating System (OS)
• Common operating systems are:
UNIX, Linux, HP-UX
• Basic tasks performed by an operating system
– Control and allocate memory
– Prioritize system requests
– Control input and output devices
– Facilitate networking and management file systems
Link of the week
Services Operating System (OS) perform
– Process management
– Memory management
OS coordinates various types of memory
– File systems
– Networking
– Graphical user interface (GUI) and command line
– Device drivers
– Security
• Internal management
• External management
Use of the Virtual Machine
Knoppix features
• Demonstrate how to ftp a file from Knoppix
software to the cs.franklin.edu (Einstein)
machine using VMware software
Open two Konqueror windows
Enter the ftp protocol
sftp://[email protected]/export/home/dandrear
in one screen
Open a Konsole screen and create a file to
transfer to the cs.franklin.edu machine.
Review week one lab assignment
Basic vi editor commands.
vi test_file.txt
^
(place cursor on beginning of line)
$
(place cursor at end of line)
o
(insert text - alpha character)
cw
(change an entire word in a file)
Esc key
(exit insert mode)
:wq!
(save text entered in file)
:q!
(quit without saving changes)
Review week one lab assignment
less command
q
(terminates pagination)
Enter or Return key
(advance one line)
Space bar
(refresh full screen)
Location of weekly Power Point presentations:
http://cs.franklin.edu/~dandrear/itec400/Summer09_Fra
nklin_Live
File format: Week_Two_2_ppt.ppt
Week_Two_2.pptx
Review week one lab assignment
if [ ]
then
Action statements
fi
while [ ]
do
Action statements
done
for file_name in *
do
Action statements
done
Review week one lab assignment
#!/bin/ksh
if [ $# -ne 1 ] # Verify that there is one command line argument.
then
Action statements
exit
elif [ $1 -le syntax ] # Verify that the argument value is greater than zero
then
Action statements
fi
while [ $variable -gt 0 ] # Argument value must be greater than zero.
do
printf $variable
if [ $variable -gt 1 ] # If the value doesn’t equal one, output a comma
then
Action statements
fi
VARIABLE=$(( $VARIABLE - 1))
done
print
Review week one lab assignment
#!/bin/ksh
# Verify that there is only one argument on the
command line
if [ $# syntax1 ]
then
echo "Error. Can only use 0 or 1 arguments."
echo "Usage: maxlines.sh [directory]."
exit 1
fi
flag=1
Review week one lab assignment
# If the number of positional parameters is equal to zero search through
# the current directory. No directory provided on the command line.
Case #1 : ./maxlines.sh
if [ syntax -eq 0 ]
then
for testfile in * # Loop through the entire directory (top to bottom)
do
if [ -f $variable ] # Test that the name is a file
then
linetest1=`wc -l < $variable`
if [ $flag -eq 1 ]
then
startline=$linetest1
startfile=$testfile
flag=2
fi
Review week one lab assignment
#The script executes the following code after the first pass
if [ $startline -lt $linetest1 ]
then
startline=$linetest1
startfile=$testfile
fi
fi
done
echo "File $startfile has the most lines with $startline lines."
exit 0
fi
Case #2: ./maxlines.sh /bin
Review week one lab assignment
Current directory (maxlines.sh Case #1)
/~dandrear/itec400/homework
printnum.sh
maxlines.sh
Different directory (maxlines.sh Case #2)
/bin
cat
chmod
cp
grep
Review week one lab assignment
man (uses the “less” command for pagination)
ls –l
ps
ls -a
cut –c 1-7
wc -l
$#
date
exit 0
exit 1
NUMBER=$2
echo $NUMBER
less
Review week one lab assignment
cp file1 file2
mv file1 file2
rm file_1
rmdir dir_1
clear
head
tail
pipes
who
myArray[1]=$1
more
ps –ef
Review week one lab assignment
grep
find
ls
ls –a
mkdir
cd $1
$1, $2, $3
cat <file name>
chmod <permission> <file name>
mv <original file name> <new file name>
Review week one lab assignment
sleep <number of seconds>
diff <file name> <file name>
cd <directory>
sort <file name>
umask
who
who am i
Weeks 2 and 3 expected outcomes
Upon successful completion of this module, the student
will be able to:
• Create scripts using shell variables and program
control flow.
• Use man page system and find script tools.
• Use redirection and pipes to combine scripts and
executables.
Next lab assignment
In a Unix environment, the commands you enter are
executed by a program called the "shell". The user
must select a command shell used to communicate
with UNIX.
One of the things that makes the UNIX system so
flexible is its layered design. At the core is the
hardware. The hardware is surrounded by system
software that most users never interact with, called
the kernel. The kernel is surrounded by programs
(often called utilities) such as cat, date, and diff, that
perform specific tasks. A program that provides easy
access to these utilities by the user is called a shell.
Next lab assignment
A shell enables the user to interact with
resources of the computer, such as programs,
files, directories, and devices. An interactive
shell acts as a command interpreter. In its role
as a command interpreter, the shell is the
interface between the user and the system. The
user enters text commands to the shell, and the
shell carries them out, usually by running
programs.
Next lab assignment
Most shells can also be used as a programming
language. Users can combine command sequences to
create new programs. These programs are known as
shell scripts. Shell scripts automate use of the shell as
a command interpreter.
The first line of any script must begin with #!, followed
by the name of the interpreter.
Examples:
#!/bin/ksh
#!/bin/bash
#!/usr/bin/perl
Demonstrate:
cat /etc/shells
echo $SHELL
Next lab assignment
Concentric Circle Relationship
Shell
Utilities
ps
Kernel
vi
sort
KERNEL
HARDWARE
csh
Next lab assignment
drwxrwxrwx permissions
(directory)
-rwxrwxrwx permissions
(file)
lrwxrwxrwx permissions
(symbolic link)
-rwx------ 2 dandrear faculty (hard link)
exit
Each command has a return value.
0 indicates normal exit
1 indicates failed exit
The return value of a command can be used with
conditional or iteration commands.
Next lab assignment
Users can connect the standard output of one command
into the standard input of another command by using
the pipeline operator (|).
Demonstrate:
ps -ef
ps –ef | wc –l
ps –ef | awk ‘{print $2}’
ps –ef | grep dandrear
ls –l | cut –c1-3
who –b (time of last system boot)
who –d (print dead processes)
who –r
(print current run level)
.
Next lab assignment
A process associates a number with each file that it has
opened. This number is called a file descriptor. When
you log in, your first process has the following three
open files connected to your terminal.
Standard input: File descriptor 0 is open for
reading.
Standard output: File descriptor 1 is open for
writing.
Standard error: File descriptor 2 is open reading.
Next lab assignment
Linux command documentation is known as “man”.
Each page is a self-contained document.
The Manual sections are split into eight numbered
sections:
1 General commands.
2 System calls
3 C library functions
4 Special files (usually devices, those found in
/dev) and drivers.
5 File formats and conventions
6 Games and screensavers
7 Miscellaneous
8 System administration commands and daemons
Next lab assignment
The grep command searches the named input file(s) for
lines containing a given pattern. Normally,
each line found is reported to standard output.
Demonstrate:
grep text ~dandrear/Winter08_solutions/foobar
grep pattern foobar_1
grep pattern *
The find command lists all pathnames that are in each of the
given directories.
Demonstrate:
find / -type d –print
find ~dandrear –type d -print
find . –print
find / -name foobar
Next lab assignment
Redirect the standard output of a command to a file.
date > /tmp/date_saved
Redirect the standard input of a command so that it
reads from a file instead of from your terminal.
cat < ~dandrear/Winter09_solutions/test.txt
Append the standard output of a command to a file.
cat foobar_2 >> foobar_1
Next lab assignment
The coding and testing process
• Code one small script function at a time.
• Test that function before adding more code to the
script.
• Program coding is an iterative process
(code,test,code,test,code,test, …).
Break Out Problems
1. ps | wc –l
2. who | awk ‘{print $1}‘ | sort –u | wc –l
3. ps –ef | awk ‘{print $1}’ | sort –u | wc –l
4. sort –r names.txt
5. ps –ef | awk ‘{print $9, $1}’
6. find /bin -name gzip
7. find /etc -name motd
8. > newfile
9. rm newfile
10. date | cut –c12-19
11. nohup grep This ~dandrear/Summer09_solutions/report.txt &
12. cp test_data.txt ~dandrea/temp
13. mv test_data.txt ~dandrear/temp
14. printf $NUMBER
Upcoming Deadlines
• Simple Shell scripts, Lab Assignment 2-1 due
May 17, 2009.
• Advanced Scripting, Lab Assignment 3-1 due
May 24, 2009.
• Provide your proctor information by Lab
Assignment 1-1 May 10, 2009.
• Verify that your login is correct on Einstein.
• Configure your directory structure on Einstein
to comply with course specifications.
Lab assistance, questions and answers
• Questions
• Comments
• Concerns
• After class I will help students with their
scripts.