Week One Agenda

38

description

Week One Agenda. Introduction Administrative Announcements Link of the Week Expected Outcomes This Week’s Topics Next Week’s Lab Assignment Break Out Problems Upcoming Deadlines Lab assistance, questions, and chat time. Introduction. Instructor: Professor Bob D’Andrea - PowerPoint PPT Presentation

Transcript of Week One Agenda

Page 1: Week One Agenda
Page 2: Week One Agenda

Week One Agenda• Introduction• Administrative Announcements• Link of the Week• Expected Outcomes• This Week’s Topics• Next Week’s Lab Assignment• Break Out Problems• Upcoming Deadlines• Lab assistance, questions, and chat time

Page 3: Week One Agenda

Introduction

Instructor: Professor Bob D’AndreaSoftware Engineer Instructor at Franklin University for five yearsPhone No. 614.898.0457Cell No. [email protected]

Program Chair of Information and Technology: Mr. Todd WhittakerPhone # [email protected]

Page 4: Week One Agenda

Administrative AnnouncementsInstructor commitment

Respond daily to student emails.Post exam and lab assignment grades as quickly as possible in student grade books.Post student midterm and final exam status on the Announcement page after each exam has been received from the Student Learning Center (SLC).

Office hoursMonday through Friday: 9:00 AM – 9:00 PMSaturday and Sunday: 12:00 AM – 6:00 PMA personalized Franklin Live session can be set up with a student needing individual assistance can be scheduled.

Page 5: Week One Agenda

Administrative Announcements

cs.franklin.edu serverEveryone will need a login to the cs.franklin.edu machine?Putty is the prescribed open source interface for this class. You will use putty to access the cs.franklin.edu machine. Student lab assignments will be tested under your itec400/homework directory on the cs.franklin.edu machine.

Page 6: Week One Agenda

Administrative AnnouncementsRecorded Franklin Live Power Point Presentations

http://cs.franklin.edu/~dandrear/itec400/Winter_2013_UNIX_Presentations

Franklin Live file name format:

Example: Week_One_1_UNIX.pptx Week_One_1_UNIX_ppt.ppt

Each week, the Power Point presentation used in the Franklin Live session will be available on Monday mornings for printing and/or review prior to the online session.

Page 7: Week One Agenda

Administrative AnnouncementsEmail format for completed lab assignments

Email a notification when an assignment is completed and ready to be graded. The “Subject” line of your email notification should have the following format:

<User name> <Section Number> <Lab Assig 1-3>Example: dandrear V1FF Lab Assign. 1-3

Email format for questions<User name> <Section Number> <Question(s)>

Example: dandrear V1FF Question(s)Scripts and text file suffix

All scripts and text files shall end with a suffix (e.g. ,sh, .pl, .txt and .cgi).

Homework assistance:Do not solicit help from the Internet for lab assignments. If caught soliciting assistance from the Internet, Franklin University will take action against you.

Page 8: Week One Agenda

Administrative AnnouncementsBulletin Board:

Midterm Exam Outline (not present)Final Exam Outline (not present)Public Domain/Open Source Software Evaluation

folder (present).Student name:Open source topic:

Drop Box:Deposit all lab assignments in the Drop Box. The

Drop Box is located under your Franklin University course Web page “Communications” tab.

Student drop box documentation link belowhttp://online.franklin.edu/forms/StudentDropBoxManual.doc

Page 9: Week One Agenda

Administrative AnnouncementsTurnitin.com Assignments

The Light Directory Access Protocol (LDAP) and Public Domain/Open Source lab assignments must be submitted to Turnitin.com. Your report will be verified by Turnitin.com for author originality. If Turnitin.com indicates that your percentage of originality is 45 percent or greater, I will not grade the paper. I will recommend that you seek assistance from the Student Learning Center (SLC).

Page 10: Week One Agenda

Administrative AnnouncementsUNIX System Administration Syllabus

Optional Materials Tutorials: Refer to the following web sites throughout UNIX System Administration. They are excellent resources for UNIX and Linux: • UNIX System Administration Independent Learning (USAIL) (NO LONGER AVAILABLE)http://web.archive.org/web/20080206003854/http://www.uwsg.indiana.edu/

usail/• Linux help, tutorials and tips • UNIX Tutorial for Beginners • UNIX help for Users.

Page 11: Week One Agenda

Administrative AnnouncementsAPA style format:

Your writing assignments will be graded on citing sources, spelling, punctuation, and capitalization. All reports must have a cover and reference page.

Link of the week:New links are provided weekly to direct students to

information on the Internet that will aid them with class lab assignments and enhance their overall learning experience.

Tutoring and workshops:Student Learning Center (SLC)Writing appointments via Franklin Live

Page 12: Week One Agenda

Administrative Announcements VMware software:

