You are on page 1of 107

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX

I.

Tng quan h iu hnh UNIX..........................................................................4


1.

H iu hnh Unix.........................................................................................4

2.

Cc c im c bn......................................................................................6

II.

Lnh v tin ch c bn......................................................................................7


1.

Cc lnh khi to...........................................................................................8

2.

Cc lnh hin th............................................................................................8

3.

nh hng vo ra.........................................................................................8

4.

Desktop:........................................................................................................8

5.

Cc lnh thao th mc v tc file...................................................................9

6.

In n............................................................................................................. 10

7.

Th tn.........................................................................................................10

8.

Qun l tin trnh.........................................................................................10

9.

Kim sot quyn hn v bo mt.................................................................10

10. Lu tr v hi phc d liu.........................................................................10


11. Cc thao tc trn mng................................................................................10
III. Thm nhp h thng - Cc lnh cn bn..........................................................11
1.

Bt u v kt thc phin lm vic-Xc lp mi trng h thng................11

2.

Cc lnh hin th..........................................................................................12

3.

nh hng vo ra v ng ng:..............................................................13

4.

Desktop:.......................................................................................................14

5.

Cc lnh thao tc trn th mc, file.............................................................18

6.

In n............................................................................................................. 25

7.

Th tn in t.............................................................................................26

8.

Qun l tin trnh.........................................................................................28

9.

Cc lnh lin quan bo mt v quyn hn....................................................29


a) Khi nim:...................................................................................................29
b) Cc lnh.......................................................................................................31

10. Lu tr v hi phc d liu.........................................................................33


11. Cc thao tc trn mng................................................................................36
IV. Lp trnh Shell.................................................................................................38

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


1.

Cc c tnh c bn......................................................................................38

2.

Lp trnh shell..............................................................................................41
a) Lnh iu kin.............................................................................................42
b) Lnh lp.......................................................................................................45
c) Shell Functions............................................................................................45
d) Lnh trap......................................................................................................46
e) Thc hin lnh iu kin vi cu trc AND(&&) v OR (||).......................46

V.

Starting Up and Shutting Down.......................................................................47


1.

Booting the System......................................................................................47

2.

Shutting Down the System..........................................................................54

VI. Managing processes.........................................................................................54


1.

Processes.....................................................................................................54

2.

Process scheduling.......................................................................................57

3.

Process priorities..........................................................................................59

VII.

Security........................................................................................................59

1.

Security datafiles.........................................................................................59

2.

Group and User administration....................................................................63


a) Group administration...................................................................................63
b) User administration......................................................................................63

3.

System access permissions..........................................................................67

4.

Acounting....................................................................................................67

VIII.

File System and Disk Administration..........................................................69

1.

Cu trc th mc trn Unix.........................................................................69

2.

Creating file systems...................................................................................70

3.

Mounting and unmounting file systems.......................................................71

4.

Managing disk use.......................................................................................74

5.

Checking file system integrity.....................................................................75

6.

Backup and restore......................................................................................77

IX. Printer administration......................................................................................78


X.

Network administration...................................................................................79

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


1.

UUCP (Unix to Unix copy).........................................................................79

2.

TCP/IP and Neworks...................................................................................82


a) TCP/IP.........................................................................................................82
b) PPP..............................................................................................................87
c) DNS.............................................................................................................88
d) NIS..............................................................................................................99

3.

NFS (Network File System)......................................................................101

4.

Mail...........................................................................................................103

5.

UNIX client...............................................................................................104

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX

I. Tng quan h iu hnh UNIX


1. H iu hnh Unix
UNIX l mt h iu hnh ph bin, trc y chng c s dng trong cc
minicomputer v cc workstation trong cc cng s nghin cu khoa hc. Ngy nay
UNIX tr thnh h iu hnh c dng cho c my tnh c nhn v phc v
cng vic kinh doanh nh kh nng m ca n.
UNIX ging nh cc h iu hnh khc n l lp nm gia phn cng v ng dng.
N c chc nng qun l phn cng v qun l cc ng dng thc thi. iu khc
nhau c bn gia UNIX v bt k h iu hnh khc l s thc thi bn trong v giao
din.
H iu hnh UNIX thc s l mt h iu hnh. N bao gm cc thnh phn trc
y (Phn c bn vn c ca h iu hnh Unix) v cc thnh phn mi b sung, n
l lp nm gia phn cng v cc ng dng.
Cu trc c bn ca h iu hnh Unix nh sau:

User
Shell
Kernel
Hardware

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Kernel
Phn qun l phn cng v cc ng dng thc thi gi l kernel. Trong qun l cc
thit b phn cng UNIX xem mi thit b ny nh mt file (c gi l device
file). iu ny cho php vic truy nhp cc thit b ging nh vic c v ghi trn
file. Vic qun l quyn truy nhp trn cc thit b thng qua h thng kim sot bo
mt quyn hn. Cc process ang thc thi c UNIX phn chi ti nguyn bao gm
CPU v cc truy nhp ti phn cng.
Khi khi ng my tnh th mt chng trnh unix c np vo trong b nh
chnh, v n hot ng cho n khi shutdown hoc khi tt my. Chng trnh ny
c gi l kernel, thc hin chc nng mc thp v chc nng mc h thng.
Kernel chu trch nhim thng dch v gi cc ch th ti b vi x l my tnh.
Kernel cng chu trch nhim v cc tin trnh v cung cp cc u vo v ra cho
cc tin trnh. Kernel l tri tim ca h iu hnh UNIX.
Khi kernel c np vo trong b nh lc n sn sng nhn cc yu cu t
ngi s dng. u tin ngi s dng phi login v a ra yu cu. Vic login l
kernel bit ai vo h thng v cch truyn thng vi chng. lm iu ny
kernel gi chy hai chng trnh c bit l getty v login. u tin kernel gi chy
getty. Getty hin th du nhc v yu cu ngi s dng nhp vo.
Khi nhn c thng tin u vo getty gi chng trnh login. Chng trnh login
thit lp nh danh cho user v xc nh quyn ca user login. Chng trnh login
kim tra mt khu trong file mt khu. Nu mt khu khng ng cng vo s
khng c thit lp v b tr li iu khin cho getty. Nu user nhp ng mt
khu chng trnh login gi iu khin ti chng trnh m c tn nm trong
password file. Thng thng chng trnh ny l shell.
Shell
Vic thao tc trc tip ti kernel l rt phc tp v i hi k thut cao trnh s
phc tp cho ngi s dng v bo v kernel t nhng sai st ca ngi s dng
shell c xy dng thnh lp bao quanh kernel. Ngi s dng gi yu cu ti
shell, shell bin dch chng v sau gi ti kernel.

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX

Chc nng ca shell


Thng vi UNIX c ba loi shell c dng ph bin. C ba u nhm mt mc
ch cung cp cc chc nng sau:
Thng dch lnh
Khi to chng trnh
nh hng vo ra
Kt ni ng ng
Thao tc trn file
Duy tr cc bin
iu khin mi trng
Lp trnh shell
Hin nay trn h iu hnh Unix ngi ta ang s dng ch yu ba loi shell sau:
Bourne shell, Korn shell, C shell. Bng sau so snh gia 3 loi shell (Theo ti liu
UNIX UNLEASHED - Sams Development Team - SAMS Publishibng)
1 tt nht, 2 trung bnh, 3 yu.
Shell

Learning

Editing

Shortcuts

Portability

Experience

Bourne

Korn

User
Gm cc tin tch, cc ng dng giao tip vi ngi s dng.
2. Cc c im c bn
H iu hnh UNIX c mt s c im sau:
a chng

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Nhiu ngi s dng
Bo mt
c lp phn cng
H m
Dng chung thit b
T chc tp tin phn cp
Bng so snh gia UNIX, NetWare v Windows NT (Theo ti liu Upgrading and
Repairing Networks QUE)
Network Goals
Interoperability
Transparency
Security
Efficiency
Reliability
Accessibility
Cost
Scalability
Third-party utilities available
Directory services
Flexibility
Performance
Print support
Years of experience

UNIX
Excellent
Good
Good
Excellent
Excellent
Good
Depends
Excellent
Excellent
Excellent
Excellent
Excellent
Good
>25

NetWare
Good
Good
Good
Good
Good
Excellent
Fair
Good
Good
Good
Good
Good
Good
>10

Windows NT
Fair
Fair
Good
Fair
Good
Fair
Fair
Fair
Fair
Fair
Fair
Fair
Fair
<10

II. Lnh v tin ch c bn


Cc lnh v tin ch ca Unix rt a dng.
Mt lnh UNIX c dng: $lnh [cc chn la] [cc i s] lnh thng l ch nh.
Unix phn bit ch ln, nh vi ch ln.
V d: $ls -c /dev
Vi ngi s dng h thng, ta c th chia lnh thnh cc nhm sau:
1. Cc lnh khi to
login

Thc hin login vo mt ngi s dng no


7

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


su

Chuyn sang ngi s dng t mt ngi s dng no

uname

Xem mt s thng tin v h thng.

who

Hin ln ngi ang thm nhp h thng

who am i

xem ai ang lm vic ti terminal

exit

Thot khi h thng

env

Xem thng tin tt c cc bin mi trng.

man

Gi trnh tr gip

2. Cc lnh hin th
echo

Hin th dng k t hay bin ln mn hnh

setcolor

t mu nn v ch ca mn hnh

3. nh hng vo ra
cmd > File

Chuyn ni dung hin th ra file

cmd < file

Ly u vo t file

cmd>>file

Ni dung hin th c thm vo file

cmd1 | cmd2 u ra ca lnh cmd1 thnh u vo ca lnh cmd2


4. Desktop:
bc

Dng tnh ton cc biu thc s hc

cal

Hin lch

date

Hin th v t ngy

mesg

Cm/ cho php hin th thng bo trn mn hnh (bi write/ hello)

spell

Kim tra li chnh t

vi

Son tho vn bn

write/ hello Cho php gi dng thng bo n nhng ngi ang s dng trong h
thng
8

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


wall

Gi thng bo n mn hnh ngi s dng h thng

5. Cc lnh thao th mc v tc file


cd

Thay i th mc

cp

Sao chp mt hay nhiu tp tin

find

Tm v tr ca tp tin

mkdir

To th mc

rmdir

Xo th mc

mv

Chuyn/ i tn mt tp tin

pwd

Hin v tr th mc hin thi

ls

Hin tn file v thuc tnh ca n

ln

To lin kt file (link)

sort

Sp xp th t tp tin hin th

cat

Xem ni dung ca file

tail

Xem ni dung file ti cui ca file

more

Hin ni dung tp tin trnh by di dng nhiu trang

grep

Tm v tr ca chui k t

wc

m s t trong tp tin

compress

Nn file.

uncompress M nn.
6. In n
cancel

Hu b vic In

lp

In ti liu ra my in

lpstat

Hin trng thi hng ch in

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


7. Th tn
mail

Gi - nhn th tn in t

mailx
8. Qun l tin trnh
kill

Hy b mt qu trnh ang hot ng

ps

Hin cc tin trnh ang hot ng v trng thi ca cc tin trnh

sleep

Ngng hot ng ca tin trnh trong mt khong thi gian

9. Kim sot quyn hn v bo mt


passwd

thay i password hoc cc tham s i vi ngi s dng

chgrp

Thay i quyn ch s hu file hoc th mc

chmod

Thay i quyn hn trn file hoc th mc

chown

Thay i ngi s hu tp tin hay th mc

10. Lu tr v hi phc d liu


cpio

Lu tr v hi phc d liu ra cc thit b lu tr

tar

Lu tr d liu ra tape hoc cc file tar

11. Cc thao tc trn mng


ping

Kim tra s tham gia ca cc nt trn mng

netstat

Kim tra trng thi ca mng hin thi

ftp

Thc hin dch v truyn nhn file

telnet

Thc hin kt ni vi mt h thng

Uutry

Kt ni UUCP

rcp

Sao chp file xa

10

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


III. Thm nhp h thng - Cc lnh cn bn
1. Bt u v kt thc phin lm vic-Xc lp mi trng h thng
Khi bt u lm vic trn h thng bn phi login. Vic login bo cho h thng bit
bn l ai v cc ch quyn lm vic ca bn, khi kt thc phin lm vic phi
logout. Khi khng c mt ai khc c th truy xut tp tin ca bn nu khng
c php. Trong mt h thng c nhiu ngi s dng, mi ngi c mt tn v
mt mt khu duy nht. Quy nh tn ca ngi s dng khng c nh hn 2 k
t nu ln hn 8 k t th Unix ch ly 8 k t u.
Lnh env: Hin cc thng tin v bin mi trng.
Lnh su: Chuyn sang ngi s dng t mt ngi s dng no .
su <user>
V d: ang ngi s dng anh mun tm chuyn sang ngi s dng root
$su root
H thng s yu cu nhp mt khu ca ngi s dng root
su - <user> - c <command arg>
Chuyn sang user v gi chy lnh command
Lnh uname: Xem mt s thng tin h thng hin thi.
uname <option>
-a

Hin tt c cc thng tin.

-A

Hin cc thng tin lin quan n license.

-m

Hin tn phn cng ca h thng

-r

Hin ln version h iu hnh.

-s

Hin tn h thng

Lnh who: Hin mt s thng tin s dng h thng.


who <option>

11

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


-r

Ch ra h thng ang chy ti level no.

-n

Hin thng tin user ang login vo h thng

V du: $ who
juucp
pjh

tty00

Sep 28 11:13

slan05

Sep 28 12:08

Lnh who am i: Xem ai ang lm vic ti terminal


Lnh exit: Thot khi shell
Lnh man: Gi trnh tr gip
man <command>
V d: Mun xem tr gip lnh cp g $man cp
2. Cc lnh hin th
Lnh echo: Hin th dng k t hay tr ca bin ln mn hnh.
echo [-n] [arg]
-n

In ra chui k t m khng to dng mi

Cc k t qui nh khc c quy nh ging nh qui nh trong lnh printf trong C


(\c In dng khng to dng mi, \t tab, \n in dng v to dng mi ...)
V d: $echo Hien len man hinh
$echo $PATH
Lnh setcolor: t mu nn v ch ca mn hnh.
setcolor <option>
-b <color>

t mu nn.

-f <color>

t mu ch.

3. nh hng vo ra v ng ng:
nh hng vo ra
12

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Cc chng trnh nhn d liu nhp v to xut u c cc knh lin lc chuyn
cc thng tin . i khi cng vic ny c thc hin tng minh bi chng
trnh "m" mt tp tin c th.
Trong UNIX cc thit b c x l nh tp tin -> cc thao tc vo ra d dng c
th i hng vo ra.
UNIX cung cp mt s phng tin gip cho cc thao tc nh hng vo ra:
cmd > File

Chuyn ni dung hin th ra file

cmd < file

Ly u vo t file

cmd>>file

Ni dung hin th c thm vo file

V d: $cal > cde


Hin ni dung lch ra file abc
Cc i thao tc i hng vo ra c th kt hp vi nhau trong mt lnh.
V d: cat <file1 > file2
ng ng
cmd1 | cmd2

u ra ca lnh cmd1 thnh u vo ca lnh cmd2

c im ng ng ca UNIX ni kt 1 lnh ny vi 1 lnh khc. c bit hn n


to xut chun ca 1 lnh thnh nhp chun ca 1 lnh khc. K hiu ng ng (|)
c s dng thit lp ng ng.
V d: $ls | sort
Nhn xut ca ls v gi n n lnh sort sp th t.
T hp cc tp tin vi nhp chun
Trong Unix cc lnh ng ng c th kt hp vi i hng.
V d: wc baocao* | sort -n > rep-count kt qu s a ra tp tin rep-count.
Cc k kiu vo ra chun trong lnh (0: nhp chun, 1: xut chun, 2: sai chun)
V d:

13

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


spell baocao > baocaodung 2> baocaosai &
Trong lnh trn cc t sai s c a ra file baocaosai.
Cc lnh Desktop
4. Desktop:
Lnh bc: Dng tnh ton cc biu thc s hc
V d:
$ bc
x=5
10*x
50
^d
Lnh cal: Hin lch di dng sau:
$ cal
February 1994
S

Tu

Th

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

Lnh date: Hin th ngy gi theo khun dng mong mun v cho php thay i
ngy h thng.
V d:
$date

14

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Sat Sep 28 1:45:58 EDT 1998
$date +%D
09/28/98
Lnh mesg: Cho php hoc cm hin th thng bo trn mn hnh (bi write/ hello)
mesg [n] [y]
n

Cn khng cho hin th.

Cho php hin th.

Lnh spell: Kim tra li chnh t xem c li hay khng nu c th hin cc li sai
Lnh write/ hello:Cho php gi dng thng bo n nhng ngi ang s dng
trong h thng v thc hin trao i thng tin trc tip qua mn hnh terminal
write <user>
Hello <user>
V d:
$write username
< Cu thng bo cn gi >
^d
Lnh wall: Gi thng bo n tt c mn hnh ngi s dng h thng terminal.
V d:
$wall
Thong bao
^d
Lnh vi: Son tho vn bn dng n gin trn Unix
thc hin son tho vn bn dng text n gin, trong Unix h tr chng trnh
son tho vi. Trong son tho phn ra hai ch l ch lnh v ch son tho

15

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Ch lnh: cho php chn, xo, thay th ...
Ch son tho: cho php son tho vn bn.

Esc

Comman
d
mode

Text
mode

a, A, i, I, o, O
vo trnh son tho vi ta nh: vi <tn file>
Khi u vi t ch lnh. vo ch son tho nh (a, A, i, I, o, O) thot
khi ch ny nh ESC, thot khi vi nhn: x
Mt s tu chn ca vi
vi <file>

Bt u son tho ti dng 1

