38

Week Five Agenda

  • Upload
    kaiser

  • View
    14

  • Download
    0

Embed Size (px)

DESCRIPTION

Week Five Agenda. Announcements Link of the week Review week four lab assignment This week’s expected outcomes Next lab assignment Break-out problems Read assignments Upcoming deadlines Lab assistance, questions and answers. Link of the week. Data Disaster Ontrack Data Recovery - PowerPoint PPT Presentation

Citation preview

Page 1: Week Five Agenda
Page 2: Week Five Agenda

Week Five Agenda

• Announcements• Link of the week• Review week four lab assignment• This week’s expected outcomes• Next lab assignment• Break-out problems• Read assignments• Upcoming deadlines• Lab assistance, questions and answers

Page 3: Week Five Agenda

Link of the weekData Disaster Ontrack Data Recoveryhttp://www.ontrackdatarecoveryIronkey USB Flash Drivehttps://www.ironkey.com/demo-enterpriseData Disaster Helpful Hints

- Use dedicated circuits for your connection- Keep your computer cool and in a dry place- Use a UPS (Uninterrupted Power Supply)- Don’t assume that your data is permanently

destroyed even if the situation looks bad- Secure your work area and devices

Page 4: Week Five Agenda

Link of the week

Data Disaster

1. Big and small company operations

2. Backup services

3. Trouble shooting

4. Data recovery

Page 5: Week Five Agenda

Review week four lab assignment

What is an object file?

Object code is a representation of code generated by a compiler after it processes a programming language code file. It contains compact, pre-parsed code, often referred to as binaries that can be linked with other object files to generate a final executable.

Page 6: Week Five Agenda

Review week four lab assignment

What is ELF?

Executable and Linking Format (ELF) is a common standard file format for executables, object code, shared libraries, and core dumps.

Page 7: Week Five Agenda

Review week four lab assignmentPerl Syntax

; end of statement delimiter, comma for line continuation \n new line (non-printable character)

Perl Variable Syntax

$ singular variables prefix (single value, number or string)

@ prefix for plural variable (array)% prefix for plural variable (hash)$_ default variable

Page 8: Week Five Agenda

Review week four lab assignment

Perl Syntaxwhile ( … )

{Action statements

}If ( …)

{ Action statements

}

Page 9: Week Five Agenda

Review week four lab assignmentPerl SyntaxIf ( … )

{Action statements

}else{

Action statements}

Page 10: Week Five Agenda

Review week four lab assignmentRelational OperatorsNumeric String Meaning > gt Greater than >= ge Greater than or

equal to < lt Less than <= le Less than or equal

to

Page 11: Week Five Agenda

Review week four lab assignment

Equality Operators

Numeric String Meaning

== eq Equal to

!= ne Not equal to

cmp Comparison with signed result

The or cmp operators return 1 if the left operand is less than the right operand, 0if they are equal, and +1 it the left operand is greater than the right.

Page 12: Week Five Agenda

Review week four lab assignmentDefinition: array

Arrays are an ordered list of scalars, accessed by the scalar’s position in the list. Otherwise known as a collection of scalars. In Perl, a scalar means the simplest data type which was designed to hold only one thing like a number, a string or a reference.

Elements in an array are accessed by using an index. Array indexes start with zero.

Page 13: Week Five Agenda

Review week four lab assignment

Array and Variable InitializationInitialize an array:

@garage = (“rake”, “mower”, “shovel”);

@persons = (“Will”, “Ken”, “Hazel”, “Jay”);

$count = @persons;

Unload array elements into variables:

($rake, $mower, $shovel) = @garage

Page 14: Week Five Agenda

Review week four lab assignment

Array Data Structures

array of arrays – Two-dimensional array or a matrix

@names = (

[ “Sam”, “Clide”, “Kim” ],

[ “Melinda”, Terri”, “Sissy” ],

[ “Fred”, “Omar”, “Vincent” ] );

print $names [1] [1];

Page 15: Week Five Agenda

Review week four lab assignmentDefinition :Hash (associative array)

A hash is similar to an array only because it contains a number of scalars. A hash is different in the case where the element of a structure represents a pair – a key and a value. Whenever we refer to an element of a Perl hash structure, we mean a pair (key and value) which links a value to a key. We have access to the elements of a hash variable by a scalar key.

Hash table is an unordered set of scalars, accessed by some string value that is associated with each scalar.

Page 16: Week Five Agenda

Review week four lab assignmentHash Initialization

%student_ages = ("John", 43, "Paul", 25, "Marie", 22);

%members = (John => "father", Paul => "son", Marie => "daughter");

The comma-arrow (=>) operator is used to initialize the %members hash variable in the second line of code. The left side of the comma-arrow operator is expected to be a simple string and therefore it is not necessary to be quoted.

Page 17: Week Five Agenda

Review week four lab assignmentHash Initialization (con’t)

%all_groups = (

group_name1 => [ “Betty”, “Tom”, “Moe” ],

group_name2 => [ “Ali”, “Marcia”, “Sis” ]

);

$all_groups{group_name1} [3] = “Sam”;

for $couple ( keys %all_groups ) {

print “$couple; @{$all_groups{$couple} }\n;

}

Page 18: Week Five Agenda

Review week four lab assignment

Hash Copy

%school_ages = %student_ages

Demonstrate: ~dandrear/Summer09_solutions/hash_table.pl

Page 19: Week Five Agenda

Review week four lab assignment

Hash Table Example%colormap=(

“12” => “gray”,“19” => “black”,“30” => “red”,);

%colormap = (“12”, “gray”, “19”, “black”, “30”, “red”);

Page 20: Week Five Agenda

Review week four lab assignment

BLACK RED GRAY

YELLOW BLUE WHITE

GREEN AMBER GOLD PINK