You should receive a Live CD with Knoppix 5.1.1 recorded on it from Franklin University. If you do not receive this CD, call the Helpdesk. The Knoppix software can also be downloaded from the course site.

Creating scripts using Knoppix software:ftp from your Knoppix software to cs.franklin.edusftp://[email protected]/home/dandrear

Page 13: Week One Agenda

Link of the WeekOpen Source Software:

• http://en.wikipedia.org/wiki/Open_source• http://freshmeat.net• http://sourceforge.net

Page 14: Week One Agenda

Link of the WeekOpen Source Software:

Definition of Open Source Software.• Distributed in source code format• Developed in a public, collaborative manner• Software is free of charge• Allows anyone to create modifications to the

software, port it to new operating systems and processor architectures

Who benefits from open source products?

Page 15: Week One Agenda

Expected OutcomesUpon successful completion of this course, students will be

able to:• Create non-trivial shell scripts. • Perform appropriate UNIX System Administration tasks. • Compose non-trivial scripts using Perl programming

language. • Distinguish the roles of Linux and Open Source software. • Incorporate the make utility appropriately within

programs. • Create an open source presentation of your choice.• Create a CGI script

Page 16: Week One Agenda

Basic UNIX PrimerUNIX comes in a variety of constantly changing flavors (SUNOS, HPUX, BSD and Solaris, just to name a few). Each of these UNIX types will have small variations from all of the others. This may seem a bit discouraging at first, but in reality each version of UNIX has more in common with all of the others than differences. The ls command, for example, will give a listing of the current directory in any UNIX environment. The changes or semantics local to any particular brand of UNIX should be explained in the man pages that come with that particular system.

Page 17: Week One Agenda

Basic UNIX Primer The purpose of this explanation is not to explore the differences between different UNIX flavors but rather to assume that they are all equivalent and look at how the different shells behave.

Page 18: Week One Agenda

UNIX CommandsThe UNIX operating system comes with many commands that the user can use to interact with computer. UNIX commands are simply programs that are executed when called for. The usual place for the storage of these commands is the /usr/bin directory. The commands that are available on a particular machine will vary. There is a set number of standard commands that come with a UNIX system, but there is no limit to the commands that may be available.

Page 19: Week One Agenda

What is a shell?A shell is an entity that takes input from the user and deals with the computer rather than have the user deal directly with the computer. If the user had to deal directly with the computer he would not get much done as the computer only understands strings of 1's and 0's. While this is a bit of a misrepresentation of what the shell actually does (the idea of an operating system is neglected) it provides a rough idea that should cause the reader to be grateful that there is such a thing as a shell. A good way to view a shell is as follows. When a person drives a car, that person doesn't have to actually adjust every detail that goes along with making the engine run, or the electronic system controlling all of the engine timing and so on. All the user (or driver in this example) needs to know is that D means drive and that pressing accelerator pedal will make the car go faster or slower. The dashboard would also be considered part of the shell since pertinent information relating to the user's involvement in operating the car is displayed there.

Page 20: Week One Agenda

What is a shell?In fact any part of the car that the user has control of during operation of the car would be considered part of the shell. I think the idea of what a shell is coming clear now. It is a program that allows the user to use the computer without him having to deal directly with it. It is in a sense a protective shell that prevents the user and computer from coming into contact with one another.

Page 21: Week One Agenda

Command Line ParsingTo parse a command line means to look at each part of the command line and convert it into something that the computer can execute. Since there variations in how different shells parse a command line, it can be assumed that the shell in question is generic. When a user enters a command line at the prompt, the shell begins by analyzing the command line. The shell will break the command line down into small indivisible pieces called tokens (sometimes they are referred to as atomic).

Page 22: Week One Agenda

Command Line ParsingEach token is then analyzed in terms of its relationship with the other tokens. This is similar to the human examination of an English sentence. If a noun is present, but no verb, the sentence is deemed incomplete. The shell behaves in much the same matter. It doesn't only check for missing bits, it also makes sure that what is there is in correct order. The shell may have to examine a command line more than once to collect all of the tokens. Each examination is called a pass. The reason for multiple passes is that command lines can be quite complicated, there can be all kinds of substitutions that need to be made.

Page 23: Week One Agenda

Command Line ParsingOn each pass the shell will make a required substitution and then collect the available tokens. Since the substitutions can be nested (substitutions containing substitutions), the shell may require several passes to collect all of the tokens. As stated above, if at this point in the process the shell determines that the grammar of the command line is incorrect, an error is displayed to the user, or else the command is executed. While the actual order in which the tokens are gathered is interesting, it is beyond the scope of this book. Where required (such as aliases) the order of some of the parsing procedure will be presented.

Page 24: Week One Agenda

Command Line ParsingThere are two types of arguments, OPTIONS and PARAMETERS. Options come right after the command name and consist of a – (minus sign character) followed by a letter.Parameters come after the options. The example :