vi +n <file> Bt u dng n
vi +/pattern Bt u pattern
vi -r tp tin

Phc hi tp tin sau khi h thng treo

Mt s lnh trong command mode ca lnh vi


0

Chuyn con tr ti u dng

Chuyn con tr ti cui dng.

/pattern

Tm xu vn bn bt u t dng k tip.

?pattern

Tm xu vn bn t dng trc v u.

Thm text vo sau k t hin thi.

^b

Back up one screen of text.

Back up one space-delimited word.

Back up one word.

Backspace

Move left one character.

16

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


^d

Chuyn xung di na trang mn hnh

Xo n cui dng

dw = Xo 1 t, dd = Xo mt dng

Esc

Chuyn t insert mode sang command mode

^f

Chuyn xung mt trang mn hnh

Chuyn con tr ti dng cui cng ca file

nG

Chuyn con tr ti dng th n

Chuyn sang tri mt k t.

Chn text (chuyn sang insert mode) sau k t hin thi.

Chuyn con tr xung mt dng.

Chuyn con tr ln mt dng.

Chuyn con tr sang phi mt k t.

Lp li tm kim.

Thm mt dng mi trn dng hin thi.

Thm mt dng mi di dng hin thi.

Return

Bt u mt dng mi

^u

Chuyn ln na trang mn hnh.

UndoThay th li dng hin thi nu c thay i.

Undo thay i cui cng trn file ang son tho.

Move forward one space-delimited word.

Di chuyn tip mt t.

Xo mt k t.

:e file

Son tho file mi m khng thot khi vi.

:n

Chuyn ti file tip trong danh sch file dang son tho.

:q

Thot khi lnh vi v quay tr li du nhc ca UNIX.

:q!

Thot khi lnh vi v quay tr li h thng khng ghi bt c thay i

no.
:r file

c ni dung file ch nh v a n vo trong b m hin thi ca

lnh vi.
:w file

Ghi ni dung trong b m ra file ch nh.

17

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


:w

Ghi b m ra a.

5. Cc lnh thao tc trn th mc, file


Cc thao tc trn th mc
Lnh cd: S dng lnh thay i th mc lm vic hin hnh.
cd [directory]
V d: Chuyn n th mc /usr/include: $cd /usr/include
Chuyn tr li th mc "home": $cd
Chuyn n mt th mc con ca th mc hin hnh: $cd ccs
Chuyn n th mc cha: $cd..
Lnh ls: S dng lnh ls trnh by ni dung ca th mc ls [option] [directory]
option:
-l

Hin chi tit thng tin mt file

-c

Hin danh sch cc tp tin theo th t

-a

Hin ln cc file bao gm c file .<tn file> (vd: .profile)

-F

Hin phn bit gia directory (/), executable files (*) vi cc file thng

thng.
-u

S dng vi l hin thay v hin last access time s hin last modification

time.
-s

S dng vi l hin file size di dng blocks thay cho dng bytes.

-t

S dng vi u sp xp u ra theo time thay cho tn.

-r

o ngc trnh t sp xp

-x

Cho php hin th dng nhiu ct

V d: $ls -F
bin/

chmod*

18

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


etv/

temp

$ls -l
drwx------ 2 sshah admin

512 May 12 13:08 public_html

Lnh mkdir: S dng mkdir to th mc


mkdir [-p] [directory]
-p

To cc th mc gin tip nu tn th mc gin tip trong ng dn l

khng tn ti s to.
V d: to cc th mc gin tip:
$mkdir -p /usr/tam2/duc
th mc tam2 khng tn ti do to c th mc tam2 v duc.
Lnh pwd: S dng lnh pwd hin ton b ng dn ca th mc hin hnh
$pwd
/usr/tam1/dung
Lnh rmdir: S dng rmdir xo th mc
rmdir [-ps] <directory>
-p

i hi chp nhn cc th mc b xo.

-s

Khng hin thng bo.

V d: xo 1 th mc rng:
$rmdir dung
Cc thao tc file
File System

File system l file c lu trn UNIX. Mi file system lu trong th mc trong h


thng cy thc mc UNIX. Mc nh ca cy th mc l th mc gc (root
directory) bt u bng /. tip sau l h thng cc th mc con gi tr di nht c th
ca mt th mc l 1,024 k t.

19

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Thng thng t quan tm n mc thp ca mt file lu trn h thng UNIX
nhng hiu k ta cn quan tm n hai khi nim inodes v superblock. Mt khi
hiu n s gip bn thun li trong vic qun tr h thng file.
inodes

Inode duy tr thng tin v mi file v ph thuc vo kiu file, Inode c th c cha
hn 40 phn thng tin. Tuy nhin hu nh ch c tc dng i vi kernel v khng
lin quan n ngi s dng. Phn lin quan ch yu n ngi s dng l:
mode: nh du quyn truy nhp v kiu file.
link count:

S lin kt c cha inode ny.

user ID :

ID ca ngi ch s hu file.

group ID:

ID Group ca file.

size Number: Kch thc file.


access time: Thi im truy nhp gn nht.
mod time:

Thi im sa i gn nht.

inode time:

Thi im m cu trc inode thay i gn nht.

block list:

Danh sch s block a m c cha segment u ca file.

Superblocks

L thng tin c bit quan trng lu trn da. N c cha thng tin nh hnh ca a
(s head, cylinders ...), phn u ca danh sch inode, v danh sch block t do.
Bi v thng tin ny l quan trng cho nn h thng t ng gia mt bn sao trn
a trnh vic ri ro. N ch lin quan n khi m file system b hng nng.
Cc kiu File

C 8 kiu file l: Normal Files, Directories, Hard Links, Symbolic links, Sockets,
Named Pipes, Character Devices, Block Devices.
Normal Files: L loi file s dng thng thwngf nht, chng c th l text hoc
binary file tuy nhin cu trc bn trong khng lin quan n quan im qun tr h
thng. c tnh ca file c xc nh bi inode trong file system m m t n.

20

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Lnh ls -l ch ra Normal Files nh sau:
-rw-------

1 sshah admin

42 May 12 13:09 hello

Directories: L loi files c bit m c cha cc file khc. Ch c mt nh x t


inode ti disk blocks, c th c nhiu nh x ti mt t mt mc ca th mc ti
inode. Khi dng lnh ls l mt Directorie hin nh sau:
drwx------ 2 sshah admin

512 May 12 13:08 public_html

Hard Links: Hard link l mt directory entry ngoi tr vic thay v tr ti file duy
nht n tr ti file tn ti. iu ny to ra c hai file ging ht nhau khi lit k
danh sch file. dng lnh ls -l:
-rw-------

1 sshah admin

42 May 12 13:04 hello

sau khi thc hin Hard link dng lnh ls l s hin th nh sau:
-rw-------

2 sshah admin

42 May 12 13:04 goodbye

-rw-------

2 sshah admin

42 May 12 13:04 hello

Symbolic Links: Symbolic link khc vi hard link l n khng tr ti mt inode


khc nhng tr ti mt filename khc. iu ny cho php symbolic links thc hin
lin kt cc file systems mt cch thun li s dng lnh ln -s ta thy file www
hin nh sau:
drwx------ 2 sshah admin

512 May 12 13:08 public_html

lrwx------ 1 sshah admin

11 May 12 13:08 www -> public_html

Sockets: Sockets dng cho UNIX lin kt mng vi my khc. iu ny c s


dng nh network ports. Dng lnh ls -l socket file hin nh sau:
srwxrwxrwx 1 root

admin

0 May 10 14:38 X0

Named Pipes: Ging nh socket named pipe cho php chng trnh lin lc vi
nhau qua file system. Bn c th s dng lnh mknod to named Pipe. Dng
lnh ls -l named pipe hin nh sau:
prw------- 1 sshah admin

0 May 12 22:02 mypipe

21

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Character Devices: L kiu file c bit dng lin lc vi cc system Device
driver. Dng lnh ls -l character device hin nh sau:
crw-rw-rw- 1 root

wheel

21, 4 May 12 13:40 ptyp4

Block Devices: Block devices hu nh chia s cc c tnh vi cc character devices


trong th mc /dev, c s dng lin lc vi cc device drivers. im khc ca
block devices l kh nng truyn mt khi lng ln d liu ti mt thi im.
Dng lnh ls l hin nh sau:
brw------- 2 root

staff

16, 2 Jul 29 1992 fd0c

UNIX t chc h thng tp tin bao gm ch mt th mc gc (/) m t cc th


mc con ca n c gn vo mt cch trc tip hay gin tip. C mt vi th mc
con chun /bin, /usr, /etc, v.v... Mi th mc ny li cha cc tp tin hay th mc
con.
Ta c th s dng ng dn y xc nh mt tp tin, v d:
/usr/NVA/chuong1. Bn cng c th s dng ch tn tp tin nu tp tin c cha
trong th mc hin hnh. Thng khi login, th mc hin hnh s c t n l
th mc "home". y l th mc c thit lp bi ngi qun tr h thng dnh
cho ngi s dng.
Tn tp tin trong UNIX c th di 256 k t, ngoi tr cc k t c bit sau: ! " ' ; /
$ < > ( ) [ ]. { }. Ngoi ra ta cng c th s dng cc k t sau:
Cc k hiu i din:
Du (*) i din cho mt, nhiu hoc khng k t no.
Du (?) i din cho mt k t n
[...] i din cho mt dy k t c th t trong bng Alphabet. V d: lit k tt c
cc th mc btt u bng ch c, d, e: lc [cde]*
Lnh file: Nhn bit dng file. Thng thng lnh file phn tch ni dung ca 1 file
v hin th tnh cht ca thng tin cha trong file:
V d: $ file /etc/passwd => /etc/hosts: ascii text

22

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Lnh cat: Xem ni dung 1 tp tin v ni kt cc tp tin cat [option] [files]
Lnh more, pg: Dng lnh more hoc pg hin ni dung file trn tng trang mn
hnh:
V d: more thu
Lnh mv: i tn tp tin.
mv <option> <old><new>
-i

Nu file c th lnh s hi c ghi ln file hay khng.

-f

Thc hin lnh m khng hi g.

V d: Thay i tn ca tp tin th mc hin hnh:


$mv a.out test
Lnh ln: S dng lnh ln gn thm 1 tn mi cho 1 tp tin
C php: ln [-s] <tn> <file, directory>
ln

Khng tham s to hard link.

ln -s

To symbolic link.

Lnh rm: Xo tp tin rm tp tin.


rm <option> <files>
-f

Xo cc tp tin m khng hi, thm ch ch quyn ghi l khng cho php

-r

Cho php xo c th mc bao gm c file v th mc.

-i:

Trc khi xo tp tin s hi xc nhn vic xo tp tin

V d: Xo tp tin thu:
$rm thu
Lnh cp: Sao chp tp tin.
cp <option> <sou> <des>
-i

Nu file trn ch c th s c hi c ghi hay khng

23

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


-r

Copy c th mc

V d: cp /etc/passwd /usr/dung/passwdold
Lnh find: Tm kim 1 tp tin hoc mt s tp tin tho mn iu kin no
find <path> <expression>
-atime <n> ng nu file b truy nhp n ngy trc y.
-mtime <n> ng nu file b thay i n ngy trc y.
-user <un>

ng nu ch ca files l un. Nu gi tr l s n s so snh vi

userID.
-group <gn> ng nu files thuc thnh vin ca nhm gn. Nu gn l s th n s
so snh
vi groupID.
-perm <on> Tm files c quyn truy nhp files ng vi gi tr on.
-links <n>

Tm files c n links.

-type <x>

Tm file c kiu x.

-newer <fn> Tm file b thay i gn hn so vi fn.


-local

Ch tm ti local.

-size <n> [c] Tm file c kch thc n blocks (c ch ra character byte)


-print

Hin y ng dn ca files.

-depth

Lun ng (cho php tm tt c cc files trn directory).

-name <pt> Tm files tho mn mu tm pt.


V d: Tm tp tin thu:
$find . -name thu -print
/usr/tam/thu
Lnh grep: Tm kim chui vn bn bn trong tp tin

24

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


grep <option> <Chui cn tm> <Files>
S dng lnh grep tm kim mt chui vn bn bn trong cc tp tin c ch
nh. Nu chui vn bn di hn 1 k t th phi trong hai du nhy.
-c

In ra tng s dng c cha mu cn tm.

-h

B tn file khng hin ln ti dng c cha mu tm thy.

-i

B qua phn bit ch ho v ch thng.

-n

Hin ln dng cha mu tm thy v trc l s ca dng trong file.

-v

In tt c cc dng c cha mu tm kim.

Du * i din cho mt hoc bt k k t no.


[character ] i din bi mt mng cc k t.
V d: Tm chui k t "mail" trong tp tin thu: $grep ngan hang thu
Lnh tail: Hin cc dng cui ca files
tail [-f] <file>
-f

Hin 10 dng cui v mi dng c thm vo t khi gi chy lnh tail cho

n khi
kt thc n.
Lnh compress: Thc hin vic nn d liu. File to ra t ng c ui .Z
compress [ -cfv ] file(s)
-c

Writes to stdout instead of changing the file.

-f

Cho php nn c file c nn.

-v Hin th phn trm gim mi ln nn.


Lnh uncompress: Thc hin vic ci nn file d liu.
uncompress [ -cv ] [ file(s) ]

25

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


6. In n
Lnh lp:
lp

Thc hin vic in file my in.

<option> <files>

-c

Khi lnh c gi lp tc to bn sao ca file v thc hin in trn bn

sao ny.
-d <des>

ch cn in ti.

-n <num>

S bn in.

-o nobaner

Khng in phn trang tiu u tin.

cpi=<n>
-q <pri>

S character c in trn 1 inch (10/12 ...)


Mc u tin in (0 cao nht ->39 thp nht>

V d: $lp -d epson thu.txt


Lnh lpstat: Hin trng thi hng ch in ca my in
lpstat <option>
-a

Hin danh sch cc printer.

-d

Hin my in ngm nh.

-o <pr>[-l]

Hin trng thi yu cu u ra ca my in pr. Nu c -l hin chi tit

trng thi.
-p <pr>

Hin trng thi my in.

-t

Hin tt c thng tin v trng thi.

-v <pr>

Hin tn my in v tn ng dn ti thit b tng ng.

Lnh cancel: Hu b vic In n


cancel <request id> <printer>

26

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


7. Th tn in t
Trong Unix h tr chng trnh mail v mailx cho php ngi s dng thc hin
vic gi v nhn mail theo chun SMTP
Lnh mail:
Th in t cung cp cc kh nng c bn gi v nhn thng bo. Mail s hin
th thng bo theo th t vo trc ra sau.Sau khi hin th mi thng bo mail s
hin ln du ? ch lnh ca ngi s dng.
Gm mt s lnh sau:
+

Hin message tip theo

Hin mesage trc

Xo message hin thi.

Hin header ca message.

m <user>

Gi message ti user.

Hin li ni dung message.

s <file>

Ghi message ra tp tin hoc mbox

w<file>

Ghi message ra file nhng khng ghi phn header.

Thot khi mail

Thot khi mail m khng thay i thng bo

! lnh

Thc hin lnh Unix

Gi th : a vo lnh mail vi a ch ca ngi s dng.


V d: $mail dung@sysdomain
<thng bo>
ctrl-d
Nhn th: Khi login vo h thng nu c th h thng s thng bo " You have
mail" khi c th nh $mail thc hin cc thao tc trn message.

27

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Lnh mailx
Mailx bao gm cc lnh chuyn v nhn th.: mailx <option> <user>
option -e son message
-v son message bng lnh vi
-r <file> c file vo message
!<lnh>

Cho php thc hin cc lnh shell.

Hin s ca message

delete

dp
edit

Xo message v chuyn n message k tip


e

exit
headers

Xo message hin thi

Son tho message.


Thot khi mailx v khng lu li thay i.

Hin header ca message ch nh.

mail <user> m

Gi message ti ngi ch nh

next

Hin message tip theo

print

Hin message ln mn hnh.

quit

Thot khi mailx v hon thnh cc thao tc thc

reply

Tr li mail ti ngi gi v cc ngi nhn.

Reply

Ch tr li mail ti ngi gi.

save <file>

Ghi message ti file ch nh.

Save

Ghi message sau khi gi n.

undelete

B xo bi lnh delete.

visual

Dng lnh vi son tho message.

hin.

write <file> w

Ghi message m khng ghi header.

28

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


8. Qun l tin trnh
H thng Unix dng cc tin trnh (process) nh l phng tin qun l cc
chng trnh ang thc hin. Mi lnh m ngi dng gi thc hin u gi l mt
tin trnh. Mi tin trnh ang hot ng u bao hm mt s thng tin lin quan
c bit c mt gi tr ID nhn dng. Ngoi ra cn cc thng tin khc nh TTY,
thi gian, lnh ...
Tin trnh to ra mt tin trnh khc c gi l tin trnh cha. Cc tin trnh con
nhn bit tin trnh cha ca n qua ID ca qu trnh cha.
Lnh kill: Hy b mt qu trnh ang hot ng.
kill <signal> PID
-0

Kt thc tt c cc tin trnh trong process group.

-9

Kt thc tin trnh khng iu kin.(Unconditional kill signal)

-15

Kt thc tin trnh- ngm nh (software termination signal)

Lnh ps: Hin cc tin trnh ang hot ng v trng thi ca cc tin trnh bao gm
cc trng th hin cc thng tin sau:
ps <option>
-e

Hin thng tin v tt c cc process ang hot ng.

-d

In thng tin v tt c cc tin trnh tr phn leader

-a

In tt c thng tin v process tr cc process khng tng ng vi terminal.

-f

In y tt c cc thng tin.

Lnh sleep: Ngng hot ng ca tin trnh trong mt khong thi gian.
sleep <time>
Thi gian c tnh bng giy 1-65536.
Lnh wait: Cho php ch cc tin trnh chy ch background kt thc. Thng
dng trong cc script ng b tng tc.
V d:
29

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


cmd1 > file1&
cmd2>file2&
wait
sort file1 file2
9. Cc lnh lin quan bo mt v quyn hn
a) Khi nim:

Khi ngi s dng c to th cc thng tin sau yu cu c c a vo:


Tn ngi s dng
Mt khu
S nhn dng (uid: user identify number)
S ca nhm (gid: group identify number)
Ch thch
Th mc xm nhp (home directory)
Tn chng trnh cho chy lc bt u lm vic
Cc thng tin ny c cha trong file /etc/passwd
Nhm ngi s dng: 1 nhm ngi s dng l tp hp ca 1 s ngi s dng c
th dng chung cc file ca nhau, c m t bng nhng thng tin sau:
Tn ca nhm
Mt m (c th c hoc khng c)
S ca nhm (gid)
Danh sch nhng ngi s dng thuc nhm
Cc thng tin ny c lu trong tp tin /etc/group
Trong mt file c to trong c cc thng tin sau:
-rwxr-xr--

2 sshah admin

42 May 12 13:04 hello

30

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Nhm u -rwxr-xr
Du gch u tin th hin loi file.
Nhm tip theo gm 3 nhm nh rwxrwxrwx nhm u th hin quyn hn ca
ngi ch s hu tp tin, nhm 2 th hin quyn hn ca nhm c quyn truy nhp,
nhm 3 l quyn hn ca cc ngi s dng khc. Mi nhm gm 3 gi tr r (c),
w (ghi, thay i), x (thc hin).
Permission

Owner

Group

Other

Read (r)

Write (w)

Execute (x)

Total

Tip theo ch ra s lin kt trn file (2)


Ngi ch s hu ca file (sshah)
Nhm ngi s dng c quyn trn file (admin)
Kch thc file (42)
Thi gian (May 12 13:04)
Tn file (Hello)
b) Cc lnh

Lnh chgrp: Thay i nhm truy xut ca tp tin. Ch c superuser hay ngi s
hu mi c quyn thay i quyn s hu file.
chgrp <group> <files>
V d: $ls -a test
-rwx--x--x 1 bin bin 13023 Jun 21 94 test
$chgrp data test
$ls -a test

31

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


-rwx--x--x 1 bin data 13023 Jun 21 94 test
Lnh chown: Thay i ngi s hu tp tin. Ch c superuser hay ngi s hu
mi c quyn thay i.
chown <owner> <files>.
V d: $ls -a test
-rwx--x--x 1 bin data 13023 Jun 21 94 test
$chown dung test
$ls -a test
-rwx--x--x 1 dung data 13023 Jun 21 94 test
Lnh umask: t quyn truy xut ngm nh i vi 1 file hay th mc to. Sau
khi t umask tt c cc tp tin v th mc to s nhn quyn truy nhp. (gi tr
ngm nh l 022)
umask <mask>
0
1
2
3
4
5
6
7

read and write (and execute for directories)


read and write (not execute for directories)
read (and execute for directories)
read
write (and execute for directories)
write
execute
no permissions

V d:
$umask 177
$cat test
...
^d
$ls -l test

32

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


-rw------ 1 dung adm 1 Mar 11 10:11 test
Lnh chmod: Thay i quyn hn truy nhp tp tin
thc hin vic thay i quyn hn trn tp tin th i hi ngi thc hin lnh
phi l ngi s hu hay superuser (root).
chmod <mode> <files>
V d:
$ls -l test
-rw------ 1 dung adm 1 Mar 11 10:11 test
$chmode 754 test
$ls -l test
-rwxr-xr-- .....
Cc tham s dng vi lnh chmode <option> <files>
u: ngi s dng (user)
g: nhm (group)
o: chung (other)
a: tt c (all)
Ton t:
+: thm quyn
-: bt quyn
=: gn gi tr khc
Quyn:
r: c (reading)
w: ghi (writting)
x: thc hin (execution)

33

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


V d: $ls -l test
-rwxr-xr-- .....
$chmode g +w test
$ls -l test
-rwxrwxr-- ...... test
10. Lu tr v hi phc d liu
Cc tp tin ca nhng h thng thng tin ngy cng ln, s cn thit v mc
quan trng ca cc tp tin ny v cng quan trng.
Cc thit b phn cng khng th m bo rng khng bao gi c s c nh hng
a, hng thit b lu d liu ... Cc h thng phn mm cng khng phi l chy
hon ton khng xy ra s c g.
D liu ca cc h thng thng tin x l nghip v tc thi i hi khi c bt c s
c no xut hin lm hng d liu ca h thng, th ngay sau d liu phi c
khi phc ngay.
Ty theo cc nh cung cp phn mm v phn cng khc nhau m h thng lu tr
c nhng chc nng v tin ch khc nhau nhng u c chung mt mc ch l lu
d liu.
Thng thng nhng h iu hnh ln hoc nh u h tr cc tin ch gip cho
vic sao lu v hi phc d liu nhm gim ti thiu cc nh hng n h thngd
liu.
Trong cc loi h iu hnh Unix khc nhau c th c cc cng c v cc tin ch
gip cho vic thc hin lu tr tuy nhin cc lnh hu ht c h tr bi cc loi
h iu hnh Unix.
Lnh tar: Lu tr hoc hi phc files t cc thit b lu tr.
tar <options> <tarfile name> <filenames to backup or restore>
Mt s cc option hay dng.

34

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


option =[key]<sub>
Key

To lu tr mi v thc hin bt u ghi t u.

File lu tr c ghi vo vih tr cui ca thit b lu tr.

Hin danh sch cc file lu tr.

Cp nhp thm nu files cha c, hoc thay i so vi ln sao chp

Ly thng tin t thit b lu tr.

trc.

<sub> e

Cho php ghi trn nhiu volume.

S dng cc i s thay cho cc gi tr ngm nh.

Ch thit b lu tr khng phaie l tape

Hin th tn file sao lu hoc hi phc

V d:

tar cvf /dev/rmt/0hc /usr/local/datafiles


tar tvf /dev/rmt/0hc > tarlist.txt

cd /usr/contrib
tar xvf /dev/rmt/0hc
Lnh cpio:
cpio

Lu tr v hi phc d liu ra cc thit b lu tr chun

-o [acv]

Ghi d liu ra u ra thit b lu tr

-i [cdmnv]

c d liu t thit b lu tr.

Ghi thm phn header phng trng hp dng trn cc my khc.

Th mc s c to nu cn.

D li thi gian thay i trc y.

Thay i thi gian truy nhp.

Sao chp khng iu kin.

35

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


v

Hin danh sch tn file.

V d: ls | cpio -oc > /dev/rst0


cpio -icd < /dev/rst0
Lnh dd: Sao lu v hi phc d liu theo ng trng thi trn h thng file (block
copy)
dd [if= ][of= ]
if=

u vo chun.

of=

u ra chun.

V d:
dd if=/dev/diskette0 of=/mnt/abc.xx
dd if=/mnt/abc.xx of=/dev/diskette0
11. Cc thao tc trn mng
Lnh ping: Kim tra s tham gia ca cc nt trn mng
Lnh netstat:Kim tra trng thi ca mng hin thi ca h thng local. N th hin
cc thng tin v giao din mng, thng tin routing table, thng tin v Protocol.
netstat <option>
-a

Hin th thng tin tt c cc interface

-c

Tip tc hin th v t update sau mt vi giy.

-i

Ch hin th thng tin v interface

-n

Hin th a ch thay cho tn.

-r

Hin th thng tin v kernel routing table

-t

Ch hin th thng tin v TCP socket

-u

Ch hin th thng tin v UDP socket.

-x

Hin th thng tin v socket

36

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


V d:
# netstat r
Routing Table:
Destination Gateway

Flags Ref

Use

Interface


localhost

localhost

UH

109761

lo0

rmtnet

ws2

UG

20086

rmtppp

ws2

UG

1096

subnet1

ws1

1955

le0

224.0.0.0

ws1

le0

default

gateway

UG

16100

Lnh telnet: Thc hin kt ni vi mt h thng cho php tr thnh terminal ca


h thng m n kt ni ti.
telnet <dest>
Lnh ftp: Thc hin dch v truyn nhn file.
ftp <dest>
Mun debuge lnh ftp dng thm option -d (v d: ftp -d ftp.ha.com)
Mt s lnh trong ftp:
ascii

Chuyn sang ASCII transfer mode.

binary

Chuyn sang binary transfer mode.

cd

Thay i th mc trn ftp server.

close

Kt thc kt ni.

del

Xo file trn ftp server

pwd

Hin th mc hin thi trn ftp server

37

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


get

Ly file t ftp server

help

Tr gip

lcd

Thay i th mc trn client

mget

Ly mt s file trn ftp server

mput

Truyn mt vi file ln ftp server

open

M kt ni vi ftp a server

put

Truyn file ti ftp server

quit

Thot khi FTP.

Lnh rlogin: Thc hin login ti my xa, cho php truy nhp ti my tnh trn
mng ging nh lnh telnet.
rlogin <hosts name>
Trong trng hp ny user ID trn remote host phi ging i user ID trn local host.
v d nh nu testuser login vo box1, rlogin dng testuser login vo box2.
Tuy nhin nu mun slogin vo user ID khc dng option sau:
rlogin <hosts name> -l <user>
Lnh rcp:

Sao chp file xa

Trc khi s dng lnh rcp ngi s dng phi c sn sng trn remote
machine. Bi v rcp khng s dng authentication (khng ging nh rlogin).
rcp <option> <sour> <dest>
-r Ch s dng trong trng hp copy th mc.
<sour> <dest> c vit theo quy nh
hostname:filepath
user@hostname:filepath
user@hostname.domain:filepath
V d: rcp ha@box1:/export/home/ha/abc.txt box2:/export/home/cc.m

38

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


IV. Lp trnh Shell
1. Cc c tnh c bn.
Lnh n gin
L lnh c gi thc hin c tnh cht n nh dng sau:
command <option> <arg>
Nhiu lnh trn mt dng
Thng thng shell thng dch t u tin nh l lnh cn cc phn sau tr thnh
cc i s ca lnh. C 3 k t c bit m khi shell thng dch m gp phi s hiu
sau l c mt lnh tip theo cn thc hin l (;), (&), (|).
;

i lnh trc hon thnh mi thc hin n lnh tip sau (tng ng vi

thc
hin cc lnh ring r).
V d: $ who -H; df -v; ps -e
&

Lnh sau khng cn phi i lnh trc kt thc thc hin.


V d: $who -H & df -v & ps -e

S ly u ra ca lnh trc thnh u vo ca lnh sau:

nh hng vo ra
Khi shell thng dch lnh m nhn thy cc k hiu i hng vo ra (<), (>). Cc
nh hng vo ra ny c gi ti subshell iu khin vic thc hin lnh.
Dng lnh di
Trong trng hp dng lnh di mun chia thnh nhiu dng th kt thc dng phi
t k t (\). Khi gp k t ny shell khng coi dng mi l kt thc ca u vo.
V d: $ echo Now is the time for all good men \_
to come to the aid of the party.

