RYERSON POLYTECHNIC UNIVERSITY

DEPARTMENT OF MATHEMATICS, PHYSICS, & COMPUTER SCIENCE

Introduction to UNIX - CKCS 121

 

Professor: Raj Nagendra

Course Objectives:

1. Introduce the UNIX system, and compare it to other computer operating systems.

2. Become familiar with the basic elements of working within the UNIX system.

3. Learn Bourne Shell programming.

4. Learn how to use some common UNIX utility programs to easily accomplish everyday tasks.

5. Acquire a sufficient understanding of UNIX to use it comfortably at school or at work.

What Will be Covered

This course deals with UNIX from a user’s perspective. It will not cover system administration; complex utilities such as awk or vi ; or programming in C, Fortran, Pascal, Cobol, or any language other than the Bourne Shell.

Instructional Style

Each class will be divided equally into a lecture and laboratory session.

During lecture, questions from the class are welcomed and encouraged; however, if a question is too involved or deviates too far from the material being discussed, in fairness to the other students it will be deferred to the end of the class or incorporated into a future lecture. It is the students’ responsibility to point out that the instructor is moving too quickly or that an explanation was unclear. The instructor can otherwise assume that there are no problems.

At the end of each lecture, lab exercises will be assigned that will test and strengthen the students’ understanding of the material just taught in the lecture. Students will be asked to demonstrate their working solutions to the exercise during the lab session. The instructor and a Teaching Assistant will be available during the labs to answer questions and help resolve problems.

 

Intro

Operating systems, intro files, login, editors,

basic commands

UNIX services

Creating files.

Domain/Email address, mail and PINE, telnet, ftp, More commands. man command

Basic UNIX commands

Is, past, sort, cp, mkdir, In, who, cut, ....

System processes

PIDs, ps back/foreground jobs, bg, gf, jobs, & ^z, kill

File permissions

Is-I, chmod, umask, ownership.

I/O Redirection and Pipes

<, >, <<, >>, <EOF (here documents), 2>&1,|

Shell Meta characters.

Default values, default shell variables ($#, $$, $?, $1, $2, $*), test command

expr command for doing math.

environment variables

Shell programming statements.

||, &&, if, for, case, while, until, read, shift

Shell functions, variable scope, traps and signals

Programming style

Comments, white space, indentaion, test for failure, clean up, declare constants.

Processing command line options, GETOPTS

Shell debugging.

sh -x /prog, echo $var, echo rm -rf ${VAR}_name, $DEBUG var.

Regular expressions.

Sed and regular expressions.

Awk (Intro)