1 / 34

Week Two Agenda

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

gunda
Download Presentation

Week Two Agenda

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Announcements Class participation Class participation is an essential element in this class. Many times a student’s final grade borderlines the next highest grade. The score closeness could be .5 to 1. It is the instructors discretion based on the students performance in class, as to whether the next highest grade is given. Convince me professionally, that you want an “A” in this course.

  3. 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 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

  4. 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

  5. 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://dandrear@cs.franklin.edu/export/home/dandrear in one screen Open a Konsole screen and create a file to transfer to the cs.franklin.edu machine.

  6. 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)

  7. 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/Summer2010_Presentations/ File format: Week_Two_2_ppt.ppt Week_Two_2.pptx

  8. Review week one lab assignment if [ ] then Action statements fi while [ ] do Action statements done for file_name in * do Action statements done

  9. Review week one lab assignment 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

  10. 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

  11. 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 DIR="."

  12. Review week one lab assignment # Case #2 and 3. # The number of arguments on the command line equals one. if [[ $X -eq 1 ]] then # Is the directory entry a directory? if [[ -X $1 ]] then # Assign the command line argument to the variable, DIR="$X" else printf "$ERRORX" exit 1 fi fi

  13. Review week one lab assignment # All case 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

  14. Review week one lab assignment Case #1: ./printnum.sh <numeric value> /~dandrear/itec400/homework Case #1: ./maxlines.sh /~dandrear/itec400/homework printnum.sh maxlines.sh Case #2: ./maxlines.sh /bin cat chmod cp

  15. 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

  16. Review week one lab assignment cp file1 file2 mv file1 file2 rm file_1 rmdir dir_1 clear head tail who myArray[1]=$1 more ps –ef

  17. Review week one lab assignment grep find ls mkdir cd $1 $1, $2, $3 cat <file name> chmod <permission> <file name>

  18. Review week one lab assignment sleep <number of seconds> diff <file name> <file name> cd <directory> sort <file name> umask who who am i

  19. 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.

  20. 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. Examples are Korn, Bourne, and C Shell. 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 and the kernel by the user is called a shell.

  21. 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.

  22. 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 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/ksh #!/bin/bash #!/usr/bin/perl Demonstrate: cat /etc/shells echo $SHELL

  23. Next lab assignmentConcentric Circle Relationship

  24. 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.

  25. 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) .

  26. 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: Filedescriptor 0 is open for reading. Standard output: File descriptor 1 is open for writing. Standard error: File descriptor 2 is open reading.

  27. 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

  28. 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

  29. 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/Summer2010_solutions/test.txt Append the standard output of a command to a file. cat foobar_2 >> foobar_1

  30. 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, …).

  31. Break Out Problems • ps | wc –l • who | awk ‘{print $1}‘ | sort –u | wc –l • ps –ef | awk ‘{print $1}’ | sort –u | wc –l • sort –r names.txt • ps –ef | awk ‘{print $9, $1}’ • find /bin -name gzip • find /etc -name motd • > newfile • rm newfile • date | cut –c12-19 • nohup grep This ~dandrear/Summer09_solutions/report.txt & • cp test_data.txt ~dandrea/temp • mv test_data.txt ~dandrear/temp • printf $NUMBER

  32. Upcoming Deadlines • Lab Assignment 2-1, Simple Shell Scripting, due May 16, 2010. • Lab Assignment 3-1, Advanced Scripting, due May 23, 2010. • Read Chapters 1 and 2 in Essential System Administration text. • Read Module Twolisted under the course Web site • Did everyone receive a maxlines.sh Quick Reference document?

  33. Lab assistance, questions and answers • Questions • Comments • Concerns • After class I will help students with their scripts.

More Related