39

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Bin trong shell
Khi shell gp k t $ th n hiu t sau l tn bin. Shell s tm bin c
nh ngha v ly gi tr ca n. Nu bin cha nh ngha th mt null string s
c tr li.
t gi tr cho bin ch cn gn <tn bin>=gi tr
V d:
$ dir=ls
$ $dir f*
file1
file1a
C th thc hin gn nhiu hn mt bin trn mt dng lnh. Bin s c gn t
phi sang tri.
V d: X=$Y Y=y
echo $X
y
Nu mun ly u ra hoc kt qu thc hin mt lnh lm i s ca mt lnh khc
th c th dng du (`) bao ly lnh cn thc hin.
{ variable:-value}

Gn gi tr ngm nh cho bin.

{ variable:+value}

Nu bin khc null th s ly value.

${variable:?message}

Nu bin khng t gi tr th message s c in ra u

ra li
chun.
V d:
$ echo Hello $UNA
Hello

40

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


$ echo Hello ${UNA:-there}
Nu khng gn tr cho UNA th s hin
Hello there
Nu gn UNA=John
S hin
Hello John
Khi shell gi thc hin mt lnh t u tin c hiu l lnh, cc thng tin sau s
c hiu l cc i s ca lnh. i s u tin c gn ti bin $1, i s th
hai s c gn ti bin $2 ... $9. V tr bin $0 lun c cha lnh.
$#

Cha s i s c gi ti lnh qua v tr ca bin.

$$

Cha process ID ca process hin thi.

$?

C cha trng thi ca lnh cui cng. Mang gi tr 0 nu lnh thc hin

thnh cng,
khc khng nu c li xut hin.
$*

C cha tt c positional argument c gi ti chng trnh.

V d: c mt script file nh sau:


# restoreany
cd $WORKDIR
cpio -i $* </dev/rmt0
$ restoreany file1 file2 file3
Cc file file1 file2 file3 s c restore t thit b lu tr
Lnh shift: Dng dch bin v tr
V d:
$1 = -r $2 = file1 $3 = file2
shift
41

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Kt qu l:
$1 = file1 $2 = file2
Bin mi trng
L cc bin m shell hoc bt k mt chng trnh no c th ly v truy nhp n.
C mt s bin mi trng ngm nh trong shell nh HOME, MAIL, PATH, PS1,
PS2 ...
2. Lp trnh shell
Trong Shell cc bin thng thng c lu di dng character thc hin cc
tnh ton ton hc pha dng lnh expr.
expr <integer operator integer>
Cc ton t l (+), (-), (*), (/).
Cc php ton tr v phn nguyn.
V d:
$ expr 5 + 7 / 3
7
Null command i din bi du (:)
ly d liu trc tip t ngi s dng dng lnh read
$ read var1 var2 var3
Hello my friend
$echo $var1 $var2 $var3
Hello my friend

42

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


a) Lnh iu kin

Lnh true v false: True lun tr gi tr 0, false lun tr gi tr 1


Lnh test: Kim tra iu kin xem ng hay sai
test condition
Testing Character Data
str1 = str2

ng nu str1 ging ht str2 (v di v k t)

str1 != str2

ng nu str1 khc str2

-n str1

ng nu chiu di str1 ln hn 0 (is not null)

-z str1

ng nu str1 l null (chiu di =0)

str1

ng nu str1 khc null

Testing Numeric Data


int1 -eq int2 ng nu int1 bng int2
int1 -ne int2 ng nu int1 khc int2
int1 -gt int2 ng nu int1 ln hn int2
int1 -ge int2 ng nu int1 ln hn hoc bng int2
int1 -lt int2

ng nu int1 nh hn int2

int1 -le int2 ng nu int1 nh hn hoc bng int2


Testing for Files
-r filenm

ng nu user c quyn c filenm

-w filenm

ng nu user c quyn ghi trn filenm

-x filenm

ng nu user c quyn thc hin filenm

-f filenm

ng nu filenm l regular file

-d filenm

ng nu filenm l th mc

-c filenm

ng nu filenm l character special file

43

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


-b filenm

ng nu filenm l block special file

-s filenm

ng nu kch thc filenm khc 0

-t fnumb

ng nu fnumb (1 by default) l terminal device

Shorthand Method of Doing Tests


Bi v lnh test l mt trong nhng lnh quan trng bc nht trong shell cho shell
gn vi cc ngn ng lp trinhf khc ngi ta thay test bng bao ng ([]).
V d:
$ int1=4
$ [ $int1 -gt 2 ]
$ echo $?
0
if-then
if command_1
then
command_2
command_3
fi
Nu command_1 Thc hin thnh cng th command_2, command_3 mi c
thc hin tip theo.

if-then -else
if command_1
then
command_2
command_3
else

44

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


command_4
command_5
fi
if -then-elif
if command
then
command
elif command
then
command
elif command
then
command
fi
Lnh case
case value in
pattern1)
command
command;;
pattern2)
command
command;;
...
patternn)
command;
esac
Lnh case ch thc hin mt lnh ti mt thi im nu gi tr ph hp vi pattern,
Cc lnh tip sau s c thc hin cho n khi gp (;;).

45

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


b) Lnh lp

Lnh while : Thc hin khi iu kin cn ng


while command
do
command
...
command
done
Lnh until Thc hin cho n chi iu kin ng
until command
do
command
...
command
done
Lnh for: Thc hin ln lt ng cc gi tr trong arg
for variable in arg1 arg2 ... argn
do
command
...
command
done
Lnh break: Cho php thot khi vng lp.
c) Shell Functions

funcname ()
{
command
... _
46

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


command;
}
d) Lnh trap

Trong qu trnh thc hin cc shell script c th to ra nhiu cc file tm dng trong
qu trnh thao tc d liu. Tuy nhin trong qu trnh chy khng trnh khi cc s
c, hoc cc thao tc t pha ngi s dng nhm ngng thc hin tin trnh gia
chng. c th thc hin vic xo cc file tm ny hoc thc hin cc thao tc no
khi tin trnh b ngng thc hin dng lnh trap.
trap command_string signals
Signal

Description

Shell exit

Hangup

Operator Interrupt

Quit

Kill

15

Software Termination (kill signal)

V d:
trap "rm $TEMPDIR/*$$; exit" 1 2 15
e) Thc hin lnh iu kin vi cu trc AND(&&) v OR (||)

Thng thng thc hin cc lnh theo iu kin ta c th s dng cc lnh trong
lp trnh shell thc hin. Tuy nhin Shell cung cp t hp lnh thc hin iu
kin l && v ||.
command1&&command2
Trong t hp lnh ny th lnh u tin c thc hin trc nu qu trnh thc hin
kt thc hon thnh (tr gi tr 0) th lnh tip sau mi c thc hin. T hp
tr gi tr ng (0) khi cc lnh u tr gi tr ng (0)
47

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


command1||command2
Trong t hp lnh ny th lnh u c thc hin trc v nu n kt thc c li
(khc 0) th lnh tip sau mi c thc hin. T hp tr gi tr sai khi tt c cc
lnh u tr gi tr sai (khc 0)
Debugging Shell Programs
ln bc theo cc lnh trong chng trnh shell dng lnh.
sh -x <shell file>
Lnh s thc hin tng lnh trong file v hin n ln mn hnh.

V. Starting Up and Shutting Down


1. Booting the System
Trc khi bn c th s dng my tnh ca bn, phi khi ng h iu hnh. Qu
trnh khi ng h iu hnh c gi l booting. Khi h thng c khi ng
th cc device, application, v service trn my tnh sn sng cho vic s dng.
Bi v UNIX l mt h iu hnh a nhim v a ngi s dng, nn nhiu tin
trnh c gi thc hin ngay ban u. u tin UNIX chy phn khi ng h
thng t ng h, cu hnh thit b v to UNIX kernel mi (nu cn thit). Sau
h thng bt u chy cc tin trnh tng ng vi cc trang thi khi ng ring
bit c phn ra trn h thng.
Trong hu ht cc h iu hnh Unix vic khi ng h thng thng theo cc trnh
t sau:
Xc nh thit b boot.
Np kernel t thit b boot.
Tm v khi ng cc thit b ngoi vi.
Khi to cc tc v h thng c bn.
Chy cc script m cc chng trnh to ra cung cp cc dc v.

48

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Bt u cc ng dng khc.
Thng thng h thng chy ngm nh l trng thi 3. Trng thi ny sn sng
cho nhiu ngi s dng trong mi trng mng (Bao gm c file sharing). iu
ny c ngha l tt c cc h thng file c lin kt (mounted) trn h thng cc
tin trnh nn (daemon) c bt u cho php ngi s dng login, v qu trnh
iu khin vo ra ca mng cng c bt u.
Ta c th thc hin cc mc hot ng khc nhau v cc mc truy nhp khc nhau
bng cc t trng thi boot hoc bng cc thay i trng thi trong khi h thng
ang chy. Trng thi 3 l full network/multiuser, trng thi 1 v 2 l singleuser/limited access.
Khi ta khi ng my tnh m ci h iu hnh UNIX, Phn khi ng ban u
c qun l bi mt tin trnh gi l init. Init x l cc tin trnh trong cch thc
trn c s trng thi nh ngha trong file /etc/inittab.
Tin trnh init khim tra v khi ng cc tin trnh trong file /etc/inittab. Cc tin
trnh c coi nh sysinit processe. Sysinit processes l cc tin trnh m bo cho
h thng hot ng mt cch ng n, chnh xc.
V d:/etc/inittab:
cr::sysinit:/sbin/ckroot >/dev/sysmsg 2>&1
ck::sysinit:/sbin/setclk >/dev/sysmsg 2>&1
mm::sysinit:/etc/conf/bin/idmodreg >/dev/sysmsg 2>&1
ldmd::sysinit:/etc/conf/bin/idmodload >/dev/sysmsg 2>&1
ap::sysinit:/sbin/autopush f /etc/ap/chan.ap
bchk::sysinit:/sbin/bcheckrc </dev/console >/dev/sysmsg 2>&1
bu::sysinit:/etc/conf/bin/idrebuild reboot </dev/console >/dev/sysmsg 2>&1
ia::sysinit:/sbin/creatiadb </dev/console >/dev/sysmsg 2>&1
Chi tit cc lnh nh sau:

49

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


ckroot c cc tham s ca mount cho root file system trong file
/etc/vfstab. Cc tham s bao gm cc kiu file h thng, iu ny l cn thit
to root file system sn sng cho h thng. Ckroot cng thc hin vic kim
tra h thng file (vi lnh fsck) nu nh n xc nh c l c vn trong
h thng file. V d nh: Nu ta tt my m khng thc hin shutdown, h
thng a ra thng bo kim tra h thng khi n thc hin vic gii quyt cc
s c m n tm thy.
setclk t ng h cho h thng UNIX.
idmodreg Np danh sch cc kernel modules trong file /etc/mod_register.
idmodloadNp danh sch cc kernel modules trong file /etc/loadmods.
autopushCu hnh mt danh sch cc modules c t ng y vo cc
Streams device khi cc device c m. Danh sch cc modules trong file
/etc/ap/chan.ap c y trn nh ca console monitor device cung cp
cc thng tin theo cc dng vi kiu quy nh.
bcheckrcKhi ng mt vi tc v bao gm t tn h thng mounting
/proc (processes) v /dev/fd (floppy disk) devices, thc hin kim tra v lin
kt cc thit b thm vo c lin quan n floppy disks.
idrebuildKim tra xem kernel c phi rebuilt hay khng nu c th chy
lnh idbuild to li n. Kernel cn phi c to li mi khi thm vo
thit b mi hoc khi thayi cc tham s.
creatiadbThit lp h thng bo mt.
Khi m chc nng khi ng h thng c thit lp, init kim tra cc mc khi
ng ngm nh trong inittab xc nh mc chy m h thng.
Khi nim System States
Trong Unix ngi qun tr h thng c th thit lp h thng my tnh ln trong
single-user mode, m khng c phn mng hoc terminals login. Trong trng hp
ny ngi qun tr c th kim tra xem xt h thng trc khi c yu cu khc v
d nh ci t li h thng. H thng gm cc level sau:
50

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


0 - L mc shutdown. Khi thay i sang mc 0 th tt c cc tin trnh u b
ngng hot ng.
1 (s or S)ng vi mc single-user. C 3 trng thi c th thay i ti
single-user l: 1, s, v S. Ta t h thng trong mc single-user nu ta mun
khng cho cc ngi s dng khc truy nhp h thng. im khc gia mc
1, s, v S l: 1Tt c cc h thng file vn c mount, tt c cc kt ni
mng b ngt b, tt c cc tin trnh terminal u b ngt b. Mc s hoc S
y l mc bt u h thng Nu khng c file /etc/inittab. Nu thay i
n trng thi ny, terminal ca ngi s dng s l system console, cc
terminal u b ngt b v cc h thng file vn c mount. Khi h thng
chuyn sang mc ny ch c mt s cc cc h thng file c mount v
d: /, /var, /proc...
2L mc nhiu ngi s dng. Mc ny khi ng tt c cc script trong
th mc /etc/rc2.d, gm nhiu tin trnh cho php nhiu ngi s dng. Nu
mun s dng h thng vi hiu lc mng v mi trng nhiu ngi s
dng th phi chy mc 2 (hoc 3).
3L mc cho php chia s d liu vi cc h thng xa. Nu ci t NFS
H thng t ng thng bo v mount c h thng file xa bng NFS..
6L mc khi ng li h thng. khi thay i sang mc 6 h thng
shutdown v khi ng li.
Ngoi ra cn mt s mc khi ng khc tu theo lo h iu hnh Unix m
c cc h tr vi mc ivchs khc nhau.
H thng c th t cc mc 1, s, S, 2, hoc 3 lm mc ngm nh chy. Thng
thng l mc 2 hoc 3 trn cc h thng Unix. thay i trng thi ca h thng
s dng lnh init (hoc telinit).
Initialization Table (inittab)
File /etc/inittab c cha cc tin trnh m c khi ng khi init thc hin khi
ng h thng hoc khi thay i trng thi. Mt s thnh phn trong inittab l chy

51

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


di ch nn mt s khc nh /etc/rc2, c s dng thit lp cc tin trnh
khc cho mc chy ring.
Mi mt thnh phn trong file inittab bao gm cc trng sau:
idtag:runstate:action:process
Idtag l mt th no ( t 14 k t) xc nh mt mc. Runstate l trng
thi h thng m thnh phn s chy trong n. Ta c th c mt vi trng thi
h thng gn cho mt thnh phn.
Action l t kho tng ng vi mt trong cc : respawn (Nu tin trnh b
mt th t bt u li), wait (i tin trnh kt thc trc khi thc hin tip
thnh phn bn di, once (Chy mt tin trnh, i cho n kt thc v
khng khi to li), boot (Chy tin trnh ln u chuyn sang trng thi
nhiu ngi s dng v khng i tin trnh kt thc), bootwait (chy tin
trnh ln u, chuyn sang trng thi nhiu ngi s dng, i cho tin trnh
kt thc, v sysinit (chy tin trnh khi h thng bt u).
Process l lnh thc s chy khi cc tiu chun trc l runstate v
action c p ng.
V d:
co:12345:respawn:ttymon g v p "Console Login: " d \
[cc]/dev/console l console
Mc ny l co, chy mc 1, 2, 3, 4, v 5. Nu tin trnh b mt i th n t ng
khi ng li. Tin trnh ny chy lnh ttymon(terminal monitor), m cho php ta
thc hin vic login t system console.
Run State Directories (rc?.d)
Cc ng dng m cn c cc tin trnh chy ch nn hoc yu cu mt vi thnh
phn c khi ng khi h thng bt u hot ng, thng thng c cc script
trong th mc xc nh trng thi chy ca h thng. Gm cc th mc sau:
/etc/rc0.dc cha cc quan h script khi ng ban u vi trng thi

52

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


shutdown (0) v reboot (5 v 6).
/etc/rc1.d c cha cc quan h script khi ng ban u vi trng thi
single-user (1, s, v S).
/etc/rc2.d c cha cc quan h script khi ng ban u vi trng thi
multiuser (2 v 3).
/etc/rc3.d c cha cc quan h script khi ng ban u vi trng thi filesharing (3).
/etc/shutdownTng thch vi cc h preSystem V, Release 3 gm cc
script c gi chy khi h thng shutdown. Thng thng th mc ny l
rng ngoi tr cc script m ta thm vo.
/etc/rc.dTng thch vi cc h preSystem V, Release 3 gm cc script
chy khi h thng kh ng. Thng thng th mc ny l rng ngoi tr
cc script m ta thm vo.
/etc/init.dThc hin nh l ni cha cc startup script. Cc Script khng
thc s chy t th mc ny, nhng n lin kt vi cc th mc rc?.d tng
ng.
Startup Scripts
Startup script l lnh chy khi khi ng h thng, shutdown h thng hoc khi thay
i trng thi h thng. Nu thc hin xem ni dung cc file ny bng lnh cat hoc
pg ta s nhn thy hng lot cc lnh shell vi cc tu chn start hoc stop.
Khi ng dng thm vo mt startup script. th n thm script vo th mc /etc/init.d.
sau thc hin link n ti mt hoc nhiu th mc vi tn file bt u bng S (for
start) hoc K (for kill).
Ta hy xem xt v d v mouse manager:
Khi ci t UnixWare, mt shell script cho vic khi ng v kt thc tin trnh
qun l mouse trn ng dng giao din ho l file /etc/init.d/mse, c link
thnh hai file khc l /etc/rc2.d/S02mse v /etc/rc0.d/K02mse.

53

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Cc lnh trong file script nh sau:
case "$1" in
'start')
/usr/lib/mousemgr &
;;
'stop')
pid='/usr/bin/ps e | /usr/bin/grep mousemgr |\
[cc]/usr/bin/sed e 's/^ *//' e 's/ .*//''
if [ "${pid}" != "" ]
then
/usr/bin/kill ${pid}
fi
;;
*)
echo "Usage: /etc/init.d/mse { start | stop }"
;;
esac
Khi khi ng h thng tin trnh init kim tra file /etc/inittab tm cc mc m ph
hp vi trng thi chy ngm nh, thng thng l trng thi 3. Thc hin vic tm
r2, chy lnh trong /sbin/rc2 v kim tra tt c cc script trong th mc /etc/rc2.d.
Sau chy cc file bt u bng K vi tu chn stop v bt u chy cc script
m bt u bng ch S vi tu chn start. Trong v d trn th lnh chy S02mse l:
S02mse start. ng vi tu chn start l lnh /usr/lib/mousemgr c thc hin v
tin trnh tip tc chy cho n khi c thay i li trng thi h thng.
Khi shutdown h thng tin trnh init chy tin trnh trng thi 0, cch thc ging
nh trn. Nhng mc chy l r0, chy lnh /etc/rc0, thc hin kim tra trong th
54

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


mc /etc/rc0.d. Tt c cc script bt u bng ch K c gi thc hin vi tu
chn stop. Vi script K02mse c gi chy nh sau: K02mse stop. ng vi tu
chn stop th script chy lnh x nh ID ca tin trnh mousemgr v hu b n,
tng t vi tin trnh khc v sau khi thc hin hon tt th h thng c th
shutdown.
Thay i trng thi vi init hoc telinit
Khi h thng ang chy ta c th thay i trng thi hoc mc hot ng ca h
thng bng lnh init hoc telinit. Nu ta ang shutdown h thng hoc chuyn sang
trng thi thp hn c th s dng lnh shutdown.
Lnh init cho php thay i trng thi mt cch d dng bng cch g lnh init v
theo sau l s ch trng thi v d: init 2
Lnh telinit l link ca init. Lnh telinit c to ra cho ngi s dng.
2. Shutting Down the System
C vi cch shutdown h thng Unix: Bng cch s dng lnh Shutdown, reboot,
bng lnh trong giao din ho, bng cch tt my ...
Using the shutdown Command
Lnh shutdown c th c s dng thay cho lnh init chuyn trng thi sang (0)
v trng thi reboot (6). Lnh c th l phc tp trong mi trng nhiu ngi s
dng. Nu dng lnh init 0 h thng b down ngay. Nu mun ngi s dng phi
logout ra ht trc khi h thng down c th dng lnh:
# cd /
# shutdown y g60 i0
Tu chn y cho php b qua cc cu hi yu cu g60 trong vng 60 giy ngi s
dng phi logout trc khi h thng down. i0 gn vi trng thi lnh init 0.
Khi chy lnh ny th tt c ngi s dng trn mng s c thng bo phi logout
h thng sp shutdown v dnh khong thi gian cho ngi s dng hon thnh
cng vic cui cng trc khi h thng down.

55

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


VI. Managing processes
1. Processes
Sau khi h thng hon thnh vic khi ng h thng ta c th thc hin chy cc
ng dng. Mt ng dng ang thc thi gi l mt process. Cng vic ca h iu
hnh l qun l thc thi ng dng. Khi thc thi mt chng trnh th h iu hnh s
to ra mt process mi. Nhiu process c th cng ng thi tn ti, nhng ch mt
process c th c thc hin thc s trn CPU ti mt thi im. H iu hnh
phn chia vic thc thi cc process mt cc rt nhanh lm cho cc process nh ang
thc hin ng thi. Khi nim ny xem nh l s phn chia thi gian x l hoc a
nhim.
Khi thot khi chng trnh th process s kt thc v h iu hnh s gii phng
cc ti nguyn m chng trnh s dng.
Hu ht cc chng trnh u thc hin mt vi nhim v t lc khi u cho n
lc kt thc cho nn thc thi cc tc v chng trnh yu cu h iu hnh cung
cp cc ti nguyn cn thit cho vic thc thi.
C mt vi loi process c trong cc h iu hnh Unix. Mi loi c cc c im
ring gm: Interactive process l process c khi ng bi shell n c th l
foreground hoc background. Batch process l process m khng tng ng vi
terminal. Daemon process l process m chy background khi c yu cu. Loi
ny thng thc hin khi khi ng h thng.
Mt s lnh lin quan n vic qun l tin trnh:kill, ps
Phn tham s ca lnh xem trong end user.
V d:
$ ps -f
UID PID

PPID C

STIME

TTY TIME COMD

sartin 1400

1398 80

18:31:32

pts/5 0:01 -sh

sartin 1406

1400 25

18:34:33

pts/5 0:00 ps f

56

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Lnh ps cho php ngi qun tr xem xt cc thng tin v h thng bo gm cc
thng s sau:
F

Ch ra trng thi ca process v c tnh ton bi cc gi tr hexadecimal

gm:

00

Process kt thc.

01

L system process lun tn ti trong memory

02

Process ang b kim sot bi tin trnh cha.

04

Process ang b kim sot bi tin trnh cha v n b dng.

08

Process khng th c kch hot bi cc signal

10

Process ang trong b nh v b lock ang i event

20

Process khng th b swapped

Cng dng ch trng thi ca process:


O

Process ang chy trn processor.

Process ang sleeping, v ang i I/O event hon thnh.

Process ang sn sng chy.

Process khng lm g.

Process b kt thc v tin trnh cha khng i nhng n vn ang


trong process table (zombie process)

Process b ngng bi tin trnh cha.

Process ang i ly thm b nh.

UID User ID ca ngi ch process


PID

Process ID number

PPID Parent process ID number


C

S dng CPU theo thi gian biu.

CLS Lp thi gian biu, real-time, time sharing, hoc system


57

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


PRI

Mc u tin Process (s cng ln u tin cng nh).

NI

Mc u tin v chim dng thi gian x l CPU. Tng gi tr -> gim

u tin.
SZ

Tng virtual memory yu cu bi process.

Wchan a ch ca process trong process table.


TTY Terminal khi ng process, hoc cha n. (A ? ch ra khng c terminal tn
ti.)
TIME Tng thi gian process s dng CPU t khi process bt u.
COMD

Lnh to ra process

2. Process scheduling
Thng thng cc h thng ln hoc cn cung cp d liu thng xuyn h thng
lun c chy 24/24. UNIX a ra mt s lnh cho php thc hin cc process
theo thi gian nh sn.
Lnh at: Lnh at c s dng t schedule cho mt lnh thc hin trong
thi gian qui nh.
at time date < file
Vic t lch theo khong thi gian no tu theo ngi t qui nh. C th l
hh:mm, c th hh:mm(pm,am). C mt s t v thi gian dng lm option l noon,
midnight, now, next. C th t ngy, thng thc hin May 10 hoc day of the week
.
V d:
at 20:30 < reorg.data
at 8:30 pm < reorg/data
at 20:30 today < reorg.data
at 8:30 pm Friday < reorg.data
at 0900 Monday next week < reorg.data
58

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Dng lnh at -l hin danh sch cc cc process c schedule.
V d:
$ at -l
user = tparker job 827362.a at Wed Aug 31 06:00:00 EDT 1995
user = tparker job 829283.a at Wed Aug 31 09:30:00 EDT 1995
Dng lnh at r <job> b mt schedule.
V d:
at -r 2892732.a
Lnh cron v crontab: cron l mt tin ch cho php thc hin cc lnh ti mt thi
im ch nh m khng cn mt ai trc tip khi ng n. H thng UNIX t ng
load cron nh l mt daemon khi n khi ng. Khi hot ng cron c thi gian v
cng vic m n c nh thc hin trong crontab file. Vic thc hin cc tc v
t trong crontab file l lun lun c thc hin n ch ngng thc hin khi kt
thc tin ch cron hoc khi thay i thng tin trong crontab file.
Trn hu ht cc h thng vic truy nhp v to cc schedule ch c thc hin bi
ngi qun tr h thng.
Ngy nay mt s h iu hnh UNIX cn cho php ngi s dng t to cc
crontab ca ring h.
to crontab file s dng lnh crontab vi tham s -l. N s to ra mt crontab
file cho php to cc tc v mong mun.
$ crontab -l > new_crontab_file
$ vi new_crontab_file
[edit the file to update your crontab]
$ crontab new_crontab_file
$
Mt crontab file c th hin di khun dng sau:

59

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


<minute> <hour> <day-of-month> <month-of-year> <day-of-week> <command>
Gi tr chp nhn ca cc trng:
minute (0-59)
hour (0-23)
day of month (1-31)
month of year (1-12)
day of week (0-6, 0 is Sunday)
Command (rest of line)
V d
0 17 1 * 0 date | mail user
Lnh s c thc hin vo 5 p.m. vo ngy u thng v 5 p.m. mi ngy ch nht.
Cc file cron tab c t trong th mc cron thc hin. Th mc ny c th
mt v tr no tu loi UNIX thng thng l /usr/spool/cron/ hoc
/var/spool/cron/.
3. Process priorities

VII. Security
Vic truy nhp hn thng thng thng c thc hin trc tip t system console,
qua h thng mng, qua modem connection. Vic truy nhp h thng UNIX i hi
ngi s dng phi c to trn h thng vi mt khu truy nhp v quyn truy
nhp tng ng ti ti nguyn h thng.
1. Security datafiles
xc nh quyn hn truy nhp h thng, Vi cc h thng UNIX thng thng
cc thng tin lin quan n nhm v ngi s dng truy nhp h thng c lu
tr trong cc file (security datafiles).

60

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


password File
File ny dng lu tr thng tin v ngi s dng h thng bao gm cc trng ring
r cch nhau bi du (:), khun dng file gm cc dng c dng nh sau. File c
t trong th mc /etc:
username:pswd:uid:gid:uid comments:directory:shell
Trng username l tn user thc hin khi login ti du nhc Unix login:. Thng
thng trng ny l gm cc k t ch thng nh hn hoc bng 8, tn duy
nht, khng c cha du (:, du cch, k t c bit). Cch tt l dng du
gch di (_) cho du ni.
Trng pswd l phn mt khu vi cc khun dng khc nhau. N c th mang
gi tr rng ch ra rng khng yu cu mt khu khi login. Gi tr c th di ti
13 k t v c m ho. Cc k t c g vo l cc k t nm trong khong
{ . / 0-9 A-Z a-z } cn cc gi tr khc l khng c chp nhn. i vi mt s
loi ca h iu hnh UNIX th c th c m rng hn hoc c lin kt vi
mt file khc (shadown).
Trng uid l id ca user. Gi tr ny l duy nht v c gi tr t 0- 65535. Mt
s loi h iu hnh c khuyn ngh cch dng cc id trong phm vi an ton.
Chng bao gm:
0:

The superuser

1-10: Daemons and pseudo users


11-99: System, reserved and "famous" users
100+: Normal users
60001:

"nobody" (occasionally 32000 or 65534)

60002:

"noaccess" (occasionally 32001)

Trng gid l id ca nhm ngm nh m user thuc vo. Gi tr ny tng ng


vi gi tr c trong /etc/group file.
Trng uid comments field l trng ghi ch cc thng tin thm vo cc phn

61

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


thng tin c th cch nhau bng du (,) v d: Homer User,,,800-IAM-HOME.
Trng directory l th mc home hoc th mc lm vic ca ngi s dng.
Trng shell l trng cha b thng dch lnh hoc chng trnh ngi s
dng gi ti khi login. Thng thng l mt trong ba shell sau: sh (Bourne), ksh
(Korn), csh. Nu khng l cc shell th n c th l mt chng trnh no
V d :
root:x:0:0:Superuser:/:
daemon:*:1:5::/:/sbin/sh
bin:*:2:2::/usr/bin:/sbin/sh
sys:*:3:3::/:
adm:*:4:4::/var/adm:/sbin/sh
uucp:*:5:3::/var/spool/uucppublic:/usr/lbin/uucp/uucico
lp:*:9:7::/var/spool/lp:/sbin/sh
nuucp:*:11:11::/var/spool/uucppublic:/usr/lbin/uucp/uucico
hpdb:*:27:1:ALLBASE:/:/sbin/sh
nobody:*:-2:60001::/:
dave:x:100:10:Dave G,13,x3911,unlisted:/usr1/dave:/bin/tcsh
charlene:x:101:10:Charlene G,14,x1800,unlisted:/usr1/charlene:/bin/tcsh
john:x:102:60:John S,2,555-1234,x1400:/usr2/john:/bin/ksh
georgia:x:103:60:Georgia S,11,x143,x143:/usr2/georgia:/bin/csh
Shadow Password File
File /etc/passwd thng thng ngi s dng c th xem c. lu tr mt
khu ca ngi s dng c m ho v mt s thng tin khc, mt s loi
UNIX s dng file /etc/shadow. Thng thng mt file shadow c dng sau:
username:pswd:lastchg:min:max:warn:inactive:expire:flag
Trng username l tn user ly t file /etc/passwd.
Trng pswd c cha 13 k t m ho ca password, null ch ra khng c
password khi login.

62

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Trng lastchg l ngy m password thay i cui.
Trng min l ngy nh nht gia ngy thay i password.
Trng max l s ngy ln nht m password s c chp nhn.
Trng warn c cha s ngy thng bo trc khi password b qu hn.
Trng inactive l trng s ngy m username vn cn tc dng trc khi khng
c cho php login.
Trng expire ch s ngy xc nh m ngi s dng c quyn login vo h
thng.
Trng flag hin khng s dng.
Group File
y l file lin quan n quyn hn ca ngi s dng, ca nhm trn h thng file
trong h iu hnh Unix. Cu trc file nh sau:
group_name:password:group_id:list
Trng group_name cha tn ca group.
Trng password l phn m ho ca mt khu nhm nu c.
Trng group_id l gi tr ID ca group.
Trng list l danh sch cc ID ca ngi s dng thc nhm.
V d:
root::0:root
other::1:root,hpdb
bin::2:root,bin
sys::3:root,uucp
adm::4:root,adm
daemon::5:root,daemon
mail::6:root
lp::7:root,lp
tty::10:
63

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


nuucp::11:nuucp
users::20:root,dave,charlene,john,georgia,operator,steve,judy,wayne,jamie
nogroup:*:-2:
systech::110:dave,disdb,diskf,disjs,dispm,diskj
dba::201:oracle,john,kathy,pete
Hosts.equiv: Ch ra danh sch cc host v cc user khi truy nhp h thng vi cc
lnh rlogin, rcp, rsh khi truy nhp khng cn mt khu.
Cu trc file nh sau:
host1
host2 user
+@group1
@group c lu trong file netgroup
netgroup:

Cha cc group

netgroup
netgroup

name name ...


(hostname, user, domain)

.
.rhosts:

Tng t nh trn

2. Group and User administration


a) Group administration

To group
Xo group
b) User administration

To ngi s dng
C ba cch to mt ngi s dng h thng l:
Son file passwd, shadow v cc file tng ng bng tay.

64

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


S dng lnh useradd.
S dng cc tin ch Graphical User Interface (GUI) c cc h iu hnh
UNIX h tr.
Trc khi to mt ngi s dng ta cn phi:
Chn tn ngi s dng. Tn ny phi duy nht trong h thng.
Gn user ID (gi tr ny cha c s dng trc y) v Group m user
thuc vo.
Chn group mag user s dng n lm primary group.
Chn th mc home ca ngi s dng.
Lnh Useradd : Lnh to ngi s dng.
useradd [ -c comment ] [ -d dir ] [ -e expire ] [ -f inactive ]
[ -g group ] [ -G group [, group...]] [ -m [ -k skel_dir ]]
[ - u uid [ -o]] [ -s shell ] login
-c Ghi ch V d: -c "Temp user"
-d Th mc home ca user.
-e Ngy qu hn trng ny khng yu cu phi c. Nu c th vic kim tra
ngy qu hn s c hiu lc. V d: -e "January 1, 1995" hoc -e 1/1/95
-f Ch ra s ngy khng hot ng ti a trc khi khng c chp nhn.
Nu khng c tu chn ny th vic kim tra b b qua.
-g groupCh ra primary group ID ca user.
-G group [, group ... ]Ch ra group m user thuc vo. (secondary groups).
Gi tr c th l tn hoc group ID
-m [ -k skel_dir ]Nu khng c tham s k -> to th mc home cho user
v copy cc file t /etc/skel. Nu c tham s -k -> to th mc home v copy
cc file t skel_dir thay cho /etc/skel.
-u uid [ -o]Dt user ID. Nu c -o th user ID ny l khng duy nht. Tuy
65

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


nhin UNIX khng khuyn ngh dng nhiu user chung mt ID.
-s shellCh login shell.
loginCh tn ngi s dng dng login vo h thng.
Xo ngi s dng
Trc khi xo mt ngi s dng ta cn quan tm xem thc s mun xo ngi s
dng hay ch cn tm thi lm mt hiu lc ca ngi s dng. Xem xt cc l do
sau trc khi quyt nh.
Nu user c kh nng s c quyn quay tr li h thng, vic s dng li
d liu s kh v cn trnh vic s dng ID s dng v khi cc d liu
do ngi b loi b s c gn li cho ngi mi to.
Cn thit trong trng hp hi phc cc file d liu lin quan n ngi s
dng b xo. Nu d liu hi phc m c ca user b xo th sau ta
kh xc nh d liu ny l ca ai -> vic s dng li s rt kh khn.
tm thi khng cho user thm nhp h thng dng lnh passwd -l <user>
Mun loi b hon ton nhng g lin quan n ngi s dng th trc ht cn:
Tm cc file m ngi s dng l ch v in dah sch cc file ny ra. (Tm
bng lnh find).
Mun s dng li cc file ny hy gn ch s hu mi.
Xo ton b cc file cn phi xo.
Xo user bng cc xo cc thng tin lin quan n user trong cc security
file, hoc dng tin ch m h iu hnh UNIX cung cp hoc dng lnh
userdel.
Lnh userdel: Lnh xo ngi s dng.
userdel [-r] <username>
username

Tn user cn xo.

-r

Xo ton b th mc home ca user.

66

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Thay i thng tin ngi s dng.
thay i thng tin lin quan n ngi s dng dng lnh.
usermod [-c uid comment] [-d dir [-m]] [-e expire] [-f inactive]

[-g gid] [-G gid[,gid]]


[-l new_username] [-s shell] [-u uid [-o]] username
new_username

L tn user mi.

Psuedo Users
Trong mi h iu hnh UNIX u c cha my vi psuedo user. Cc user ny c
h thng s dng nhm mt s mc ch no . Cc thuc tnh ca chng khng
nn thay i. Sau y l mt s cc psuedo user :
daemon

Used by system server processes

bin

Owns executable user command files

sys

Owns system files

adm

Owns accounting files

uucp

Used by UUCP

lp

Used by lp or lpd subsystems

nobody

Used by NFS

67

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Thit lp mi trng ngi s dng
Khi ngi s dng login vo h thng mt s file c gi thc hin xc lp mi
trng lm vic cho ngi s dng.
/etc/profile File thit lp mi trng h thng c gi thc hin i vi tt c
ngi s dng login vo h thng.
Cc file n trong th mc home ca ngi s dng.
.login Dng vi Csh thc hin sau qu trnh lp mi trng h thng.
.profile Dng Sh vi ksh Thc hin khi ngi s dng login sau qu trnh
thit lp mi trng ca h thng.
.rhosts

Danh sch Remote host/username m c gn quyn khi s

dng Rlogin, rexec, rsh, rcp, truy nhp cc file v lnh khng cn mt khu.
.mailrc Khi ng file cho mail m cho php t cc tu chn hoc cc
aliases.
.xinitrc File khi ng cho X windowing.
.xsession
.xdefault
3. System access permissions
Xem ti liu end user
4. Acounting
UNIX accounting system thu thp thng tin v vic s dng ti nguyn my tnh
ca cc nhm hoc ca ngi s dng n l. Ta c th s dng thng tin ny ging
nh cc bng k vi ngi s dng ti nguyn h thng. Cc Accounting report
cung cp cc thng tin gip cho ngi qun tr h thng xem xt ti nguyn h
thng ang c s dng, qun l ti nguyn, t cc gii hn v hn mc truy
nhp ti nguyn ...
Cc tin ch c cung cp c th t chy t ng hoc thc hin bang tay t

68

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


ngi qun tr h thng.
Khi h iu hnh UNIX c khi ng v h thng accounting c khi ng
chy th cc thao tc thng k bt u hot ng. D liu c tp hp theo cc loi
sau y:
Connect session statistics
Process usage
Disk space utilization
Printer usage
Connect Session Statistics
Thng k thi gian bt u thc hin kt ni ti h thng v thi gian kt thc kt
ni vi h thng ca mt user no . Cc thng tin ny thng c ghi trong
file /var/adm/wtmp, gm cc thng tin sau:
Tn ngi s dng
Ngy login/logout
Thi gian login/logout
Terminal port
Cc thng tin ny c th c s dng a ra cc loi bo co dng sau:
Ngy v gi ca mi ln kt ni.
Tn v ID ca ngi s dng thc hin kt ni.
Thi gian kt ni.
a ch thit b kt ni
Process Usage
System accounting hu nh thng k cc thng tin bi cc tin trnh n l v d:
S dng b nh.
S User v group numbers chy process

69

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Tn ca lnh gi thc hin.
Thi gian chy v thi gian processor s dng bi process
Tng thi vo ra.
S d liu c truyn.
S lng blocks c v ghi trn a ca mi process
Cc thng tin c lu trong accounting file /var/adm/pacct. File ny c truy
nhp bi cc lnh accounting. Sau khi tin trnh kt thc kernel ghi cc thng tin
trn file /var/adm/pacct file. Thng tin gm:
Process ca user ID
Lnh thc hin khi ng process
Thi gian thc hin.
System accounting cung cp lnh hin th, bo co, tng kt cc thng tin v tin
trnh.
Disk Space Utilization
System accounting cung cp kh nng cho ngi qun tr h thng gim st vic
s dng a ca ngi s dng. hn ch vic s ding a ngi s dng c th
thc hin vic gii hn vic s dng. Cc lnh ny thc cc chc nng sau:
S dng a bi cc filesystem
Bo co v vic s dng a ca ngi s dng.
Trng thi a v s s dng a ca cc lnh system accounting.
Printer Usage
Printer usage data c lu trong file /var/adm/qacct di dng ASCII. Tin trnh
qdaemon s ghi d liu dng ASCII ti file /var/adm/qacct sau khi cng vic in n
hon tt. Cc bn ghi ng vi mi printer queue c cha cc thng tin sau:
Tn v ID ca ngi s dng.
S trang in.
70

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


VIII. File System and Disk Administration
1. Cu trc th mc trn Unix
/ - Th mc gc trn UNIX file system.
/bin - L symbol link ti /usr/bin cha cc lnh user trn UNIX.
/dev - C cha cc file thit b nh printer, keyboard, harddisk ...
/etc - Cha cc file cu hnh h thng v cc file lin quan n qu tr h
thng.
/lib - Cha th vin trn UNIX.
/sbin - Cha lnh lin quan n khi to h thng.
/tftpboot - Cha cc file phc v cho vic khi ng t cc client.
/usr - Cha lnh v cc chng trnh ng dng h tr bi h iu hnh.
/var - Cha cc thng tin cu hnh cc ng dng, hng i ...
/vmunix Kernal ca UNIX
/opt

Cha cc chng trnh ng dng thng t hng th ba.

/home Th mc home ca user.


/lost+found Cha cc file c recover bi fsck.
2. Creating file systems
to h thng file cn thc hin cc bc nh sau:
Chn quyn hn ca a.
To cc partition
To file system
Mi loi UNIX s c cc cng c khc nhau to cc file system. Thng thng
dng cc lnh fdisk, format, fdformat, cc lnh to cu trc block dng mkfs hoc
newsfs. Mi loi h iu hnh UNIX s dng k hiu a din cho h thng file

71

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


trong cc mc tu chn ng vi cc lnh V d: Solaris s dng ufs, Linux s dng
ext2, IRIX s dng efs v xfs.
Tuy nhin h thng file ca UNIX cng ch l ni lu d liu trn a v n cng
c lu di dng cu trc phn cp v t trn cc partition.
Vi h iu hnh UNIX cc thit b u c th hin di dng cc file. Cc file
thit b ny thng c t trong th mc /dev. Vi mi h iu hnh UNIX cc
file thit b ny c th c k hiu khc nhau hoc t mc th mc thp hn.
Thng thng cc h iu hnh UNIX t ng to ng cc file thit b m n h
tr khi khi ng h thng. Ngm nh cc file ny ch c truy nhp bi ngi
qun tr h thng (root).
Vi cc thit b lu tr nh a cng tu theo tng loi h iu hnh va loi a
cng m c cc k hiu quy nh khc nhau v tn file:
V d vi a IDE, EIDE trn Linux th hin di dng file sau
/dev/hd[drive][partition]
Vi a u tin k hiu l hd a cho primary disk v b cho slave, c cho primary
secondary disk v d cho slave secondary. Tip sau l gi tr s ng vi cc
partition trn mi a.
Vi a SCSI thay k hiu tn fil l /dev/sd thay cho /dev/hd cn cc thnh phn
khc tng t.
To partition: to partition dng lnh fdisk to partion. (v d vi Linux)
# fdisk /dev/hda
Cc lnh trong fdisk
p

Hin partition hin thi

To partition mi gm extended v primary partition (1-4).

To swap partition

Ghi li cc thay i va to.

72

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


To File Systems: Sau khi to partition th h thng file vn cha c sn sng
cho vic s dung. m cn phi to file system. to h thng file trong Linux
dng lnh mke2fs (trong sun solaris dng lnh newfs), mkswap to swap file
system.
V d
mke2fs /dev/hda1
mkswap /dev/hda2
3. Mounting and unmounting file systems
Mounting file systems
Nh ta bit h thng file ca UNIX c lu tr di dng cc cy th mc
nhng mun thc hin c iu ny th n phi c mount.
Trc khi c th mount file h thng ta cn chn mt im mount. im mount l
mt th mc trong h thng file ni m th mc gc bao ln n. UNIX gi im
mount v cho php truy nhp n h thng file da trn quyn hn ca ngi s
dng hin thi. im mount c th l mt v tr no trn cy th mc. Cn ch
rng mt h thng file ch c mount trn mt mt th mc.
mount h thng file dng lnh mount c php nh sau:.
mount <option> </dev/device> </directory to mount>
/dev/device l tn ca device m ta mun mount.
/directory to mount l th mc mount m h thng file mount ti
Cc tham s tu chn ca option o c th l:
rw

read/write

ro

read only

bg

background mount (Nu mount b li n chuyn sang background v

tip tc c gng mount cho n khi hon thnh).


V d: mount -o rw /dev/hda4 /usr

73

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Lnh mount khng tham s s hin ln tt c cc file systems ang c mount
Chi tit ca lnh xem ti liu ng vi loi h iu hnh UNIX.
Unmounting file systems
b mount h thng file dng lnh umount hoc umountall
Lnh umount: B mount mt h thng file (im mount).
umount <mount point>
V d:
umount /usr
Lnh umountall: B tt c cc im mount
Automount file systems
Automount l kh nng t ng mount h thng file ti thi im khi ng h iu
hnh. Vi kh nng t ng cho php h thng sn sng khi qu trnh khi ng kt
thc. thc hin c vic t ng mount UNIX s dng file c bit l /etc/fstab
(/etc/vfstab di Solaris). File ny cha danh sch tt c cc partition cn mount ti
thi im khi ng v th mc cn c mount ti vi cc tu chn km theo theo
dng sau:
/dev/device

/dir/to/mount

dev/device

ftype

parameters

fs_freq

fs_passno

Ch device s c mount.

/dir/to/mount L th mc c mount ti trn cy th mc.


ftype

L kiu h thng file. V d di Solaris l ufs, di Linux l

ext2, nfs cho NFS , swap cho swap partitions, v proc cho /proc file system.
parameters

L bin tu chn khi mount ng vi o option.

fs_freq

c s dng bi dump xc nh h thng file cn c

dump.
fs_passno

c s dng bi chng trnh fsck xc nh trnh t kim

tra a ti thi im khi ng.

74

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Cc dng bt u bng du # l cc dng ch thch.
V d v file fstab di Linux systems:
#
# Sample /etc/fstab file for a Linux machine
#
# Local mounts
/dev/sda1

ext2

defaults

/dev/sda2

/usr

ext2

defaults

/dev/sda3

/usr/data

ext2

defaults

/dev/cdrom /cdrom

iso9660

ro

/dev/sda4

/dos

msdos

defaults

/dev/sdb1

/data

ext2

defaults

Mt s kiu hay dng trong Linux


ext2

Kiu filesystem c dng ch yu trn Linux partition.

iso9660

Kiu ISO 9660 filesystem c dng vi CD-ROM disks.

sysv

Kiu Nhm h tr cho dng UNIX System V filesystem.

msdos

Kiu DOS partition m Linux c th truy nhp.

hpfs

Kiu High Performance filesystem bi Linux.

4. Managing disk use


bit cc thng tin v vic s dng a UNIX dng cc tin ch sau:
Lnh df: Cho bit thng tin v vic s dng a, dung lng c s dng v
cha c s dng v theo t l phn trm.
df <option>

75

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Cc tham s thng dng:
-a

Hin th tt c cc partition bao gm c swap v /proc.

-i,

Hin th thng tin inode thay cho block.

-k

Hin th dng KB.

-t<type>Hin th ch nhng filesystems c kiu ph hp vi type ch nh.


V d: df t
Filesystem 1024-blocks

Used

Available Capacity Mounted on

/dev/hda3

247871

212909 22161

91%

/dev/hda6

50717

15507

32591

32%

/var

/dev/hda7

481998

15

457087

0%

/local

222422 218310

50%

/var/spool/mail

server1:/var/spool/mail
489702
Cc ct thng tin gm:
Filesystem

Ch file system

1024-blocks Ch s block trong file system. (Tng dung lng.)


Used

S block s dng.

Available

S block cha s dng.

Capacity

Phn trm lng a ang s dng hin ti.

Mounted on Ch v tr c mount trn cy th mc.


Lnh du: Hin th tng a s dng trn tng th mc hoc tng file.
du <option> <directory>
Cc tham s thng dng:
-a

Hin th s m trn tng cc file v cc th mc.

-b

Hin th kch thc dng byte.

76

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


-c

Hin th tng cc b.

-k

Hin th kch thc dng KB.

-l

Hin th kch thc ca tt c cc file.

-s

Ch hin s tng.

-x

B qua cc filesystem khc m mount vo trong th mc hin thi.

V d: du
409

./doc

945

./lib

68

./man

60

./m4

391

./src

141

./intl

873

./po

3402 .
Ch s lng block c s dng bi mi th mc.
5. Checking file system integrity
Trong qu trnh hot ng h thng khng trnh khi din ra trng thi mt ai
t ngt ngt in my tnh, h thng cp in cho my b mt, mt ai nhn nt
reset .... cc hin tng ny s dn n hin tng thng tin trn h thng vn cn
tn ti m cha c ghi ra a. Khi xy ra cc li ny th ta cn phi thc hin vic
kim tra tnh ton vn ca h thng iu ny l cn thit nu nh cu trc h thng
l khng cn ng. thc hin vic kim tra v sa cha cc li ny dng lnh
fsck.
Lnh fsck th hin theo nhiu giai on. Mi giai on thc hin mt nhim v
ring v cc giai on sau u da vo kt qu thc hin giai on trc .

77

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


fsck thc hin duyt bt u t superblock lin quan n cc vng disk blocks,
pathnames, directory connectivity, link reference counts, v vng trng ca blocks
v inodes.
Cc giai don kim tra ca lnh fsck:
Phase 1: Kim tra Block v Size giai on ny kim tra danh sch inode, tm cc
inode b v hiu. Li ny c thng bo nh sau:
UNKNOWN FILE TYPE I=inode number (CLEAR)
PARTIALLY TRUNCATED INODE I=inode number (SALVAGE)
block BAD I=inode number
block DUP I=inode number
Phase 2: Kim tra ng dn, giai on ny xo b cc th mc t cc bad inodes
c tm thy giai on 1 v tin hnh kim tra th mc vi cc con tr inode m
b vt qu phm vi hoc con tr tr ti bad inode. Li ny c thng bo nh
sau:
ROOT INODE NOT DIRECTORY (FIX?)
I=OUT OF RANGE I=inode number NAME=file name (REMOVE?)
UNALLOCATED I=inode number OWNER=O MODE=M SIZE=S MTIME=T
TYPE=F
(REMOVE?)
BAD/DUP I=inode number OWNER=O MODE=M SIZE=S MTIME=T TYPE=F
(REMOVE?)
Phase 3: Kim tra kt ni, giai on ny pht hin li cc th mc khng tham
chiu, bng cch to th mc lost+found nu cn v chuyn cc phn khng ng
vo th mc lost+found.
Phase 4: Kim tra m tham chiu, giai on ny s dng thng tin trong giai on
2 v 3 kim tra cc file khng tham chiu v m lin kt khng ng trn cc
file, directory, hoc file c bit. Thng bo nh sau:
78

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


UNREF FILE I=inode number OWNER=O MODE=M SIZE=S MTIME=T
(RECONNECT?)
LINK COUNT FILE I=inode number OWNER=O MODE=M SIZE=S MTIME=T
COUNT=X
(ADJUST?)
LINK COUNT DIR I=inode number OWNER=O MODE=M SIZE=S MTIME=T
COUNT=X
(ADJUST?)
BAD/DUP FILE I=inode number OWNER=O MODE=M SIZE=S MTIME=T
(CLEAR)
Phase 5: Kim tra Cylinder Groups, giai on ny kim tra cc block t do block v
cc inode cha s dng. N s t ng sa i li danh sch cc inode t do cho
ng nu cn thit, tuy nhin c cc yu cu i ngi qun tr phi tr li.
What Do I Do After fsck Finishes?
Lnh fsck:
6. Backup and restore
Xem thm phn end user
Bn thn trong h iu hnh UNIX h tr nhiu cng c h tr vic lu tr v hi
phc trn cc thit b v l khc khau. N h tr cc mc sao lu v hi phc gip
cho vic ti u trong cng tc sao lu v m bo vic qun tr d dng.
Ngoi cc lnh tar, cpio, dd, tu theo h iu hnh h tr cc cng c khc phc v
cho cng tc sao lu v hi phc d liu.

IX. Printer administration


Unix h tr my in cm trc tip trn cng parallel, serial cng nh h tr cho my
in mng. Vic cu hnh my in tng i n gin nh cc tin ch h tr bi cc h
iu hnh. Tuy nhin trn mt s loi version c vic cu hnh li phi t lm bng

79

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


tay qua lnh (mknod) tng i phc tp.
Thng thng cc cng parallel thng tng ng vi cc file /dev/lp0, /dev/lp1,
hoc /dev/lp2 ph thuc vo s cng m my c.
Cc tin ch lin quan n printer bao gm
/etc/printcap Cha cu hnh my in .
/usr/lib/lpd

Kim sot v cung cp cc dch v in

/usr/ucb/lpr Thc hin vic chuyn cc print job vo printer queue.


/usr/ucb/lpq Chng trnh kim tra hng i in.
/usr/ucb/lprm Thc hin xo cc print job t print queue.
/etc/lpc

Qun tr print job v printer queue.

Chng trnh lpd thc hin vic kim sot v cung cp cc dch dch v in. Cc
thng tin xc nh cu hnh gm tn my in, cng in, loi my in ... Cc thng tin
ny c th c thay i bi ngi qun tr.
lpd [-l] [port]
Vi tham s -l ghi li cc thng tin ti log file mi ln kim sot cc request.
Khi lpd nhn c print request (gi l print job) cc trang in c a n mt
vng gi l spool( thng thng l th mc /usr/spool/lp). V mn hnh in c gii
phng ngi s dng c th thc hin cc cng vic khc. Sau lpd s thc
hin vic gi d liu t spool ra my in tng ng.
Vic qun l printer thng qua tin ch l lpc. N cho php ngi qun tr thc hin
mt s chc nng nh hin th thng tin trng thi my in, cho php hoc khng cho
php in, cho php hoc khng cho php cc hng ch in, loi b cc print request,
thay i mc u tin trn hng ch in. Ngoi ra cn tin ch lpq v lprm cho
php thc hin qun l cc hng i in.

80

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


X. Network administration
1. UUCP (Unix to Unix copy)
UUCP l mt nhm cc lnh v cc dch v cung cp dch v mng n gin cho
php ngi s dng truyn d liu trn UNIX t mt my ny sang my khc qua
serial port (modem) thng thng dng truyn file, e-mail, chy cc lnh trn
my xa. Hin nay c nhiu version ca UUCP trn cc h iu hnh cc h iu
hnh UNIX tuy nhin chng vn tun th theo quy tc cu hnh chung ca UUCP.
Cc thnh phn ca UUCP: Cc lnh trong UUCP chia lm hai lp: lnh ca ngi
s dng v cc lnh qun tr.
Cc chng trnh ngi s dng l c cha trong /usr/bin
uucico - Cng c ni kt cc my tnh xa cho php truyn tp tin hay thc
hin lnh.
uucp - Sao chp mt tp tin t mt my n my khc, uucp to tp tin d
liu v tp tin lm vic, xp hng cc cng vic truyn v gi uucico
daemon ni kt vi my t xa.
uustat - Hin th trng thi ca yu cu truyn ( uucp,uuto,uux) n cng kim
sot hng ch truyn.
Cc lnh qun tr
a s cc lnh qun tr l trong /usr/lib/uucp cc tp tin d liu v shell script l
trong /etc/uucp.
uucleanup - Xa th mc spool n thng c thc hin t shell script
c gi l uudemon.cleanup m c khi ng bi cron.
Uutry -Kim tra kh nng gi v g ri, n ko theo uucico d thit lp thng
tin gia my tnh cc b v my tnh t xa.
uucheck - Kim tra s tn ti ca cc th mc chng trnh v cc tp tin
support ca uucp n c th cng kim tra tp tin Permission kim tra ng
php.

81

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Deamons C ba deamon trong h thng uucp. Cc deamon ny diu khin truyn
tp tin v thc hin lnh. Chng cng c th c chy t shell.
uucico- Chn thit b s dng ni kt, thit lp ni kt n my tnh t xa,
thc hin cc yu cu login v kim tra ch quyn, truyn cc tp tin d liu,
thc thi , a kt qu vo log v bo cho ngi s dng bi mail. Khi uucico
gi my t xa n lin lc vi uucico ca my t xa. uucico c gi bi
uucp, uuto,uux v uusched, uutry.
uuxqt - Thc hin cc yu cu thc thi t xa, n s kim tra th mc spool
tm tp tin thc thi (X.file) c gi t my t xa. Khi tp tin X.file
tm thy uuxqt m n v nhn mt danh sch cc tp tin d liu c yu
cu thc thi. N s kim tra ch quyn truy xut ca cac tp tin ny. K
n c tp tin permission kim tra ch quyn thc hin lnh c yu
cu. uuxqt c thc hin bi uudemon.hour shell script.
uusched -nh thi biu cc hng ch trong th mc spool. Trc khi khi
ng uucico, uusched sp th t ngu nhin cc my tnh t xa s c gi.
uusched c khi ng thi gian boot bi /etc/rc n s c thc hin bi
uudemon.hour.
Khi ng uucp : uucp s khi ng vi cc lnh trong shell script m qut vng
cc my t xa, nh thi biu truyn v xo cc log c.
$su uucp
$crontab < /usr/lib/uudemon.crontab
Cc file cu hnh /usr/lib/uucp
Systems, Devices, Permissions, Dialers, Dialcodes
Devices

Cha cc thng tin lin h v tr, tc ca b gi t ng(ACU),

ng t ng v thit b mng.
Format

Type Line Line2 Class Dialer-Token Pairs

V d

ACU cua0 -

1200 Hayes \D

82

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Type ACU

S dng vi modem
Direct

S dng vi ng dy trc tip

Line Tn thit b v d modem /dev/cua0


Class Tc
Dialer-token pairs

tng ng vi loi modem trong tp tin Dialers

Dialers Xc nh cch trao i ban u trc khi truyn d liu nh.V d :


Hayes =,-, "" \dA\pTE1V1X1Q0S2=255S12=255S50=2\r\c OK\r \EATDT\T\r\c
CONNECT
ngha ca cc k t escape
\p ngng (1/4 giy)
\d tr (2 giy)
\D Ch s in thoi khng bin i bi tp tin Dialcodes
\T Ch s in thoi bin i bi tp tin Dialcodes
\K Thm vo mt BREAK
\E Hin thi kim tra
\e Cm hin thi kim tra
\r u dng
\c Khng xung dng
\n Xung dng
Systems

Cha cc thng tin cn thit bi uucico thit lp ni kt vi my t

xa. Mi phn t ca tp tin th hin mt my tnh c th c gi. V d :


Format

System-Name

Time Type Class

V d

eagle

Any

Phone

ACU 1200 555678

ord:okasa
System-Name -Tn ca my t xa.
83

Login
in:nuucp

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Time - Thi gian my t xa c th b gi.
V d: Wk1700-0800 mi ngy trong tun t 17h-8h
Login - Cha cc thng tin login.
Dialcodes: Cha cc m in thoi vit gn. Khun dng nh sau:
vit tt
HN

s
014

Permissions Xc nh ch quyn login, truy xut tp tin v thc hin lnh ca my


t xa. Mi phn t ca tp tin l mt dng c dng tn=gi tr. C th c cc ch
quyn sau :
LOGNAME= Xc nh cc my c th log vo.
MACHINE= Xc nh cc my t xa m my cc b c th log.
REQUEST= yes/no cm hay cho php my t xa nhn cc tp tin t my cc b.
SENDFILES=yes/no cm hay cho php my t xa gi cc tp tin n my cc b.
READ/WRITE= Xc nh cc th mc c php c hay ghi.
V d:
READ=/var/spool/uucppublic
WRITE=/var/spool/uucppublic
NOREAD/NOWRITE Xc nh cc th mc cm c hay ghi.
COMMANDS Xc nh cc lnh m my t xa c th thc hin.
2. TCP/IP and Neworks
a) TCP/IP

TCP/IP l giao thc mng chun c h tr trong UNIX .


Thng thng khi ci t h thng bao gi cng c yu cu xc nh cc thng
tin lin quan n h thng nh host name, domain (nu host nm trong domain), a
ch IP. Tuy nhin c th cu hnh mng sau khi ci t bng cc tin ch.
84

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


t tn host: C th dng lnh hostname t tn ca host (phi ngi c thm
quyn). C th t tn dng tn vng nu n nm trong domain.
V d: hostname jac.domain
Cu hnh loopback driver: thit lp cu hnh TCP/IP mng dng lnh ipconfig
ifconfig <interface> <IP_address> netmask <mask> broadcast <address>
interface - Xc nh kiu network interface card. (V d 3Com 3C5x9 nh
elx0).
IP_address - a ch IP gn cho network interface. C th s dng bng host
name cung cp trong /etc/hosts vi a ch IP tng ng.
netmask mask - L subnetwork mask. C th b qua nu dng gi tr default.
broadcast address - L a ch broadcast cho network. Nu khng t s ly
gi tr ngm nh.
V d: thit lp the loopback driver:
ifconfig lo 127.0.0.1
Mun a a ch loopback vo trong kernel routing tables dng lnh:
route add 127.0.0.1 hoc route add localhost
Cu hnh Ethernet Interface:Mun thc hin cu hnh vi Ethernet driver th mt
phi yu cu i hi phi bit chnh xc Ethernet driver v cu hnh dng ifconfig
kernel bit v interface v sau thm route ti cc my trn mng nu n gn
vi mng.
V d: Ethernet device l /dev/elx0
ifconfig elx0 192.168.70.2 netmask 255.255.255.0
thm thnh phn trn vo kernel routing table kernel bit v a ch mng
local machine v gi chnh xc d liu ti n dng lnh.
route add -net 192.168.70.0

85

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


TCP/IP Setup Files
Khi ci t v cu hnh TCP/IPc mt s file yu cu lu gi cu hnh lin quan n
dch v ca UNIX host.
/etc/hosts - L file c cha nh x host names ti IP address tng ng.
V d:
# Internet host table
# IP address

hostname

aliases

127.0.0.1

localhost

201.190.2.1

jade

/etc/networks - Cha cc network name nh x ti a ch mng IP tng ng.


V d:
# Name

Network Number

testnetw

201.190.2

loopback-net

127

/etc/services - Cha cc dch v tng TCP/IP application nh FTP, TELNET,


RLOGIN ... ng vi n l cc port number tng ng.
V d:
# assigned numbers from rfc1060
#service

port/transport

tcpmux

1/tcp

echo

7/tcp

echo

7/udp

discard

9/tcp

sink null

discard

9/udp

sink null

systat

11/tcp

users

systat

11/udp

users

.
/etc/protocols - Cha cc s xc nh IP protocol service user. Cc thng tin ny

86

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


gip IP vic xc nh routing data ti user protocols.
/etc/ethers To bi h thng trong qu trnh ci t TCP/IP. File ny nh x a
ch Ethernet ti a ch IP. Cc thng tin ny phi c khi mun cung cp cc dch
v RARP hoc BOOTPD
V d:
# ether_mac_addr. hostname
00:00:c0:9e:41:26

violin

02:60:8c:15:ad:18

bass

comments
#strings dep't

/etc/netmasks - Cha netmask tng ng vi a ch network IP.


#Network subnet masks
#Unless your network is subnetted, do not bother to maintain this file
#Network

subnet mask

134.54.0.0

255.255.255.0

167.12.0.0

255.255.192.0

/etc/hosts.equiv - Xc lp quyn truy nhp ca cc my v cc user xa khi dng


cc tin ch v d: rlogin, rcp, rsh ...
~/.rhosts To trong th mc home ca user xc nh quyn truy nhp ca user xc
nh.
Cc tin ch v cc dch v ch yu cung cp trn ICP/IP
Mt s cc daemon cung cp cc dch v trn Unix c iu khin bi inetd.
ftpd - Cung cp cc dch v truyn file trn my Unix qua TCP port 20.
telnetd - Cung cp cc dch v cho php cung cp cc dch v cho cc my
kt ni dng terminal.
rshd - Cho php thc hin cc lnh shell t cc my xa.
logind- Cho php thc hin login t xa.
execd - Chon php thc hin cc lnh t cc my xa.
comsat- Kim sot cc mail n cung cp cc thng tin cho cc processes m

87

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


yu cu n thc hin.
talkd - Cho php ngi s hi thoi vi nhau qua dng keyboard v screen
ca terminal bt k u trn mng.
uucpd- Cung cp dch v truyn d liu s dng UUCP trn mng.
tftpd-Cung cp dch v tftp trn mng. H tr kh nng remote boot v
truyn file.
fingerd- Kim sot user trn mng.
rquotad- Kim sot vic s dng a ca ngi s dng.
walld-Cho php thc hin vic gi cc message ti mn hnh ca cc cc
user trn h thng
rstatd This daemon returns performance statistics about this system
cmsd-Qun l calendar trn server.
routed - Thc hin vic kim sot RIP.
gated- Cho php thc hin nhiu thng tin v route bao gm RIP, OSPF
(Open Shortest Path First), EGP (Exterior Gateway Protocol) ...
nfsd- Kim sot v cung cp cc dch v NFS trn mng.
biod-(Block Input/Output Daemon). Chy trn NFS client thc hin vic
kim sot qu trnh c v ghi d liu trn NFS server.
mountd - Kim sot, cung cp cc yu cu mount t NFS client.
lockd - iu khin vic lock file trn mng.
rpcbind- Cung cp cc dch v RPC (Remote Procedure Calls).
sendmail- Thc hin kim sot, trao i mail gia cc host ( qua SMTP).
named daemon v cc database file cho php UNIX cung cp cc dch v
DNS server trn UDP port 53.
Ngoi ra vi cc thnh phn m rng sau ny cc h iu hnh cn cung cc
daemon h tr cung cp cc dch v m rng khc nh cc dch v X88

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


terminal, HTTP ...
Cc tin ch (xem trn End user)
b) PPP

PPP l giao thc c s dng tng i ph bin trong thc hin kt ni truyn
thng gia cc my hoc gia cc mng qua cc serial line. Tuy nhin cu hnh PPP
trn UNIX th tng i phc tp. UNIX chia cc PPP ra lm hai phn, mt l mc
High-Level Data Link Control (HLDC) protocol, thc hin vic gi cc PPP
datagram gia hai my, v PPP daemon gi l pppd thc hin kim sot cc
protocol trn h thng HLDC v thit lp cc bin truyn thng.
Khi thc hin kt ni thng qua PPP th ngi s dng khng b yu cu nhp cc
du nhc kt shell hoc login v phn ny s do PPP kim sot. thit lp kt ni
PPP nht thit loopback driver phi c thit lp.
Trong UNIX tng cng tnh an ton cho h thng khi thc hin kt ni PPP
gia cc h UNIX cn phi c user c bit thc hin login vo h thng khi
thc hin kt ni. User ny khng s dng cc shell bnh thng m s dng mt
chng trnh c bit khi ng v cu hnh PPP. Ngoi ra PPP h tr PPP
Authentication xc nh cc kt ni trn h thng.
V d: trong Linux l pppscript ( trong h Unix system V dng file aspppls ...)
ppp:*:201:51:PPP account:/tmp:/etc/ppp/pppscript
Ni dung file pppscrip ny nh sau:
#!/bin/sh
mesg n
stty -echo
exec pppd -detach silent modem crtscts
Trc khi PPP hot ng n yu cu phi thit lp cuc kt ni trc ti my
xa trc khi n thc hin kim sot kt ni. iu ny c th thc hin qua chng
trnh thc hin kt ni (chat program). Thng thng s dng qua UUCP trong file
89

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


ny ch n ni dung trong file Systems.
thc hin vic kim sot kt ni s dung PPP th nht thit chng trnh pppd
daemon phi c gi chy.
V d: Nu my s dng COM1 thc hin cho kt ni PPP v kt ni tc
38,400 baud c th s dng lnh nh sau:
pppd /dev/cua1 38400 crtscts defaultroute
Trong h iu hnh UNIX system V thng s dng mt script tn l asppp khi
ng pppd da trn cc file cu hnh t.
c) DNS

Trc y trong UNIX gii quyt vn nh x tng ng tn ti a TCP/IP s


dng /etc/hosts. Khi thc hin cc kt ni TCP/IP s thc hin kim tra trong
/etc/hosts kim tra tra tn v c a ch ca my kt ni. Nu tn khng c trong
file ny th my s khng th thc hin kt ni theo tn. Vi phng php ny m
khi cn kt ni vi nhiu my trn h thng th vic qun l n s tr ln rt phc
tp. DNS ra i v pht trin gii quyt cc vn trn ng thi n cn to ra
cc kh nng qun tr tn phn cp v cung cp cc dch v tn vng. Trn DNS bao
gi cng gm c hai pha l ngi cung cp cc dch v (DNS server) v ngi s
dng cc dch v (client).
Thng thng mi mt zone thng c hai master name duy tr hot ng ca c
zone l primary master server v secondary master server (backup server).
DNS Client
DNS client thc hin vic kt ni thng qua cc DNS query thc hin ly c nh
x tng ng ti a ch ch cn kt ni. DNS query c th c nhiu loi. Hu ht
trong s ny l cc query hostname n IP address. Cc query gii quyt vn n
nh x IP address ti hostname l PTR hay pointer queries.
Ngoi tr vic cu hnh lin kt vi name server. Client thng thng kim tra
trong /etc/hosts file ly a ch tng ng vi name ca my ch nh.

90

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


cu hnh DNS client (resolver) to file /etc/resolv.conf. S dng file ny xc
nh cc domain name m n thuc vo bao gm a ch IP ca primary, secondary,
hoc cache name server. Cu trc file /etc/resolv.conf gm cc trng
# keyword value
V d:
domain

ham.com

#Domain

nameserver

198.53.18.1

#Primary name server

nameserver

198.53.18.3

#Secondary name server

DNS server
cu hnh name server bao gm to cc database v startup file. S lng cc file
ny ph thc vo quy m ca t chc, cu trc lin mng, v s domain m n c
u nhim qun tr.
khi ng DNS server UNIX gi chy mt in.named daemon. Chng trnh ny
s c cc file cu hnh trn database file v thc hin cc dch v theo cu hnh
nh.
Cc DNS database v startup file:
named.hosts File ny xc nh domain m name server l ngi cung cp v duy tr
cc nh x t tn ti a ch IP.
named.rev

Cha thng tin v nh x ngc a ch IP ti tn.

named.local Cha thng tin gii quyt a ch loopback (127.0.0.1) ti


localhost.
named.ca

File c cha tn v a ch ca cc root domain server.

named.boot File u tin m named (the DNS daemon) lc khi ng v s dng


n xc nh database filename, v v tr ca chng trong file system trn h thng
cng nh l my xa.
DNS Resource Records (RR)

91

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Chun DNS RFC 1033 nh ngha nhiu loi resource record (RR). Mi loi tng
ng vi mt kha cnh ca c s d liu chung. V d kiu record dng nh x
tn ti a ch IP tng ng (A), hoc nh x a ch ti tn (PTR) hoc s dng
duy tr nh x gia cc domain name server (NS)...
Thng thng cu trc mt RFC nh sau:
[name] [ttl] class type data
name Tn ca i tng resource s c m t bi resource record. name
c th l tn host hoc tn ca domain.
Ttl

L gi tr Time-to-live.

Class Xc nh class ca DNS record.


Type Xc nh kiu RR record. Thng thng ngi ta s dng cc kiu
SOA, NS, A, MX v PTR.
Data D liu thc s ca i tng name ch nh.
Cu hnh primary name server
cu hnh named chy v cung cp dch v nh primary name server cn phi to
v thay i cc file d liu sau:
named.hosts
named.rev
named.local
named.ca
named.boot
named.hosts L file duy tr nh x hostname ti a ch IP cho tt c cc trong zone.
Mun thc hin truy nhp theo DNS th named.hosts phi c cha tn nh x ti a
ch IP ca tt c cc host trn mng. Thm vo n cn cha cc thng tin khc
nh mail exchangers (hoc mail routers), hoc loi CPU ...
V d: file named.hosts m jade l primary server trong domain harmonics.com:

92

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


;
; Section 1: The SOA record
;
harmonics.com.
2

IN SOA jade.harmonics.com. root.jade.harmonics.com. (

; Serial

14400

; Refresh (4 hours)

3600

; Retry (1hr)

604800

; Expire ( 4 weeks )

86400 )

; minimum TTL (time-to-live)

;
; Section 2: The following are the name server for the harmonics domain. Notice
how the second
; entry does not specify the domain name for which cello is being the name server.
This implies that
; domain name is same as one specified in previous record.
;
harmonics.com.

IN NS jade.harmonics.com.
IN NS cello.harmonics.com.

;
; Section 3: The following are the mail exchangers of the domain harmonics.com
;
harmonics.com.

IN MX 1 flute.harmonics.com.
IN MX 2 bass.harmonics.com.

;
; Section 4: The following records map hosts' canonical names to their
corresponding
; IP addresses
;
localhost.harmonics.com.

IN A 127.0.0.1

93

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


tenor.harmonics.com.

IN A 100.0.0.3

soprano.harmonics.com.

IN A 100.0.0.4

flute.harmonics.com.

IN A 100.0.0.5

xrouter

IN A 100.0.0.10

cello.harmonics.com.

IN A 198.53.237.2

violin.harmonics.com.

IN A 198.53.237.3

bass.harmonics.com.

IN A 198.53.237.4

;
; Section 5: Multihomed hosts
;
jade.harmonics.com.

IN A 198.53.237.1
IN A 100.0.0.2

Section 1 C cha SOA record l jade.harmonics.com l ngi cung cp


DNS server cho domain harmonics.com. File named.hosts c th ch c cha
SOA record, v n phi l record u tin trong file.
Section 2 Gm cc NS record l cc host jade v cello nh l tn servers ca
domain harmonics.com. Ch rng cc record ny khng c ch nh hai
server u l primary m phi c secondary server.
Section 3 Gm hai MX records xc nh mail exchangers chnh v ph cho
domain harmonics.com.
Section 4 Gm tt c cc A records m nh x host name ti a ch IP
addresses. Khi m client thc hin query th name server s tr li a ch IP
cho host, named qut cc A records trong named.hosts ph hp vi tn m
client yu cu v tr li a ch IP tng ng vi host name.
Section 5 Tng ng vi jade l multihomed gm hai A record. Khi m
named c query cho a ch IP ca jade, hoc bt k multihomed, named
n gin l tr li tt c cc a ch m n tm thy.
named.rev named s dng named.rev gii quyt cc kiu PTR query. N tr li
host name tng ng vi query ly a ch IP tng ng vi host trong named.rev

94

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


file. Trong named.rev file bao gm c SOA record.
V d: file 100.rev
100.in-addr.arpa.

IN SOA jade.harmonics.com. root.jade.harmonics.com (

;serial

14400

; Refresh (4 hours)

3600

; retry ( 1 hour )

604800

; expire ( 1 week )

86400 ) ; TTL = 1 day


;
; name servers
;
100.in-addr.arpa.

IN NS jade.harmonics.com.

100.in-addr.arpa.

IN NS cello.harmonics.com.

;
; Reverse address mappings
;
2.0.0.100.in-addr.arpa.

IN PTR jade.harmonics.com.

3.0.0.100.in-addr.arpa.

IN PTR tenor.harmonics.com.

4.0.0.100.in-addr.arpa

IN PTR soprano.harmonics.com.

5.0.0.100.in-addr.arpa

IN PTR flute.harmonics.com.

10.0.0.100.in-addr.arpa

IN PTR xrouter.harmonics.com.

Trong tt c cc file named.rev phn u tin bao gi cng l SOA record tip sau
l NS v cui cng l PTR records.
named.local C cha cu hnh ca localhost ng vi a ch IP 127.0.0.1.
V d:
0.0.127.in-addr.arpa. IN SOA jade.harmonics.com. root.jade.harmonics.com. (
1

; serial

14400

; refresh ( 4 hours )

3600

; retry ( 1 hour )

95

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


604800

; expire ( 1 week )

86400 )

; TTL = 1 day

; name servers
;
0.0.127.in-addr.arpa.

IN NS

jade.harmonics.com.

0.0.127.in-addr.arpa.

IN NS

cello.harmonics.com.

;
; reverse address PTR mapping
;
1.0.0.127.in-addr.arpa. IN PTR

localhost

named.ca nng cao hiu qu ca cc dch v DNS, gim cc traffic trn


mng. DNS cho php server ly d liu t cache ca n tr li cc query t cc
client. N thc hin iu ny bng cch lu cc tr li ng vi cc query trong b
nh tng ng vi cc query m client yu cu ti servers sau ny c th ly n
dng li. DNS thc hin iu ny bng cu hnh trong file named.ca tng ng
vi cc domain khc. Tt c thng tin c cha trong named.ca file c s dng
khi ng cc cache buffer trn DNS server mmi khi named deamon(in.named)
khi ng. Thng thng trong named.ca file bao gm cc thng tin v cc root
server v nhng thng tin ny thng n nh trong thi gian di.
V d:
;
; Section 1: NS records for the root domain servers
;
. 99999999

IN NS A.ROOT-SERVERS.NET

99999999

IN NS B.ROOT-SERVERS.NET

99999999

IN NS C.ROOT-SERVERS.NET

99999999

IN NS D.ROOT-SERVERS.NET

99999999

IN NS E.ROOT-SERVERS.NET

99999999

IN NS F.ROOT-SERVERS.NET

99999999

IN NS G.ROOT-SERVERS.NET

96

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


99999999

IN NS H.ROOT-SERVERS.NET

99999999

IN NS I.ROOT-SERVERS.NET

;
; Section 2: Root servers A records
;
A.ROOT-SERVERS.NET 99999999
B.ROOT-SERVERS.NET

IN A 198.41.0.4

99999999 IN A 128.9.0.107

C.ROOT-SERVERS.NET 99999999

IN A 192.33.4.12

D.ROOT-SERVERS.NET 99999999

IN A 128.8.10.90

E.ROOT-SERVERS.NET 99999999

IN A 192.203.230.10

F.ROOT-SERVERS.NET 99999999

IN A 192.5.5.241

G.ROOT-SERVERS.NET 99999999

IN A 192.112.36.4

H.ROOT-SERVERS.NET 99999999

IN A 128.63.2.53

I.ROOT-SERVERS.NET 99999999

IN A 192.36.148.17

named.boot: Ti thi im khi ng DNS server ly cc thng tin tham chiu


trong named.boot file ly cc thng tin xc nh cu hnh dch v DNS l
primary, secondary, hoc cache server. ng thi xc ch cc DNS database file
bao gm named.hosts, named.rev, named.ca v named.local.
V d: V file named.boot n s dng cu hnh jade nh primary name server:
directory

/etc/named

primary

harmonics.com

named.hosts

primary

100.in-addr.arpa

100.rev

primary

237.53.198.in-addr.arpa

198.53.237.rev

primary

0.0.127.in-addr.arpa

127.localhost

cache

named.ca

Mi dng trong file l dng xc nh cu hnh ca DNS server m DNS


deamon(in.named) c mi khi n khi ng.
T kho directory dng u tc DNS deamon s dng default location m
97

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


tt c cc DNS database file lu trong n /etc/named.
Dng 2, 3, 4 vi t kho primary ni rng l cc DNS server l cung cp
cc dch v DNS ng vi domain xc nh.
Dong cui cu hnh server thc hin cache server cho cc root domain. Cc
thng tin chi tit trong named.ca.
Cu hnh secondary name server
Secondary name server l server m nhn cc d liu tng ng vi zone t
primary server. Secondary server khng c cc named.hosts v named.rev file ring
ca n. Thay vo khi khi ng secondary server yu cu primary server truyn
cc bn copy ca cc file ny. Sau secondary server khi ng vi ni ni dung
cu hnh da trn file n nhn c.
Ch c mt s thay i trong file named.boot ca secondary DNS server so vi
primary server v d:
directory

/usr/lib/named

secondary

harmonics.com

100.0.0.2

secondary

100.in-addr.arpa

100.0.0.2

secondary

237.53.198.in-addr.arpa

100.0.0.2

primary

0.0.127.in-addr.arpa

named.local

cache

named.ca

Trong named.boot bao gm hu ht l cc dng secondary thay cho primary. Dng


th hai ch ra rng cu hnh nh mt secondary server vi domain harmonics.com,
v thc hin copy tt c cc d liu lin quan t server vi a ch IP 100.0.0.2.
Dng 3, 4 cu hnh named nh l secondary server cho reverse domains 100.inaddr.arpa, v 237.53.198.in-addr.arpa.
Dng 5 c 6 cha cc thng tin lin quan n local filenames. C hai file
named.local v named.ca rt t khi thay i ni dung.
Secondary server c khi ng gn ging nh primary server. Khi host chy
mc 2 ti thi im boot, cc startup scripts kim tra s tn ti ca named.boot file.

98

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Nu n tn ti th tu theo cu hnh m n thc hin cc thao tc tip theo.
Trong thc t s xy ra trng hp khi secondary server khi ng m primary
server khng sn sng. DNS cho php cu hnh cc a ch IP thay th trong lnh
secondary t cc server c th c cha cc zonal data, v cu hnh server duy tr cc
bn copy ca file.
V d:
secondary harmonics.com 100.0.0.2 100.0.0.4
N c th ci tin bng cch cho php secondary name server duy tr cc bn copy
ca cc file nhn c. Bng cch ny secondary s lun c cc bn copy ca zonal
data. Tuy nhin d liu ny s c kim tra qu hn c ghi trong SOA record.
Nu primary server c tm thy trong zone th secondary server s yu ly li cc
thng tin v b cc dch v trc .
cho php named s s dng copy trong ct cui cng ca t kho secondary ch
tn file m d liu s copy.
V d:
directory

/usr/lib/named

secondary

harmonics.com

100.0.0.2 named.hosts

secondary

100.in-addr.arpa

100.0.0.2 100.rev

secondary

237.53.198.in-addr.arpa

100.0.0.2 198.53.237.rev

primary

0.0.127.in-addr.arpa

named.local

Dng directory

/usr/lib/named ch ra rng s dng datafile trong th mc

/usr/lib/named.
Cu hnh cache only server
Cache-only server khng da vo cc database file ca n. Cache-only server ch
lu cc thng tin tng ng vi cc query m c s dng cho sau ny nu c th.
cu hnh Cache-only server. Thm vo named.boot dng lnh sau:
;
; Cache-only server for the harmonics.com domain
99

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


;
primary

0.0.127.in-addr.arpa

cache .

/usr/lib/named/named.local

/usr/lib/named/named.ca

;
Lnh nslookup: Cho php chy ch interactive thc hin kim tra hot ng
ca dch v DNS.
S dng nslookup query local server
S dng nslookup query remote server
S dng nslookup download DNS database
S dng nslookup Query Local Server
Ta c th s dng nslookup kim tra cc server mi, cc thay i v cu hnh
trn server v xc nh cc s c i vi dch v DNS.
thc hin c iu ny phi login vo ngi qun tr mng (root) v s dng
lnh nslookup. Ngm nh l nslookup tr cc tng ng vi cc name query (nh
x name-to-address).
V d:
# nslookup
Default Server: jade.harmonics.com
Address: 100.0.0.2
> cello
Server: jade.harmonics.com
Address: 100.0.0.2
Name: cello.harmonics.com
Address: 198.53.237.2
S dng nslookup Query Remote Server
nslookup c th s dng thc hin cc query ti cc remote server trn mng.
Remote servers c th trn cng mng hoc c th u trn Internet. iu ny
cho php kim tra cc s c v dch v DNS trn bt k cc DNS server no. V d:

100

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


dng nslookup qua host jade (primary server) query cello (secondary server) cho
a ch ca soprano
# nslookup
Default Server: jade.harmonics.com
Address: 198.53.8.1
> soprano cello.harmonics.com
Server: cello.harmonics.com
Address: 198.53.237.2
Name: soprano.harmonics.com
Address: 100.0.0.4
S dng nslookup Download DNS Database
nslookup c th thc hin truyn d liu DNS trc tip ra cc u ra chun nh
mn hnh hoc nh file.
V d:
# nslookup
Default Server: jade
Address: 0.0.0.0
> ls harmonics.com
[jade]
harmonics.com.

server = jade.harmonics.com

jade

198.53.8.1

harmonics.com.

server = cello.harmonics.com

cello

198.53.237.2

tenor

100.0.0.3

soprano

100.0.0.4

localhost

127.0.0.1

harmonics

server = jade.harmonics.com

jade

198.53.8.1

soprano

100.0.0.4

xrouter

10.0.0.10
101

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


cello

198.53.237.2

> exit
#
d) NIS (Network Information Service)

Vi cc mng ln v kt ni trn nhiu my th mi my phi to cc account ring


nu nh mun truy nhp. Vi vic to nhiu cc account trn mt h thng nh vy
s dn n vic gp rt nhiu kh khn trong cng tc qun tr v s dng.
NIS l dch v mng (pht trin Yellow Pages protocol) cung cp directory service,
p ng vic qun tr tp trung trn cc mng ln. N l cho php thc hin cc truy
nhp phn tn trn h thng mng s dng quyn truy nhp thng qua mt trung
tm l NIS master (hay ypmaster) xc nhn quyn truy nhp. Trn mt mng ln
thng thng ngi ta c th thit lp thm cc slaves (hay ypslaves) thc hin
to thnh cc my d phng (lu ton b thng tin v quyn truy nhp trn ton h
thng t master). Trong trng hp master server gp s c slave c th thc hin
chc nng thay th.
NIS lu gi tt c cc thng tin trong maps" mi map ng vi mt vng trn
network iu ny cho php mt vi groups s dng chung mt NIS master nhng
li c quyn truy nhp khc nhau. NIS map khng tng ng vi DNS domain m
n cho php nhiu mm do hn trong vic cu hnh. Maps bao gm cc record ghi
di dng ASCII.
Thnh phn ca NIS bao gm:
domain
maps
Daemon
ypser

Server process

ypbind

Lin kt cc process

ypxfrd

Daemon truyn d liu lin kt tc cao.

102

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


roc.ypupdated Thc hin cp nhp d liu khi d liu map thay i.
in.named

Thc hin dch v DNS (optional)

Utilities
ypcat

Lit k d liu trong map

ypwich

Hin tn NIS server v map server

ypwatch

To key ng vi gi tr trong map

ypinit

Ci t v xy dng NIS database

yppoll

Ly cc s th t t server

Cc tin ch khc
yppush

Chuyn d liu t master ti slave.

ypset

t lin kt thc s ti server.

ypxfr

Truyn d liu t master ti slave vi tc ln.

makedbm

To dbm file cho mt NIS map

Thng thng NIS server c th h tr mt vi map files thng thng l cc file


chun trn UNIX nh group, hosts, networks, passwd, protocols, rpc, services sau
n c chuyn thnh cc file tng ng v d:
/etc/group

group.byname, group.bygid

/etc/hosts

hosts.byname, hosts.byaddr

/etc/passwd passwd.byname, passwd.byuid


Tt cc cc file ny c lu di khun DBM gi ln gdbm. C th s dng tin
ch ypmakedbm to database file cho NIS.
3. NFS (Network File System)
Mt h thng s dng trn c s mng UNIX vi kh nng x l phn tn v
client/server. Trn mng gm c nhiu workstation kt ni vi h thng my ch v
kt ni gia cc workstation vi nhau. Nhiu ng dng ln c th c lu trn cc

103

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


server. C mt s tin ch cho php truy nhp ti cc file xa nhng ch cho php
thc hin cc truyn file hoc dng terminal. tch hp h thng trn mng cho
php truy nhp ti nguyn xa UNIX a ra dch v NFS.
NFS cho php thc hin vic c v ghi cc file trn NFS servers. Vic truy nhp t
cc client ti NFS servers c th thc hin thng qua nh x (mount) n n mt
th mc trn my cc b ( gi l im "mount"). Sau vic truy xut n th mc
ca my t xa c thc hin bng cch truy xut trn my cc b qua im
"mount".
V d: mount -F nfs o ro Remote:/export/app /temp/data
Khi s dng lnh ny client kim tra remote machine xem c quyn truy nhp th
mc hay khng. Nu c quyn th n gi mt thng tin iu khin s dng nh
hng tt c cc yu cu truy nhp t client. Trng trnh thc hin vic kim sot
v cung cp cc dch v l nfsd. Trong h iu hnh UNIX mt my c th va l
NFS server va l client.
Vic s dng cc dch v NFS gip cho vic qun tr tp trung trn h thng ln
c thun li hn (nht l trong cc cng tc sao lu v hi phc, qun tr cc ng
dng ...)
NFS server
Hot ng ca NFS trn server c iu khin bi cc deamon l rpc.mountd, nfsd
v file cu hnh thit lp danh sch cc th mc m client c th thc hin mount
trong file /etc/exports. File /etc/exports c c mi ln mountd daemon nhn
c yu cu mount th mc.
V d:
# /etc/exports for merlin
/usr/database/data chatton(rw) big_roy (rw) wizard (rw)
/usr/book chatton(rw) wizard (ro)
/usr/bin/bigapp big_roy(rw) wizard (ro)

104

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


/usr/ftp (ro)
Mun thay i tp tin /etc/exports phi c quyn superuser trn my server. Sau khi
thay i cp nht li thng tin cho server s dng lnh share:
NFS client
Client truy xut cc tp tin trn server bng cch mount cc th mc m server xut.
Khi client mount mt th mc trn server l mt qu trng s dng chui lnh
gi th tc t xa (Remote Procedure Call) cho php client truy xut n th mc
trn server. Thng tin ny c deamon rpc.mountd x l v xc nh client c
php hay khng c php truy xut n cc th mc ca server. Tin trnh client
tm server xut ra cc thng tin m client cn v sau thit lp ng truyn gia
client v server gi l binding. S rng buc NFS xy ra trong sut qu trnh client
mount mt th mc t xa. Vic mount th mc t xa c th c thc hin khi
khi ng hong thng qua lnh mount hay c ch automounter. Tp tin /etc/fstab
lit k cc th mc m client mount trong khi khi ng. Vi automounter client c
th t ng mount cc th mc trong qu trnh lm vic m khng cn phi gi lnh
mount.
4. Mail
Trong h iu hnh Unix server thng h tr hai thnh phn gm Mail User Agent
(MUA-mail, mailx elm) v Mail Transport Agent (MTA -sendmail). Vi cc thnh
phn ny ngi gi cc message c th thc hin vic son, gi cc mesage ti cc
user trn cc my v c cc message.
Vi MTA cho php thc hin vic xc nh ng s gi message da theo a ch
ca ngi nhn v chuyn n vo mailbox ca ngi nhn. UNIX h tr vic truyn
mail qua mng TCP/IP hoc qua dial-up s dng UUCP v s dng SMTP trong
nh dng mail (Simple Mail Transfer Protocol ).
Chng trnh sendmail c th c cu hnh lm mail router, final delivery agents,
SMTP client, SMTP-server tu theo cu hnh ca ngi qun tr.
sendmail nh Mail Router

105

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


sendmail c th thc hin chc nng nh l mail router tc l n c th ly letter,
xem xt a ch ngi nhn v quyt nh cch tt nht gi n.
u tin sendmail xc nh mt s thng tin n cn nh thi gian v tn ca my
ch m n ang chy. Nhng vic cu hnh n nh th no li ph thc vo cu
hnh ca ngi qun tr trong file sendmail.cf. Cc thng tin trong sendmail.cf s
xc nh phng php iu khin mail v ng i ca mail s c gi. .
sendmail nh MTA-Client (Sender) v Server (Receiver) SMTP
sendmail c th thc hin chc nng MTA vi SMTP protocol. Bi v SMTP l giao
thc kt ni nh hng lun c cc client v server. SMTP client gi letter ti
SMTP server qua SMTP port.
sendmail c th l mt SMTP client hoc mt SMTP server. Khi chy n vi chc
nng MUA n s tr thnh SMTP client. Khi h thng khi ng v chy n dng
daemon mode n c th th hin nh l mt SMTP server nhn cc mail n.
Cu hnh sendmail
5. UNIX client
Trong h thng vic chn cc client ph hp cng l mt bin php l tng hiu qu
s dng h thng. Tuy nhin ngi ta c th chn ln cc loi client trn mt mng.
Gm mt s cc loi client sau:
Diskless clientsL client khng c a ring ca n. Thc hin vic khi ng
thng qua mng nn i hi trn mng phi c bootp server v NFS server cung cp
cc dch v v khi ng mng v a cho client. V diskless client khng c a
ring v khi ng t mng cho nn n i hi vic s dng mt long ti nguyn
ln trn cc server
Dataless clientsL cc client c phn a ring ca n nhng vn s dng cc
dch v, cc tin ch cung cp trn mng. N khng th t boot c m phi boot
t mng. Tuy nhin do c phn a ring cho nn vic i hi s dng a trn mng
khng ln nh diskless client.

106

Gii thiu v UNIX- Mt s thao tc c bn trn UNIX


Standalone system - L h thng c phn a ring ca n, c th t khi ng
khng i hi cc dch v khi ng trn mng. Nu kt ni vo mng n c th s
dng cc dch v ca mng m c cung cp bi cc server.
Time sharing system. L h thng vi standalone system v cc terminal kt ni
vi n thng qua trc tip cc serial line hoc qua modem. Cc terminal khng c
disk, printer, v file v CPU ring ca n. M n s dng chia s cc ti nguyn ny
vi server.
Ngoi cc h thng chy trn c s h iu hnh Unix. Cc Unix server cn h tr
cc kt ni t cc client s dng cc h iu hnh khc kt ni vi n thng qua cc
dch v TCP/IP, X-terminal, SMTP ...
Qun tr cc client: Vic qun tr quyn truy nhp trn h thng (xem phn trn )
bao gm phn qun tr quyn ngi s dng truy nhp tn h thng, qun tr vic s
dng ti nguyn nh a, my in, DNS, ...
Tuy nhin vi cc client yu cu cc dch v khi ng t server th i hi phi c
mt vng d liu c t chc theo cu trc cn thit phc v cho hot ng ca
cc client ny. Trn cha cc thng tin v khi ng h thng, v cu hnh mng,
v nh ngi mi trng ... thc hin vic t chc ny, mt s h iu hnh
UNIX cung cp cc tin ch cho php to v xo cc phn thng tin ny.

107

You might also like