|
View Weekly Course Schedule.
View Course Resources. | ||
|
View Project #1 requirements View Project #2 requirements View Project #3 requirements View Project #4 requirements View Project #5 requirements View Project #6 requirements |
View HW #1 View HW #2 View HW #3 View HW #4 View HW #5 View HW #6 View HW #7 |
| Time & Place: | Ref. No. 41774: Tuesday & Thursday, 7:30–9:10 PM, Dale Mabry Room DTEC–427 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Instructor: |
Name: Wayne Pollock E-mail: Internet: Office & Phone: DTEC–404, 253–7213 DM Office Hours: Tuesday, Thursday, 3:55–5:25 or by appointment.
| ||||||||
| Text: | Hahn, Harley, Harley Hahn's Guide to Unix and Linux, ©2008 Harley Hahn, Pub. by McGraw-Hill. ISBN-13 # 978-0-07-313361-4. | ||||||||
| Description: | (This course is 3 credit hours long.) This course is designed to teach the Unix and Linux operating systems. Emphasis will be on using the command line utility commands, working with files and directories, using the shell and creating and reading simple shell scripts. Students will learn important Unix/Linux operating system concepts to prepare the student for follow-up administration, networking, and security courses. This hands-on course will be project oriented. Additional topics include email and using the X Window GUI. | ||||||||
| Objectives: | After completing this course students will be able to:
| ||||||||
| Prerequisite: | CGS 1000 or permission of the instructor. Students enrolled in a degree or college credit certificate program must complete all prerequisites. Note! HCC registration computers may not check for prerequisites before allowing you to enroll. Be certain you have all required prerequisites or you won't have much of a chance of success. Also you may be dropped from the class. | ||||||||
| Facilities: | Assignments must be completed on
YborStudent.hccfl.edu (a Linux server), which can be
accessed from on or off campus using any ssh capable
terminal emulator such as PuTTY.
(Your user ID and password will be provided in
class, along with instructions on how to use this.)
From off-campus, you can practice using any Unix/Linux system
available (or install Unix or Linux at home).
Your student accounts on You will need your own flash disk, writing materials (for taking notes), and three Scantron 882–E or 882–ES forms (for taking tests). You can use HawkNet (WebAdvisor) or Florida Virtual Campus (Formerly FACTS.org) to obtain your final grade for the course. You can use your assigned Hawkmail email address if you wish to discuss your grades via email. (Note, it is possible to setup your Hawkmail account to forward all received emails to some outside email account; but you still must send mail from Hawkmail to discuss grades.) Most college systems now (or will in the future) use a single sign-on user ID, known as HCC “NetID”. Visit netid.hccfl.edu to register and to update your credentials. (Your initial password is your uppercase first name initial, lowercase last name initial, and your seven digit student ID number.) Note, the quickest way to resolve login issues is the HCC Live Web Portal (hcclive.hccfl.edu). Hawk Alert text messaging service allows you to receive important information regarding campus closures or emergencies. You may also sign up for financial aid notifications and registration and payment deadlines. This is a free service, although some fees may be applied by your cellular service provider or plan for text messages. To sign up, or for more information, visit www.hccfl.edu/alerts/. HCC DM
Open Lab
| ||||||||
| Grading: |
Grading scale:
A=90-100, B=80-89, C=70-79, D=65-69,
F=0-64 | ||||||||
| Policies: |
| ||||||||
| Projects: |
Projects will be assigned from the class web page at various times.
You will have sufficient time to complete the projects,
at least a week but usually two weeks.
Although there may be some in-class group exercises,
you must work individually on the projects,
typically outside of regular class hours.
Projects are graded on the following scale:
A = 95% (Excellent: Good design with good comments, style, and extras) Minor extras worth +5 points, minor omissions or poor design worth -5. Projects are not graded when turned in. They are graded all at once, sometime after the project deadline has passed (usually the following weekend). Every effort will be make to grade projects within a week of the due date, or as soon thereafter as possible. Further details will be provided with your first project. (See also submitting assignments below.)
Most project will require you to create certain files on the
| ||||||||
| Homework Assignments: |
Homework assignments (also known as take-home quizzes)
are assigned from the text at various times.
Some assignments may be based on on-line readings instead of the
text.
You may work together in small groups (two or three people) for the homework assignments, provided the names of all who worked together are listed. Each student must still submit their own copy. Homework assignment questions are intended to focus your studying of the readings and to stimulate class questions and discussion. For this reason they are generally due before the class where that material is covered. It is not intended that students can answer all the questions assigned, but you must show you have thought about the questions and read the required material in order to earn an “B” grade or higher. | ||||||||
| Submitting Assignments: |
Assignments should be submitted by email to
.
Please use a subject such as “Homework Assignment #1 Submission”
so I can tell which emails are submitted work.
Send only one assignment per email message.
Email your homework assignments by copy-and-paste into your mail program.
(Please do not send as attachments, except
when noted in the assignment directions.)
If possible use the “text” and not the
“HTML” mode of your email program.
Project submissions must be sent locally to
In the event a student submits more than once for the same assignment, I will ignore all but the last one received up to the deadline. Assignments submitted after the deadline will not count toward your grade except as allowed by the course late policy.
The HCC email server automatically accepts and
silently discards email with certain types of attachments.
If you must send email to my Internet (non-YborStudent) email
account please avoid using any attachments, but especially
“zip” files.
To send email with a “ To avoid having your submitted work rejected as “spam”, you can use CampusCruiser to send email to professors. (This doesn't always work either!) If you have an email problem you may turn in a printout instead. Be sure your name is clearly written on the top of any pages turned in. Please staple multiple pages together (at the upper left). Always keep a backup copy of your submitted projects, until you are certain they have been received and graded correctly. |
| HCC Academic Calendar: | |
|---|---|
| Classes Begin: | Monday 5/13/2013 (First class meeting: Tuesday 5/14/2013) |
| Add-Drop Ends: | Friday 5/17/2013 |
| Last Day to Withdraw: | Friday 7/5/2013 |
| Classes End: | Friday 8/9/2013 (Last regularly scheduled day of class: Thursday 8/8/2013) |
| Grades Available: | Tuesday 8/13/2013 (from Florida Virtual Campus (Formerly FACTS.org) or HawkNet) |
| HCC is closed on: |
Monday 5/27/2012 (Memorial Day), Thursday 7/4/2012 (Independence Day) |
If, to participate in this course, you require an accommodation due to a physical disability or learning impairment, you must contact the Office of Services to Students with Disabilities, Dale Mabry campus: Student Services Building (DSTU) Room 204, voice phone: (813) 259–6035, TTD: (813) 253–7035, FAX: (813) 253–7336. Brandon campus: voice phone: (813) 253–7914.
HCC has a religious observance policy that accommodates the religious observance, practices, and beliefs of students. Should students need to miss class or postpone examinations and assignments due to religious observances, they must notify their instructor at least one week prior to a religious observance.
| Quotes: | “
Tell me and I'll listen. Show me and I'll understand. Involve me and I'll learn.” | — Lakota Indian saying | |
|---|---|---|---|
| “Learning is not a spectator sport!” | — Chickering & Gamson |
| Dates Tue Thu |
Topics, Assigned Readings, and Assignment Due Dates |
|---|---|
| 5/14 |
Course introduction, Personal introduction, LAN use.
Assign User IDs for LAN and Unix systems,
discuss passwords.
Basic procedures: Telnet, SSH (PuTTY),
login/logout.
Open Lab procedures and hours, virus checking, Role of lab techs.
Overview of computer system hardware: CPU (SMP and multi-core), I/O, memory (RAM, ROM, cache), Storage (disks, files, and directories), clock, bus. The operating system (“OS”, kernel, utilities, interfaces, device drivers). Text (TUI) and graphical (GUI) user interfaces. Readings: Chapter 1 |
| 5/16 |
History and overview of Unix and Linux.
Client – server computing.
Some differences between various
types of Unix and Linux (distributions, versions).
Features of Unix:
Utilities and pipelines,
multi-tasking (and time-slices), multi-user, powerful filesystems
(no drive letters), strong security.
Professional societies, certifications, and jobs.
Begin work on homework assignment #1. Readings: Chapters 2, 3 |
| 5/21 5/23 |
The shell and the terminal emulator
(vt100/ANSI, xterm, etc.), TERM,
prompt, starting up (login, MOTD, logout),
upper- and lower case, stty sane,
Security: passwd, Userids, Groupids, Superuser (root),
Password generators pwgen and agp,
xlock and vlock,
id, groups, whoami (and
who am i).
Correcting typing mistakes.
Typing commands (using arguments and options.)
A quick overview of some common commands to use:
command line options,
who, w, more and
less (b, q, space, and
enter), cal, date, dict,
set, finger, chfn,
chsh, mkdir, ls
(with “-l” and “-a” options),
uname, pwd, cd,
echo, cat, wc.
Also know the files /etc/passwd, /etc/group, and
the PATH environment setting.
Readings: Chapters 4, 6 (pages 93–98), 7, 8, 10 Homework assignment #1 due 5/21 |
| 5/28 5/30 |
Set finger data.
Transfer files with ftp, sftp,
scp, winscp.
Converting file format: unix2dos.
Printing (lp, lpr).
The man, info commands (sections,
man page syntax, -f and -k options,
whatis and apropos).
Bash help, /usr/share/doc,
Web resources (www.tldp.org).
Email, using pine. biff.
Internet email addresses.
MTA, MUA, MDA, MSA,
MIME, POP, IMAP,
SMTP.
(Demo mailx -v.)
mailer-daemon errors.
Public key encryption and digital signatures
(PGP/GPG, Phil Zimmerman),
Privacy, legal, and ethical issues of email.
(Spam, mail-bombs, Internet email, return-receipts.)
Readings: Chapters 9, 13 (pages 286–287), On-line email tutorial and study guide Homework assignment #2 due 5/28 Project #1 due 5/30 (in-class) |
| 6/4 |
Basic use of the vi editor:
a,i,
ESC, x, dd, u
(and ^r on vim), G, 1G,
/, :w, :wq, :q!,
:set [no]autoindent, :set all).
Create .vimrc and other files.
(Additional vim commands: :help,
:syntax off, :set nohlsearch.)
Demo of pico (or nano) editor.
spell, ispell, and aspell check.
Working with files and directories: filenames, hidden (or “dot”) files, directories, directory hierarchy, working directory, home directory, subdirectories, absolute (complete) and relative (partial) pathnames, “root” directories, . and .. directory
entries.
Readings: Chapter 22 (pages 559–589, 594–598, 603–606, 613–615, 619–623), Chapter 23 (pages 627–630), 24 (pages 659–666). Homework assignment #3 due 6/4 |
| 6/6 |
Exam #1
Project #2 due 6/6 |
|
6/11 6/13
6/18
|
FHS,
Special (device) files (/dev/null, /dev/tty,
/proc), standard directories.
Filters.
Commands to know:
ls (and -ladR options),
cp (and -iR options),
mv, rm, cd,
and permissions required for these.
Also pwd, mkdir, rmdir, pr,
nl, cat, tac, rev, file, head, tail (and the
-n option), diff,
compression and archiving utilities including
compress/uncompress, gzip/gunzip, bzip2/bunzip2,
xz/unxz, zip/unzip,
and tar (with the -ctxvzf options).
Other filter commands: cut, sort, uniq, tr,
grep (and regular expressions), wc
(and the -l option),
od, and strings.
General-purpose filters: awk, sed, perl.
Filters not covered on exams: shred, expand, unexpand, fmt,
tailf, vimdiff, 7zip (7za), unrar, cabextract,
xxd and hexdump, enscript, ps2pdf,
ps2ascii, gpg (and the -c option).
Readings: Chapters 23 (pages 631–634, 637–641, 643–652), 24 (pages 666–697, 702–710), 25 (pages 717–729), 16–21 (pages 373–383, 388–392, 399–410, 421–427, 430, 436–445, 447–455, 459–462, 471, 480, 482–486, 488–491,497–500, 541–544, 551–556), The man pages for tar, gzip,
Filesystem Hierarchy Standard on-line resource
Project #3 due 6/18 |
|
6/20
6/25 6/27
|
Disk and Filesystem concepts:
Disk geometry, low and high level formatting, partitions
and slices, mounting, filesystem types
(ext4, FAT*, VFAT,
also NFS).
Inodes, directories, ls -i.
Working with removable media (DOS floppies and flash
drives, CDs, etc.):
using mtools and auto-mounters.
Hard links and symbolic links.
Reporting disk space usage.
Searching for files.
(discard find error output by
adding: 2>/dev/null).
Commands to know:
ln, mount (and the mount table),
df -hi, du -sh,
quota,
find (including finding files by name),
and locate.
Readings: Chapters 23 (pages 642, 653–655), 24 (pages 691–697), 25 (pages 740–760), 15 (pages 360–361), a find command tutorial |
| 7/2 |
Changing file and directory permissions.
Commands to know:
chmod, chown, chgrp,
touch, umask.
Readings: Chapters 6 (pages 118–122), 25 (pages 715–717, 729–748), 21 (pages 544–550), An octal number chart on-line resources Homework assignment #4 due 7/2 |
| 7/4 | Independence Day — HCC Closed |
| 7/9 | Exam #2 |
|
7/11
7/16
|
The shell and the environment:
bsh, csh, ksh,
bash, and other shells.
Environment variables: HOME, TERM, PATH, PS1,
TZ, MANPATH, MAILCHECK,
LOGNAME (USER), PWD.
Parameter substitution (${var}),
env, echo, export, set, set -o, shopt.
Locales, locale command, LC_*,
LANG.
Quoting, Command grouping.
Project #4 due 7/11 Readings: Chapters 11, 12, 13 (pages 277–285, 287–296), 14, 19 (pages 466–471), 15 (pages 355–357) |
|
7/18
7/23
|
More on the environment:
I/O redirection (pipes, >, >>, 2>, <,
noclobber, /dev/tty, /dev/null),
login scripts and “RC” scripts, cmd-line processing.
Aliases, Pathname expansion (a.k.a. globbing,
filename generation and completion, or most commonly, wildcards):
“*”, “?”, and character classes
(“[list]”).
Tilde (“~”) expansion, brace (“{}”)
expansion, history and fc,
^r, auto-completion (<tab>).
Readings: Chapters 14, 15, 24 (pages 697–703), 13 (pages 302–311, 316–318) Homework assignment #5 due 7/18 Project #5 due 7/23 |
|
7/25
7/30
|
Writing shell scripts:
concepts, basic scripts, running scripts in the current directory with
./cmd, sourcing scripts (. [see dot]
and source),
proper permissions for scripts.
Comments in scripts.
The she-bang line.
Command line arguments (positional parameters).
Command substitution (backquotes) and using with
set --.
The colon (“:”) command.
Arithmetic expansion, let, expr.
Using the exit status: exit, $?.
if, test.
Debugging shell scripts with set -x.
Readings: Pages 299–301, 336–337, on-line scripting tutorial and study guide, On-line doc for source (a.k.a. dot or “ .” shell builtin) command.
Homework assignment #6 due 7/25 |
|
8/1
8/6
|
Processes: focus and foreground, background
(“&”), fork and
exec, PID, PPID.
ps (ATT and BSD options:
-ef, alx),
top, w, pgrep.
(Threads, process groups, and sessions not covered by exams.)
Special processes: init, ...
Signals: kill [-l], pkill,
stty -a.
Shell job control: fg, bg,
jobs [-l], ^Z.
nohup.
Process priorities, nice, renice.
Exit status, orphans, and zombies.Job scheduling: at, atrm, atq, crontab, anacron,
allow and deny files.
Communications: mesg, write, wall, talk, ytalk,
irc, and xmessage.
Readings: Chapter 26 (pages 767–803, 806–814), Chapter 5, 6 (pages 101–118), nohup tutorial, man pages for communications commands, on-line at and crontab references Homework assignment #7 due 8/1 |
| 8/8 |
Exam #3
Project #6 due 8/8 |
| Resources | |||||
|---|---|---|---|---|---|
| www.chiark.greenend.org.uk/~sgtatham/putty | Download the PuTTY suite of SSH tools
(SSH, scp, sFTP,
and others); use the “hostname” of:
YborStudent.hccfl.edu |
sourceforge.net/projects/winscp/ | WinSCP GUI wrapper for the PuTTY scp and sFTP tools | ||
| Tampa-St. Pete Linux User's Group (SLUG) | Holds mothly meetings, provides help and information, and is open to all. See also the Pinellas Unix People (PUP) | ||||
| PC hardware (svg) | A graphic showing the components of a modern personal computer | Software Layers | A diagram showing the different layers of software | ||
| Ken Thompson and Dennis Ritchie | The inventors of Unix in front of a PDP-11 (See also Ritchie's photo on his website and photo of Ken Thompson See this short tribute to Ritchie, who passed away in 2011. | Photo of Linus Torvalds | The inventor of Linux | ||
| Unix History Timeline | A fairly complete timeline of all Unix versions | Unix Poster | A PDF Unix milestones poster from the Open Group | ||
| History of Unix | Many Unix history links and resources (including timeline above) | The real history of Unix | As told by its inventor, Dennis Ritchie (See also Unix of Ken Thompson) | ||
| Brief history of AT&T anti-trust fight | Includes a lot of insight to the origins of Unix, including a video interview with Thompson and Ritchie | distrowatch.com | Download free Unix and Linux distributions and Live CD images, and get distro rankings | ||
| www.unix.org | OpenGroup's Unix site, include the Single Unix Specification | tldp.org | The Linux documentation project (How-To guides) | ||
| www.gnu.org | Most of the free Unix and Linux software is actually Gnu software | Free Software Foundation | The FSF Sponsors the Gnu project and protects open source software with the GPL license and by other means | ||
| sFTP reference | Guide for using the command line secure FTP program | man page “synopsis” syntax | The official standard for command descriptions | ||
| Download Gnu Vim (vim.org) | A Windows installer for Gnu Vim | VIM Quick Reference (PDF) | VIM documentation (and the most current version) can be found at www.vim.org | ||
| Play Vim Adventures | An adventure-like game designed to teach you vim | ||||
| Oracle Unix document collection (formerly docs.sun.com) | Solaris man pages and other documentation | FreeBSD on-line man pages | Manual for many versions of Unix and Linux | ||
| Email tutorial, study guide | A study / review guide on email | Public key encryption | A tutorial on encryption, digital signatures, Internet security, etc. | ||
| Filesystem Hierarchy Standard | A description of the standard directories on Linux
(See latest draft)
See also hier(7)
for Linux, and
filesystem(5) for Solaris |
Pathname Resolution | Linux man page explaining how a pathname is resoved to an inode number | ||
| find command tutorial | A brief description of find with examples |
Octal Number Chart | Shows how to use octal numbers with chmod and
umask |
||
| Shell Scripting Overview | A brief introduction to some basic shell scripting | SSC's Bash shell reference card | Posted here by permission of SSC, Inc. | ||
| LDP: Bash scripting guide and reference | The best reference to all Bash shell scripting features, with examples | Bash shell scripting tutorials | As found by google.com search for Bash shell scripting tutorial | ||
nohup |
A brief nohup tutorial |
||||
| at command syntax | Some at samples of entering times and dates,
and other info |
crontab command syntax | Overview of crontab and file syntax |
||