Introduction to UNIX CS208. What is UNIX? UNIX is an Operating System (OS). An operating system is a...
-
date post
20-Dec-2015 -
Category
Documents
-
view
233 -
download
0
Transcript of Introduction to UNIX CS208. What is UNIX? UNIX is an Operating System (OS). An operating system is a...
Introduction to UNIX
CS208
What is UNIX?
• UNIX is an Operating System (OS).
• An operating system is a control program that allocates the computer's resources, schedules tasks, and helps the user communicate with the computer.
• Most popular PC operating systems: Windows 95/98/2000/XP -- proprietary, single-user OS
• UNIX was developed long before Windows, about 30 years ago at AT&T Bell Labs (95% written in “C” programming language).
UNIX Compared with other OS• Mature and stable OS
• Large user community
• Vendor-independent OS
• Network-portable window system (X)
• Runs on range of hardware (PC - Cray)
• Common Open System Environment (COSE)– Source code is available to view and modify
Multi-user, Multi-tasking• More than one user can run at the same time and each
user can run more than one task at the same time
• In Unix, each program is started as a process.
– A process is a program in execution.
• Usually only one copy of a program, but there may be many processes running the same program.
• Each interactive user may have:
– only one process in foreground
– may have several processes in background
Most Important Feature of UNIX
• Most important feature of UNIX: STABILITY– 30 years to get the bugs out– Important in shared environments and critical
applications
• Shared Environments Example: University– Windows NT crashes at least once a day in labs– UNIX servers crash about once a semester
(usually due to hard disk failure)– UNIX more than 100 times more reliable than
Windows!
UNIX Versions • Two main types of UNIX:
– BSD (Berkeley Software Distribution)/OSF– System V (developed at AT&T)
• Different versions of UNIX for different hardware:– Sun Microsystem’s Solaris (and SunOS)– Hewlett-Packard’s HP-UX– IBM’s AIX– SGI’s IRIX
Unix Operating System Structure• OS mediates between the user and the
computer User
Application Programs
Kernel
Hardware
Shell
Why has Unix been successful?• UNIX is portable, because it was written in C.
– Provides hardware independence.
• Open System
– Underlying operating system source code is available
• Provides a productive environment
– Allows multi-tasking and sharing of data
– Excellent C development environment is built-in
– Networking capabilities are built in
Unix Disadvantages UNIX is not as user-friendly as some operating
systems– Command names are often cryptic– User help is not great
UNIX does not error check user commands to protect users from hurting themselves or the system– Example: Request to copy a file over an existing
file will overwrite the existing file with no warning.
Unix Disadvantages
UNIX is less secure than some operating systems– Developed to be used as a software development
environment, in which all users are working together cooperatively. Security was traded for more convenience and flexibility.
– Well-documented open code makes hacking easier.
UNIX's portability also makes it less efficient on any particular hardware.– Proprietary operating systems are optimized for that
hardware.
Basic UNIX Commands
The Unix PromptThe Unix Prompt
• After you log in, and the startup files have been run, the shell will display a prompt$
• Different shells and different systems have different prompts.
– Two common prompts are $ and #.
– Your prompt can be changed.
• A prompt (plus a cursor) tells you that the system is ready for your commands.
Standard Command Format
Format: command [options] <arguments>• stuff in brackets is optional• boldface words are literals (must be typed as is)• <> enclosed words are args (replace appropriately)
• Commands are case sensitive (mostly lowercase)
• Spaces must be inserted between commands, options, arguments
Standard Command Format• Options (also called flags) modify how the
command works (command behavior)– single letters prefixed with a dash “-”– combined or separated (e.g., -al = -a -l)– come before arguments
• Arguments define the command scope– Optional for some commands, mandatory for others– Some commands assume a default argument if none is
supplied – Usually files or directories
Basic Commands
date - Print the date and time
$ date
Wed Feb 3 12:13:07 MDT 2003
$
echo - Display command line input to screen
$ echo Hi, I am your instructor!
Hi, I am your instructor!
$
Commands to Manipulate Files
• ls lists files in a directory (names, not the contents of files)
• cat, head, tail, more display files
• rm removes files (and directories)
• cp copies files (and directories)
• mv moves (renames) files (and directories)
List Files in a DirectoryFormat: ls [-alRF…] <file-list>
-a list all files including the dot files
-l long format (show file type, permissions, #links, owner, etc)
-R recursive list subdirectories
-F list directories with file type(trailing / *)
Listing Files in a DirectoryListing Files in a Directory
1 drwxr-xr-x 180 root admin 512 Oct 1 ../1 drwxr-xr-x 180 root admin 512 Oct 1 ../
2 -rw-r--r-- 1 smith fac 1314 Oct 3 file2 -rw-r--r-- 1 smith fac 1314 Oct 3 file
BLOCKSIZE
PERMISSIONSFILETYPE
# DIRECTORIES
OWNER
GROUP FILE SIZE
MODIFY DATE FILE
NAME
Getting HelpGetting Help• Check the manual pages!
– For shell command, system programs, and library functions.
• Format: man <command>man –k <keywords>
• Man(ual) page formatNameSynopsisDescription (options, defaults, detail desc., examples)FilesSee AlsoBugs
man Examples
$ man man
Displays help on the man command
$ man who
Displays help on the who command
$ man -k mail
Checks all man pages for keyword “mail”
man Output Example$ man lsReformatting page. Wait... done
User Commands ls(1)
NAME ls - list contents of directory
SYNOPSIS /usr/bin/ls [ -aAbcCdfFgilLmnopqrRstux1 ] [ file... ] /usr/xpg4/bin/ls [ -aAbcCdfFgilLmnopqrRstux1 ] [ file... ]
--More--(11%)
spacebar - move forward one pageb – move back one pageh – more commands q – quit
Viewing FilesViewing Files
cat concatonate and print to screen (ctrl-s and ctrl-q to stop/start)
head display first x lines of file
tail display last x lines of file
(both default to 10 lines)
more display part of file to screen
Example: cat, head, tail
$ cat letter
Mr. Jones,
It is getting late. Please order some pizza and stop
by my office. We’ll tidy up a few more things before
calling it a night.
Thanks!
Ben
$ head –2 letter
Mr. Jones,
It is getting late. Please order some pizza and stop
$ tail –1 letter
Ben
Copying FilesFormat:
cp [-ir…] file1 file2
cp [-ir…] file-list directory
cp [-ir…] directory directory
– i for interactive. Prompt whenever a file will be overwritten.
– r for recursive. copy a whole directory tree.
cp Examples
$ lsletter1 secret$ cp letter1 letter2$ ls -Fletter1 letter2 secret/$ cp letter1 letter2 secret$ ls secretletter1 letter2
Moving /Renaming FilesFormat:
mv [-i…] file1 file2
- Renames file1 to file2
mv [-i…] file-list directory
- Moves files from current location to new directory
mv [-i…] directory directory
- Renames a directory
mv Examples
$ ls
letter memo saved
$ mv memo memo1
$ ls -F
letter memo1 saved/
$ mv saved trash
$ ls -F
letter memo1 trash/
Deleting FilesFormat:
rm file-list
- Deletes files
rm -r directory
- Deletes directory and all files and directories within it
- Use with CAUTION!
rm Examples
$ ls -F
letter1 letter2 secret/
$ rm letter1
$ ls -F
letter2 secret/
$ ls –F secret
memo morestuff/
$ rm –r secret
$ ls
letter2