Week Two Agenda
-
Upload
blaine-everett -
Category
Documents
-
view
22 -
download
0
description
Transcript of Week Two Agenda
Week Two AgendaAnnouncements
Link of the weekUse of Virtual MachineReview week one lab assignmentThis week’s expected outcomesNext lab assignments AnnouncementsBreak Out ProblemsUpcoming DeadlinesLab assistance, questions and chat time
AnnouncementsClass participation
Class participation is an essential element in this class. Many times a student’s final grade borderlines the next highest letter grade. The course instructor has the authority to assign or not assign the next highest final grade when the score is within .5 and 1 points of the next highest letter grade.
Convince me professionally, that you want an “A” in this course.
Link of the week• The link below lists most all operating systems that are
available.• http://dmoz.org/Computers/Software/Operating_Systems• The link below has tabs for books, posters, software, and tools• http://www.javvin.com/unix-like-poster.html• Definition of Operating System (OS)• Common operating systems discussed in this class will be:
UNIX, Linux, HP-UX, and Windows• Basic tasks performed by an operating system
– Control and allocate memory for processes– Prioritize system requests for the CPU– Control input and output transmissions to and from devices– Facilitate networking and support file system management
Link of the weekServices 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• Use the sftp command to move 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 assignmentBasic 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 assignmentLess command
q (terminates pagination)
Enter or Return key (advance one line)
Space bar (refresh entire screen)
Location of weekly Power Point presentations:http://cs.franklin.edu/~dandrear/itec400/Fall_2012_
UNIX_FL_Presentations/
File format: Week_Two_2_UNIX_ppt.ppt
Week_Two_2_UNIX.pptx
Review week one lab assignmentif [ ]
thenAction statements
fi
while [ ]do
Action statementsdone
for file_name in *do
Action statementsdone
Review week one lab assignment#!/bin/ksh
NUMBER=$1
# One argument must be provided, otherwise don’t execute
if [ …]
then
…… Action statement(s)
exit …..
# The value of the command line argument can’t
# be less than or equal to zero.
elif [ …]
then
……Action statement(s)
exit …..
fi
Review week one lab assignment# Integer value must be greater than zero
while [ ……… -gt 0 ]
do
printf $variable
# If the value of the argument is greater than one, insert a comma after the integer
if [ ………… -gt 1 ]
then
printf ", "
fi
# Decrease the value of NUMBER by one with each iteration
NUMBER=$(($.................. - 1))
done
printf
Review week one lab assignment
ERROR1="error: can only use 0 or 1 arguments.\nusage: maxlines.sh [directory]"ERROR2="error: argument must be a directory.\nusage:
maxlines.sh [directory]\n"# Verify that more than one command line argument
doesn't exist.if [[ $# -gt 1 ]] then printf "$ERRORX" exit 1 fi# Default variable settingDIR="."
Review week one lab assignment# Case #2.
# The number of arguments on the command line equals one.
if [[ $X -eq 1 ]]
then
# Is the command line argument a directory?
if [[ -X $1 ]]
then
# Assign the command line argument to the variable,
DIR="$X"
else
printf "$ERRORX"
exit 1
fi
fi
Review week one lab assignment# All cases are processed with the following code.
# Change directory to the indicated variable content.
cd $XXX
# Assign file name with highest number of new lines to the variable FILE.
FILE=$(wc –X `ls` 2>/dev/XXXX | sort –X X | tail –X X | head –X X)
# Print statement for all cases.
printf "File `echo $FILE | awk '{print $X}'` has the maximum lines with `echo $XXXX| awk '{print $X}'` lines.\n"
exit 0
Review week one lab assignmentCase #1:
Execute script: ./printnum.sh <numeric value>
Execution location: /~dandrear/itec400/homework
Objective: Provide script with data from the command line.
Case #1:
Execute script: ./maxlines.sh or ./maxlines.sh .
Execution location: /~dandrear/itec400/homework
Objective: Visit every directory entry under homework
Case #2:
Execute script: ./maxlines.sh /bin
Execution location: /~dandrear/itec400/homework
Objective: Visit every directory entry under /bin directory
Review week one lab assignmentman (use 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 assignmentcp file1 file2
mv file1 file2
rm file_1
rmdir dir_1
clear
head
tail
who
myArray[1]=$1
more
ps –ef
Review week one lab assignment
grep
find
ls
mkdir
cd $1
$1, $2, $3
cat <file name>
chmod <permission> <file name>
Review week one lab assignment
sleep <number of seconds>
diff <file name> <file name>
cd <directory>
sort <file name>
umask
umask -S
who
who am I
uname -n
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 assignmentIn a Unix environment, the commands you
enter are executed by a program called the "shell". The user must select a command shell to communicate with UNIX. Examples are Korn, Bourne, and C Shell.
One of the things that makes the UNIX operating 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. One of these software applications is called the kernel . The kernel is surrounded by programs (often called utilities) such as cat, date, and diff commands that perform specific tasks. A shell program communicates with these utilities and the kernel with text type information. Ultimately, the kernel sends and receives information from the user’s shell.
Next lab assignment
A shell program enables a user to interact with computer resources, such as programs, files, directories, and devices. Shells allow users to interact on a system interactively as a command interpreter. When acting as command interpreter, the shell is the interface between the user and the system in a real time environment.
To observe the different types of shells on a system, execute the following command:
Demonstrate: cat /etc/shells
Next lab assignmentMost shells are used as a programming
language. Users can combine command sequences to create new programs. These programs are known as shell scripts. Shell scripts automate the 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/sh, /bin/bash, /sbin/nologin
/bin/ksh, /bin/tcsh, /bin/csh
Verify the shell currently being used.
Demonstrate: echo $SHELL
Next lab assignmentConcentric Circle Relationship
KERNELHARDWARE
Shell
Utilities
Kernel
csh
sort
ps
vi
Next lab assignment
Command: ls –l
drwxrwxrwx permissions (directory)
-rwxrwxrwx permissions (file)
lrwxrwxrwx permissions (symbolic link)
-rwx------ 2 dandrear faculty (hard link)
crw------- 1 root root audio (Character device)
brw-rw---- 1 root disk aztcd (Block device)
Next lab assignmentExit command
Allows you to exit from a program, or shell
The exit command may be used to terminate a script, just as in a C program. It can also return a value, that can be examined parent process for further action..
Every command returns an exit status (sometimes referred to as a return status ).
The exit command values range is from 0-255.
0 indicates normal exit
1 through 255 indicates a failed exit
Next lab assignmentPipe Command
Users can connect the standard output of one command into the standard input of another command.by using the pipeline operator (|).
Demonstrate command usage:ps -efps –ef | wc –lps –ef | awk ‘{print $2}’ps –ef | grep dandrearls –l | cut –c1-3who –b (time of last system boot)who –r (print current run level)
who –s (print short version of user on system).
Next lab assignmentFile Descriptor
A process associates a number with each file it has open. 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 assignmentManual (man) Command
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 calls3 C library functions4 Special files (usually devices, those found in
/dev) and drivers.5 File formats and conventions6 Games and screensavers7 Miscellaneous8 System administration commands and
daemons
Next lab assignmentGrep Command
The grep command searches the named input file(s) for lines in a file containing a given pattern. When a pattern is found, each line is reported to standard output.
Demonstrate: grep [options] pattern file(s)grep inc_A ~dandrear/xyzgrep inc_A prog1 prog2grep inc_A *
Next lab assignmentFind Command
The find command lists all pathnames that are in each of the given directories.
Demonstrate: find ~dandrear –type d –print
find ~dandrear –type f -printfind . –printfind / -type f –print
Next lab assignmentRedirections
Many UNIX commands take text-like input and produce text-like output. It's sometimes useful to be able to control where the input comes from and output goes (via redirection), or even pass the output from one command to another's input (via pipes).
Next lab assignmentRedirection (cont)
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/Summer_2012_Solutions/foobar
Append the standard output of a command to a file.
cat foobar_2 >> foobar_1
Next lab assignmentCoding 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 Problems1. ps | wc –l2. who | awk ‘{print $1}‘ | sort –u | wc –l3. ps –ef | awk ‘{print $1}’ | sort –u | wc –l4. sort –r names.txt5. ps –ef | awk ‘{print $9, $1}’ 6. find /bin -name gzip7. find /etc -name motd8. > newfile9. rm file_name10.date | cut –c 12-1911.cp test_data.txt ~dandrea/temp12.mv test_data.txt ~dandrear/temp13.printf $NUMBER
Upcoming Deadlines• Lab Assignment 2-1, Simple Shell Scripting,
due September 23, 2012.• Lab Assignment 3-1, Advanced Scripting, due
September 30, 2012.• Read Chapters 1 and 2 in Essential System
Administration text.• Read Module Two listed under the course Web
site.• Everyone should have received a Shell Quick
Reference document and script logic for Lab Assignment 2-1.
Lab assistance, questions and answers
• Questions• Comments• Concerns
• After class I will help students with their scripts.