CMPS 2650 "Unix Command Line" Fall 2016

Instructor: Steve Garcia
Office Hours: Calendar
Office: Science 332 (Science III, 3rd floor)
Course Website:
CRN: 82443
Information: 5:30-pm - 8:15 MW (Science III 315)

Course Description. This course is intended to introduce a student to Unix at the command line and finish up with a basic understanding of how to administer a Unix Server. Although not required for majors, this course is highly recommended.

It starts out with an intensive introduction to the command line and shell programming. All basic Unix commands will be covered. Sophisticated Unix text processing utilites covered will be vi, diff, sed, and awk. Also covered will be email, networking, X11, creating a web page under Unix, and the Unix programming environment (make, tar, and a debugger).

The course will continue with an introduction to systems administration for UNIX and Linux operating systems. Topics covered will include system installation and maintenance, user management and security considerations. Differences between the various flavors of UNIX systems will also be explored. There will be hands-on sessions on various systems.

Required Texts:
A Practical Guide to Linux Commands, Editors, and Shell Programming (3rd Edition), Mark G. Sobell ISBN-13: 978-0133085044

UNIX and Linux System Administration Handbook, 4th Edition, Nemeth, Snyder, Hein & Whaley ISBN-13: 978-0131480056 Earlier editions (Unix System Administration Handbook, 1st through 3rd editions) will work for this course, but may not have the latest and greatest OS distribution information if you wish to keep learning beyond the course.

Material covered:
Intro to Unix (using Sobell)
Chapter 1 Welcome to Linux
Chapter 2 Getting Started
Chapter 3 Command Line Utilities
Chapter 4 The Linux Filesystem
Chapter 5 The Shell
Chapter 6 The vim Editor
Chapter 8 The Bourne Again Shell
Chapter 10 Programming Tools
Chapter 11 Programming the Bourne Again Shell
Chapter 12 The gawk Pattern Processing Language
Chapter 13 The sed Editor
Appendix A Regular Expressions

System Administration (using Nemeth)
Chapter 1: Where to Start
Chapter 24: Virtualization
Chapter 32: Management, Policy, and Politics
Chapter 3: Booting and Shutting Down
Chapter 6: The Filesystem
Chapter 5: Controlling Processes
Chapter 4: Access Control and Rootly Powers
Chapter 7: Adding New Users
Chapter 31: Serial Devices and Terminals
not-in-book: Introduction to Daemons
Chapter 9: Periodic Processes
Chapter 8: Storage
Chapter 10: Backups
Chapter 13: Drivers and the Kernel
Chapter 11: Syslog and Log Files
Chapter 14: TCP/IP Networking
Chapter 15: Routing
Chapter 16: Network Hardware
Chapter 17: DNS: The Domain Name System
Chapter 20: Electronic Mail
Chapter 21: Network Management and Debugging
Chapter 22: Security

Self-Learning Sections (important if you are considering a career in system administration, but not required for the course):
Chapter 12: Software Installation and Management
Chapter 18: The Network File System
Chapter 19: Sharing System Files
Chapter 23: Web Hosting
Chapter 25: The X Window System
Chapter 26: Printing
Chapter 27: Data Center Basics
Chapter 28: Green IT
Chapter 29: Performance Analysis
Chapter 30: Cooperating with Windows

Accounts: This course requires both an account on the department server (Sleipnir) and the Moodle course website. Both account sheets will be passed out during the first week of class. Be sure to log in to both accounts and change the default passwords.

Attendance: Students are responsible for their own attendance. The topics covered in lecture will be listed on the course website. Lab grades may be affected by attendance -- if you leave early from class (or don't attend) the lab is due when you leave. Late labs lose a point. If you work on it until the end of class, you have until the posted due date.

Grading: Your final grade will be based 50% on your work in the Intro to Unix material and 50% on your work on the sysadmin material. The points will be weighted as follows:  
Command line labs 15%
Command line midterms 18%
Command line final 17%
Admin labs 35%
Admin Final 15%

Academic Integrity Policy: Assignments may be worked on and discussed in groups. If the assignment is a group assignment, the group can turn in one assignment for the entire group. If the assignment is an individual assignment, each student must turn in their own work; no direct copying is allowed. Refer to the Academic Integrity policy printed in the campus catalog and class schedule.

Computer Lab: The walk-in computer lab in Sci III 324 is available for use by students in this course outside of class time on a first come, first serve basis.