11 12 13

21 22 23

31 343332

Hash Table

Page 21: Week Five Agenda

Review week four lab assignment

SourceFile

SourceFile

SourceFile

SourceFile

SourceFile

Object File

Object File

ObjectFile

Object File

ObjectFile

LinkerRuntimeLibrary

ExecutableProgram

Source/Object/Executable Drawing

Page 22: Week Five Agenda

Review week four lab assignment

Perl utilizes two types of categories- Singular variables that represent a single-value. The

variable prefix symbol for a scalar is the $.- Plural variables are ones that contain multiple-values. Arrays and hashes are two multi-valued variables.

Perl data types $answer = 42; (an integer)

$pi = 3.14159265; (a “real” number)$animal = “horse”; (string)$statement = “I exercise my $animal”; (string with

interpolation)$amount = ‘It cost me $5.00’; (string without

interpolation)$cwd = `pwd`; (string output

from a command)

Page 23: Week Five Agenda

Review week four lab assignment• Filehandle is utilized for both input and output files.

Most file names are cryptic and are meaningless to programmers. The purpose of a filehandle is to help the programmer remember a simple file name throughout a program.

A filehandle is a name given for a file, device, socket, or pipe.

Filehandle command line format:

open(filehandle, file name, permissions, chmod);

Example: open($FH,$file_name);

Page 24: Week Five Agenda

Review week four lab assignment

• Practice scripts under ~dandrear/tmp directory

arry_sort.pl awksrc

read_list.pl

sum_list.pl

person.sh

hash_table.pl

two_dim.pl

week_four.pl

Page 25: Week Five Agenda

Weeks four and five expected outcomes

• Write Perl scripts, including variables, control flow, and regular expression syntax

Page 26: Week Five Agenda

Next lab assignment

Regular Expressions

Search programs - grep and findstr.

Text language programs - sed and awk

Text editors – iv and emac

Many other languages use regular expressions and may advertise a particular Perl version.

Page 27: Week Five Agenda

Next lab assignmentRegular Expression Special Characters * Open square bracket [ * Backslash \

* Caret ^* Dollar sign $* Dot .Pipe symbol |Question mark ?Asterisk ** Plus sign +Opening and closing round brackets ( )

Page 28: Week Five Agenda

Next lab assignmentRegular Expression (a.k.a. regex or regexp)

Is a pattern that describes a certain amount of text. A basic regular expression could be the single character, e.g.: a

Jack is a guy.

It will match the first occurrence in the string. If succeeding matches are desired, the regex engine must be instructed to do so.

Page 29: Week Five Agenda

Next lab assignment

Character Classes match only one out of several characters, e.g.: [ae] and gr[ae]y

The order of the characters inside a character class doesn’t matter.

Shorthand Character Classes match single

characters, e.g.: \d and \w and \s and \t

Non-Printable Characters are special character sequence to put non-printable characters in your regular expression, e.g.: \t and \r and \n and \a and \e and \v

Page 30: Week Five Agenda

Next lab assignment

Dot matches almost any character, except line break characters, e.g.: gr.y

Anchors match a position.

Match start of string ^

Match end of a string $

Alternation is the regular expression equivalent of “or”. The search pattern bird | insect will first return “bird. The second match will be “insect”.

Page 31: Week Five Agenda

Next lab assignmentnames

Bob D'Andrea 222-40-1234 03/19/1947 male

Bo Happy 444-20-2222 01/01/1945 male

Jane Smith 324-78-9990 04/23/1978 female

Razi Jake 564-54-9879 05/26/2005 male

There are tabs in two places in the above data. One tab is after the name and after the birth date.

Page 32: Week Five Agenda

Next lab assignmentWithout options, print the desired fields in any

order.

awk ‘{ print $1, $2, $3, $4 }’ names

The –F option changes the field separator on the command line. The \t is an Escape Sequence for a horizontal tab.

awk –F”\t” ‘{ print $1 }’ names

Page 33: Week Five Agenda

Next lab assignmentmakefile Lab Assignment

Copy the test_build.sh script from ~dandrear/tmp directory

This script executes the make command which in turn executes the makefile

Demonstrate

Execute ~dandrear/temp/test_build.sh script

View the test_build.sh script

Page 34: Week Five Agenda

Next lab assignmentProgramming Perl, Chapter 32 Standard ModulesDefine: ModuleParsing the command line with Getopt::StdExample: listdir –l –n –a 10:00 bottom topPerl utilizes @ARGV to capture the command line argumentsExample: $ARGV[0] ‘-l’

$ARGV[1] ‘-n’ $ARGV[2] ‘-a’ $ARGV[3] ’10:00’ $ARGV[4] ‘bottom’ $ARGV[5] ‘top’

Page 35: Week Five Agenda

Break-out problems• Define a Perl hash table• Define ELF• Define a Perl array• What convenience does a Perl filehandle provide?• What is the functionality of a regular expression? • How is an element in an array accessed?• Define an object file• Define common-arrow• Perl default variable• AES • Explain the s/pattern/new version/ command

Page 36: Week Five Agenda

Reading assignments• Reading Assignment

Essential System Administration

Chapter One

Chapter Two

Chapter Three

Programming Perl

Chapter One

Chapter Two

Chapter Three

Chapter Four

Chapter Thirty Two (review)

Page 37: Week Five Agenda

Upcoming deadlines

• Simple Perl Exercises, 4-1 is due May 31.• Makefile Exercise, 6-2 is due June 14.• Programming Assignment 1, 6-1 is due June

21.• Mid-term exam, 7-1 is June 8 – 13, 2009.• Mid-term outline posted on Bulletin Board.

Page 38: Week Five Agenda

Questions and answers• Questions• Comments• Concerns

• After class I will help students with their scripts.