Unix Lecture 1+2

advertisement
Introduction to UNIX
What is UNIX?




An Operating System (OS)
Mostly coded in C
Machine independence
It provides a number of facilities:



management of hardware resources
directory and file system
loading / execution / suspension of
programs
History (Brief)

1969





First UNIX at Bell Labs
The MULTICS
Kernighan, Ritchie,
Thompson



1970’s



Bell Labs makes UNIX
freeware
Berkeley UNIX (BSD)
Bill Joy vi editor, C
Shell
1980’s



System V release 4
TCP/IP
Sun Microsystems
Solaris
Microsoft Xenix, SCO
MIT X-Windows
1990’s


GNU, LINUX
Stallman, Torvalds
Why Use UNIX?






multi-tasking / multi-user
lots of software
networking capability
graphical (with command line)
easy to program
portable (PCs, mainframes,
super-computers)
continued





free! (LINUX, FreeBSD, GNU)
popular
profitable
1996 Sales: US$34.5 Billion, up 12%
not tied to one company
active community
Your Account

Each user has their own space called their
account.

Type your login ID and password to enter
your account.

Only if the login ID and password match
will you be let in.
Login to your Account
login: ad
You type your ID and RETURN.
Password:
You type your password and
RETURN. It does not appear.
$
The UNIX prompt (or similar).
You can now enter
commands.
Logout from your Account
logout
or
^D
or
exit
Press CONTROL and D
together
On-line Help

man
Manual pages
Spacebar to go on; ^C to stop
man gnuchess
man man

apropos topic
apropos game
apropos help
Lists commands
related to topic
UNIX Books




The Unix Programming Environment, Brian
W. Kernighan and Rob Pike.
Prentice Hall, Inc., 1984.
Sumitabha Das, "Unix : Concepts and
Applications"
A Student’s Guide to UNIX, Harley Hahn,
McGraw-Hill, 1993
A Practical Guide to the UNIX System, Mark
G. Sobell, Benjamin-Cummings,
3rd Edition, 1995
Hardware
Kernel
Compilers
The Shell


The UNIX user interface is called the shell.
The shell does 4 jobs repeatedly:
display
prompt
read
command
the shell
process
command
execute
command
Typing Commands

Try these:
date
cal 3 2005
who
ls -a
man cal
clear
Changing your Password

The command is:
passwd

It will ask you for the new password twice.
Date Commands

date
Gives time and date

cal
cal 1997
cal 3
cal 7 1962
Calendar
cal 9 1752
You and the System

uptime

hostname

whoami
who

Machine’s ‘up’ time
Name of the machine
Your name
Calculators

expr e
Simple arithmetic
expr 3 + 5 + 7

bc
Programmable
Calculator
Some General Purpose Commands
date
cal
who
ls
man
clear
uptime
locate
more
passwd
echo
banner
tty
uname
hostname
tput
quota
spell
whoami
apropos
whatis
which
ispell
cat
sort
pwd
Redirection, pipes , processes

Output can be redirected to a file with‘>‘:
ls > dir.txt
cal 2004 > year2004

Output can be appended to a file with ‘>>‘
cal 2004 > years
cal 2005 >> years

Pipes : sending the output of one program to
the input of the other
ls | sort
who | sort

Processes : Running two commands
sequentially
locate mj > xxx; date
locate usr > xxx &
The UNIX File System
The File

Ordinary Files

Directory Files

Device Files
The Parent Child Relationship

A simplified UNIX directory/file system:
/
etc
...
bin
date . . . cal
usr1
faculty
mj
dev
...
tmp
...
Some System Directories

/
root directory

/bin
commands

/etc
system data files
(e.g. /etc/passwd)

/dev
files representing I/O devices
Pathnames

A pathname is a sequence of directory
names (separated by /’s) which identifies
the location of a directory.

There are two sorts of pathnames


absolute pathnames
relative pathname
Absolute Pathnames


The sequence of directory names between
the top of the tree (the root) and the
directory of interest.
For example:
/bin
/etc/terminfo
/export/user/home/ad
/export/user/home/s3910120/proj1
Relative Pathnames

The sequence of directory names below
the directory where you are now to the
directory of interest.

If you are interested in the directory proj1:
proj1
s3910120
if you are in
s3910120/proj1
if you are in home
if you are in user
home/s3910120/proj1
Commands and Pathnames

Commands often use pathnames.

For example:
/usr/games/fortune
cat /etc/passwd
List the password file
Moving between Directories

s3910120’s home directory:
s3910120
hobby.c
proj1
proj2
...
...

If you are in directory s3910120 how do
you move to directory proj1?
cd proj1

You are now in proj1. This is called the
current working directory.

pwd

