Comp 2673, Spring 2002
March 25, lecture notes
Here's what we'll study in this course:
learning UNIX and learning some advanced C++ topics
UNIX:
using a command-line interface
the file system/managing files
editing (vi and emacs)
file permissions
filters/pipes
wildcards
history/aliases and other shell goodies
job control
tar
makefiles, g++, gdb
miscellaneous UNIX commands
C++
templates
STL
inheritance
exception handling
Web-page for course - read it thoroughly!
course web site
Contains information about requirements for the course
Grading
Assignments
Schedule
Lecture notes, homework assignments, programming assignments
will be regularly posted to this site!
Now, we begin learning UNIX
We'll spend a few days on this before covering to new C++ concepts,
because you can't do anyting until you can use the system.
A multi-user system - working in a community
1. Don't reboot, tamper with machines
2. Don't overuse/misuse the system
3. Don't leave machine "locked" for excessive amounts of time
3. Respect other's files/directories
3. Maintain security on the system (good passwords, no hacking)
4. Maintain your own privacy by controlling access to your files
UNIX
1. Way faster than a gui interface
2. Many ways to do things, not just one
3. Much more powerful and flexible than
4. You have to be more educated to use it
5. Unlike windows systems, the more you use it the faster you become
Logging on remotely - demo of the UNIX operating system
1. Download SSH
2. Click on the SSH icon on your desktop
2. Log in! For jobs that do a lot of processing, don't always log
on to the same workstation
3. Once you log on, you're interacting with a "shell", or "command shell"
Notice the prompt (it can be changed) that indicates it's waiting
for a command. Tomorrow in lab you will:
log on
change password
create directories, move around directory structure
list files, copy files, move files
edit files with vi
4. This is a multi-user system - try whoami, w, finger
5. The directory structure is just like folders on MSWindows,
but without the visual interface.
In UNIX you are "sitting" in a present working directory,
that you can see with the "pwd" command.
You start out in your home directory
Examine the file system with pwd, ls, cd
6. UNIX commands often have flags (switches)
Examples: ls -a
ls -l
man -k
7. Tomorrow in lab you will learn to use vi. Next week you will learn
emacs. Both are powerful editors that are a little difficult in
the beginning but with practice become tremendously efficient.