ls –l file1 file2 file3

Page 25: Week One Agenda

Review Shell syntaxShell VariablesOne of the ways the shell lets you customize your working environment is by using shell variables. A shell varable is an item, known by a name, that represents a value of some type. As the term “variable” implies, the value of a shell variable can be changed.There are two types of shell variables. First, there are variables that act as off/on switches. Second, there are variables that store a particular value as a string of characters.

Page 26: Week One Agenda

Review Shell syntaxShell set command

Debugging part of a script:set -x # activate debugging # your commands go here...set +x # stop debugging

Page 27: Week One Agenda

Review Shell syntaxShell set commandset -A is Korn Shell (ksh) specific (not available in Bash or POSIX SH) and it initializes an array with the specified value(s).$ set -A COLORS "red" "green" "blue" $ print ${COLORS[0]} red $ print ${COLORS[1]} green $ print ${COLORS[2]} blue

Page 28: Week One Agenda

Review Shell syntax• $# - Number of positional parameters• $! - Background PID• $? - Return value• $$ - Process PID• $ - Provides the content of a variable ($NUMBER)• $0, $1, $2, $3 … - This syntax represents the

positional parameters on the command line../printnum.sh 4

• exit 0 – The return values is a number from 0 to 255. A value of zero (0) indicates a normal exit.

• exit 1 - Indicates a failure occurred.

Page 29: Week One Agenda

Review shell syntax• “ “ - Double quotes. Removes special meaning of all

enclosed characters, except $, `, “, and \.• Example: print “The price is $Price.\n”; (interpolation)• ‘ ’ - Literal quotes. Removes the special meaning of all

enclosed characters. A single quote cannot appear within single quotes because a single quote denotes the end of the string.

• ` ` - Single Back-Tic quotes. Used for command substitution.

• Example: echo The date is `date` (interpolation)• LINES=`wc -l $ENTRY | cut -c 1-7`• LISTING=`ls -l | cut -f 9`

Page 30: Week One Agenda

Review Command Structure• if [ -d "$1" ]

thenaction statement

fi• wc –l - Word count with –l (line option). Print the new line

counts• ~ - Tilde (~ means /home/dandrear)• for name in *

doaction statements

done

Page 31: Week One Agenda

Review Command Structure• while [ condition]

doaction statement(s)

done

• if [ condition ]then

action statement(s)fi

Page 32: Week One Agenda

Review Command Structure• for name in *

doaction statements

done

Example:while [ "$1" != "" ]

do$size = 0

done

Page 33: Week One Agenda

Review Command StructureExamples:

if [ $# –ne 1 ]then

echo “Please enter a command line argument”fi

logfile="/var/adm/messages" foreach mon in Sun Mon Tue Wed Thu Fri Sat

do grep $mon $logfile > $logfile.$mon end

Page 34: Week One Agenda

Next Weeks Lab Assignment• Review Lab Assignment 2-1 Simple Shell scripting.• Lab assignments should be recorded on cs.franklin.edu

(Einstein) machine in your “~/itec400/homework” directory.• Demonstrate how to create a file using the “vi” editor.• Execute printnum.sh and maxlines.sh scripts on the

cs.franklin.edu machine.• Lab Assignment 2-1 will be complemented with script logic.

Script logic will be utilized to jump start the lab assignment. It contains script logic, 70% percent of the needed coding, and helpful hints to assist your programming skills. In addition to script logic, you will receive a Shell and Perl Commands Quick Reference document in email.

Page 35: Week One Agenda

Break Out Problems1. Program statement (#!/bin/ksh)2. less3. ps –ef | wc –l4. who | awk ‘{print $1}’ | sort –u | wc –l5. ps –ef | awk ‘{print $1}’ |sort –u | wc –l6. find / ex 7. ps –ef | awk ‘{print $9, $1}’8. Shell language syntax: $#9. Shell language command: for name in *10. Shell language command:

NUMBER=$(($NUMBER - 1)) 11. Shell variable: PATH

Page 36: Week One Agenda

Upcoming Deadlines• Lab Assignment 1-1, Obtain a Proctor for Exams,

due January 7, 2013.• Lab Assignment 1-2, Install VMware and Knoppix

Virtual Machine, due January 7, 2013• Lab Assignment 1-3, Introduction to Linux, due

January 7, 2013• Lab Assignment 2-1, Simple Shell Scripting, due

January 21, 2012013• Lab Assignment 3-1, Advanced Scripting, due

January 28, 2013.• Read Chapters 1 and 2 in your text book, Essential

System Administration.• Read Module One listed under the course Web site

Page 37: Week One Agenda

Lab assistance, questions, and chat time• Questions?• Comments?• Concerns?

• After each Franklin Live session, I will remain on the session to provide assistance unless otherwise indicated.

Page 38: Week One Agenda

Have a good week