Chabot College November 1999 Course Outline for Computer Science 42

advertisement
Chabot College
November 1999
Replaced Fall 2010
Course Outline for Computer Science 42
UNIX TOOLS, SHELL PROGRAMMING AND SYSTEM ADMINISTRATION CONCEPTS
Catalog Description:
42 - UNIX Tools, Shell Programming and System Administration Concepts
2 units
Further experience with UNIX tools. Enhanced shells. Emphasis on Linux variant of
UNIX. Basic networking concepts. Writing and testing shell scripts. Processes and
scheduling. Security issues. Basis System administration. Prerequisite: Computer Science
41 (completed with a grade of “C” or higher). 1.5 hours lecture and 1.5 hours lab.
[Typical contact hours: lecture 26.25, laboratory 26.25]
Prerequisite Skills:
Upon entering into the course the student must have a working knowledge of user-level
UNIX terminology and commands. Specifically:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Basic knowledge of UNIX operating system capabilities
Components of a UNIX system: file system, utilities, shell, kernel
Files and directory management
UNIX shells and shell variables
Redirection, piping and background processes
Exposure to tools such as grep, find, cut, paste, join, sort
Sending, reading and managing electronic mail
Use of the vi and/or emacs editors
Compiling, linking, and running a simple C program under UNIX
UNIX-based Internet resources
Expected Outcomes for Students:
Upon completion of the course, the students should:
1.
2.
3.
4.
5.
6.
7.
8.
Be proficient in using UNIX tools;
Know about the Linux variant of Unix;
Have a working knowledge of enhanced UNIX shells;
Be able to program and use shell scripts;
Have a basic knowledge of awk;
Be familiar with process control:
Be familiar with security issues;
Be familiar with basic system administration concepts and procedures.
Course Content:
1.
UNIX tools
a. Patterns in files
b. Columns and fields
c. Sorting and file comparison
d. Examining and changing file information
e. Monitoring input and output
Chabot College
Course Outline for Computer Science 42, Page 2
November 1999
f. Displaying date and time
2.
Linux variant of Unix
a. Where to obtain Linux
b. Features of Linux
c. Setting up Linux
3.
Enhancing UNIX shells
a. The C Shell and its variants
b. The Korn Shell and its variants
c. Sources and sites
4.
Writing shell scripts
a. Executing a script
b. Arguments
c. Shell input and output: echo, read, etc.
d. Conditional execution: if, test, if..elif…else, case
e. Logical operators: && and ||
f. Loops
g. Command line options
h. Debugging scripts
5.
The UNIX tool: awk
a. How awk works
b. Patterns
c. Actions
d. Input and output\
6.
Process control
a. The ps command and its options
b. Killing a process
c. Parent and child processes
d. Scheduling with the at and batch commands
e. Daemons and zombies
f. Priorities: nice, sleep, wait
7.
Security issues
a. User and Group Ids
b. Password files
c. File encryption
d. Terminal locking
e. Trojan horses, viruses and worms
8.
Be familiar with basic system administration concepts and procedures
a. Multiuse and multitasking concepts
b. Directory structure from the administrator’s point of view
c. Installation issues (Linux specifically)
Chabot College
Course Outline for Computer Science 42, Page 3
November 1999
d.
e.
f.
g.
h.
Superuser permissions, passwords, log in
Startup and shutdown (changing system states)
Default user environment and profiles
Accounts, users and groups
Maintenance tasks such as backups, displaying the current system state, resetting
passwords, checking disk space, etc.
i. Tips for secure system administration
Methods of Presentation:
1.
2.
Lecture, demonstrations and discussion
Student use of the College UNIX System
Textbook(s) (Typical):
Unix The Complete Reference, Rosen, Host, Farber, Rosinski. Osborne-Mc Graw Hill
Publishers, 1997.
Methods of Evaluating Student Progress:
1.
2.
3.
Exams
Students will be asked to implement assigned projects
Attendance
Special Student Materials:
Computer use fee paid at the time of registration
CC/hps CourseOutlines/CS/42/991028
Download