CS114 - Unix Tools. Fall 2000

[Instructor|Announcements|Prerequisites|Books|Syllabus|Links] Last update: Tue, Nov 14


Aleksey Nogin, home page - http://www.cs.cornell.edu/nogin/, e-mail - nogin@cs.cornell.edu.

Lectures: 12:20-1:10 PM MWF, 101 Phillips Hall

Office hours:
Monday, November 6: 4PM-5PM, Upson 4139, 6PM-7PM, CSUGLAB
Other weekdays, if you send me an e-mail several hours in advance, I would be happy to meet in the usual time slots: Monday 4PM-5PM, Wednesday 2PM-3PM, Thursday 2:30PM - 3:30PM or we can pick some other time slot if none of the usual ones is convenient for you.

Course runs 9/25 - 10/27. Add/drop deadline is 10/02.




This course assumes some basic familiarity with computers (such as knowing what a "file" is and understanding why you shouldn't share your password with other people). It assumes no previous knowledge of Unix or expertise in any particular programming language, but some programming experience would help.



UNIX for Programmers and Users, G. Glass & K. Able, Prentice Hall, 1999. ("G&A")
Introduction to UNIX, D. I. Schwartz, Prentice Hall, 1999 ("DIS")
UNIX in a Nutshell, A. Robbins, O'Reilly, 1999 ("AR")

All books are optional. All books will be available on reserve in the engineering library.

DIS is great for beginners. It starts from the very basics (it starts with "What is a computer?" to be exact) and slowly explains Unix basics in great detail and lots of examples. Unfortunately it only covers the material of the first several lectures.

G&A has almost everything you'll need for the course, but it's not very verbose.

AR is a reference guide. It does not explain how things work, only what they do. It gives few examples.



This syllabus is subject to change

09/25Unix directories structure, pwd, $HOME, cd, mv, cp, ls, mkdir, rmdir, touch, rm
Suggested reading: slides, DIS chapter 5, G&A pages 23-28, 30-34 and 35-37
09/27Files and directories permissions, chmod, chown, chgrp, ls,
Suggested reading: slides, DIS section 8.3, G&A pages 40-48
Introduction to shells, bash, csh, tcsh
Suggested reading: DIS section 7.2, G&A pages 75-80, AR chapter 3
09/29Communication, telnet, ssh, scp, pine, lynx, man,
Suggested reading: slides, DIS sections 4.5, 7.5 G&A chapter 8, Getting Started with Pine, Getting Started with ssh
10/02File editing, vi, vim, gvim
Suggested reading: slides, DIS sections 3.2-3.3, G&A pages 54-63, AR chapter 8, VIM home page, VI Quick Reference
Regular expressions, text processing tools, grep, egrep, sed, sort, wc
Suggested reading: slides, DIS section 8.2, G&A pages 606-608, 219-226, 253-257, AR chapter 6, A Tao of Regular Expressions, Regular Expressions resources on the Web
10/09Fall break
10/11Process I/O, pipes, shells, sh, ksh, bash, csh, tcsh, chsh, shell command line expansion
Suggested reading: slides, DIS sections 7.3, 8.5 G&A pages 81-91, 97-102, AR chapter 3
10/13Shells, stderr redirection, shell variables, environment variables
Suggested reading: slides, DIS section 7.4, G&A pages 93-95, 112-119, 140-144, 183-188, 191-194, AR chapter 3, pages 214-218, 228, 267-270, 277-278
10/16Shell programming, test, xargs
Suggested reading: slides, G&A chapters 4-6, AR chapters 4 and 5
10/18Shell process management, ps, stty, signals, kill, customizing bash and tcsh
Suggested reading: slides, DIS sections 7.6, 8.5 G&A pages 97-102, chapters 4-6, AR chapters 4 and 5
10/20Advanced file systems concepts - file system conventions, NFS, symbolic links, ln
Suggested reading: slides, G&A pages 248-249
10/23Advanced text file utilities, tr, sed, awk nawk gawk
Suggested reading: slides, G&A pages 243-248, 253-258, AR page 173, chapters 10-11,
10/25X Windows
Suggested reading: DIS appendix B, G&A chapter 10,
10/27Review and Q&A lecture

This course is graded S/U. There will be 4 homeworks. To get an S, you'll need to get either at least 30 points (out of 40) for the first 3 homeworks or at least 32.5 points (out of 65) for all the 4 homeworks.




Accessing the newsgroup

To access the newsgroup using pine on babbage, start ~cs114/bin/pine, go to Setup menu, Config submenu and set nntp-server to be news.cit.cornell.edu. After that, exit from the config, exit from pine. Now start ~cs114/bin/pine again, go to the Folder List menu, go to News on news.cit.cornell.edu/nntp go to Add menu and add cornell.class.cs114 (can take a minute to process). Now you are all set - just go into that newsgroup.