CSCI 330 THE UNIX SYSTEM
Dr. Reva Freedman Department of Computer Science Northern Illinois University Spring 2009
INTRODUCTION
What is an OS and what is it good for? Where to get Linux Basic commands Getting help
CSCI 330 - The UNIX System
WHAT IS AN OPERATING SYSTEM?
UNIX is an Operating System
CSCI 330 - The UNIX System
Software
that manages (allocates and deallocates) system resources in an efficient and secure manner
System Resources
CSCI 330 - The UNIX System
Hardware
Software
System Application Software Software
OBSOLETE TYPES OF OPERATING SYSTEMS
Single-user, single-process operating systems:
CSCI 330 - The UNIX System
allow
only one user at a time on the computer system user can execute/run only one process at a time Examples: DOS, Windows 3.1
Single-user, multi-process operating systems:
allow
a single user to use the computer system user can run multiple processes at the same time Example: OS/2
CURRENT OPERATING SYSTEMS
Multi-user, multi-process operating systems:
allow
multiple users to use the computer system simultaneously Each user can run multiple processes at the same time Examples: UNIX, Windows NT (2000, XP, Vista)
CSCI 330 - The UNIX System
UNIX OPERATING SYSTEM
UNIX is a multi-user, multi-process operating system UNIX is designed to facilitate programming, text processing and communication
CSCI 330 - The UNIX System
USES OF UNIX
User Support Tools
Text
processing (vi, sed, awk) Productivity applications
CSCI 330 - The UNIX System
Programmer Support Tools
Programming
languages & compilers (C, C++,
Java) Shell scripts Personal software process: version control
Source Code Control System (SCCS) Revision Control System (RCS)
Unix as server
Web
server, mail server, application server
WHERE TO GET LINUX
[Link] or [Link]
secure
login via ssh from another Linux machine or Putty from Windows Homework must run on these!
CSCI 330 - The UNIX System
Install your own Linux system
Spare
machine Dual boot Linux on a CD (slow)
Other
Cygwin:
Unix utilities on Windows Windows Services For Unix (for some versions of Windows) MacOS 10 is Unix under the hood
HISTORY OF UNIX
Invented by Ken Thompson at AT&T in 1969 First version written in assembly language
single
CSCI 330 - The UNIX System
user system, no network capability
Thompson, Dennis Ritchie, Brian Kernighan
rewrote
Unix in C: processor/architecture independent
Unix evolution:
Bell
Labs, USL, Novell, SCO BSD, FreeBSD, Mach, OS X AIX (IBM), Ultrix, Irix, Solaris (Sun), Linux: Linus Torvalds
10
COMPONENTS OF UNIX
11
CSCI 330 - The UNIX System
LINUX DISTRIBUTIONS
Base distributions:
Redhat
CSCI 330 - The UNIX System
Debian Suse
Derived distributions:
Fedora Ubuntu
[Link]
12
UNIX SHELL
traditional user interface = the command line
CSCI 330 - The UNIX System
Features:
Interpret
and execute commands Command history and editing Command scripting Job control
13
UNIX SHELLS
sh
Bourne
shell: Steve Bourne, 1978 Almquist shell (ash): BSD sh replacement Bourne-Again shell (bash): GNU/Linux
CSCI 330 - The UNIX System
csh
C
shell, Bill Joy, BSD, 1978
tcsh
Tenex
C shell (tcsh): GNU/Linux
14
others: Korn shell (ksh), Zshell (zsh),
COMMAND LINE STRUCTURE
% command
Command name
[-options]
[arguments]
CSCI 330 - The UNIX System
Command prompt
Command modifier; usually one character preceded by + or sign
Arguments can be: 1. More information 2. Object identifiers 3. Names of files
UNIX is case sensitive Must be a space between the command, options and arguments No space between the plus or minus sign and the option letter Fields enclosed in [ ] are optional
15
COMMAND LINE EXAMPLE
% sort list % sort -f list % sort -o sorted list
Option argument
CSCI 330 - The UNIX System
Command argument
Command name
Command option
16
CORRECTING MISTAKES
Again: UNIX is case sensitive (use lowercase) Key Pressed Result
Back up & erase last character Terminates the current command (watch out for Ctrl-z: suspend command) Stops scrolling of output on screen (Ctrl-q to resume/start scrolling) Delete previous word on command line (from cursor back) Erases/deletes entire command line
CSCI 330 - The UNIX System
Backspace, Ctrl-h Ctrl-c Ctrl-s Ctrl-w Ctrl-u
17
CORRECTING MISTAKES WITH EMACS COMMANDS
Certain emacs cmds can be used on the command line Key Pressed Result
Go to beginning of line Go to end of line Go forward one word Go back one word Delete word (from cursor to end of word) Delete character at cursor Delete from cursor to end of line
CSCI 330 - The UNIX System
Cntl-a Ctrl-e Esc-f Esc-b Esc-d Cntl-d Cntl-k
18
SOME BASIC COMMANDS
passwd - change password ls - list files less - show content of file logout - logout from system date - display date and time who - display who is on the system clear - clear terminal screen script - make record of a terminal session uname -a - print current OS detail (version etc.) man - find and display system manual pages
19
CSCI 330 - The UNIX System
GETTING HELP: SYSTEM MANUAL
Section No. 1 2 3 4 5 6 7 8 System calls C library functions Special system files File formats Games Miscellaneous features System administration utilities
20
Description User commands
CSCI 330 - The UNIX System
RTFM: THE MAN COMMAND
show pages from system manual
CSCI 330 - The UNIX System
Syntax: man [options] [-S section] command-name
% % % %
man man man man
date -k date crontab -S 5 crontab
Caveats: Some commands are aliases Some commands a part of shell
21
MORE HELP: ONLINE
Some web sites
[Link] [Link] [Link] [Link] [Link] [Link] [Link] [Link]
CSCI 330 - The UNIX System
Or find your own:
Google command, arguments, error messages
22
SUMMARY
UNIX is
multi-user multi-process
OS
CSCI 330 - The UNIX System
We are using two Linux machines
[Link] and [Link] Debian distribution
23