Introduction to UNIX CS208. What is UNIX? UNIX is an Operating System (OS). An operating system is a...

Post on 20-Dec-2015

226 views 0 download

Tags:

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