Move back to directory s3910120 (the
parent directory):
cd ..
Print name of current
working directory

When in proj1, move to proj2 with one
command:
cd ../proj2

../proj2 is a relative pathname
Special Directory Names



/
.
directory
..
The root directory
The current working
The parent directory
(of your current directory)
Examples

cd /

cd ~

cd

cd ../..
Change to root directory
Change to home directory
(Special case; means cd ~)
Go up two levels.
Investigate the System

Use cd

cat file
List file
cd /etc
cat passwd

ls
ls
ls /etc
Directory listing
List current dir.
List /etc
Making / Deleting / Renaming Directories

Usually, you can only create directories
(or delete or rename them) in your
home directory or directories below it.
mkdir
rmdir
mv
Make a directory
Delete a directory
Rename a directory
Permissions

ls –l /etc/passwd
-rw-r--r--


root
2365 Jul 28 16:19 /etc/passwd
read, write, execute (r w x)
rw- r-- r--
directory

1 root
owner
chmod
-w, +w ….
group everyone
Commands to work with files











cat > filename
less
head
tail
cp
mv
rm
wc
grep
spell
ispell
Communicating with People
Information on Others

users
Who else is logged on?

who
Information on current users

ps
What are people doing?
ps -au

w
w -sh

What are people doing?
A shorter report
Examine password info:
more /etc/passwd
grep s38 /etc/passwd
Fingering People

finger
finger -l

finger user
finger ad
Info. on current users
Longer information
Information on user
(need not be logged in)

finger @machine-name
User info. for
that machine
finger @catsix
finger @ratree.psu.ac.th

ping machine-name
ping catsix
Is machine
alive (on)?
(^C to stop)
Your Finger Information

chfn

finger also prints the contents of the
.plan and .project files in your home
Change your finger entry
directory. List ‘.’ files with:
ls -a
Talking

talk user
Talk to user
(on any machine)
talk ad
talk bill-gates@ratree.psu.ac.th
Get out by typing ^C

write user
user
Send a message to
on this machine
write ad

mesg n
mesg y
Switch off talk / write
acceptance.
Switch on
Sending E-mail

Send mail :
mail Add
Subject: Shoe Problem
What colour are my shoes? I cannot
see them at the moment because of my
desk.
- Jim
^D
The vi Editor

Two modes






Insert i
Command <ESC>
Append a
Replace character r, Replace word R …..
Deleting character x, Deleting line dd
Exit
Goto command mode press :wq
……

Filters

The UNIX programs that read some input,
perform a simple transformation on it and
write some output.

grep, egrep, fgrep
tr, dd, sort
Sed, awk – programmable filters


grep

grep options pattern format filename(s)

Some option




-c Counting number of occurrences
-n Line numbers along with lines
grep Mamata –e mamata database
grep [Mm]amata database
grep : Regular Expressions

Character sets


Immediately preceeding character


[mM] , [aeiou] , [a-zA-Z0-9]
G*, [gG]*
Matching a single character


2… A four character pattern starting with 2
.* A number of characters or none
grep : RE
c
^
Any non-special character
c matches
Turn off any special
meaning of character c
Beginning of line
$
End of line
.
Any single character
[…]
Any one of character in …;
ranges like a-z are legal
[^…]
Any single character not in
…; ranges are legal
Zero or more occurrences
of r
RE r1 followed by RE r2
\c

Specifying pattern
boundaries



^r pattern beginning
with expression r
^[^r] pattern not
beginning with
expression r
r$ pattern ending with
expression r
r*
r1r2
egrep : Regular Expressions




r+ : one or more occurrences of r
r? : zero or more occurrences of r
r1|r2 : r1 or r2
(r) : nested r
fgrep



Searches for multiple patterns
Does not accept regular expression
Multiple patterns are separated by new
line character.
The disadvantage of grep family is that
none of them has a separate facility to
identify fields.
sort






-f : eliminates distinction between
uppercase and lowercase letters.
-n : numeric comparison
- r : largest to smallest
+m : comparison skips first m fields
+0 : beginning of the line
-u : discard duplicates
comm


File comparison command
Gives three columns of the output




Lines that occur only in file 1
Lines that occur only in file 2
Lines that occur in both
One or more columns can be suppressed

Comm –12 f1 f2
tr

Transliteration of character in the input


tr a-z A-N
Mostly used for character conversion
Assignment
1. Try all the UNIX commands. Store the output
in a file appropriately using redirection
operators.
2. Read a word from the terminal and check if the
spelling is correct. Suggest few alternatives.
3. Create a file using Vi. Store few names in the
file. Search all the names containing the letter
M or m.
4. Create another file using cat command
5. Compare both the files to find the differences
6. Use calculator commands to compute 5
arithmetic expressions.
Download