You are on page 1of 109

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

I. Tæng quan hÖ ®iÒu hµnh UNIX........................................................................ 4


1. HÖ ®iÒu hµnh Unix....................................................................................... 4
2. C¸c ®Æc ®iÓm c¬ b¶n.................................................................................... 7
II. LÖnh vµ tiÖn Ých c¬ b¶n.................................................................................... 8
1. C¸c lÖnh khëi t¹o......................................................................................... 8
2. C¸c lÖnh hiÓn thÞ.......................................................................................... 8
3. §Þnh h­íng vµo ra ....................................................................................... 8
4. Desktop: ...................................................................................................... 9
5. C¸c lÖnh thao th­ môc vµ t¸c file ................................................................. 9
6. In Ên .......................................................................................................... 10
7. Th­ tÝn....................................................................................................... 10
8. Qu¶n lý tiÕn tr×nh....................................................................................... 10
9. KiÓm so¸t quyÒn h¹n vµ b¶o mËt ............................................................... 10
10. L­u tr÷ vµ håi phôc d÷ liÖu ........................................................................ 11
11. C¸c thao t¸c trªn m¹ng .............................................................................. 11
III. Th©m nhËp hÖ thèng - C¸c lÖnh c¨n b¶n ........................................................ 11
1. B¾t ®Çu vµ kÕt thóc phiªn lµm viÖc-X¸c lËp m«i tr­êng hÖ thèng ............... 11
2. C¸c lÖnh hiÓn thÞ........................................................................................ 12
3. §Þnh h­íng vµo ra vµ ®­êng èng: ............................................................. 13
4. Desktop: .................................................................................................... 14
5. C¸c lÖnh thao t¸c trªn th­ môc, file............................................................ 18
6. In Ên .......................................................................................................... 26
7. Th­ tÝn ®iÖn tö ........................................................................................... 27
8. Qu¶n lý tiÕn tr×nh....................................................................................... 29
9. C¸c lÖnh liªn quan b¶o mËt vµ quyÒn h¹n .................................................. 30
a) Kh¸i niÖm:................................................................................................. 30
b) C¸c lÖnh .................................................................................................... 32
10. L­u tr÷ vµ håi phôc d÷ liÖu ........................................................................ 35
11. C¸c thao t¸c trªn m¹ng .............................................................................. 37

1
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

IV. LËp tr×nh Shell ............................................................................................... 39


1. C¸c ®Æc tÝnh c¬ b¶n.................................................................................... 40
2. LËp tr×nh shell ........................................................................................... 43
a) LÖnh ®iÒu kiÖn........................................................................................... 43
b) LÖnh lÆp .................................................................................................... 46
c) Shell Functions .......................................................................................... 47
d) LÖnh trap ................................................................................................... 48
e) Thùc hiÖn lÖnh ®iÒu kiÖn víi cÊu tróc AND(&&) vµ OR (||) ...................... 48
V. Starting Up and Shutting Down...................................................................... 49
1. Booting the System .................................................................................... 49
2. Shutting Down the System ......................................................................... 56
VI. Managing processes....................................................................................... 57
1. Processes ................................................................................................... 57
2. Process scheduling..................................................................................... 59
3. Process priorities ....................................................................................... 61
VII. Security ..................................................................................................... 61
1. Security datafiles ....................................................................................... 62
2. Group and User administration .................................................................. 66
a) Group administration ................................................................................. 66
b) User administration ................................................................................... 66
3. System access permissions......................................................................... 69
4. Acounting.................................................................................................. 69
VIII. File System and Disk Administration......................................................... 72
1. CÊu tróc th­ môc trªn Unix........................................................................ 72
2. Creating file systems ................................................................................. 72
3. Mounting and unmounting file systems ..................................................... 74
4. Managing disk use..................................................................................... 77
5. Checking file system integrity ................................................................... 79
6. Backup and restore .................................................................................... 81

2
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

IX. Printer administration .................................................................................... 81


X. Network administration ................................................................................. 82
1. UUCP (Unix to Unix copy) ....................................................................... 82
2. TCP/IP and Neworks ................................................................................. 86
a) TCP/IP....................................................................................................... 86
b) PPP............................................................................................................ 90
c) DNS........................................................................................................... 91
d) NIS .......................................................................................................... 103
3. NFS (Network File System) ..................................................................... 105
4. Mail......................................................................................................... 107
5. UNIX client............................................................................................. 108

3
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

I. Tæng quan hÖ ®iÒu hµnh UNIX

1. HÖ ®iÒu hµnh Unix

UNIX lµ mét hÖ ®iÒu hµnh phæ biÕn, tr­íc ®©y chóng ®­îc sö dông trong c¸c
minicomputer vµ c¸c workstation trong c¸c c«ng së nghiªn cøu khoa häc. Ngµy nay
UNIX ®∙ trë thµnh hÖ ®iÒu hµnh ®­îc dïng cho c¶ m¸y tÝnh c¸ nh©n vµ phôc vô
c«ng viÖc kinh doanh nhê kh¶ n¨ng më cña nã.

UNIX gièng nh­ c¸c hÖ ®iÒu hµnh kh¸c nã lµ líp n»m gi÷a phÇn cøng vµ øng dông.
Nã cã chøc n¨ng qu¶n lý phÇn cøng vµ qu¶n lý c¸c øng dông thùc thi. §iÒu kh¸c
nhau c¬ b¶n gi÷a UNIX vµ bÊt kú hÖ ®iÒu hµnh kh¸c lµ sù thùc thi bªn trong vµ giao
diÖn.

HÖ ®iÒu hµnh UNIX thùc sù lµ mét hÖ ®iÒu hµnh. Nã bao gåm c¸c thµnh phÇn tr­íc
®©y (PhÇn c¬ b¶n vèn cã cña hÖ ®iÒu hµnh Unix) vµ c¸c thµnh phÇn míi bæ sung, nã
lµ líp n»m gi÷a phÇn cøng vµ c¸c øng dông.

CÊu tróc c¬ b¶n cña hÖ ®iÒu hµnh Unix nh­ sau:

User

Shell
Kernel

Hardware

4
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

Kernel

PhÇn qu¶n lý phÇn cøng vµ c¸c øng dông thùc thi gäi lµ kernel. Trong qu¶n lý c¸c
thiÕt bÞ phÇn cøng UNIX xem mçi thiÕt bÞ nµy nh­ mét file (®­îc gäi lµ device file).
§iÒu nµy cho phÐp viÖc truy nhËp c¸c thiÕt bÞ gièng nh­ viÖc ®äc vµ ghi trªn file.
ViÖc qu¶n lý quyÒn truy nhËp trªn c¸c thiÕt bÞ th«ng qua hÖ thèng kiÓm so¸t b¶o
mËt quyÒn h¹n. C¸c process ®ang thùc thi ®­îc UNIX ph©n chi tµi nguyªn bao gåm
CPU vµ c¸c truy nhËp tíi phÇn cøng.

Khi khëi ®éng m¸y tÝnh th× mét ch­¬ng tr×nh unix ®­îc n¹p vµo trong bé nhí chÝnh,
vµ nã ho¹t ®éng cho ®Õn khi shutdown hoÆc khi t¾t m¸y. Ch­¬ng tr×nh nµy ®­îc gäi
lµ kernel, thùc hiÖn chøc n¨ng møc thÊp vµ chøc n¨ng møc hÖ thèng. Kernel chÞu
tr¸ch nhiÖm th«ng dÞch vµ göi c¸c chØ thÞ tíi bé vi xö lý m¸y tÝnh. Kernel còng chÞu
tr¸ch nhiÖm vÒ c¸c tiÕn tr×nh vµ cung cÊp c¸c ®Çu vµo vµ ra cho c¸c tiÕn tr×nh.
Kernel lµ tr¸i tim cña hÖ ®iÒu hµnh UNIX.

Khi kernel ®­îc n¹p vµo trong bé nhí lóc ®ã nã ®∙ s½n sµng nhËn c¸c yªu cÇu tõ
ng­êi sö dông. §Çu tiªn ng­êi sö dông ph¶i login vµ ®­a ra yªu cÇu. ViÖc login lµ
®Ó kernel biÕt ai ®∙ vµo hÖ thèng vµ c¸ch truyÒn th«ng víi chóng. §Ó lµm ®iÒu nµy
kernel gäi ch¹y hai ch­¬ng tr×nh ®Æc biÖt lµ getty vµ login. §Çu tiªn kernel gäi ch¹y
getty. Getty hiÓn thÞ dÊu nh¾c vµ yªu cÇu ng­êi sö dông nhËp vµo.

Khi nhËn ®­îc th«ng tin ®Çu vµo getty gäi ch­¬ng tr×nh login. Ch­¬ng tr×nh login
thiÕt lËp ®Þnh danh cho user vµ x¸c ®Þnh quyÒn cña user login. Ch­¬ng tr×nh login
kiÓm tra mËt khÈu trong file mËt khÈu. NÕu mËt khÈu kh«ng ®óng cæng vµo sÏ
kh«ng ®­îc thiÕt lËp vµ bÞ tr¶ l¹i ®iÒu khiÓn cho getty. NÕu user nhËp ®óng mËt
khÈu ch­¬ng tr×nh login göi ®iÒu khiÓn tíi ch­¬ng tr×nh mµ cã tªn n»m trong
password file. Th«ng th­êng ch­¬ng tr×nh nµy lµ shell.

Shell

ViÖc thao t¸c trùc tiÕp tíi kernel lµ rÊt phøc t¹p vµ ®ßi hái kü thuËt cao §Ó tr¸nh sù
phøc t¹p cho ng­êi sö dông vµ ®Ó b¶o vÖ kernel tõ nh÷ng sai sãt cña ng­êi sö dông

5
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

shell ®∙ ®­îc x©y dùng thµnh líp bao quanh kernel. Ng­êi sö dông göi yªu cÇu tíi
shell, shell biªn dÞch chóng vµ sau ®ã göi tíi kernel.

Chøc n¨ng cña shell

Th­êng víi UNIX cã ba lo¹i shell ®­îc dïng phæ biÕn. C¶ ba ®Òu nh»m mét môc
®Ých cung cÊp c¸c chøc n¨ng sau:

ü Th«ng dÞch lÖnh

ü Khëi t¹o ch­¬ng tr×nh

ü §Þnh h­íng vµo ra

ü KÕt nèi ®­êng èng

ü Thao t¸c trªn file

ü Duy tr× c¸c biÕn

ü §iÒu khiÓn m«i tr­êng

ü LËp tr×nh shell

HiÖn nay trªn hÖ ®iÒu hµnh Unix ng­êi ta ®ang sö dông chñ yÕu ba lo¹i shell sau:
Bourne shell, Korn shell, C shell. B¶ng sau so s¸nh gi÷a 3 lo¹i shell (Theo tµi liÖu
UNIX UNLEASHED - Sams Development Team - SAMS Publishibng)

1 tèt nhÊt, 2 trung b×nh, 3 yÕu.


Shell Learning Editing Shortcuts Portability Experience

Bourne 1 3 3 1 3

C 2 2 1 3 2

Korn 3 1 2 2 1

User

Gåm c¸c tiÖn tÝch, c¸c øng dông giao tiÕp víi ng­êi sö dông.

6
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

2. C¸c ®Æc ®iÓm c¬ b¶n

HÖ ®iÒu hµnh UNIX cã mét sè ®Æc ®iÓm sau:

ü §a ch­¬ng

ü NhiÒu ng­êi sö dông

ü B¶o mËt

ü §éc lËp phÇn cøng

ü HÖ më

ü Dïng chung thiÕt bÞ

ü Tæ chøc tËp tin ph©n cÊp

B¶ng so s¸nh gi÷a UNIX, NetWare vµ Windows NT (Theo tµi liÖu Upgrading and
Repairing Networks –QUE)
Network Goals UNIX NetWare Windows NT
Interoperability Excellent Good Fair
Transparency Good Good Fair
Security Good Good Good
Efficiency Excellent Good Fair
Reliability Excellent Good Good
Accessibility Good Excellent Fair
Cost Depends Fair Fair
Scalability Excellent Good Fair
Third-party utilities available Excellent Good Fair
Directory services Excellent Good Fair
Flexibility Excellent Good Fair
Performance Excellent Good Fair
Print support Good Good Fair
Years of experience >25 >10 <10

7
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

II. LÖnh vµ tiÖn Ých c¬ b¶n

C¸c lÖnh vµ tiÖn Ých cña Unix rÊt ®a d¹ng.

Mét lÖnh UNIX cã d¹ng: $lÖnh [c¸c chän lùa] [c¸c ®èi sè] lÖnh th­êng lµ ch÷ nhá.
Unix ph©n biÖt ch÷ lín, nhá víi ch÷ lín.

VÝ dô: $ls -c /dev

Víi ng­êi sö dông hÖ thèng, ta cã thÓ chia lÖnh thµnh c¸c nhãm sau:

1. C¸c lÖnh khëi t¹o

login Thùc hiÖn login vµo mét ng­êi sö dông nµo ®ã

su ChuyÓn sang ng­êi sö dông tõ mét ng­êi sö dông nµo ®ã

uname Xem mét sè th«ng tin vÒ hÖ thèng.

who HiÖn lªn ng­êi ®ang th©m nhËp hÖ thèng

who am i xem ai ®ang lµm viÖc t¹i terminal

exit Tho¸t khái hÖ thèng

env Xem th«ng tin tÊt c¶ c¸c biÕn m«i tr­êng.

man Gäi tr×nh trî gióp

2. C¸c lÖnh hiÓn thÞ

echo HiÓn thÞ dßng ký tù hay biÕn lªn mµn h×nh

setcolor §Æt mµu nÒn vµ ch÷ cña mµn h×nh

3. §Þnh h­íng vµo ra

cmd > File ChuyÓn néi dung hiÓn thÞ ra file

cmd < file LÊy ®Çu vµo tõ file

cmd>>file Néi dung hiÓn thÞ ®­îc thªm vµo file

8
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

cmd1 | cmd2 §Çu ra cña lÖnh cmd1 thµnh ®Çu vµo cña lÖnh cmd2

4. Desktop:

bc Dïng ®Ó tÝnh to¸n c¸c biÓu thøc sè häc

cal HiÖn lÞch

date HiÓn thÞ vµ ®Æt ngµy

mesg CÊm/ cho phÐp hiÓn thÞ th«ng b¸o trªn mµn h×nh (bëi write/ hello)

spell KiÓm tra lçi chÝnh t¶

vi So¹n th¶o v¨n b¶n

write/ hello Cho phÐp göi dßng th«ng b¸o ®Õn nh÷ng ng­êi ®ang sö dông trong hÖ
thèng

wall Göi th«ng b¸o ®Õn mµn h×nh ng­êi sö dông hÖ thèng

5. C¸c lÖnh thao th­ môc vµ t¸c file

cd Thay ®æi th­ môc

cp Sao chÐp mét hay nhiÒu tËp tin

find T×m vÞ trÝ cña tËp tin

mkdir T¹o th­ môc

rmdir Xo¸ th­ môc

mv ChuyÓn/ ®æi tªn mét tËp tin

pwd HiÖn vÞ trÝ th­ môc hiÖn thêi

ls HiÖn tªn file vµ thuéc tÝnh cña nã

ln T¹o liªn kÕt file (link)

sort S¾p xÕp thø tù tËp tin hiÓn thÞ

cat Xem néi dung cña file

9
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

tail Xem néi dung file t¹i cuèi cña file

more HiÖn néi dung tËp tin tr×nh bµy d­íi d¹ng nhiÒu trang

grep T×m vÞ trÝ cña chuçi ký tù

wc §Õm sè tõ trong tËp tin

compress NÐn file.

uncompress Më nÐn.

6. In Ên

cancel Huû bá viÖc In

lp In tµi liÖu ra m¸y in

lpstat HiÖn tr¹ng th¸i hµng chê in

7. Th­ tÝn

mail Göi - nhËn th­ tÝn ®iÖn tö

mailx

8. Qu¶n lý tiÕn tr×nh

kill Hñy bá mét qu¸ tr×nh ®ang ho¹t ®éng

ps HiÖn c¸c tiÕn tr×nh ®ang ho¹t ®éng vµ tr¹ng th¸i cña c¸c tiÕn tr×nh

sleep Ng­ng ho¹t ®éng cña tiÕn tr×nh trong mét kho¶ng thêi gian

9. KiÓm so¸t quyÒn h¹n vµ b¶o mËt

passwd thay ®æi password hoÆc c¸c tham sè ®èi víi ng­êi sö dông

chgrp Thay ®æi quyÒn chñ së h÷u file hoÆc th­ môc

chmod Thay ®æi quyÒn h¹n trªn file hoÆc th­ môc

chown Thay ®æi ng­êi së h÷u tËp tin hay th­ môc

10
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

10. L­u tr÷ vµ håi phôc d÷ liÖu

cpio L­u tr÷ vµ håi phôc d÷ liÖu ra c¸c thiÕt bÞ l­u tr÷

tar L­u tr÷ d÷ liÖu ra tape hoÆc c¸c file tar

11. C¸c thao t¸c trªn m¹ng

ping KiÓm tra sù tham gia cña c¸c nót trªn m¹ng

netstat KiÓm tra tr¹ng th¸i cña m¹ng hiÖn thêi

ftp Thùc hiÖn dÞch vô truyÒn nhËn file

telnet Thùc hiÓn kÕt nèi víi mét hÖ thèng

Uutry KÕt nèi UUCP

rcp Sao chÐp file ë xa

III.Th©m nhËp hÖ thèng - C¸c lÖnh c¨n b¶n

1. B¾t ®Çu vµ kÕt thóc phiªn lµm viÖc-X¸c lËp m«i tr­êng hÖ thèng

Khi b¾t ®Çu lµm viÖc trªn hÖ thèng b¹n ph¶i login. ViÖc login b¸o cho hÖ thèng biÕt
b¹n lµ ai vµ c¸c chñ quyÒn lµm viÖc cña b¹n, khi kÕt thóc phiªn lµm viÖc ph¶i
logout. Khi ®ã kh«ng cã mét ai kh¸c cã thÓ truy xuÊt tËp tin cña b¹n nÕu kh«ng
®­îc phÐp. Trong mét hÖ thèng cã nhiÒu ng­êi sö dông, mçi ng­êi cã mét tªn vµ
mét mËt khÈu duy nhÊt. Quy ®Þnh tªn cña ng­êi sö dông kh«ng ®­îc nhá h¬n 2 ký
tù nÕu lín h¬n 8 ký tù th× Unix chØ lÊy 8 ký tù ®Çu.

LÖnh env: HiÖn c¸c th«ng tin vÒ biÕn m«i tr­êng.

LÖnh su: ChuyÓn sang ng­êi sö dông tõ mét ng­êi sö dông nµo ®ã.

su <user>

VÝ dô: §ang ë ng­êi sö dông anh muèn t¹m chuyÓn sang ng­êi sö dông root

$su root

11
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

HÖ thèng sÏ yªu cÇu nhËp mËt khÈu cña ng­êi sö dông root

su - <user> - c <command arg>

ChuyÓn sang user vµ gäi ch¹y lÖnh command

LÖnh uname: Xem mét sè th«ng tin hÖ thèng hiÖn thêi.

uname <option>

-a HiÖn tÊt c¶ c¸c th«ng tin.

-A HiÖn c¸c th«ng tin liªn quan ®Õn license.

-m HiÖn tªn phÇn cøng cña hÖ thèng

-r HiÖn lªn version hÖ ®iÒu hµnh.

-s HiÖn tªn hÖ thèng

LÖnh who: HiÖn mét sè th«ng tin sö dông hÖ thèng.

who <option>

-r ChØ ra hÖ thèng ®ang ch¹y t¹i level nµo.

-n HiÖn th«ng tin user ®ang login vµo hÖ thèng

VÝ du: $ who

juucp tty00 Sep 28 11:13

pjh slan05 Sep 28 12:08

LÖnh who am i: Xem ai ®ang lµm viÖc t¹i terminal

LÖnh exit: Tho¸t khái shell

LÖnh man: Gäi tr×nh trî gióp

man <command>

VÝ dô: Muèn xem trî gióp lÖnh cp gâ $man cp

2. C¸c lÖnh hiÓn thÞ

12
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

LÖnh echo: HiÓn thÞ dßng ký tù hay trÞ cña biÕn lªn mµn h×nh.

echo [-n] [arg]

-n In ra chuçi kü tù mµ kh«ng t¹o dßng míi

C¸c ký tù qui ®Þnh kh¸c ®­îc quy ®Þnh gièng nh­ qui ®Þnh trong lÖnh printf trong C

(\c In dßng kh«ng t¹o dßng míi, \t tab, \n in dßng vµ t¹o dßng míi ...)

VÝ dô: $echo ‘Hien len man hinh’

$echo $PATH

LÖnh setcolor: §Æt mµu nÒn vµ ch÷ cña mµn h×nh.

setcolor <option>

-b <color> §Æt mµu nÒn.

-f <color> §Æt mµu ch÷.

3. §Þnh h­íng vµo ra vµ ®­êng èng:

§Þnh h­íng vµo ra

C¸c ch­¬ng tr×nh nhËn d÷ liÖu nhËp vµ t¹o xuÊt ®Òu cã c¸c kªnh liªn l¹c ®Ó chuyÓn
c¸c th«ng tin ®ã. §«i khi c«ng viÖc nµy ®­îc thùc hiÖn t­êng minh bëi ch­¬ng tr×nh
"më" mét tËp tin cô thÓ.

Trong UNIX c¸c thiÕt bÞ ®­îc xö lý nh­ tËp tin -> c¸c thao t¸c vµo ra dÔ dµng cã thÓ
®æi h­íng vµo ra.

UNIX cung cÊp mét sè ph­¬ng tiÖn gióp cho c¸c thao t¸c ®Þnh h­íng vµo ra:

cmd > File ChuyÓn néi dung hiÓn thÞ ra file

cmd < file LÊy ®Çu vµo tõ file

cmd>>file Néi dung hiÓn thÞ ®­îc thªm vµo file

VÝ dô: $cal > cde

HiÖn néi dung lÞch ra file abc

13
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

C¸c ®æi thao t¸c ®æi h­íng vµo ra cã thÓ kÕt hîp víi nhau trong mét lÖnh.

VÝ dô: cat <file1 > file2

§­êng èng

cmd1 | cmd2 §Çu ra cña lÖnh cmd1 thµnh ®Çu vµo cña lÖnh cmd2

§Æc ®iÓm ®­êng èng cña UNIX nèi kÕt 1 lÖnh nµy víi 1 lÖnh kh¸c. §Æc biÖt h¬n nã
t¹o xuÊt chuÈn cña 1 lÖnh thµnh nhËp chuÈn cña 1 lÖnh kh¸c. Ký hiÖu ®­êng èng (|)
®­îc sö dông ®Ó thiÕt lËp ®­êng èng.

VÝ dô: $ls | sort

NhËn xuÊt cña ls vµ göi nã ®Õn lÖnh sort ®Ó s¾p thø tù.

Tæ hîp c¸c tËp tin víi nhËp chuÈn

Trong Unix c¸c lÖnh ®­êng èng cã thÓ kÕt hîp víi ®æi h­íng.

VÝ dô: wc baocao* | sort -n > rep-count kÕt qu¶ sÏ ®­a ra tËp tin rep-count.

C¸c ký kiÖu vµo ra chuÈn trong lÖnh (0: nhËp chuÈn, 1: xuÊt chuÈn, 2: sai chuÈn)

VÝ dô:

spell baocao > baocaodung 2> baocaosai &

Trong lÖnh trªn c¸c tõ sai sÏ ®­îc ®­a ra file baocaosai.

C¸c lÖnh Desktop

4. Desktop:

LÖnh bc: Dïng ®Ó tÝnh to¸n c¸c biÓu thøc sè häc

VÝ dô:

$ bc

x=5

10*x

50

14
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

^d

LÖnh cal: HiÖn lÞch d­íi d¹ng sau:

$ cal

February 1994

S M Tu W Th F S

1 2 3 4 5

6 7 8 9 10 11 12

13 14 15 16 17 18 19

20 21 22 23 24 25 26

27 28

LÖnh date: HiÓn thÞ ngµy giê theo khu«n d¹ng mong muèn vµ cho phÐp thay ®æi
ngµy hÖ thèng.

VÝ dô:

$date

Sat Sep 28 1:45:58 EDT 1998

$date +%D

09/28/98

LÖnh mesg: Cho phÐp hoÆc cÊm hiÓn thÞ th«ng b¸o trªn mµn h×nh (bëi write/ hello)

mesg [n] [y]

n CÊn kh«ng cho hiÓn thÞ.

y Cho phÐp hiÓn thÞ.

LÖnh spell: KiÓm tra lçi chÝnh t¶ xem cã lçi hay kh«ng nÕu cã th× hiÖn c¸c lçi sai

LÖnh write/ hello:Cho phÐp göi dßng th«ng b¸o ®Õn nh÷ng ng­êi ®ang sö dông
trong hÖ thèng vµ thùc hiÖn trao ®æi th«ng tin trùc tiÕp qua mµn h×nh terminal

15
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

write <user>

Hello <user>

VÝ dô:

$write username

< C©u th«ng b¸o cÇn gëi >

^d

LÖnh wall: Göi th«ng b¸o ®Õn tÊt c¶ mµn h×nh ng­êi sö dông hÖ thèng terminal.

VÝ dô:

$wall

Thong bao

^d

LÖnh vi: So¹n th¶o v¨n b¶n d¹ng ®¬n gi¶n trªn Unix

§Ó thùc hiÖn so¹n th¶o v¨n b¶n d¹ng text ®¬n gi¶n, trong Unix hç trî ch­¬ng tr×nh
so¹n th¶o vi. Trong so¹n th¶o ph©n ra hai chÕ ®é lµ chÕ ®é lÖnh vµ chÕ ®é so¹n th¶o

ChÕ ®é lÖnh: cho phÐp chÌn, xo¸, thay thÕ ...

ChÕ ®é so¹n th¶o: cho phÐp so¹n th¶o v¨n b¶n.

Esc

Command Text mode


mode

a, A, i, I, o, O
§Ó vµo tr×nh so¹n th¶o vi ta ®¸nh: vi <tªn file>

Khëi ®Çu vi ®Æt ë chÕ ®é lÖnh. §Ó vµo chÕ ®é so¹n th¶o ®¸nh (a, A, i, I, o, O) tho¸t

16
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

khái chÕ ®é nµy ®¸nh ESC, tho¸t khái vi nhÊn: x

Mét sè tuú chän cña vi

vi <file> B¾t ®Çu so¹n th¶o t¹i dßng 1

vi +n <file> B¾t ®Çu ë dßng n

vi +/pattern B¾t ®Çu ë pattern

vi -r tËp tin Phôc håi tËp tin sau khi hÖ thèng treo

Mét sè lÖnh trong command mode cña lÖnh vi


0 ChuyÓn con trá tíi ®Çu dßng
$ ChuyÓn con trá tíi cuèi dßng.
/pattern T×m x©u v¨n b¶n b¾t ®Çu tõ dßng kÕ tiÕp.
?pattern T×m x©u v¨n b¶n tõ dßng tr­íc ®ã vÒ ®Çu.
a Thªm text vµo sau ký tù hiÖn thêi.
^b Back up one screen of text.
B Back up one space-delimited word.
b Back up one word.
Backspace Move left one character.
^d ChuyÓn xuèng d­íi nöa trang mµn h×nh
D Xo¸ ®Õn cuèi dßng
d dw = Xo¸ 1 tõ, dd = Xo¸ mét dßng
Esc ChuyÓn tõ insert mode sang command mode
^f ChuyÓn xuèng mét trang mµn h×nh
G ChuyÓn con trá tíi dßng cuèi cïng cña file
nG ChuyÓn con trá tíi dßng thø n
h ChuyÓn sang tr¸i mét ký tù.
i ChÌn text (chuyÓn sang insert mode) sau ký tù hiÖn thêi.
j ChuyÓn con trá xuèng mét dßng.
k ChuyÓn con trá lªn mét dßng.
l ChuyÓn con trá sang ph¶i mét ký tù.

17
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

n LÆp l¹i t×m kiÕm.


O Thªm mét dßng míi trªn dßng hiÖn thêi.
o Thªm mét dßng míi d­íi dßng hiÖn thêi.
Return B¾t ®Çu mét dßng míi
^u ChuyÓn lªn nöa trang mµn h×nh.
U Undo—Thay thÕ l¹i dßng hiÖn thêi nÕu cã thay ®æi.
u Undo thay ®æi cuèi cïng trªn file ®ang so¹n th¶o.
W Move forward one space-delimited word.
w Di chuyÓn tiªp mét tõ.
x Xo¸ mét ký tù.
:e file So¹n th¶o file míi mµ kh«ng tho¸t khái vi.
:n ChuyÓn tíi file tiÕp trong danh s¸ch file dang so¹n th¶o.
:q Tho¸t khái lÖnh vi vµ quay trë l¹i dÊu nh¾c cña UNIX.
:q! Tho¸t khái lÖnh vi vµ quay trë l¹i hÖ thèng kh«ng ghi bÊt cø thay ®æi
nµo.
:r file §äc néi dung file chØ ®Þnh vµ ®­a nã vµo trong bé ®Öm hiÖn thêi cña
lÖnh vi.
:w file Ghi néi dung trong bé ®Öm ra file chØ ®Þnh.
:w Ghi bé ®Öm ra ®Üa.

5. C¸c lÖnh thao t¸c trªn th­ môc, file

C¸c thao t¸c trªn th­ môc

LÖnh cd: Sö dông lÖnh ®Ó thay ®æi th­ môc lµm viÖc hiÖn hµnh.

cd [directory]

VÝ dô: ChuyÓn ®Õn th­ môc /usr/include: $cd /usr/include

ChuyÓn trë l¹i th­ môc "home": $cd

ChuyÓn ®Õn mét th­ môc con cña th­ môc hiÖn hµnh: $cd ccs

ChuyÓn ®Õn th­ môc cha: $cd..

18
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

LÖnh ls: Sö dông lÖnh ls ®Ó tr×nh bµy néi dung cña th­ môc ls [option] [directory]

option:

-l HiÖn chi tiÕt th«ng tin mét file

-c HiÖn danh s¸ch c¸c tËp tin theo thø tù

-a HiÖn lªn c¸c file bao gåm c¶ file .<tªn file> (vd: .profile)

-F HiÖn ph©n biÖt gi÷a directory (/), executable files (*) víi c¸c file th«ng
th­êng.

-u Sö dông víi –l hiÖn thay v× hiÖn last access time sÏ hiÖn last modification
time.

-s Sö dông víi –l hiÖn file size d­íi d¹ng blocks thay cho d¹ng bytes.

-t Sö dông víi –u s¾p xÕp ®Çu ra theo time thay cho tªn.

-r §¶o ng­îc tr×nh tù s¾p xÕp

-x Cho phÐp hiÓn thÞ d¹ng nhiÌu cét

VÝ dô: $ls -F

bin/ chmod*

etv/ temp

$ls -l

drwx------ 2 sshah admin 512 May 12 13:08 public_html

LÖnh mkdir: Sö dông mkdir ®Ó t¹o th­ môc

mkdir [-p] [directory]

-p T¹o c¸c th­ môc gi¸n tiÕp nÕu tªn th­ môc gi¸n tiÕp trong ®­êng dÉn lµ
kh«ng tån t¹i sù t¹o.

VÝ dô: t¹o c¸c th­ môc gi¸n tiÕp:

$mkdir -p /usr/tam2/duc

19
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

th­ môc tam2 kh«ng tån t¹i do ®ã t¹o c¶ th­ môc tam2 vµ duc.

LÖnh pwd: Sö dông lÖnh pwd hiÖn toµn bé ®­êng dÉn cña th­ môc hiÖn hµnh

$pwd

/usr/tam1/dung

LÖnh rmdir: Sö dông rmdir ®Ó xo¸ th­ môc

rmdir [-ps] <directory>

-p §ßi hái chÊp nhËn c¸c th­ môc bÞ xo¸.

-s Kh«ng hiÖn th«ng b¸o.

VÝ dô: xo¸ 1 th­ môc rçng:

$rmdir dung

C¸c thao t¸c file

File System

File system lµ file ®­îc l­u trªn UNIX. Mçi file system l­u trong th­ môc trong hÖ
thèng c©y th­c môc UNIX. Møc ®Ønh cña c©y th­ môc lµ th­ môc gèc (root
directory) b¾t ®Çu b»ng /. tiÕp sau lµ hÖ thèng c¸c th­ môc con gi¸ trÞ dµi nhÊt cã thÓ
cña mét th­ môc lµ 1,024 ký tù.

Th«ng th­êng Ýt quan t©m ®Õn møc thÊp cña mét file l­u trªn hÖ thèng UNIX nh­ng
®Ó hiÓu kü ta cÇn quan t©m ®Õn hai kh¸i niÖm inodes vµ superblock. Mét khi ®∙ hiÓu
nã sÏ gióp b¹n thuËn lîi trong viÖc qu¶n trÞ hÖ thèng file.
inodes
Inode duy tr× th«ng tin vÒ mçi file vµ phô thuéc vµo kiÓu file, Inode cã thÓ cã chøa
h¬n 40 phÇn th«ng tin. Tuy nhiªn hÇu nh­ chØ cã t¸c dông ®èi víi kernel vµ kh«ng
liªn quan ®Õn ng­êi sö dông. PhÇn liªn quan chñ yÕu ®Õn ng­êi sö dông lµ:

mode: §¸nh dÊu quyÒn truy nhËp vµ kiÓu file.

link count: Sè liªn kÕt cã chøa inode nµy.

user ID : ID cña ng­êi chñ së h÷u file.

20
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

group ID: ID Group cña file.

size Number: KÝch thøc file.

access time: Thêi ®iÎm truy nhËp gÇn nhÊt.

mod time: Thêi ®iÓm söa ®æi gÇn nhÊt.

inode time: Thêi ®iÓm mµ cÊu tróc inode thay ®æi gÇn nhÊt.

block list: Danh s¸ch sè block ®Üa mµ cã chøa segment ®Çu cña file.
Superblocks

Lµ th«ng tin ®Æc biÖt quan träng l­u trªn dÜa. Nã cã chøa th«ng tin ®Þnh h×nh cña ®Üa
(sè head, cylinders ...), phÇn ®Çu cña danh s¸ch inode, vµ danh s¸ch block tù do.
Bëi v× th«ng tin nµy lµ quan träng cho nªn hÖ thèng tù ®éng gi÷a mét b¶n sao trªn
®Üa tr¸nh viÖc rñi ro. Nã chØ liªn quan ®Õn khi mµ file system bÞ háng nÆng.

C¸c kiÓu File

Cã 8 kiÓu file lµ: Normal Files, Directories, Hard Links, Symbolic links, Sockets,
Named Pipes, Character Devices, Block Devices.

Normal Files: Lµ lo¹i file sö dông th«ng thwngf nhÊt, chóng cã thÓ lµ text hoÆc
binary file tuy nhiªn cÊu tróc bªn trong kh«ng liªn quan ®Õn quan ®iÓm qu¶n trÞ hÖ
thèng. §Æc tÝnh cña file ®­îc x¸c ®Þnh bëi inode trong file system mµ m« t¶ nã.
LÖnh ls -l chØ ra Normal Files nh­ sau:

-rw------- 1 sshah admin 42 May 12 13:09 hello

Directories: Lµ lo¹i files ®Æc biÖt mµ cã chøa c¸c file kh¸c. ChØ cã mét ¸nh x¹ tõ
inode tíi disk blocks, cã thÓ cã nhiÒu ¸nh x¹ tíi mét tõ mét môc cña th­ môc tíi
inode. Khi dïng lÖnh ls –l mét Directorie hiÖn nh­ sau:

drwx------ 2 sshah admin 512 May 12 13:08 public_html

Hard Links: Hard link lµ mét directory entry ngo¹i trõ viÖc thay v× trá tíi file duy
nhÊt nã trë tíi file ®∙ tån t¹i. §iÒu nµy t¹o ra cã hai file gièng hÖt nhau khi liÖt kª
danh s¸ch file. dïng lÖnh ls -l:

21
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

-rw------- 1 sshah admin 42 May 12 13:04 hello

sau khi thùc hiÖn Hard link dïng lÖnh ls –l sÏ hiÓn 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 kh¸c víi hard link lµ nã kh«ng trá tíi mét inode
kh¸c nh­ng trá tíi mét filename kh¸c. §iÒu nµy cho phÐp symbolic links thùc hiÖn
liªn kÕt c¸c file systems mét c¸ch thuËn lîi sö dông lÖnh ln -s ta thÊy file www
hiÖn 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 dïng cho UNIX liªn kÕt m¹ng víi m¸y kh¸c. §iÒu nµy ®­îc sö
dông nhê network ports. Dïng lÖnh ls -l socket file hiÖn nh­ sau:

srwxrwxrwx 1 root admin 0 May 10 14:38 X0

Named Pipes: Gièng nh­ socket named pipe cho phÐp ch­¬ng tr×nh liªn l¹c víi
nhau qua file system. B¹n cã thÓ sö dông lÖnh mknod ®Ó t¹o named Pipe. Dïng
lÖnh ls -l named pipe hiÖn nh­ sau:

prw------- 1 sshah admin 0 May 12 22:02 mypipe

Character Devices: Lµ kiÓu file ®Æc biÖt dïng ®Ó liªn l¹c víi c¸c system Device
driver. Dïng lÖnh ls -l character device hiÖn nh­ sau:

crw-rw-rw- 1 root wheel 21, 4 May 12 13:40 ptyp4

Block Devices: Block devices hÇu nh­ chia sÎ c¸c ®Æc tÝnh víi c¸c character devices
trong th­ môc /dev, ®­îc sö dông ®Ó liªn l¹c víi c¸c device drivers. §iÓm kh¸c cña
block devices lµ kh¶ n¨ng truyÒn mét khèi l­îng lín d÷ liÖu t¹i mét thêi ®iÓm.
Dïng lÖnh ls –l hiÖn nh­ sau:

brw------- 2 root staff 16, 2 Jul 29 1992 fd0c

UNIX tæ chøc hÖ thèng tËp tin bao gåm chØ mét th­ môc gèc (/) mµ tõ ®ã c¸c th­

22
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

môc con cña nã ®­îc g¾n vµo mét c¸ch trùc tiÕp hay gi¸n tiÕp. Cã mét vµi th­ môc
con chuÈn /bin, /usr, /etc, v.v... Mçi th­ môc nµy l¹i chøa c¸c tËp tin hay th­ môc
con.

Ta cã thÓ sö dông ®­êng dÉn ®Çy ®ñ ®Ó x¸c ®Þnh mét tËp tin, vÝ dô:
/usr/NVA/chuong1. B¹n còng cã thÓ sö dông chØ tªn tËp tin nÕu tËp tin ®­îc chøa
trong th­ môc hiÖn hµnh. Th­êng khi login, th­ môc hiÖn hµnh sÏ ®­îc ®Æt ®Õn lµ
th­ môc "home". §©y lµ th­ môc ®­îc thiÕt lËp bëi ng­êi qu¶n trÞ hÖ thèng dµnh
cho ng­êi sö dông.

Tªn tËp tin trong UNIX cã thÓ dµi 256 ký tù, ngo¹i trõ c¸c ký tù ®Æc biÖt sau: ! " ' ; /
$ < > ( ) [ ]. { }. Ngoµi ra ta còng cã thÓ sö dông c¸c ký tù sau:

C¸c ký hiÖu ®¹i diÖn:

DÊu (*) ®¹i diÖn cho mét, nhiÒu hoÆc kh«ng ký tù nµo.

DÊu (?) ®¹i diÖn cho mét ký tù ®¬n

[...] ®¹i diÖn cho mét d∙y ký tù cã thø tù trong b¶ng Alphabet. VÝ dô: liÖt kª tÊt c¶
c¸c th­ môc b¾tt ®Çu b»ng ch÷ c, d, e: lc [cde]*

LÖnh file: NhËn biÕt d¹ng file. Th«ng th­êng lÖnh file ph©n tÝch néi dung cña 1 file
vµ hiÓn thÞ tÝnh chÊt cña th«ng tin chøa trong file:

VÝ dô: $ file /etc/passwd => /etc/hosts: ascii text

LÖnh cat: Xem néi dung 1 tËp tin vµ nèi kÕt c¸c tËp tin cat [option] [files]

LÖnh more, pg: Dïng lÖnh more hoÆc pg ®Ó hiÖn néi dung file trªn tõng trang mµn
h×nh:

VÝ dô: more thu

LÖnh mv: §æi tªn tËp tin.

mv <option> <old><new>

-i NÕu file ®∙ cã th× lÖnh sÏ hái cã ghi ®Ì lªn file hay kh«ng.

-f Thùc hiÖn lÖnh mµ kh«ng hái g×.

23
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

VÝ dô: Thay ®æi tªn cña tËp tin ë th­ môc hiÖn hµnh:

$mv a.out test

LÖnh ln: Sö dông lÖnh ln ®Ó g¸n thªm 1 tªn míi cho 1 tËp tin

Có ph¸p: ln [-s] <tªn> <file, directory>

ln Kh«ng tham sè t¹o hard link.

ln -s T¹o symbolic link.

LÖnh rm: Xo¸ tËp tin rm tËp tin.

rm <option> <files>

-f Xo¸ c¸c tËp tin mµ kh«ng hái, thËm chÝ chñ quyÒn ghi lµ kh«ng cho phÐp

-r Cho phÐp xo¸ c¶ th­ môc bao gåm c¶ file vµ th­ môc.

-i: Tr­íc khi xo¸ tËp tin sÏ hái x¸c nhËn viÖc xo¸ tËp tin

VÝ dô: Xo¸ tËp tin thu:

$rm thu

LÖnh cp: Sao chÐp tËp tin.

cp <option> <sou> <des>

-i NÕu file trªn ®Ých ®∙ cã th× sÏ ®­îc hái cã ghi ®Ì hay kh«ng

-r Copy c¶ th­ môc

VÝ dô: cp /etc/passwd /usr/dung/passwdold

LÖnh find: T×m kiÕm 1 tËp tin hoÆc mét sè tËp tin tho¶ m∙n ®iÒu kiÖn nµo ®ã

find <path> <expression>

-atime <n> §óng nÕu file bÞ truy nhËp n ngµy tr­íc ®©y.

-mtime <n> §óng nÕu file bÞ thay ®æi n ngµy tr­íc ®©y.

-user <un> §óng nÕu chñ cña files lµ un. NÕu gi¸ trÞ lµ sè nã sÏ so s¸nh víi
userID.

24
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

-group <gn> §óng nÕu files thuéc th¸nh viªn cña nhãm gn. NÕu gn lµ sè th× nã sÏ
so s¸nh

víi groupID.

-perm <on> T×m files cã quyÒn truy nhËp files ®óng víi gi¸ trÞ on.

-links <n> T×m files cã n links.

-type <x> T×m file cã kiÓu x.

-newer <fn> T×m file bÞ thay ®æi gÇn h¬n so víi fn.

-local ChØ t×m t¹i local.

-size <n> [c] T×m file cã kÝch th­íc n blocks (c chØ ra character –byte)

-print HiÖn ®Çy ®ñ ®­êng dÉn cña files.

-depth Lu«n ®óng (cho phÐp t×m tÊt c¶ c¸c files trªn directory).

-name <pt> T×m files tho¶ m∙n mÉu t×m pt.

VÝ dô: T×m tËp tin thu:

$find . -name thu -print

/usr/tam/thu

LÖnh grep: T×m kiÕm chuçi v¨n b¶n bªn trong tËp tin

grep <option> <Chuçi cÇn t×m> <Files>

Sö dông lÖnh grep ®Ó t×m kiÕm mét chuçi v¨n b¶n bªn trong c¸c tËp tin ®­îc chØ
®Þnh. NÕu chuçi v¨n b¶n dµi h¬n 1 ký tù th× ph¶i ®Ó trong hai dÊu nh¸y.

-c In ra tæng sè dßng cã chøa mÉu cÇn t×m.

-h Bá tªn file kh«ng hiÖn lªn t¹i dßng cã chøa mÉu t×m thÊy.

-i Bá qua ph©n biÖt ch÷ ho¸ vµ ch÷ th­êng.

-n HiÖn lªn dßng chøa mÉu t×m thÊy vµ tr­íc ®ã lµ sè cña dßng trong file.

-v In tÊt c¶ c¸c dßng cã chøa mÉu t×m kiÕm.

25
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

DÊu * ®¹i diÖn cho mét hoÆc bÊt kú ký tù nµo.

[character ] §¹i diÖn bëi mét m¶ng c¸c ký tù.

VÝ dô: T×m chuçi ký tù "mail" trong tËp tin thu: $grep ‘ngan hang’ thu

LÖnh tail: HiÖn c¸c dßng cuèi cña files

tail [-f] <file>

-f HiÖn 10 dßng cuèi vµ mçi dßng ®­îc thªm vµo tõ khi gäi ch¹y lÖnh tail cho
®Õn khi

kÕt thóc nã.

LÖnh compress: Thùc hiÖn viÖc nÐn d÷ liÖu. File t¹o ra tù ®éng cã ®u«i .Z

compress [ -cfv ] file(s)

-c Writes to stdout instead of changing the file.

-f Cho phÐp nÐn c¶ file ®∙ ®­îc nÐn.

-v HiÓn thÞ phÇn tr¨m gi¶m mçi lÇn nÐn.

LÖnh uncompress: Thùc hiÖn viÖc cëi nÐn file d÷ liÖu.

uncompress [ -cv ] [ file(s) ]

6. In Ên

LÖnh lp: Thùc hiÖn viÖc in file m¸y in.

lp <option> <files>

-c Khi lÖnh ®­îc gäi lËp tøc t¹o b¶n sao cña file vµ thùc hiÖn in trªn b¶n
sao nµy.

-d <des> §Ých cÇn in tíi.

-n <num> Sè b¶n in.

-o nobaner Kh«ng in phÇn trang tiªu ®Ò ®Çu tiªn.

cpi=<n> Sè character ®­îc in trªn 1 inch (10/12 ...)

26
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

-q <pri> Møc ®é ­u tiªn in (0 cao nhÊt ->39 thÊp nhÊt>

VÝ dô: $lp -d epson thu.txt

LÖnh lpstat: HiÖn tr¹ng th¸i hµng chê in cña m¸y in

lpstat <option>

-a HiÖn danh s¸ch c¸c printer.

-d HiÖn m¸y in ngÇm ®Þnh.

-o <pr>[-l] HiÖn tr¹ng th¸i yªu cÇu ®Çu ra cña m¸y in pr. NÕu cã -l hiÖn chi tiÕt
tr¹ng th¸i.

-p <pr> HiÖn tr¹ng th¸i m¸y in.

-t HiÖn tÊt c¶ th«ng tin vÒ tr¹ng th¸i.

-v <pr> HiÖn tªn m¸y in vµ tªn ®­êng dÉn tíi thiÕt bÞ t­¬ng øng.

LÖnh cancel: Huû bá viÖc In Ên

cancel <request id> <printer>

7. Th­ tÝn ®iÖn tö

Trong Unix hç trî ch­¬ng tr×nh mail vµ mailx cho phÐp ng­êi sö dông thùc hiÖn
viÖc göi vµ nh©n mail theo chuÈn SMTP

LÖnh mail:

Th­ ®iÖn tö cung cÊp c¸c kh¶ n¨ng c¬ b¶n ®Ó göi vµ nhËn th«ng b¸o. Mail sÏ hiÓn
thÞ th«ng b¸o theo thø tù vµo tr­íc ra sau.Sau khi hiÓn thÞ mçi th«ng b¸o mail sÏ
hiÖn lªn dÊu ? ®Ó chê lÖnh cña ng­êi sö dông.

Gåm mét sè lÖnh sau:

+ HiÖn message tiÕp theo

- HiÖn mesage tr­íc ®ã

27
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

d Xo¸ message hiÖn thêi.

h HiÖn header cña message.

m <user> Göi message tíi user.

p HiÖn l¹i néi dung message.

s <file> Ghi message ra tËp tin hoÆc mbox

w<file> Ghi message ra file nh­ng kh«ng ghi phÇn header.

q Tho¸t khái mail

x Tho¸t khái mail mµ kh«ng thay ®æi th«ng b¸o

! lÖnh Thùc hiÖn lÖnh Unix

Göi th­ : §­a vµo lÖnh mail víi ®Þa chØ cña ng­êi sö dông.

VÝ dô: $mail dung@sysdomain

<th«ng b¸o>

ctrl-d

NhËn th­: Khi login vµo hÖ thèng nÕu cã th­ hÖ thèng sÏ th«ng b¸o " You have
mail" khi ®ã cã thÓ ®¸nh $mail ®Ó thùc hiÖn c¸c thao t¸c trªn message.

LÖnh mailx

Mailx bao gåm c¸c lÖnh ®Ó chuyÓn vµ nhËn th­.: mailx <option> <user>

option -e so¹n message

-v so¹n message b»ng lÖnh vi

-r <file> ®äc file vµo message

!<lÖnh> Cho phÐp thùc hiÖn c¸c lÖnh shell.

= HiÖn sè cña message

delete d Xo¸ message hiÖn thêi

dp Xo¸ message vµ chuyÓn ®Õn message kÕ tiÕp

28
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

edit e So¹n th¶o message.

exit Tho¸t khái mailx vµ kh«ng l­u l¹i thay ®æi.

headers h HiÖn header cña message chØ ®Þnh.

mail <user> m Göi message tíi ng­êi chØ ®Þnh

next n HiÖn message tiÕp theo

print p HiÖn message lªn mµn h×nh.

quit q Tho¸t khái mailx vµ hoµn thµnh c¸c thao t¸c ®∙ thùc
hiÖn.

reply r Tr¶ lêi mail tíi ng­êi göi vµ c¸c ng­êi nhËn.

Reply R ChØ tr¶ lêi mail tíi ng­êi göi.

save <file> s Ghi message tíi file chØ ®Þnh.

Save S Ghi message sau khi göi nã.

undelete u Bá xo¸ bëi lÖnh delete.

visual v Dïng lÖnh vi ®Ó so¹n th¶o message.

write <file> w Ghi message mµ kh«ng ghi header.

8. Qu¶n lý tiÕn tr×nh

HÖ thèng Unix dïng c¸c tiÕn tr×nh (process) nh­ lµ ph­¬ng tiÖn ®Ó qu¶n lý c¸c
ch­¬ng tr×nh ®ang thùc hiÖn. Mçi lÖnh mµ ng­êi dïng gäi thùc hiÖn ®Òu gäi lµ mét
tiÕn tr×nh. Mçi tiÕn tr×nh ®ang ho¹t ®éng ®Òu bao hµm mét sè th«ng tin liªn quan
®Æc biÖt cã mét gi¸ trÞ ID ®Ó nhËn d¹ng. Ngoµi ra cßn c¸c th«ng tin kh¸c nh­ TTY,
thêi gian, lÖnh ...

TiÕn tr×nh t¹o ra mét tiÕn tr×nh kh¸c ®­îc gäi lµ tiÕn tr×nh cha. C¸c tiÕn tr×nh con
nhËn biÕt tiÕn tr×nh cha cña nã qua ID cña qu¸ tr×nh cha.

LÖnh kill: Hñy bá mét qu¸ tr×nh ®ang ho¹t ®éng.

kill <signal> PID

29
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

-0 KÕt thóc tÊt c¶ c¸c tiÕn tr×nh trong process group.

-9 KÕt thóc tiÕn tr×nh kh«ng ®iÒu kiÖn.(Unconditional kill signal)

-15 KÕt thóc tiÕn tr×nh- ngÇm ®Þnh (software termination signal)

LÖnh ps: HiÖn c¸c tiÕn tr×nh ®ang ho¹t ®éng vµ tr¹ng th¸i cña c¸c tiÕn tr×nh bao
gåm c¸c tr­êng thÓ hiÖn c¸c th«ng tin sau:

ps <option>

-e HiÖn th«ng tin vÒ tÊt c¶ c¸c process ®ang ho¹t ®éng.

-d In th«ng tin vÒ tÊt c¶ c¸c tiÕn tr×nh trõ phÇn leader

-a In tÊt c¶ th«ng tin vÒ process trõ c¸c process kh«ng t­¬ng øng víi terminal.

-f In ®Çy ®ñ tÊt c¶ c¸c th«ng tin.

LÖnh sleep: Ng­ng ho¹t ®éng cña tiÕn tr×nh trong mét kho¶ng thêi gian.

sleep <time>

Thêi gian ®­îc tÝnh b»ng gi©y 1-65536.

LÖnh wait: Cho phÐp chê c¸c tiÕn tr×nh ch¹y chÕ ®é background kÕt thóc. Th­êng
dïng trong c¸c script ®Ó ®ång bé t­¬ng t¸c.

VÝ dô:

cmd1 > file1&

cmd2>file2&

wait

sort file1 file2

9. C¸c lÖnh liªn quan b¶o mËt vµ quyÒn h¹n

a) Kh¸i niÖm:

Khi ng­êi sö dông ®­îc t¹o th× c¸c th«ng tin sau yªu cÇu ®­îc ®­îc ®­a vµo:

30
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

Tªn ng­êi sö dông

MËt khÈu

Sè nhËn d¹ng (uid: user identify number)

Sè cña nhãm (gid: group identify number)

Chó thÝch

Th­ môc x©m nhËp (home directory)

Tªn ch­¬ng tr×nh cho ch¹y lóc b¾t ®Çu lµm viÖc

C¸c th«ng tin nµy ®­îc chøa trong file /etc/passwd

Nhãm ng­êi sö dông: 1 nhãm ng­êi sö dông lµ tËp hîp cña 1 sè ng­êi sö dông cã
thÓ dïng chung c¸c file cña nhau, ®­îc m« t¶ b»ng nh÷ng th«ng tin sau:

Tªn cña nhãm

MËt m∙ (cã thÓ cã hoÆc kh«ng cã)

Sè cña nhãm (gid)

Danh s¸ch nh÷ng ng­êi sö dông thuéc nhãm

C¸c th«ng tin nµy ®­îc l­u trong tËp tin /etc/group

Trong mét file ®­îc t¹o trong ®ã cã c¸c th«ng tin sau:

-rwxr-xr-- 2 sshah admin 42 May 12 13:04 hello

Nhãm ®Çu -rwxr-xr—

DÊu g¹ch ®Çu tiªn thÓ hiÖn lo¹i file.

Nhãm tiÕp theo gåm 3 nhãm nhá rwxrwxrwx nhãm ®Çu thÓ hiÖn quyÒn h¹n cña
ng­êi chñ së h÷u tËp tin, nhãm 2 thÓ hiÖn quyÒn h¹n cña nhãm cã quyÒn truy nhËp,
nhãm 3 lµ quyÒn h¹n cña c¸c ng­êi sö dông kh¸c. Mçi nhãm gåm 3 gi¸ trÞ r (®äc),
w (ghi, thay ®æi), x (thùc hiÖn).

Permission Owner Group Other

31
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

Read (r) 4 4 4

Write (w) 2 2 2

Execute (x) 1 1 1

Total 7 7 7

TiÕp theo chØ ra sè liªn kÕt trªn file (2)

Ng­êi chñ së h÷u cña file (sshah)

Nhãm ng­êi sö dông cã quyÒn trªn file (admin)

KÝch th­íc file (42)

Thêi gian (May 12 13:04)

Tªn file (Hello)

b) C¸c lÖnh

LÖnh chgrp: Thay ®æi nhãm truy xuÊt cña tËp tin. ChØ cã superuser hay ng­êi së
h÷u míi ®­îc quyÒn thay ®æi quyÒn së h÷u 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

-rwx--x--x 1 bin data 13023 Jun 21 94 test

LÖnh chown: Thay ®æi ng­êi së h÷u tËp tin. ChØ cã superuser hay ng­êi së h÷u míi
®­îc quyÒn thay ®æi.

chown <owner> <files>.

32
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

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

LÖnh umask: §Æt quyÒn truy xuÊt ngÇm ®Þnh ®èi víi 1 file hay th­ môc t¹o. Sau khi
®Æt umask tÊt c¶ c¸c tËp tin vµ th­ môc t¹o sÏ nhËn quyÒn truy nhËp. (gi¸ trÞ ngÇm
®Þnh lµ 022)

umask <mask>
0 read and write (and execute for directories)
1 read and write (not execute for directories)
2 read (and execute for directories)
3 read
4 write (and execute for directories)
5 write
6 execute
7 no permissions

VÝ dô:

$umask 177

$cat test

...

^d

$ls -l test

-rw------ 1 dung adm 1 Mar 11 10:11 test

LÖnh chmod: Thay ®æi quyÒn h¹n truy nhËp tËp tin

33
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

§Ó thùc hiÖn viÖc thay ®æi quyÒn h¹n trªn tËp tin th× ®ßi hái ng­êi thùc hiÖn lÖnh
ph¶i lµ ng­êi së h÷u 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-- .....

C¸c tham sè dïng víi lÖnh chmode <option> <files>

u: ng­êi sö dông (user)

g: nhãm (group)

o: chung (other)

a: tÊt c¶ (all)

To¸n tö:

+: thªm quyÒn

-: bít quyÒn

=: g¸n gi¸ trÞ kh¸c

QuyÒn:

r: ®äc (reading)

w: ghi (writting)

x: thùc hiÖn (execution)

VÝ dô: $ls -l test

-rwxr-xr-- .....

34
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

$chmode g +w test

$ls -l test

-rwxrwxr-- ...... test

10. L­u tr÷ vµ håi phôc d÷ liÖu

C¸c tËp tin cña nh÷ng hÖ thèng th«ng tin ngµy cµng lín, sù cÇn thiÕt vµ møc ®é quan
träng cña c¸c tËp tin nµy v« cïng quan träng.

C¸c thiÕt bÞ phÇn cøng kh«ng thÓ ®¶m b¶o r»ng kh«ng bao giê cã sù cè nh­ háng
®Üa, háng thiÕt bÞ l­u d÷ liÖu ... C¸c hÖ thèng phÇn mÒm còng kh«ng ph¶i lµ ch¹y
hoµn toµn kh«ng x¶y ra sù cè g×.

D÷ liÖu cña c¸c hÖ thèng th«ng tin xö lý nghiÖp vô tøc thêi ®ßi hái khi cã bÊt cø sù
cè nµo xuÊt hiÖn lµm háng d÷ liÖu cña hÖ thèng, th× ngay sau ®ã d÷ liÖu ph¶i ®­îc
kh«i phôc ngay.

Tïy theo c¸c nhµ cung cÊp phÇn mÒm vµ phÇn cøng kh¸c nhau mµ hÖ thèng l­u tr÷
cã nh÷ng chøc n¨ng vµ tiÖn Ých kh¸c nhau nh­ng ®Òu cã chung mét môc ®Ých lµ l­u
d÷ liÖu.

Th«ng th­êng nh÷ng hÖ ®iÒu hµnh lín hoÆc nhá ®Òu hç trî c¸c tiÖn Ých gióp cho
viÖc sao l­u vµ håi phôc d÷ liÖu nh»m gi¶m tèi thiÓu c¸c ¶nh h­ëng ®Õn hÖ thèngd÷
liÖu.

Trong c¸c lo¹i hÖ ®iÒu hµnh Unix kh¸c nhau cã thÓ cã c¸c c«ng cô vµ c¸c tiÖn Ých
gióp cho viÖc thùc hiÖn l­u tr÷ tuy nhiªn c¸c lÖnh hÇu hÕt ®­îc hç trî bëi c¸c lo¹i
hÖ ®iÒu hµnh Unix.

LÖnh tar: L­u tr÷ hoÆc håi phôc files tõ c¸c thiÕt bÞ l­u tr÷.

tar <options> <tarfile name> <filenames to backup or restore>

Mét sè c¸c option hay dïng.

option =[key]<sub>

Key c T¹o l­u tr÷ míi vµ thùc hiÖn b¾t ®Çu ghi tõ ®Çu.

35
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

r File l­u tr÷ ®­îc ghi vµo vih trÝ cuèi cña thiÕt bÞ l­u tr÷.

t HiÖn danh s¸ch c¸c file l­u tr÷.

u CËp nhËp thªm nÕu files ch­a cã, hoÆc ®∙ thay ®æi so víi lÇn sao chÐp
tr­íc.

x LÊy th«ng tin tõ thiÕt bÞ l­u tr÷.

<sub> e Cho phÐp ghi trªn nhiÒu volume.

f Sö dông c¸c ®èi sè thay cho c¸c gi¸ trÞ ngÇm ®Þnh.

n ChØ thiÕt bÞ l­u tr÷ kh«ng phaie lµ tape

v HiÓn thÞ tªn file sao l­u hoÆc håi phôc

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

LÖnh cpio: L­u tr÷ vµ håi phôc d÷ liÖu ra c¸c thiÕt bÞ l­u tr÷ chuÈn

cpio -o [acv] Ghi d÷ liÖu ra ®Çu ra thiÕt bÞ l­u tr÷

-i [cdmnv] §äc d÷ liÖu tõ thiÕt bÞ l­u tr÷.

c Ghi thªm phÇn header phßng tr­êng hîp dïng trªn c¸c m¸y kh¸c.

d Th­ môc sÏ ®­îc t¹o nÕu cÇn.

m D÷ l¹i thêi gian thay ®æi tr­íc ®©y.

a Thay ®æi thêi gian truy nhËp.

u Sao chÐp kh«ng ®iÒu kiÖn.

v HiÖn danh s¸ch tªn file.

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

36
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

cpio -icd < /dev/rst0

LÖnh dd: Sao l­u vµ håi phôc d÷ liÖu theo ®óng tr¹ng th¸i trªn hÖ thèng file (block
copy)

dd [if= ][of= ]

if= §Çu vµo chuÈn.

of= §Çu ra chuÈn.

VÝ dô:

dd if=/dev/diskette0 of=/mnt/abc.xx

dd if=/mnt/abc.xx of=/dev/diskette0

11. C¸c thao t¸c trªn m¹ng

LÖnh ping: KiÓm tra sù tham gia cña c¸c nót trªn m¹ng

LÖnh netstat: KiÓm tra tr¹ng th¸i cña m¹ng hiÖn thêi cña hÖ thèng local. Nã thÓ hiÖn
c¸c th«ng tin vÒ giao diÖn m¹ng, th«ng tin routing table, th«ng tin vÒ Protocol.

netstat <option>

-a HiÓn thÞ th«ng tin tÊt c¶ c¸c interface

-c TiÕp tôc hiÓn thÞ vµ tù update sau mét vµi gi©y.

-i ChØ hiÓn thÞ th«ng tin vÒ interface

-n HiÓn thÞ ®Þa chØ thay cho tªn.

-r HiÓn thÞ th«ng tin vÒ kernel routing table

-t ChØ hiÓn thÞ th«ng tin vÒ TCP socket

-u ChØ hiÓn thÞ th«ng tin vÒ UDP socket.

-x HiÓn thÞ th«ng tin vÒ socket

VÝ dô:

# netstat –r

37
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

Routing Table:

Destination Gateway Flags Ref Use Interface

—————————— —————————— —— —— ——— ————

localhost localhost UH 0 109761 lo0

rmtnet ws2 UG 0 20086

rmtppp ws2 UG 0 1096

subnet1 ws1 U 3 1955 le0

224.0.0.0 ws1 U 3 0 le0

default gateway UG 0 16100

LÖnh telnet: Thùc hiÖn kÕt nèi víi mét hÖ thèng cho phÐp trë thµnh terminal cña hÖ
thèng mµ nã kÕt nèi tíi.

telnet <dest>

LÖnh ftp: Thùc hiÖn dÞch vô truyÒn nhËn file.

ftp <dest>

Muèn debuge lÖnh ftp dïng thªm option -d (vÝ dô: ftp -d ftp.ha.com)

Mét sè lÖnh trong ftp:

ascii ChuyÓn sang ASCII transfer mode.

binary ChuyÓn sang binary transfer mode.

cd Thay ®æi th­ môc trªn ftp server.

close KÕt thóc kÕt nèi.

del Xo¸ file trªn ftp server

pwd HiÖn th­ môc hiÖn thêi trªn ftp server

get LÊy file tõ ftp server

help Trî gióp

38
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

lcd Thay ®æi th­ môc trªn client

mget LÊy mét sè file trªn ftp server

mput TruyÒn mét vµi file lªn ftp server

open Më kÕt nèi víi ftp a server

put TruyÒn file tíi ftp server

quit Tho¸t khái FTP.

LÖnh rlogin: Thùc hiÖn login tíi m¸y ë xa, cho phÐp truy nhËp tíi m¸y tÝnh trªn
m¹ng gièng nh­ lÖnh telnet.

rlogin <hosts name>

Trong tr­êng hîp nµy user ID trªn remote host ph¶i gièng íi user ID trªn local host.
vÝ dô nh­ nÕu testuser login vµo box1, rlogin dïng testuser login vµo box2.

Tuy nhiªn nÕu mu«n slogin vµo user ID kh¸c dïng option sau:

rlogin <hosts name> -l <user>

LÖnh rcp: Sao chÐp file ë xa

Tr­íc khi sö dông lÖnh rcp ng­êi sö dông ®∙ ph¶i ®­îc s½n sµng trªn remote
machine. Bëi v× rcp kh«ng sö dông authentication (kh«ng gièng nh­ rlogin).

rcp <option> <sour> <dest>

-r ChØ sö dông trong tr­êng hîp copy th­ môc.

<sour> <dest> ®­îc viÕt 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

IV.LËp tr×nh Shell

39
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

1. C¸c ®Æc tÝnh c¬ b¶n.

LÖnh ®¬n gi¶n

Lµ lÖnh ®­îc gäi thùc hiÖn cã tÝnh chÊt ®¬n nh­ d¹ng sau:

command <option> <arg>

NhiÒu lÖnh trªn mét dßng

Th«ng th­êng shell th«ng dÞch tõ ®Çu tiªn nh­ lµ lÖnh cßn c¸c phÇn sau trë thµnh
c¸c ®èi sè cña lÖnh. Cã 3 ký tù ®Æc biÖt mµ khi shell th«ng dÞch mµ gÆp ph¶i sÏ hiÓu
sau ®ã lµ cã mét lÖnh tiÕp theo cÇn thùc hiÖn ®ã lµ (;), (&), (|).

; §îi lÖnh tr­íc hoµn thµnh míi thùc hiÖn ®Õn lÖnh tiÕp sau (t­¬ng ®­¬ng víi
thùc

hiÖn c¸c lÖnh riªng rÏ).

VÝ dô: $ who -H; df -v; ps -e

& LÖnh sau kh«ng cÇn ph¶i ®îi lÖnh tr­íc kÕt thóc thùc hiÖn.

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

| SÏ lÊy ®Çu ra cña lÖnh tr­íc thµnh ®Çu vµo cña lÖnh sau:

§Þnh h­íng vµo ra

Khi shell th«ng dÞch lÖnh mµ nh×n thÊy c¸c ký hiÖu ®æi h­íng vµo ra (<), (>). C¸c
®Þnh h­íng vµo ra nµy ®­îc göi tíi subshell ®Ó ®iÒu khiÓn viÖc thùc hiÖn lÖnh.

Dßng lÖnh dµi

Trong tr­êng hîp dßng lÖnh dµi muèn chia thµnh nhiÒu dßng th× kÕt thóc dßng ph¶i
®Æt ký tù (\). Khi gÆp ký tù nµy shell kh«ng coi dßng míi lµ kÕt thóc cña ®Çu vµo.

VÝ dô: $ echo Now is the time for all good men \_

to come to the aid of the party.

BiÕn trong shell

40
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

Khi shell gÆp ký tù $ th× nã hiÓu tõ sau ®ã lµ tªn biÕn. Shell sÏ t×m biÕn ®∙ ®­îc ®Þnh
nghÜa vµ lÊy gi¸ trÞ cña nã. NÕu biÕn ch­a ®Þnh nghÜa th× mét null string sÏ ®­îc tr¶
l¹i.

§Ó ®Æt gi¸ trÞ cho biÕn chØ cÇn g¸n <tªn biÕn>=gi¸ trÞ

VÝ dô:

$ dir=ls

$ $dir f*

file1

file1a

Cã thÓ thùc hiÖn g¸n nhiÒu h¬n mét biÕn trªn mét dßng lÖnh. BiÕn sÏ ®­îc g¸n tõ
ph¶i sang tr¸i.

VÝ dô: X=$Y Y=y

echo $X

NÕu muèn lÊy ®Çu ra hoÆc kÕt qu¶ thùc hiÖn mét lÖnh lµm ®èi sè cña mét lÖnh kh¸c
th× cã thÓ dïng dÊu (`) ®Ó bao lÊy lÖnh cÇn thùc hiÖn.

{ variable:-value} G¸n gi¸ trÞ ngÇm ®Þnh cho biÕn.

{ variable:+value} NÕu biÕn kh¸c null th× sÏ lÊy value.

${variable:?message} NÕu biÕn kh«ng ®Æt gi¸ trÞ th× message sÏ ®­îc in ra ®Çu
ra lçi

chuÈn.

VÝ dô:

$ echo Hello $UNA

Hello

$ echo Hello ${UNA:-there}

41
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

NÕu kh«ng g¸n trÞ cho UNA th× sÏ hiÖn

Hello there

NÕu g¸n UNA=John

SÏ hiÖn

Hello John

Khi shell gäi thùc hiÖn mét lÖnh tõ ®Çu tiªn ®­îc hiÓu lµ lÖnh, c¸c th«ng tin sau sÏ
®­îc hiÓu lµ c¸c ®èi sè cña lÖnh. §èi sè ®Çu tiªn ®­îc g¸n tíi biÕn $1, ®èi sè thø hai
sÏ ®­îc g¸n tíi biÕn $2 ... $9. VÞ trÝ biÕn $0 lu«n cã chøa lÖnh.

$# Chøa sè ®èi sè ®­îc göi tíi lÖnh qua vÞ trÝ cña biÕn.

$$ Chøa process ID cña process hiÖn thêi.

$? Cã chøa tr¹ng th¸i cña lÖnh cuèi cïng. Mang gi¸ trÞ 0 nÕu lÖnh thùc hiÖn
thµnh c«ng,

kh¸c kh«ng nÕu cã lçi xuÊt hiÖn.

$* Cã chøa tÊt c¶ positional argument ®­îc göi tíi ch­¬ng tr×nh.

VÝ dô: cã mét script file nh­ sau:

# restoreany

cd $WORKDIR

cpio -i $* </dev/rmt0

$ restoreany file1 file2 file3

C¸c file file1 file2 file3 sÏ ®­îc restore tõ thiÕt bÞ l­u tr÷

LÖnh shift: Dïng ®Ó dÞch biÕn vÞ trÝ

VÝ dô:

$1 = -r $2 = file1 $3 = file2

shift

42
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

KÕt qu¶ lµ:

$1 = file1 $2 = file2

BiÕn m«i tr­êng

Lµ c¸c biÕn mµ shell hoÆc bÊt kú mét ch­¬ng tr×nh nµo cã thÓ lÊy vµ truy nhËp nã.
Cã mét sè biÕn m«i tr­êng ngÇm ®Þnh trong shell nh­ HOME, MAIL, PATH, PS1,
PS2 ...

2. LËp tr×nh shell

Trong Shell c¸c biÕn th«ng th­êng ®­îc l­u d­íi d¹ng character ®Ó thùc hiÖn c¸c
tÝnh to¸n to¸n häc phaØ dïng lÖnh expr.

expr <integer operator integer>

C¸c to¸n tö lµ (+), (-), (*), (/).

C¸c phÐp to¸n tr¶ vÒ phÇn nguyªn.

VÝ dô:

$ expr 5 + 7 / 3

Null command ®¹i diÖn bëi dÊu (:)

§Ó lÊy d÷ liÖu trùc tiÕp tõ ng­êi sö dông dïng lÖnh read

$ read var1 var2 var3

Hello my friend

$echo $var1 $var2 $var3

Hello my friend

a) LÖnh ®iÒu kiÖn

LÖnh true vµ false: True lu«n tr¶ gi¸ trÞ 0, false lu«n tr¶ gi¸ trÞ 1

43
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

LÖnh test: KiÓm tra ®iÒu kiÖn xem ®óng hay sai

test condition

Testing Character Data

str1 = str2 §óng nÕu str1 gièng hÖt str2 (vÒ ®é dµi vµ ký tù)

str1 != str2 §óng nÕu str1 kh¸c str2

-n str1 §óng nÕu chiÒu dµi str1 lín h¬n 0 (is not null)

-z str1 §óng nÕu str1 lµ null (chiÒu dµi =0)

str1 §óng nÕu str1 kh¸c null

Testing Numeric Data

int1 -eq int2 §óng nÕu int1 b»ng int2

int1 -ne int2 §óng nÕu int1 kh¸c int2

int1 -gt int2 §óng nÕu int1 lín h¬n int2

int1 -ge int2 §óng nÕu int1 lín h¬n hoÆc b»ng int2

int1 -lt int2 §óng nÕu int1 nhá h¬n int2

int1 -le int2 §óng nÕu int1 nhá h¬n hoÆc b»ng int2

Testing for Files

-r filenm §óng nÕu user cã quyÒn ®äc filenm

-w filenm §óng nÕu user cã quyÒn ghi trªn filenm

-x filenm §óng nÕu user cã quyÒn thùc hiÖn filenm

-f filenm §óng nÕu filenm lµ regular file

-d filenm §óng nÕu filenm lµ th­ môc

-c filenm §óng nÕu filenm lµ character special file

-b filenm §óng nÕu filenm lµ block special file

44
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

-s filenm §óng nÕu kÝch th­íc filenm kh¸c 0

-t fnumb §óng nÕu fnumb (1 by default) lµ terminal device

Shorthand Method of Doing Tests

Bëi v× lÖnh test lµ mét trong nh÷ng lÖnh quan träng bËc nhÊt trong shell ®Ó cho shell
gÇn víi c¸c ng«n ng÷ lËp trinhf kh¸c ng­êi ta ®∙ thay test b»ng bao ®ãng ([]).

VÝ dô:

$ int1=4

$ [ $int1 -gt 2 ]

$ echo $?

if-then
if command_1
then
command_2
command_3
fi

NÕu command_1 Thùc hiÖn thµnh c«ng th× command_2, command_3 míi ®­îc thùc
hiÖn tiÕp theo.

if-then -else
if command_1
then
command_2
command_3
else
command_4

45
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

command_5
fi

if -then-elif
if command
then
command
elif command
then
command
elif command
then
command
fi
LÖnh case
case value in
pattern1)
command
command;;
pattern2)
command
command;;
...
patternn)
command;
esac
LÖnh case chØ thùc hiÖn mét lÖnh t¹i mét thêi ®iÓm nÕu gi¸ trÞ phï hîp víi pattern,
C¸c lÖnh tiÕp sau ®ã sÏ ®­îc thùc hiÖn cho ®Õn khi gÆp (;;).

b) LÖnh lÆp

46
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

LÖnh while : Thùc hiÖn khi ®iÒu kiÖn cßn ®óng


while command
do
command
...
command
done
LÖnh until Thùc hiÖn cho ®Õn chi ®iÒu kiÖn ®óng
until command
do
command
...
command
done
LÖnh for: Thùc hiÖn lÇn l­ît øng c¸c gi¸ trÞ trong arg

for variable in arg1 arg2 ... argn

do

command

...

command

done

LÖnh break: Cho phÐp tho¸t khái vßng lÆp.

c) Shell Functions

funcname ()
{
command
... _

47
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

command;
}

d) LÖnh trap

Trong qu¸ tr×nh thùc hiÖn c¸c shell script cã thÓ t¹o ra nhiÒu c¸c file t¹m dïng trong
qu¸ tr×nh thao t¸c d÷ liÖu. Tuy nhiªn trong qu¸ tr×nh ch¹y kh«ng tr¸nh khái c¸c sù
cè, hoÆc c¸c thao t¸c tõ phÝa ng­êi sö dông nh»m ngõng thùc hiÖn tiÕn tr×nh gi÷a
chõng. §Ó cã thÓ thùc hiÖn viÖc xo¸ c¸c file t¹m nµy hoÆc thùc hiÖn c¸c thao t¸c nµo
®ã khi tiÕn tr×nh bÞ ngõng thùc hiÖn dïng lÖnh trap.

trap command_string signals

Signal Description

0 Shell exit

1 Hangup

2 Operator Interrupt

3 Quit

9 Kill

15 Software Termination (kill signal)

VÝ dô:

trap "rm $TEMPDIR/*$$; exit" 1 2 15

e) Thùc hiÖn lÖnh ®iÒu kiÖn víi cÊu tróc AND(&&) vµ OR (||)

Th«ng th­êng ®Ó thùc hiÖn c¸c lÖnh theo ®iÒu kiÖn ta cã thÓ sö dông c¸c lÖnh trong
lËp tr×nh shell ®Ó thùc hiÖn. Tuy nhiªn Shell cung cÊp tæ hîp lÖnh thùc hiÖn ®iÒu
kiÖn lµ && vµ ||.

command1&&command2

Trong tæ hîp lÖnh nµy th× lÖnh ®Çu tiªn ®­îc thùc hiÖn tr­íc nÕu qu¸ tr×nh thùc hiÖn
kÕt thóc hoµn thµnh (tr¶ gi¸ trÞ 0) th× lÖnh tiÕp sau ®ã míi ®­îc thùc hiÖn. Tæ hîp tr¶

48
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

gi¸ trÞ ®óng (0) khi c¸c lÖnh ®Òu tr¶ gi¸ trÞ ®óng (0)

command1||command2

Trong tæ hîp lÖnh nµy th× lÖnh ®Çu ®­îc thùc hiÖn tr­íc vµ nÕu nã kÕt thóc cã lçi
(kh¸c 0) th× lÖnh tiÕp sau ®ã míi ®­îc thùc hiÖn. Tæ hîp tr¶ gi¸ trÞ sai khi tÊt c¶ c¸c
lÖnh ®Òu tr¶ gi¸ trÞ sai (kh¸c 0)

Debugging Shell Programs

§Ó lÇn b­íc theo c¸c lÖnh trong ch­êng tr×nh shell dïng lÖnh.

sh -x <shell file>

LÖnh sÏ thùc hiÖn tõng lÖnh trong file vµ hiÖn nã lªn mµn h×nh.

V. Starting Up and Shutting Down

1. Booting the System

Tr­íc khi b¹n cã thÓ sö dông m¸y tÝnh cña b¹n, ph¶i khëi ®éng hÖ ®iÒu hµnh. Qu¸
tr×nh khëi ®éng hÖ ®iÒu hµnh ®­îc gäi lµ booting. Khi hÖ thèng ®∙ ®­îc khëi ®éng
th× c¸c device, application, vµ service trªn m¸y tÝnh ®∙ s½n sµng cho viÖc sö dông.

Bëi v× UNIX lµ mét hÖ ®iÒu hµnh ®a nhiÖm vµ ®a ng­êi sö dông, nªn nhiÒu tiÕn
tr×nh ®­îc gäi thùc hiÖn ngay ban ®Çu. §Çu tiªn UNIX ch¹y phÇn khëi ®éng hÖ
thèng ®Ó ®Æt ®ång hå, cÊu h×nh thiÕt bÞ vµ t¹o UNIX kernel míi (nÕu cÇn thiÕt). Sau
®ã hÖ thèng b¾t ®Çu ch¹y c¸c tiÕn tr×nh t­¬ng øng víi c¸c trang th¸i khëi ®éng riªng
biÖt ®­îc ph©n ra trªn hÖ thèng.

Trong hÇu hÕt c¸c hÖ ®iÒu hµnh Unix viÖc khêi ®éng hÖ thèng th­êng theo c¸c tr×nh
tù sau:

ü X¸c ®Þnh thiÕt bÞ boot.

ü N¹p kernel tõ thiÕt bÞ boot.

ü T×m vµ khëi ®éng c¸c thiÕt bÞ ngo¹i vi.

ü Khëi t¹o c¸c t¸c vô hÖ thèng c¬ b¶n.

49
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

ü Ch¹y c¸c script mµ c¸c ch­¬ng tr×nh t¹o ra ®Ó cung cÊp c¸c dÞc vô.

ü B¾t ®Çu c¸c øng dông kh¸c.

Th«ng th­êng hÖ thèng ch¹y ngÇm ®Þnh lµ ë tr¹ng th¸i 3. Tr¹ng th¸i nµy s½n sµng
cho nhiÒu ng­êi sö dông trong m«i tr­êng m¹ng (Bao gåm c¶ file sharing). §iÒu
nµy cã nghÜa lµ tÊt c¶ c¸c hÖ thèng file ®­îc liªn kÕt (mounted) trªn hÖ thèng c¸c
tiÕn tr×nh nÒn (daemon) ®­îc b¾t ®Çu cho phÐp ng­êi sö dông login, vµ qu¸ tr×nh
®iÒu khiÓn vµo ra cña m¹ng còng ®­îc b¾t ®Çu.

Ta cã thÓ thùc hiÖn c¸c møc ho¹t ®éng kh¸c nhau vµ c¸c møc truy nhËp kh¸c nhau
b»ng c¸c ®Æt tr¹ng th¸i boot hoÆc b»ng c¸c thay ®æi tr¹ng th¸i trong khi hÖ thèng
®ang ch¹y. Tr¹ng th¸i 3 lµ full network/multiuser, tr¹ng th¸i 1 vµ 2 lµ single-
user/limited access.

Khi ta khëi ®éng m¸y t×nh mµ cµi hÖ ®iÒu hµnh UNIX, PhÇn khëi ®éng ban ®Çu
®­îc qu¶n lý bëi mét tiÕn tr×nh gäi lµ init. Init xö lý c¸c tiÕn tr×nh trong c¸ch thøc
trªn c¬ së tr¹ng th¸i ®Þnh nghÜa trong file /etc/inittab.

TiÕn tr×nh init khiÓm tra vµ khëi ®éng c¸c tiÕn tr×nh trong file /etc/inittab. C¸c tiÕn
tr×nh ®­îc coi nh­ sysinit processe. Sysinit processes lµ c¸c tiÕn tr×nh ®¶m b¶o cho
hÖ thèng ho¹t ®éng mét c¸ch ®ïng ®¾n, chÝnh x¸c.

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

50
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

Chi tiÕt c¸c lÖnh nh­ sau:

ü ckroot — §äc c¸c tham sè cña mount cho root file system trong file
/etc/vfstab. C¸c tham sè bao gåm c¸c kiÓu file hÖ thèng, ®iÒu nµy lµ cÇn thiÕt
t¹o root file system s½n sµng cho hÖ thèng. Ckroot còng thùc hiÖn viÖc kiÓm
tra hÖ thèng file (víi lÖnh fsck) nÕu nh­ nã x¸c ®Þnh ®­îc lµ cã vÊn ®Ò trong
hÖ thèng file. VÝ dô nh­: NÕu ta t¾t m¸y mµ kh«ng thùc hiÖn shutdown, hÖ
thèng ®­a ra th«ng b¸o kiÓm tra hÖ thèng khi nã thùc hiÖn viÖc gi¶i quyÕt c¸c
sù cè mµ nã t×m thÊy.

ü setclk— §Æt ®ång hå cho hÖ thèng UNIX.

ü idmodreg— N¹p danh s¸ch c¸c kernel modules trong file /etc/mod_register.

ü idmodload—N¹p danh s¸ch c¸c kernel modules trong file /etc/loadmods.

ü autopush—CÊu h×nh mét danh s¸ch c¸c modules ®­îc tù ®éng ®Èy vµo c¸c
Streams device khi c¸c device ®­îc më. Danh s¸ch c¸c modules trong file
/etc/ap/chan.ap ®­îc ®Èy trªn ®Ønh cña console monitor device ®Ó cung cÊp
c¸c th«ng tin theo c¸c dßng víi kiÓu quy ®Þnh.

ü bcheckrc—Khëi ®éng mét vµi t¸c vô bao gåm ®Æt tªn hÖ thèng mounting
/proc (processes) vµ /dev/fd (floppy disk) devices, thùc hiÖn kiÓm tra vµ liªn
kÕt c¸c thiÕt bÞ thªm vµo cã liªn quan ®Õn floppy disks.

ü idrebuild—KiÓm tra xem kernel cã ph¶i rebuilt hay kh«ng nÕu cã th× ch¹y
lÖnh idbuild ®Ó t¹o l¹i nã. Kernel cÇn ph¶i ®­îc t¹o l¹i mçi khi thªm vµo thiÕt
bÞ míi hoÆc khi thay®æi c¸c tham sè.

ü creatiadb—ThiÕt lËp hÖ thèng b¶o mËt.

Khi mµ chøc n¨ng khëi ®éng hÖ thèng ®­îc thiÕt lËp, init kiÓm tra c¸c môc khëi
®éng ngÇm ®Þnh trong inittab ®Ó x¸c ®Þnh møc ch¹y mµ hÖ thèng.

Kh¸i niÖm System States

Trong Unix ng­êi qu¶n trÞ hÖ thèng cã thÓ thiÕt lËp hÖ thèng m¸y tÝnh lín trong
single-user mode, mµ kh«ng cã phÇn m¹ng hoÆc terminals login. Trong tr­êng hîp

51
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

nµy ng­êi qu¶n trÞ cã thÓ kiÓm tra xem xÐt hÖ thèng tr­íc khi cã yªu cÇu kh¸c vÝ dô
nh­ cµi ®Æt l¹i hÖ thèng. HÖ thèng gåm c¸c level sau:

ü 0 - Lµ møc shutdown. Khi thay ®æi sang møc 0 th× tÊt c¶ c¸c tiÕn tr×nh ®Òu bÞ
ngõng ho¹t ®éng.

ü 1 (s or S)—øng víi møc single-user. Cã 3 tr¹ng th¸i cã thÓ thay ®æi tíi single-
user lµ: 1, s, vµ S. Ta ®Æt hÖ thèng trong møc single-user nÕu ta muèn kh«ng
cho c¸c ng­êi sö dông kh¸c truy nhËp hÖ thèng. §iÓm kh¸c gi÷a møc 1, s, vµ
S lµ: 1—TÊt c¶ c¸c hÖ thèng file vÉn ®­îc mount, tÊt c¶ c¸c kÕt nèi m¹ng bÞ
ng¾t bá, tÊt c¶ c¸c tiÕn tr×nh terminal ®Òu bÞ ng¾t bá. Møc s hoÆc S—§©y lµ
møc b¾t ®Çu hÖ thèng NÕu kh«ng cã file /etc/inittab. NÕu thay ®æi ®Õn tr¹ng
th¸i nµy, terminal cña ng­êi sö dông sÏ lµ system console, c¸c terminal ®Òu
bÞ ng¾t bá vµ c¸c hÖ thèng file vÉn ®­îc mount. Khi hÖ thèng chuyÓn sang
møc nµy chØ cã mét sè c¸c c¸c hÖ thèng file ®­îc mount vÝ dô: /, /var, /proc...

ü 2—Lµ møc nhiÒu ng­êi sö dông. Møc nµy khëi ®éng tÊt c¶ c¸c script trong
th­ môc /etc/rc2.d, gåm nhiÒu tiÕn tr×nh cho phÐp nhiÒu ng­êi sö dông. NÕu
muèn sö dông hÖ thèng víi hiÖu lùc m¹ng vµ m«i tr­êng nhiÒu ng­êi sö
dông th× ph¶i ch¹y ë møc 2 (hoÆc 3).

ü 3—Lµ møc cho phÐp chia sÎ d÷ liÖu víi c¸c hÖ thèng ë xa. NÕu cµi ®Æt NFS
HÖ thèng tù ®éng th«ng b¸o vµ mount c¸ hÖ thèng file ë xa b»ng NFS..

ü 6—Lµ møc khëi ®éng l¹i hÖ thèng. khi thay ®æi sang møc 6 hÖ thèng
shutdown vµ khëi ®éng l¹i.

ü Ngoµi ra cßn mét sè møc khëi ®éng kh¸c tuú theo lo¹ hÖ ®iÒu hµnh Unix mµ
cã c¸c hç trî víi môc ®ivchs kh¸c nhau.

HÖ thèng cã thÓ ®Æt ë c¸c møc 1, s, S, 2, hoÆc 3 lµm møc ngÇm ®Þnh ®Ó ch¹y. Th«ng
th­êng lµ møc 2 hoÆc 3 trªn c¸c hÖ thèng Unix. §Ó thay ®æi tr¹ng th¸i cña hÖ thèng
sö dông lÖnh init (hoÆc telinit).

Initialization Table (inittab)

52
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

File /etc/inittab cã chøa c¸c tiÕn tr×nh mµ ®­îc khëi ®éng khi init thùc hiÖn khëi
®éng hÖ thèng hoÆc khi thay ®æi tr¹ng th¸i. Mét sè thµnh phÇn trong inittab lµ ch¹y
d­íi chÕ ®é nÒn mét sè kh¸c nh­ /etc/rc2, ®­îc sö dông ®Ó thiÕt lËp c¸c tiÕn tr×nh
kh¸c cho møc ch¹y riªng.

Mçi mét thµnh phÇn trong file inittab bao gåm c¸c tr­êng sau:

idtag:runstate:action:process

ü Idtag lµ mét thÎ nµo ®ã ( tõ 1–4 ký tù) x¸c ®Þnh mét môc. Runstate lµ tr¹ng
th¸i hÖ thèng mµ thµnh phÇn sÏ ch¹y trong nã. Ta cã thÓ cã mét vµi tr¹ng th¸i
hÖ thèng g¸n cho mét thµnh phÇn.

ü Action lµ tõ kho¸ t­¬ng øng víi mét trong c¸c : respawn (NÕu tiÕn tr×nh bÞ
mÊt th× tù b¾t ®Çu l¹i), wait (§îi tiÕn tr×nh kÕt thóc tr­íc khi thùc hiÖn tiÕp
thµnh phÇn bªn d­íi, once (Ch¹y mét tiÕn tr×nh, ®îi cho nã kÕt thóc vµ kh«ng
khëi t¹o l¹i), boot (Ch¹y tiÕn tr×nh lÇn ®Çu chuyÓn sang tr¹ng th¸i nhiÒu
ng­êi sö dông vµ kh«ng ®îi tiÕn tr×nh kÕt thóc), bootwait (ch¹y tiÕn tr×nh lÇn
®Çu, chuyÓn sang tr¹ng th¸i nhiÒu ng­êi sö dông, ®îi cho tiÕn tr×nh kÕt thóc,
vµ sysinit (ch¹y tiÕn tr×nh khi hÖ thèng b¾t ®Çu).

ü Process lµ lÖnh thùc sù ch¹y khi c¸c tiªu chuÈn tr­íc ®ã lµ runstate vµ action
®­îc ®¸p øng.

VÝ dô:

co:12345:respawn:ttymon g v p "Console Login: " d \

[cc]/dev/console l console

Môc nµy lµ co, ch¹y ë møc 1, 2, 3, 4, vµ 5. NÕu tiÕn tr×nh bÞ mÊt ®i th× nã tù ®éng
khëi ®éng l¹i. TiÕn tr×nh nµy ch¹y lÖnh ttymon(terminal monitor), mµ cho phÐp ta
thùc hiÖn viÖc login tõ system console.

Run State Directories (rc?.d)

C¸c øng dông mµ cÇn cã c¸c tiÕn tr×nh ch¹y chÕ ®é nÒn hoÆc yªu cÇu mét vµi thµnh
phÇn ®­îc khëi ®éng khi hÖ thèng b¾t ®Çu ho¹t ®éng, th«ng th­êng cã c¸c script

53
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

trong th­ môc x¸c ®Þnh tr¹ng th¸i ch¹y cña hÖ thèng. Gåm c¸c th­ môc sau:

ü /etc/rc0.d—cã chøa c¸c quan hÖ script khëi ®éng ban ®Çu víi tr¹ng th¸i
shutdown (0) vµ reboot (5 vµ 6).

ü /etc/rc1.d— cã chøa c¸c quan hÖ script khëi ®éng ban ®Çu víi tr¹ng th¸i
single-user (1, s, vµ S).

ü /etc/rc2.d— cã chøa c¸c quan hÖ script khëi ®éng ban ®Çu víi tr¹ng th¸i
multiuser (2 vµ 3).

ü /etc/rc3.d— cã chøa c¸c quan hÖ script khëi ®éng ban ®Çu víi tr¹ng th¸i file-
sharing (3).

ü /etc/shutdown—T­¬ng thÝch víi c¸c hÖ preSystem V, Release 3 gåm c¸c script


®­îc gäi ch¹y khi hÖ thèng shutdown. Th«ng th­êng th­ môc nµy lµ rçng
ngo¹i trõ c¸c script mµ ta thªm vµo.

ü /etc/rc.d—T­¬ng thÝch víi c¸c hÖ preSystem V, Release 3 gåm c¸c script ch¹y
khi hÖ thèng khë ®éng. Th«ng th­êng th­ môc nµy lµ rçng ngo¹i trõ c¸c
script mµ ta thªm vµo.

ü /etc/init.d—Thùc hiÖn nh­ lµ n¬i chøa c¸c startup script. C¸c Script kh«ng thùc
sù ch¹y tõ th­ môc nµy, nh­ng nã liªn kÕt víi c¸c th­ môc rc?.d t­¬ng øng.

Startup Scripts

Startup script lµ lÖnh ch¹y khi khëi ®éng hÖ thèng, shutdown hÖ thèng hoÆc khi thay
®æi tr¹ng th¸i hÖ thèng. NÕu thùc hiÖn xem néi dung c¸c file nµy b»ng lÖnh cat hoÆc
pg ta sÏ nh×n thÊy hµng lo¹t c¸c lÖnh shell víi c¸c tuú chän start hoÆc stop.

Khi øng dông thªm vµo mét startup script. th× nã thªm script vµo th­ môc /etc/init.d.
sau ®ã thùc hiÖn link nã tíi mét hoÆc nhiÒu th­ môc víi tªn file b¾t ®Çu b»ng S (for
start) hoÆc K (for kill).

Ta h∙y xem xÐt vÝ dô vÒ mouse manager:

Khi cµi ®Æt UnixWare, mét shell script cho viÖc khëi ®éng vµ kÕt thóc tiÕn tr×nh
qu¶n lý mouse trªn øng dông giao diÖn ®å ho¹ lµ file /etc/init.d/mse, ®­îc link thµnh

54
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

hai file kh¸c lµ /etc/rc2.d/S02mse vµ /etc/rc0.d/K02mse.

C¸c lÖnh 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 khëi ®éng hÖ thèng tiÕn tr×nh init kiÓm tra file /etc/inittab t×m c¸c môc mµ phï
hîp víi tr¹ng th¸i ch¹y ngÇm ®Þnh, th«ng th­êng lµ tr¹ng th¸i 3. Thùc hiÖn viÖc t×m
r2, ch¹y lÖnh trong /sbin/rc2 vµ kiÓm tra tÊt c¶ c¸c script trong th­ môc /etc/rc2.d.
Sau ®ã ch¹y c¸c file b¾t ®Çu b»ng K víi tuú chän stop vµ b¾t ®Çu ch¹y c¸c script mµ
b¾t ®Çu b»ng ch÷ S víi tuú chän start. Trong vÝ dô trªn th× lÖnh ch¹y S02mse lµ:
S02mse start. øng víi tuú chän start lµ lÖnh /usr/lib/mousemgr ®­îc thùc hiÖn vµ
tiÕn tr×nh tiÕp tôc ch¹y cho ®Õn khi cã thay ®æi l¹i tr¹ng th¸i hÖ thèng.

55
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

Khi shutdown hÖ thèng tiÕn tr×nh init ch¹y tiÕn tr×nh tr¹ng th¸i 0, c¸ch thøc gièng
nh­ trªn. Nh­ng môc ch¹y lµ r0, ch¹y lÖnh /etc/rc0, thùc hiÖn kiÓm tra trong th­
môc /etc/rc0.d. TÊt c¶ c¸c script b¾t ®Çu b»ng ch÷ K ®­îc gäi thùc hiÖn víi tuú chän
stop. Víi script K02mse ®­îc gäi ch¹y nh­ sau: K02mse stop. øng víi tuú chän stop
th× script ch¹y lÖnh x¸ ®Þnh ID cña tiÕn tr×nh mousemgr vµ huû bá nã, t­¬ng tù víi
tiÕn tr×nh kh¸c vµ sau khi thùc hiÖn hoµn tÊt th× hÖ thèng cã thÓ shutdown.

Thay ®æi tr¹ng th¸i víi init hoÆc telinit

Khi hÖ thèng ®ang ch¹y ta cã thÓ thay ®æi tr¹ng th¸i hoÆc møc ho¹t ®éng cña hÖ
thèng b»ng lÖnh init hoÆc telinit. NÕu ta ®ang shutdown hÖ thèng hoÆc chuyÓn sang
tr¹ng th¸i thÊp h¬n cã thÓ sö dông lÖnh shutdown.

LÖnh init cho phÐp thay ®æi tr¹ng th¸i mét c¸ch dÔ dµng b»ng c¸ch gâ lÖnh init vµ
theo sau lµ sè chØ tr¹ng th¸i vÝ dô: init 2

LÖnh telinit lµ link cña init. LÖnh telinit ®­îc t¹o ra cho ng­êi sö dông.

2. Shutting Down the System

Cã vµi c¸ch ®Ó shutdown hÖ thèng Unix: B»ng c¸ch sö dông lÖnh Shutdown, reboot,
b»ng lÖnh trong giao diÖn ®ã ho¹, b»ng c¸ch t¾t m¸y ...

Using the shutdown Command

LÖnh shutdown cã thÓ ®­îc sö dông thay cho lÖnh init ®Ó chuyÓn tr¹ng th¸i sang (0)
vµ tr¹ng th¸i reboot (6). LÖnh cã thÓ lµ phøc t¹p trong m«i tr­êng nhiÒu ng­êi sö
dông. NÕu dïng lÖnh init 0 hÖ thèng bÞ down ngay. NÕu muèn ng­êi sö dông ph¶i
logout ra hÕt tr­íc khi hÖ thèng down cã thÓ dïng lÖnh:

# cd /

# shutdown y g60 i0

Tuú chän y cho phÐp bá qua c¸c c©u hái yªu cÇu g60 trong vßng 60 gi©y ng­êi sö
dông ph¶i logout tr­íc khi hÖ thèng down. i0 g¸n víi tr¹ng th¸i lÖnh init 0.

Khi ch¹y lÖnh nµy th× tÊt c¶ ng­êi sö dông trªn m¹ng sÏ ®­îc th«ng b¸o ph¶i logout

56
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

hÖ thèng s¾p shutdown vµ dµnh kho¶ng thêi gian cho ng­êi sö dông hoµn thµnh
c«ng viÖc cuèi cïng tr­íc khi hÖ thèng down.

VI.Managing processes

1. Processes

Sau khi hÖ thèng hoµn thµnh viÖc khëi ®éng hÖ thèng ta cã thÓ thùc hiÖn ch¹y c¸c
øng dông. Mét øng dông ®ang thùc thi gäi lµ mét process. C«ng viÖc cña hÖ ®iÒu
hµnh lµ qu¶n lý thùc thi øng dông. Khi thùc thi mét ch­¬ng tr×nh th× hÖ ®iÒu hµnh sÏ
t¹o ra mét process míi. NhiÒu process cã thÓ cïng ®ång thêi tån t¹i, nh­ng chØ mét
process cã thÓ ®­îc thùc hiÖn thùc sù trªn CPU t¹i mét thêi ®iÓm. HÖ ®iÒu hµnh
ph©n chia viÖc thùc thi c¸c process mét c¸c rÊt nhanh lµm cho c¸c process nh­ ®ang
thùc hiÖn ®ång thêi. Kh¸i niÖm nµy xem nh­ lµ sù ph©n chia thêi gian xö lý hoÆc ®a
nhiÖm.

Khi tho¸t khái ch­¬ng tr×nh th× process sÏ kÕt thóc vµ hÖ ®iÒu hµnh sÏ gi¶i phãng
c¸c tµi nguyªn mµ ch­¬ng tr×nh ®∙ sö dông.

HÇu hÕt c¸c ch­¬ng tr×nh ®Òu thùc hiÖn mét vµi nhiÖm vô tõ lóc khëi ®Çu cho ®Õn
lóc kÕt thóc cho nªn ®Ó thùc thi c¸c t¸c vô ch­¬ng tr×nh yªu cÇu hÖ ®iÒu hµnh cung
cÊp c¸c tµi nguyªn cÇn thiÕt cho viÖc thùc thi.

Cã mét vµi lo¹i process cã trong c¸c hÖ ®iÒu hµnh Unix. Mçi lo¹i cã c¸c ®Æc ®iÓm
riªng gåm: Interactive process lµ process ®­îc khëi ®éng bëi shell nã cã thÓ lµ
foreground hoÆc background. Batch process lµ process mµ kh«ng t­¬ng øng víi
terminal. Daemon process lµ process mµ ch¹y background khi ®­îc yªu cÇu. Lo¹i
nµy th­êng thùc hiÖn khi khëi ®éng hÖ thèng.

Mét sè lÖnh liªn quan ®Õn viÖc qu¶n lý tiÕn tr×nh:kill, ps

PhÇn tham sè cña lÖnh xem trong end user.

VÝ dô:

$ ps -f

57
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

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

LÖnh ps cho phÐp ng­êi qu¶n trÞ xem xÐt c¸c th«ng tin vÒ hÖ th«ng b¸o gåm c¸c
th«ng sè sau:

F ChØ ra tr¹ng th¸i cña process vµ ®­îc tÝnh to¸n bëi c¸c gi¸ trÞ hexadecimal
gåm:

00 Process ®∙ kÕt thóc.

01 Lµ system process lu«n tån t¹i trong memory

02 Process ®ang bÞ kiÓm so¸t bëi tiÕn tr×nh cha.

04 Process ®ang bÞ kiÓm so¸t bëi tiÕn tr×nh cha vµ nã ®∙ bÞ dõng.

08 Process kh«ng thÓ ®­îc kÝch ho¹t bëi c¸c signal

10 Process ®ang trong bé nhí vµ bÞ lock ®ang ®îi event

20 Process kh«ng thÓ bÞ swapped

S Còng dïng chØ tr¹ng th¸i cña process:

O Process ®ang ch¹y trªn processor.

S Process ®ang sleeping, vµ ®ang ®îi I/O event ®Ó hoµn thµnh.

R Process ®ang s½n sµng ch¹y.

I Process kh«ng lµm g×.

Z Process ®∙ bÞ kÕt thóc vµ tiÕn tr×nh cha kh«ng ®îi nh­ng nã vÉn ®ang
trong process table (zombie process)

T Process ®∙ bÞ ngõng bëi tiÕn tr×nh cha.

X Process ®ang ®îi ®Ó lÊy thªm bé nhí.

UID User ID cña ng­êi chñ process

58
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

PID Process ID number

PPID Parent process ID number

C Sö dông CPU theo thêi gian biÓu.

CLS Líp thêi gian biÓu, real-time, time sharing, hoÆc system

PRI Møc ­u tiªn Process (sè cµng lín ®é ­u tiªn cµng nhá).

NI Møc ®é ­u tiªn vÒ chiÕm dông thêi gian xö lý CPU. T¨ng gi¸ trÞ -> gi¶m ®é
­u tiªn.

SZ Tæng virtual memory yªu cÇu bëi process.

Wchan §Þa chØ cña process trong process table.

TTY Terminal khëi ®éng process, hoÆc cha nã. (A ? chØ ra kh«ng cã terminal tån
t¹i.)

TIME Tæng thêi gian process sö dông CPU tõ khi process b¾t ®Çu.

COMD LÖnh t¹o ra process

2. Process scheduling

Th«ng th­êng c¸c hÖ thèng lín hoÆc cÇn cung cÊp d÷ liÖu th­êng xuyªn hÖ thèng
lu«n ®­îc ch¹y 24/24. UNIX ®­a ra mét sè lÖnh cho phÐp thùc hiÖn c¸c process
theo thêi gian ®Þnh s½n.

LÖnh at: LÖnh at ®­îc sö dông ®Ó ®Ó ®Æt schedule cho mét lÖnh thùc hiÖn trong
thêi gian qui ®Þnh.

at time date < file

ViÖc ®Æt lÞch theo kho¶ng thêi gian nµo ®ã tuú theo ng­êi ®Æt qui ®Þnh. Cã thÓ lµ
hh:mm, cã thÓ hh:mm(pm,am). Cã mét sè tõ vÒ thêi gian dïng lµm option lµ noon,
midnight, now, next. Cã thÓ ®Æt ngµy, th¸ng thùc hiÖn May 10 hoÆc day of the
week .

VÝ dô:

59
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

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

Dïng lÖnh at -l ®Ó hiÖn danh s¸ch c¸c c¸c 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

Dïng lÖnh at –r <job> ®Ó bá mét schedule.

VÝ dô:

at -r 2892732.a

LÖnh cron vµ crontab: cron lµ mét tiÖn Ých cho phÐp thùc hiÖn c¸c lÖnh t¹i mét thêi
®iÓm chØ ®Þnh mµ kh«ng cÇn mét ai trùc tiÕp khëi ®éng nã. HÖ thèng UNIX tù ®éng
load cron nh­ lµ mét daemon khi nã khëi ®éng. Khi ho¹t ®éng cron ®äc thêi gian vµ
c«ng viÖc mµ nã ®­îc ®Þnh thùc hiÖn trong crontab file. ViÖc thùc hiÖn c¸c t¸c vô
®Æt trong crontab file lµ lu«n lu«n ®­îc thùc hiÖn nã chØ ngõng thùc hiÖn khi kÕt
thóc tiÖn Ých cron hoÆc khi thay ®æi th«ng tin trong crontab file.

Trªn hÇu hÕt c¸c hÖ thèng viÖc truy nhËp vµ t¹o c¸c schedule chØ ®­îc thùc hiÖn bëi
ng­êi qu¶n trÞ hÖ thèng.

Ngµy nay mét sè hÖ ®iÒu hµnh UNIX cßn cho phÐp ng­êi sö dông tù t¹o c¸c crontab
cña riªng hä.

§Ó t¹o crontab file sö dông lÖnh crontab víi tham sè -l. Nã sÏ t¹o ra mét crontab
file cho phÐp t¹o c¸c t¸c vô mong muèn.

60
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

$ crontab -l > new_crontab_file

$ vi new_crontab_file

[edit the file to update your crontab]

$ crontab new_crontab_file

Mét crontab file ®­îc thÓ hiÖn d­íi khu«n d¹ng sau:

<minute> <hour> <day-of-month> <month-of-year> <day-of-week> <command>

Gi¸ trÞ chÊp nhËn cña c¸c tr­êng:

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

LÖnh sÏ ®­îc thùc hiÖn vµo 5 p.m. vµo ngµy ®Çu th¸ng vµ 5 p.m. mçi ngµy chñ nhËt.

C¸c file cron tab ®­îc ®Æt trong th­ môc cron ®Ó thùc hiÖn. Th­ môc nµy cã thÓ ë
mét vÞ trÝ nµo ®ã tuú lo¹i UNIX th«ng th­êng lµ /usr/spool/cron/ hoÆc
/var/spool/cron/.

3. Process priorities

VII.Security

ViÖc truy nhËp hÖn thèng th«ng th­êng ®­îc thùc hiÖn trùc tiÕp tù system console,

61
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

qua hÖ thèng m¹ng, qua modem connection. ViÖc truy nhËp hÖ thèng UNIX ®ßi hái
ng­êi sö dông ph¶i ®­îc t¹o trªn hÖ thèng víi mËt khÈu truy nhËp vµ quyÒn truy
nhËp t­¬ng øng tíi tµi nguyªn hÖ thèng.

1. Security datafiles

§Ó x¸c ®Þnh quyÒn h¹n truy nhËp hÖ thèng, Víi c¸c hÖ thèng UNIX th«ng th­êng
c¸c th«ng tin liªn quan ®Õn nhãm vµ ng­êi sö dông truy nhËp hÖ thèng ®­îc l­u tr÷
trong c¸c file (security datafiles).

password File

File nµy dïng l­u tr÷ th«ng tin vÒ ng­êi sö dông hÖ thèng bao gåm c¸c tr­êng riªng
rÏ c¸ch nhau bëi dÊu (:), khu«n d¹ng file gåm c¸c dßng cã d¹ng nh­ sau. File ®­îc
®Æt trong th­ môc /etc:

username:pswd:uid:gid:uid comments:directory:shell

ü Tr­êng username lµ tªn user thùc hiÖn khi login t¹i dÊu nh¾c Unix login:. Th«ng
th­êng tr­êng nµy lµ gåm c¸c ký tù ch÷ th­êng nhá h¬n hoÆc b»ng 8, tªn duy
nhÊt, kh«ng ®­îc chøa dÊu (:, dÊu c¸ch, ký tù ®Æc biÖt). C¸ch tèt lµ dïng dÊu
g¹ch d­íi (_) cho dÊu nèi.

ü Tr­êng pswd lµ phÇn mËt khÈu víi c¸c khu«n d¹ng kh¸c nhau. Nã cã thÓ mang
gi¸ trÞ rçng chØ ra r»ng kh«ng yªu cÇu mËt khÈu khi login. Gi¸ trÞ cã thÓ dµi tíi
13 ký tù vµ ®­îc m∙ ho¸. C¸c ký tù ®­îc gâ vµo lµ c¸c ký tù n»m trong kho¶ng {
. / 0-9 A-Z a-z } cßn c¸c gi¸ trÞ kh¸c lµ kh«ng ®­îc chÊp nhËn. §èi víi mét sè
lo¹i cña hÖ ®iÒu hµnh UNIX th× cã thÓ ®­îc më réng h¬n hoÆc ®­îc liªn kÕt víi
mét file kh¸c (shadown).

ü Tr­êng uid lµ id cña user. Gi¸ trÞ nµy lµ duy nhÊt vµ cã gi¸ trÞ tõ 0- 65535. Mét
sè lo¹i hÖ ®iÒu hµnh cã khuyÕn nghÞ c¸ch dïng c¸c id trong ph¹m vi an toµn.
Chóng bao gåm:

0: The superuser

1-10: Daemons and pseudo users

62
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

11-99: System, reserved and "famous" users

100+: Normal users

60001: "nobody" (occasionally 32000 or 65534)

60002: "noaccess" (occasionally 32001)

ü Tr­êng gid lµ id cña nhãm ngÇm ®Þnh mµ user thuéc vµo. Gi¸ trÞ nµy t­¬ng øng
víi gi¸ trÞ cã trong /etc/group file.

ü Tr­êng uid comments field lµ tr­êng ghi chó c¸c th«ng tin thªm vµo c¸c phÇn
th«ng tin cã thÓ c¸ch nhau b»ng dÊu (,) vÝ dô: Homer User,,,800-IAM-HOME.

ü Tr­êng directory lµ th­ môc home hoÆc th­ môc lµm viÖc cña ng­êi sö dông.

ü Tr­êng shell lµ tr­êng chøa bé th«ng dÞch lÖnh hoÆc ch­¬ng tr×nh ng­êi sö dông
gäi tíi khi login. Th«ng th­êng lµ mét trong ba shell sau: sh (Bourne), ksh
(Korn), csh. NÕu kh«ng lµ c¸c shell th× nã cã thÓ lµ mét ch­¬ng tr×nh nµo ®ã

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

63
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

Shadow Password File

File /etc/passwd th«ng th­êng ng­êi sö dông cã thÓ xem ®­îc. §Ó l­u tr÷ mËt khÈu
cña ng­êi sö dông ®∙ ®­îc m∙ ho¸ vµ mét sè th«ng tin kh¸c, mét sè lo¹i UNIX sö
dông file /etc/shadow. Th«ng th­êng mét file shadow cã d¹ng sau:

username:pswd:lastchg:min:max:warn:inactive:expire:flag

ü Tr­êng username lµ tªn user lÊy tõ file /etc/passwd.

ü Tr­êng pswd cã chøa 13 ký tù m∙ ho¸ cña password, null chØ ra kh«ng cã


password khi login.

ü Tr­êng lastchg lµ ngµy mµ password thay ®æi cuèi.

ü Tr­êng min lµ ngµy nhá nhÊt gi÷a ngµy thay ®æi password.

ü Tr­êng max lµ sè ngµy lín nhÊt mµ password sÏ ®­îc chÊp nhËn.

ü Tr­êng warn cã chøa sè ngµy th«ng b¸o tr­íc khi password bÞ qu¸ h¹n.

ü Tr­êng inactive lµ tr­êng sè ngµy mµ username vÉn cßn t¸c dông tr­íc khi kh«ng
®­îc cho phÐp login.

ü Tr­êng expire chØ sè ngµy x¸c ®Þnh mµ ng­êi sö dông ®­îc quyÒn login vµo hÖ
thèng.

ü Tr­êng flag hiÖn kh«ng sö dông.

Group File

§©y lµ file liªn quan ®Õn quyÒn h¹n cña ng­êi sö dông, cña nhãm trªn hÖ thèng file
trong hÖ ®iÒu hµnh Unix. CÊu tróc file nh­ sau:

group_name:password:group_id:list

ü Tr­êng group_name chøa tªn cña group.

ü Tr­êng password lµ phÇn m∙ ho¸ cña mËt khÈu nhãm nÕu cã.

ü Tr­êng group_id lµ gi¸ trÞ ID cña group.

ü Tr­êng list lµ danh s¸ch c¸c ID cña ng­êi sö dông thþc nhãm.

64
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

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:
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 s¸ch c¸c host vµ c¸c user khi truy nhËp hÖ thèng víi c¸c
lÖnh rlogin, rcp, rsh khi truy nhËp kh«ng cÇn mËt khÈu.

CÊu tróc file nh­ sau:

host1

host2 user

+@group1

@group ®­îc l­u trong file netgroup

netgroup: Chøa c¸c group

netgroup name name ...

netgroup (hostname, user, domain)

.
.rhosts: T­¬ng tù nh­ trªn

65
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

2. Group and User administration

a) Group administration

T¹o group

Xo¸ group

b) User administration

T¹o ng­êi sö dông

Cã ba c¸ch ®Ó t¹o mät ng­êi sö dông hÖ thèng lµ:

ü So¹n file passwd, shadow vµ c¸c file t­¬ng øng b»ng tay.

ü Sö dïng lÖnh useradd.

ü Sö dông c¸c tiÖn Ých Graphical User Interface (GUI) ®­îc c¸c hÖ ®iÒu hµnh
UNIX hç trî.

Tr­íc khi t¹o mét ng­êi sö dông ta cÇn ph¶i:

ü Chän tªn ng­êi sö dông. Tªn nµy ph¶i duy nhÊt trong hÖ thèng.

ü G¸n user ID (gi¸ trÞ nµy ch­a ®­îc sö dông tr­íc ®©y) vµ Group mµ user
thuéc vµo.

ü Chän group mag user sö dông nã lµm primary group.

ü Chän th­ môc home cña ng­êi sö dông.

LÖnh Useradd : LÖnh t¹o ng­êi sö dông.

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­ môc home cña user.

66
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

ü -e Ngµy qu¸ h¹n tr­êng nµy kh«ng yªu cÇu ph¶i cã. NÕu cã th× viÖc kiÓm tra
ngµy qu¸ h¹n sÏ cã hiÖu lùc. VÝ dô: -e "January 1, 1995" hoÆc -e 1/1/95

ü -f ChØ ra sè ngµy kh«ng ho¹t ®éng tèi ®a tr­íc khi kh«ng ®­îc chÊp nhËn.
NÕu kh«ng cã tuú chän nµy th× viÖc kiÓm tra bÞ bá qua.

ü -g group—ChØ ra primary group ID cña user.

ü -G group [, group ... ]—ChØ ra group mµ user thuéc vµo. (secondary groups).
Gi¸ trÞ cã thÓ lµ tªn hoÆc group ID

ü -m [ -k skel_dir ]—NÕu kh«ng cã tham sè –k -> t¹o th­ môc home cho user
vµ copy c¸c file tõ /etc/skel. NÕu cã tham sè -k -> t¹o th­ môc home vµ copy
c¸c file tù skel_dir thay cho ë /etc/skel.

ü -u uid [ -o]—DÆt user ID. NÕu cã -o th× user ID nµy lµ kh«ng duy nhÊt. Tuy
nhiªn UNIX kh«ng khuyÕn nghÞ dïng nhiÒu user chung mét ID.

ü -s shell—ChØ login shell.

ü login—ChØ tªn ng­êi sö dông dïng ®Ó login vµo hÖ thèng.

Xo¸ ng­êi sö dông

Tr­íc khi xo¸ mét ng­êi sö dông ta cÇn quan t©m xem thùc sù muèn xo¸ ng­êi sö
dông hay chØ cÇn t¹m thêi lµm mÊt hiÖu lùc cña ng­êi sö dông. Xem xÐt c¸c lý do
sau tr­íc khi quyÕt ®Þnh.

ü NÕu user cã kh¶ n¨ng sÏ ®­îc quyÒn quay trë l¹i hÖ thèng, viÖc sö dông l¹i
d÷ liÖu sÏ khã vµ cßn tr¸nh viÖc sö dông ID ®∙ sö dông v× khi ®ã c¸c d÷ liÖu
do ng­êi bÞ lo¹i bá sÏ ®­îc g¸n l¹i cho ng­êi míi t¹o.

ü CÇn thiÕt trong tr­êng hîp håi phôc c¸c file d÷ liÖu liªn quan ®Õn ng­êi sö
dông ®∙ bÞ xo¸. NÕu d÷ liÖu håi phôc mµ cã cña user ®∙ bÞ xo¸ th× sau ®ã ta
khã x¸c ®Þnh d÷ liÖu nµy lµ cña ai -> viÖc sö dông l¹i sÏ rÊt khã kh¨n.

§Ó t¹m thêi kh«ng cho user th©m nhËp hÖ thèng dïng lÖnh passwd -l <user>

Muèn lo¹i bá hoµn toµn nh÷ng g× liªn quan ®Õn ng­êi sö dông th× tr­íc hÕt cÇn:

67
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

ü T×m c¸c file mµ ng­êi sö dông lµ chñ vµ in dah s¸ch c¸c file nµy ra. (T×m
b»ng lÖnh find).

ü Muèn sö dông l¹i c¸c file nµy h∙y g¸n chñ së h÷u míi.

ü Xo¸ toµn bé c¸c file cÇn ph¶i xo¸.

ü Xo¸ user b»ng c¸c xo¸ c¸c th«ng tin liªn quan ®Õn user trong c¸c security
file, hoÆc dïng tiÖn Ých mµ hÖ ®iÒu hµnh UNIX cung cÊp hoÆc dïng lÖnh
userdel.

LÖnh userdel: LÖnh xo¸ ng­êi sö dông.

userdel [-r] <username>

ü username Tªn user cÇn xo¸.

ü -r Xo¸ toµn bé th­ môc home cña user.

Thay ®æi th«ng tin ng­êi sö dông.

§Ó thay ®æi th«ng tin liªn quan ®Õn ng­êi sö dông dïng lÖnh.

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µ tªn user míi.

Psuedo Users

Trong mçi hÖ ®iÒu hµnh UNIX ®Òu cã chøa méy vµi psuedo user. C¸c user nµy ®­îc
hÖ thèng sö dông nh»m mét sè môc ®Ých nµo ®ã. C¸c thuéc tÝnh cña chóng kh«ng
nªn thay ®æi. Sau ®©y lµ mét sè c¸c psuedo user :

ü daemon Used by system server processes

ü bin Owns executable user command files

ü sys Owns system files

ü adm Owns accounting files

68
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

ü uucp Used by UUCP

ü lp Used by lp or lpd subsystems

ü nobody Used by NFS

ThiÕt lËp m«i tr­êng ng­êi sö dông

Khi ng­êi sö dông login vµo hÖ thèng mét sè file ®­îc gäi thùc hiÖn ®Ó x¸c lËp m«i
tr­êng lµm viÖc cho ng­êi sö dông.

/etc/profile File thiÕt lËp m«i tr­êng hÖ thèng ®­îc gäi thùc hiªn ®èi víi tÊt c¶
ng­êi sö dông login vµo hÖ thèng.

C¸c file Èn trong th­ môc home cña ng­êi sö dông.

ü .login Dïng víi Csh thùc hiÑn sau qu¸ tr×nh lËp m«i tr­êng hÖ thèng.

ü .profile Dïng Sh víi ksh Thùc hiÖn khi ng­êi sö dông login sau qu¸ tr×nh thiÕt
lËp m«i tr­êng cña hÖ thèng.

ü .rhosts Danh s¸ch Remote host/username mµ ®­îc g¸n quyÒn khi sö


dông Rlogin, rexec, rsh, rcp, truy nhËp c¸c file vµ lÖnh kh«ng cÇn mËt khÈu.

ü .mailrc Khëi ®éng file cho mail mµ cho phÐp ®Æt c¸c tuú chän hoÆc c¸c
aliases.

ü .xinitrc File khêi ®éng cho X windowing.

ü .xsession

ü .xdefault

3. System access permissions

Xem tµi liÖu end user

4. Acounting

UNIX accounting system thu thËp th«ng tin vÒ viÖc sö dông tµi nguyªn m¸y tÝnh cña
c¸c nhãm hoÆc cña ng­êi sö dông ®¬n lÎ. Ta cã thÓ sö dông th«ng tin nµy gièng nh­

69
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

c¸c b¶ng kª víi ng­êi sö dông tµi nguyªn hÖ thèng. C¸c Accounting report cung cÊp
c¸c th«ng tin gióp cho ng­êi qu¶n trÞ hÖ thèng xem xÐt tµi nguyªn hÖ thèng ®ang
®­îc sö dông, qu¶n lý tµi nguyªn, ®Æt c¸c giíi h¹n vµ h¹n møc truy nhËp tµi nguyªn
...

C¸c tiÖn Ých ®­îc cung cÊp cã thÓ ®Æt ch¹y tù ®éng hoÆc thùc hiÖn banõg tay tõ
ng­êi qu¶n trÞ hÖ thèng.

Khi hÖ ®iÒu hµnh UNIX ®­îc khëi ®éng vµ hÖ thèng accounting ®­îc khëi ®éng
ch¹y th× c¸c thao t¸c thèng kª b¾t ®Çu ho¹t ®éng. D÷ liÖu ®­îc tËp hîp theo c¸c lo¹i
sau ®©y:

ü Connect session statistics

ü Process usage

ü Disk space utilization

ü Printer usage

Connect Session Statistics

Thèng kª thêi gian b¾t ®Çu thùc hiÖn kÕt nèi tíi hÖ thèng vµ thêi gian kÕt thóc kÕt
nèi víi hÖ thèng cña mét user nµo ®ã. C¸c th«ng tin nµy th­êng ®­îc ghi trong file
/var/adm/wtmp, gåm c¸c th«ng tin sau:

ü Tªn ng­êi sö dông

ü Ngµy login/logout

ü Thêi gian login/logout

ü Terminal port

C¸c th«ng tin nµy cã thÓ ®­îc sö dông ®Ó ®­a ra c¸c lo¹i b¸o c¸o d¹ng sau:

ü Ngµy vµ giê cña mçi lÇn kÕt nèi.

ü Tªn vµ ID cña ng­êi sö dông thùc hiÖn kÕt nèi.

ü Thêi gian kÕt nèi.

70
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

ü §Þa chØ thiÕt bÞ kÕt nèi

Process Usage

System accounting hÇu nh­ thèng kª c¸c th«ng tin bëi c¸c tiÕn tr×nh ®¬n lÎ vÝ dô:

ü Sö dông bé nhí.

ü Sè User vµ group numbers ch¹y process

ü Tªn cña lÖnh gäi thùc hiÖn.

ü Thêi gian ch¹y vµ thêi gian processor sö dông bëi process

ü T¹ng th¸i vµo ra.

ü Sè d÷ liÖu ®­îc truyÒn.

ü Sè l­¬ng blocks ®äc vµ ghi trªn ®Üa cña mçi process

C¸c th«ng tin ®­îc l­u trong accounting file /var/adm/pacct. File nµy ®­îc truy nhËp
bëi c¸c lÖnh accounting. Sau khi tiÕn tr×nh kÕt thóc kernel ghi c¸c th«ng tin trªn file
/var/adm/pacct file. Th«ng tin gåm:

ü Process cña user ID

ü LÖnh thùc hiÖn khëi ®éng process

ü Thêi gian thùc hiÖn.

System accounting cung cÊp lÖnh hiÓn thÞ, b¸o c¸o, tæng kÕt c¸c th«ng tin vÒ tiÕn
tr×nh.

Disk Space Utilization

System accounting cung cÊp kh¶ n¨ng cho ng­êi qu¶n trÞ hÖ thèng ®Ó gi¸m s¸t viÖc
sö dông ®Üa cña ng­êi sö dông. §Ó h¹n chÕ viÖc sö diông ®Üa ng­êi sö dông cã thÓ
thùc hiÖn viÖc giíi h¹n viÖc sö dông. C¸c lÖnh nµy thùc c¸c chøc n¨ng sau:

ü Sö dông ®Þa bëi c¸c filesystem

ü B¸o c¸o vÒ viÖc sö dông ®Üa cña ng­êi sö dông.

ü Tr¹ng th¸i ®Üa vµ sù sö dông ®Üa cña c¸c lÖnh system accounting.

71
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

Printer Usage

Printer usage data ®­îc l­u trong file /var/adm/qacct d­íi d¹ng ASCII. TiÕn tr×nh
qdaemon sÏ ghi d÷ liÖu d¹ng ASCII tíi file /var/adm/qacct sau khi c«ng viÖc in Ên
hoµn tÊt. C¸c b¶n ghi øng víi mçi printer queue cã chøa c¸c th«ng tin sau:

ü Tªn vµ ID cña ng­êi sö dông.

ü Sè trang ®∙ in.

VIII.File System and Disk Administration

1. CÊu tróc th­ môc trªn Unix

ü / - Th­ môc gèc trªn UNIX file system.

ü /bin - Lµ symbol link tíi /usr/bin chøa c¸c lÖnh user trªn UNIX.

ü /dev - Cã chøa c¸c file thiÕt bÞ nh­ printer, keyboard, harddisk ...

ü /etc - Chøa c¸c file cÊu h×nh hÖ thèng vµ c¸c file liªn quan ®Õn qu¶ trÞ hÖ
thèng.

ü /lib - Chøa th­ viÖn trªn UNIX.

ü /sbin - Chøa lÖnh liªn quan ®Õn khëi t¹o hÖ thèng.

ü /tftpboot - Chøa c¸c file phôc vô cho viÖc khëi ®éng tõ c¸c client.

ü /usr - Chøa lÖnh vµ c¸c ch­¬ng tr×nh øng dông hç trî bëi hÖ ®iÒu hµnh.

ü /var - Ch­a c¸c th«ng tin cÊu h×nh c¸c øng dông, hµng ®îi ...

ü /vmunix Kernal cña UNIX

ü /opt Chøa c¸c ch­¬ng tr×nh øng dông th­êng tõ h∙ng thø ba.

ü /home Th­ môc home cña user.

ü /lost+found Ch­a c¸c file ®­îc recover bëi fsck.

2. Creating file systems

72
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

§Ó t¹o hÖ thèng file cÇn thùc hiÖn c¸c b­íc nh­ sau:

ü Chän quyÒn h¹n cña ®Üa.

ü T¹o c¸c partition

ü T¹o file system

Mçi lo¹i UNIX sÏ cã c¸c c«ng cô kh¸c nhau ®Ó t¹o c¸c file system. Th«ng th­êng
dïng c¸c lÖnh fdisk, format, fdformat, c¸c lÖnh t¹o cÊu tróc block dïng mkfs hoÆc
newsfs. Mçi lo¹i hÖ ®iÒu hµnh UNIX sö dông ký hiÖu ®Þa diÖn cho hÖ thèng file
trong c¸c môc tuú chän øng víi c¸c lÖnh VÝ dô: Solaris sö dông ufs, Linux sö dông
ext2, IRIX sö dông efs vµ xfs.

Tuy nhiªn hÖ thèng file cña UNIX còng chØ lµ n¬i l­u d÷ liÖu trªn ®Üa vµ nã còng
®­îc l­u d­íi d¹ng cÊu tróc ph©n cÊp vµ ®Æt trªn c¸c partition.

Víi hÖ ®iÒu hµnh UNIX c¸c thiÕt bÞ ®Òu ®­îc thÓ hiÖn d­íi d¹ng c¸c file. C¸c file
thiÕt bÞ nµy th­êng ®­îc ®Æt trong th­ môc /dev. Víi mçi hÖ ®iÒu hµnh UNIX c¸c
file thiÕt bÞ nµy cã thÓ ®­îc ký hiÖu kh¸c nhau hoÆc ®Æt møc th­ môc thÊp h¬n.
Th«ng th­êng c¸c hÖ ®iÒu hµnh UNIX tù ®éng t¹o ®óng c¸c file thiÕt bÞ mµ nã hç
trî khi khëi ®éng hÖ thèng. NgÇm ®Þnh c¸c file nµy chØ ®­îc truy nhËp bëi ng­êi
qu¶n trÞ hÖ thèng (root).

Víi c¸c thiÕt bÞ l­u tr÷ nh­ ®Üa cøng tuú theo tõng lo¹i hÖ ®iÒu hµnh va lo¹i ®Üa cøng
mµ cã c¸c ký hiÖu quy ®Þnh kh¸c nhau vÒ tªn file:

VÝ dô víi ®Üa IDE, EIDE trªn Linux thÓ hiÖn d­íi d¹ng file sau

/dev/hd[drive][partition]

Víi ®Üa ®Çu tiªn ký hiÖu lµ hd a cho primary disk vµ b cho slave, c cho primary
secondary disk vµ d cho slave secondary. TiÕp sau ®ã lµ gi¸ trÞ sè øng víi c¸c
partition trªn mçi ®Üa.

Víi ®Üa SCSI thay ký hiÖu tªn fil­ lµ /dev/sd thay cho /dev/hd cßn c¸c thµnh phÇn
kh¸c t­¬ng tù.

T¹o partition: §Ó t¹o partition dïng lÖnh fdisk ®Ó t¹o partion. (vÝ dô víi Linux)

73
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

# fdisk /dev/hda

C¸c lÖnh trong fdisk

p HiÖn partition hiÖn thêi

n T¹o partition míi gåm extended vµ primary partition (1-4).

t T¹o swap partition

w Ghi l¹i c¸c thay ®æi võa t¹o.

T¹o File Systems: Sau khi ®∙ t¹o partition th× hÖ thèng file vÉn ch­a ®­îc s½n sµng
cho viÖc sö dung. mµ cÇn ph¶i t¹o file system. §Ó t¹o hÖ thèng file trong Linux
dïng lÖnh mke2fs (trong sun solaris dïng lÖnh newfs), mkswap t¹o swap file
system.

VÝ dô

mke2fs /dev/hda1

mkswap /dev/hda2

3. Mounting and unmounting file systems

Mounting file systems

Nh­ ta ®∙ biªt hÖ thèng file cña UNIX ®­îc l­u tr÷ d­íi d¹ng c¸c c©y th­ môc
nh­ng muèn thùc hiÖn ®­îc ®iÒu nµy th× nã ph¶i ®­îc mount.

Tr­íc khi cã thÓ mount file hÖ thèng ta cÇn chän mét ®iÓm mount. §iÓm mount lµ
mét th­ môc trong hÖ thèng file n¬i mµ th­ môc gèc bao lªn nã. UNIX gi÷ ®iÓm
mount vµ cho phÐp truy nhËp ®Õn hÖ thèng file dùa trªn quyÒn h¹n cña ng­êi sö
dông hiÖn thêi. §iÓm mount cã thÓ lµ mét vÞ trÝ nµo ®ã trªn c©y th­ môc. CÇn chó ý
r»ng mét hÖ thèng file chØ ®­îc mount trªn mét mét th­ môc.

§Ó mount hÖ thèng file dïng lÖnh mount có ph¸p nh­ sau:.

mount <option> </dev/device> </directory to mount>

ü /dev/device lµ tªn cña device mµ ta muèn mount.

74
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

ü /directory to mount lµ th­ môc mount mµ hÖ thèng file mount tíi

C¸c tham sè tuú chän cña option –o cã thÓ lµ:

ü rw read/write

ü ro read only

ü bg background mount (NÕu mount bÞ lçi nã chuyÓn sang background vµ


tiÕp tôc cè g¾ng mount cho ®Õn khi hoµn thµnh).

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

LÖnh mount kh«ng tham sè sÏ hiÖn lªn tÊt c¶ c¸c file systems ®ang ®­îc mount

Chi tiÕt cña lÖnh xem tµi liÖu øng víi lo¹i hÖ ®iÒu hµnh UNIX.

Unmounting file systems

§Ó bá mount hÖ thèng file dïng lÖnh umount hoÆc umountall

LÖnh umount: Bá mount mét hÖ thèng file (®iÓm mount).

umount <mount point>

VÝ dô:

umount /usr

LÖnh umountall: Bá tÊt c¶ c¸c ®iÓm mount

Automount file systems

Automount lµ kh¶ n¨ng tù ®éng mount hÖ thèng file t¹i thêi ®iÓm khëi ®éng hÖ ®iÒu
hµnh. Víi kh¶ n¨ng tù ®éng cho phÐp hÖ thèng s½n sµng khi qu¸ tr×nh khëi ®éng kÕt
thóc. §Ó thùc hiÖn ®­îc viÖc tù ®éng mount UNIX sö dông file ®Æc biÖt lµ /etc/fstab
(/etc/vfstab d­íi Solaris). File nµy chøa danh s¸ch tÊt c¶ c¸c partition cÇn mount t¹i
thêi ®iÓm khëi ®éng vµ th­ môc cÇn ®­îc mount tíi víi c¸c tuú chän kÌm theo theo
d¹ng sau:

/dev/device /dir/to/mount ftype parameters fs_freq fs_passno

ü dev/device ChØ device sÏ ®­îc mount.

75
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

ü /dir/to/mount Lµ th­ môc ®­îc mount tíi trªn c©y th­ môc.

ü ftype Lµ kiÓu hÖ thèng file. VÝ dô d­íi Solaris lµ ufs, d­íi Linux lµ


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

ü parameters Lµ biÕn tuú chän khi mount øng víi –o option.

ü fs_freq §­îc sö dông bëi dump ®Ó x¸c ®Þnh hÖ thèng file cÇn ®­îc
dump.

ü fs_passno §­îc sö dông bëi ch­¬ng tr×nh fsck ®Ó x¸c ®Þnh tr×nh tù kiÓm
tra ®Üa t¹i thêi ®iÓm khëi ®éng.

C¸c dßng b¾t ®Çu b»ng dÊu # lµ c¸c dßng chó thÝch.

VÝ dô vÒ file fstab d­íi Linux systems:

# Sample /etc/fstab file for a Linux machine

# Local mounts

/dev/sda1 / ext2 defaults 1 1

/dev/sda2 /usr ext2 defaults 1 1

/dev/sda3 /usr/data ext2 defaults 1 1

/dev/cdrom /cdrom iso9660 ro 1 1

/dev/sda4 /dos msdos defaults 1 1

/dev/sdb1 /data ext2 defaults 1 1

Mét sè kiÓu hay dïng trong Linux

ü ext2 KiÓu filesystem ®­îc dïng chñ yÕu trªn Linux partition.

ü iso9660 KiÓu ISO 9660 filesystem ®­îc dïng víi CD-ROM disks.

76
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

ü sysv KiÓu Nh»m hç trî cho d¹ng UNIX System V filesystem.

ü msdos KiÓu DOS partition mµ Linux cã thÓ truy nhËp.

ü hpfs KiÓu High Performance filesystem bëi Linux.

4. Managing disk use

§Ó biÕt c¸c th«ng tin vÒ viÖc sö dông ®Üa UNIX dïng c¸c tiÖn Ých sau:

LÖnh df: Cho biÕt th«ng tin vÒ viÖc sö dông ®Üa, dung l­îng ®∙ ®­îc sö dông vµ
ch­a ®­îc sö dông vµ theo tû lÖ phÇn tr¨m.

df <option>

C¸c tham sè th­êng dïng:

ü -a HiÓn thÞ tÊt c¶ c¸c partition bao gåm c¶ swap vµ /proc.

ü -i, HiÓn thÞ th«ng tin inode thay cho block.

ü -k HiÓn thÞ d¹ng KB.

ü -t<type>HiÓn thÞ chØ nh÷ng filesystems cã kiÓu phï hîp víi 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

server1:/var/spool/mail

489702 222422 218310 50% /var/spool/mail

C¸c cét th«ng tin gåm:

ü Filesystem ChØ file system

ü 1024-blocks ChØ sè block trong file system. (Tæng dung l­îng.)

77
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

ü Used Sè block ®∙ sö dông.

ü Available Sè block ch­a sö dông.

ü Capacity PhÇn tr¨m l­îng ®Üa ®ang sö dông hiÖn t¹i.

ü Mounted on ChØ vÞ trÝ ®­îc mount trªn c©y th­ môc.

LÖnh du: HiÓn thÞ tæng ®Üa sö dông trªn tõng th­ môc hoÆc tõng file.

du <option> <directory>

C¸c tham sè th­êng dïng:

ü -a HiÓn thÞ sè ®Õm trªn tæng c¸c file vµ c¸c th­ môc.

ü -b HiÓn thÞ kÝch th­íc d¹ng byte.

ü -c HiÓn thÞ tæng côc bé.

ü -k HiÓn thÞ kÝch th­íc d¹ng KB.

ü -l HiÓn thÞ kÝch th­íc cña tÊt c¶ c¸c file.

ü -s ChØ hiÖn sè tæng.

ü -x Bá qua c¸c filesystem kh¸c mµ mount vµo trong th­ môc hiÖn thêi.

VÝ dô: du

409 ./doc

945 ./lib

68 ./man

60 ./m4

391 ./src

141 ./intl

873 ./po

3402 .

ChØ sè l­îng block ®­îc sö dông bëi mçi th­ môc.

78
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

5. Checking file system integrity

Trong qu¸ tr×nh ho¹t ®éng hÖ thèng kh«ng tr¸nh khái diÔn ra tr¹ng th¸i mét ai ®ã
®ét ngét ng¾t ®iÖn m¸y tÝnh, hÖ thèng cÊp ®iÖn cho m¸y bÞ mÊt, mét ai ®ã nhÊn nót
reset .... c¸c hiÖn t­îng nµy sÏ dÉn ®Õn hiÖn t­îng th«ng tin trªn hÖ thèng vÉn cßn
tån t¹i mµ ch­a ®­îc ghi ra ®Üa. Khi x¶y ra c¸c lçi nµy th× ta cÇn ph¶i thùc hiÖn viÖc
kiÓm tra tÝnh toµn vÑn cña hÖ thèng ®iÒu nµy lµ cÇn thiÕt nÕu nh­ cÊu tróc hÖ thèng
lµ kh«ng cßn ®óng. §Ó thùc hiÖn viÖc kiÓm tra vµ söa ch÷a c¸c lçi nµy dïng lÖnh
fsck.

LÖnh fsck thù hiÖn theo nhiÒu giai ®o¹n. Mçi giai ®o¹n thùc hiÖn mét nhiÖm vô
riªng vµ c¸c giai ®o¹n sau ®Òu dùa vµo kÕt qu¶ thùc hiÖn ë giai ®o¹n tr­íc ®ã.

fsck thùc hiÖn duyÖt b¾t ®Çu tõ superblock liªn quan ®Õn c¸c vïng disk blocks,
pathnames, directory connectivity, link reference counts, vµ vïng trèng cña blocks
vµ inodes.

C¸c giai do¹n kiÓm tra cña lÖnh fsck:

Phase 1: KiÓm tra Block vµ Size giai ®o¹n nµy kiÓm tra danh s¸ch inode, t×m c¸c
inode bÞ v« hiÖu. Lçi nµy ®­îc th«ng b¸o 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: KiÓm tra ®­êng dÉn, giai ®o¹n nµy xo¸ bá c¸c th­ môc tõ c¸c bad inodes
®­îc t×m thÊy ë giai ®o¹n 1 vµ tiÕn hµnh kiÓm tra th­ môc víi c¸c con trá inode mµ
bÞ v­ît qu¸ ph¹m vi hoÆc con trá trá tíi bad inode. Lçi nµy ®­îc th«ng b¸o nh­
sau:

ROOT INODE NOT DIRECTORY (FIX?)

I=OUT OF RANGE I=inode number NAME=file name (REMOVE?)

79
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

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: KiÓm tra kÕt nèi, giai ®o¹n nµy ph¸t hiÖn lçi ë c¸c th­ môc kh«ng tham
chiÕu, b»ng c¸ch t¹o th­ môc lost+found nÕu cÇn vµ chuyÓn c¸c phÇn kh«ng ®óng
vµo th­ môc lost+found.

Phase 4: KiÓm tra ®Õm tham chiÕu, giai ®o¹n nµy sö dông th«ng tin trong giai ®o¹n
2 vµ 3 ®Ó kiÓm tra c¸c file kh«ng tham chiÕu vµ ®Õm liªn kÕt kh«ng ®óng trªn c¸c
file, directory, hoÆc file ®Æc biÖt. Th«ng b¸o nh­ sau:

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: KiÓm tra Cylinder Groups, giai ®o¹n nµy kiÓm tra c¸c block tù do block vµ
c¸c inode ch­a sö dông. Nã sÏ tù ®éng söa ®æi l¹i danh s¸ch c¸c inode tù do cho
®óng nÕu cÇn thiÕt, tuy nhiªn cã c¸c yªu cÇu ®ßi ng­êi qu¶n trÞ ph¶i tr¶ lêi.

What Do I Do After fsck Finishes?

LÖnh fsck:

80
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

6. Backup and restore

Xem thªm phÇn end user

B¶n th©n trong hÖ ®iÒu hµnh UNIX hç trî nhiÒu c«ng cô hç trî viÖc l­u tr÷ vµ håi
phôc trªn c¸c thiÕt bÞ vË lý kh¸c khau. Nã hç trî c¸c møc sao l­u vµ håi phôc gióp
cho viÖc tèi ­u trong c«ng t¸c sao l­u vµ ®¶m b¶o viÖc qu¶n trÞ dÔ dµng.

Ngoµi c¸c lÖnh tar, cpio, dd, tuú theo hÖ ®iÒu hµnh hç trî c¸c c«ng cô kh¸c phôc vô
cho c«ng t¸c sao l­u vµ håi phôc d÷ liÖu.

IX.Printer administration

Unix hç trî m¸y in c¾m trùc tiÕp trªn cæng parallel, serial còng nh­ hç trî cho m¸y
in m¹ng. ViÖc cÊu h×nh m¸y in t­¬ng ®èi ®¬n gi¶n nhê c¸c tiÖn Ých hç trî bëi c¸c hÖ
®iÒu hµnh. Tuy nhiªn trªn mét sè lo¹i version cò viÖc cÊu h×nh l¹i ph¶i tù lµm b»ng
tay qua lÖnh (mknod) t­¬ng ®èi phøc t¹p.

Th«ng th­êng c¸c cæng parallel th­êng t­¬ng øng víi c¸c file /dev/lp0, /dev/lp1,
hoÆc /dev/lp2 phô thuéc vµo sè cæng mµ m¸y cã.

C¸c tiÖn Ých liªn quan ®Õn printer bao gåm

/etc/printcap Chøa cÊu h×nh m¸y in .

/usr/lib/lpd KiÓm so¸t vµ cung cÊp c¸c dÞch vô in

/usr/ucb/lpr Thùc hiÖn viÖc chuyÓn c¸c print job vµo printer queue.

/usr/ucb/lpq Ch­¬ng tr×nh kiÓm tra hµng ®îi in.

/usr/ucb/lprm Thùc hiÖn xo¸ c¸c print job tõ print queue.

/etc/lpc Qu¶n trÞ print job vµ printer queue.

Ch­¬ng tr×nh lpd thùc hiÖn viÖc kiÓm so¸t vµ cung cÊp c¸c dÞch dÞch vô in. C¸c
th«ng tin x¸c ®Þnh cÊu h×nh gåm tªn m¸y in, cæng in, lo¹i m¸y in ... C¸c th«ng tin
nµy cã thÓ ®­îc thay ®æi bëi ng­êi qu¶n trÞ.

lpd [-l] [port]

81
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

Víi tham sè -l ghi l¹i c¸c th«ng tin tíi log file mçi lÇn kiÓm so¸t c¸c request.

Khi lpd nhËn ®­îc print request (gäi lµ print job) c¸c trang in ®­îc ®­a ®Õn mét
vïng gäi lµ spool( th«ng th­êng lµ th­ môc /usr/spool/lp). Vµ mµn h×nh in ®­îc gi¶i
phãng ®Õ ng­êi sö dông cã thÓ thùc hiÖn c¸c c«ng viÖc kh¸c. Sau ®ã lpd sÏ thùc
hiÖn viÖc göi d÷ liÖu tõ spool ra m¸y in t­¬ng øng.

ViÖc qu¶n lý printer th«ng qua tiÖn Ých lµ lpc. Nã cho phÐp ng­êi qu¶n trÞ thùc hiÖn
mét sè chøc n¨ng nh­ hiÓn thÞ th«ng tin tr¹ng th¸i m¸y in, cho phÐp hoÆc kh«ng cho
phÐp in, cho phÐp hoÆc kh«ng cho phÐp c¸c hµng chê in, lo¹i bá c¸c print request,
thay ®æi møc ®é ­u tiªn trªn hµng chê in. Ngoµi ra cßn tiÕn Ých lpq vµ lprm cho phÐp
thùc hiÖn qu¶n lý c¸c hµng ®îi in.

X. Network administration

1. UUCP (Unix to Unix copy)

UUCP lµ mét nhãm c¸c lÖnh vµ c¸c dÞch vô cung cÊp dÞch vô m¹ng ®¬n gi¶n cho
phÐp ng­êi sö dông truyÒn d÷ liÖu trªn UNIX tõ mét m¸y nµy sang m¸y kh¸c qua
serial port (modem) th«ng th­êng dïng ®Ó truyÒn file, e-mail, ch¹y c¸c lÖnh trªn
m¸y ë xa. HiÖn nay cã nhiÒu version cña UUCP trªn c¸c hÖ ®iÒu hµnh c¸c hÖ ®iÒu
hµnh UNIX tuy nhiªn chóng vÉn tu©n thñ theo quy t¾c cÊu h×nh chung cña UUCP.

C¸c thµnh phÇn cña UUCP: C¸c lÖnh trong UUCP chia lµm hai líp: lÖnh cña ng­êi
sö dông vµ c¸c lÖnh qu¶n trÞ.

C¸c ch­¬ng tr×nh ng­êi sö dông lµ ®­îc chøa trong /usr/bin

ü uucico - C«ng cô nèi kÕt c¸c m¸y tÝnh xa cho phÐp truyÒn tËp tin hay thùc
hiÖn lÖnh.

ü uucp - Sao chÐp mét tËp tin tõ mét m¸y ®Õn m¸y kh¸c, uucp t¹o tËp tin d÷
liÖu vµ tËp tin lµm viÖc, xÕp hµng c¸c c«ng viÖc ®Ó truyÒn vµ gäi uucico
daemon nèi kÕt víi m¸y tõ xa.

ü uustat - HiÓn thÞ tr¹ng th¸i cña yªu cÇu truyÒn ( uucp,uuto,uux) nã còng kiÓm

82
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

so¸t hµng chê truyÒn.

C¸c lÖnh qu¶n trÞ

§a sè c¸c lÖnh qu¶n trÞ lµ ë trong /usr/lib/uucp c¸c tËp tin d÷ liÖu vµ shell script lµ ë
trong /etc/uucp.

ü uucleanup - Xãa th­ môc spool nã th­êng ®­îc thùc hiªn tõ shell script ®­îc
gäi lµ uudemon.cleanup mµ ®­îc khëi ®éng bëi cron.

ü Uutry -KiÓm tra kh¶ n¨ng gäi vµ gì rèi, nã kÐo theo uucico dÓ thiÕt lËp th«ng
tin gi÷a m¸y tÝnh côc bé vµ m¸y tÝnh tõ xa.

ü uucheck - KiÓm tra sù tån t¹i cña c¸c th­ môc ch­¬ng tr×nh vµ c¸c tËp tin
support cña uucp nã cã thÓ còng kiÓm tra tËp tin Permission ®Ó kiÓm tra ng÷
ph¸p.

Deamons Cã ba deamon trong hÖ thèng uucp. C¸c deamon nµy diÒu khiÓn truyÒn
tËp tin vµ thùc hiÖn lÖnh. Chóng còng cã thÓ ®­îc ch¹y tõ shell.

ü uucico- Chän thiÕt bÞ sö dông ®Ó nèi kÕt, thiÕt lËp nèi kÕt ®Õn m¸y tÝnh tõ xa,
thùc hiÖn c¸c yªu cÇu login vµ kiÓm tra chñ quyÒn, truyÒn c¸c tËp tin d÷ liÖu,
thùc thi , ®­a kÕt qu¶ vµo log vµ b¸o cho ng­êi sö dông bëi mail. Khi uucico
gäi m¸y tõ xa nã liªn l¹c víi uucico cña m¸y tõ xa. uucico ®­îc gäi bëi
uucp, uuto,uux vµ uusched, uutry.

ü uuxqt - Thùc hiÖn c¸c yªu cÇu thùc thi tõ xa, nã sÏ kiÓm tra th­ môc spool
®Ó t×m tËp tin thùc thi (X.file) ®∙ ®­îc göi tõ m¸y tõ xa. Khi tËp tin X.file ®∙
t×m thÊy uuxqt më nã vµ nhËn mét danh s¸ch c¸c tËp tin d÷ liÖu ®­îc yªu cÇu
thùc thi. Nã sÏ kiÓm tra chñ quyÒn truy xuÊt cña c¸ac t©p tin nµy. KÕ ®ã nã
®äc tËp tin permission ®Ó kiÓm tra chñ quyÒn thùc hiÖn lÖnh ®­îc yªu cÇu.
uuxqt ®­îc thùc hiÖn bëi uudemon.hour shell script.

ü uusched -§Þnh thêi biÓu c¸c hµng chß trong th­ môc spool. Tr­íc khi khëi
®éng uucico, uusched s¾p thø tù ngÉu nhiªn c¸c m¸y tÝnh tõ xa sÏ ®­îc gäi.
uusched ®­îc khëi ®éng ë thêi gian boot bëi /etc/rc nã sÏ ®­îc thùc hiÖn bëi
uudemon.hour.

83
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

Khëi ®éng uucp : uucp sÏ khëi ®éng víi c¸c lÖnh trong shell script mµ quÐt vßng c¸c
m¸y tõ xa, ®Þnh thêi biÓu truyÒn vµ xo¸ c¸c log cò.

$su uucp

$crontab < /usr/lib/uudemon.crontab

C¸c file cÊu h×nh /usr/lib/uucp

Systems, Devices, Permissions, Dialers, Dialcodes

Devices Chøa c¸c th«ng tin liªn hÖ vÞ trÝ, tèc ®é cña bé gäi tù ®éng(ACU),
®­êng tù ®éng vµ thiÕt bÞ m¹ng.

Format Type Line Line2 Class Dialer-Token Pairs

VÝ dô ACU cua0 - 1200 Hayes \D

Type ACU Sö dông víi modem

Direct Sö dông víi ®­êng d©y trùc tiÕp

Line Tªn thiÕt bÞ vÝ dô modem /dev/cua0

Class Tèc ®é

Dialer-token pairs t­¬ng øng víi lo¹i modem trong tËp tin Dialers

Dialers X¸c ®Þnh c¸ch trao ®æi ban ®Çu tr­íc khi truyÒn d÷ liÖu nh­.VÝ dô :

Hayes =,-, "" \dA\pTE1V1X1Q0S2=255S12=255S50=2\r\c OK\r \EATDT\T\r\c


CONNECT

ý nghÜa cña c¸c kÝ tù escape

\p ng­ng (1/4 gi©y)

\d trÓ (2 gi©y)

\D ChØ sè ®iÖn tho¹i kh«ng biÕn ®æi bëi tËp tin Dialcodes

\T ChØ sè ®iÖn tho¹i biÕn ®æi bëi tËp tin Dialcodes

\K Thªm vµo mét BREAK

84
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

\E HiÖn thi kiÓm tra

\e CÊm hiÓn thi kiÓm tra

\r §Çu dßng

\c Kh«ng xuèng dßng

\n Xuèng dßng

Systems Chøa c¸c th«ng tin cÇn thiÕt bëi uucico ®Ó thiÕt lËp nèi kÕt víi m¸y tõ
xa. Mæi phÇn tö cña tËp tin thÓ hiÖn mét m¸y tÝnh cã thÓ ®­îc gäi. VÝ dô :

Format System-Name Time Type Class Phone Login

VÝ dô eagle Any ACU 1200 555678 in:nuucp


ord:okasa

System-Name -Tªn cña m¸y tõ xa.

Time - Thêi gian m¸y tõ xa cã thÓ bÞ gäi.

VÝ dô: Wk1700-0800 mäi ngµy trong tuÇn tõ 17h-8h

Login - Chøa c¸c th«ng tin login.

Dialcodes: Chøa c¸c m∙ ®iÖn tho¹i viÕt gän. Khu«n d¹ng nh­ sau:

viÕt t¾t sè

HN 014

Permissions X¸c ®Þnh chñ quyÒn login, truy xuÊt tËp tin vµ thùc hiÖn lÖnh cña m¸y
tõ xa. Mæi phÇn tö cña tËp tin lµ mét dßng cã d¹ng tªn=gi¸ trÞ. Cã thÒ cã c¸c chñ
quyÒn sau :

LOGNAME= X¸c ®Þnh c¸c m¸y cã thÓ log vµo.

MACHINE= X¸c ®Þnh c¸c m¸y tõ xa mµ m¸y côc bé cã thÓ log.

REQUEST= yes/no cÊm hay cho phÐp m¸y tõ xa nhËn c¸c tËp tin tõ m¸y côc bé.

SENDFILES=yes/no cÊm hay cho phÐp m¸y tõ xa göi c¸c tËp tin ®Õn m¸y côc bé.

85
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

READ/WRITE= X¸c ®Þnh c¸c th­ môc ®­îc phÐp ®äc hay ghi.

VÝ dô:

READ=/var/spool/uucppublic

WRITE=/var/spool/uucppublic

NOREAD/NOWRITE X¸c ®Þnh c¸c th­ môc cÊm ®äc hay ghi.

COMMANDS X¸c ®Þnh c¸c lÖnh mµ m¸y tõ xa cã thÓ thùc hiÖn.

2. TCP/IP and Neworks

a) TCP/IP

TCP/IP lµ giao thøc m¹ng chuÈn ®­îc hç trî trong UNIX .

Th«ng th­êng khi cµi ®Æt hÖ thèng bao giê còng ®­îc yªu cÇu x¸c ®Þnh c¸c th«ng
tin liªn quan ®Õn hÖ thèng nh­ host name, domain (nÕu host n»m trong domain), ®Þa
chØ IP. Tuy nhiªn cã thÓ cÊu h×nh m¹ng sau khi cµi ®Æt b»ng c¸c tiÖn Ých.

§Æt tªn host: Cã thÓ dïng lÖnh hostname ®Ó ®Æt tªn cña host (ph¶i ng­êi cã thÈm
quyÒn). Cã thÓ ®Æt tªn d¹ng tªn vïng nÕu nã n»m trong domain.

VÝ dô: hostname jac.domain

CÊu h×nh loopback driver: §Ó thiÕt lËp cÊu h×nh TCP/IP m¹ng dïng lÖnh ipconfig

ifconfig <interface> <IP_address> netmask <mask> broadcast <address>

ü interface - X¸c ®Þnh kiÓu network interface card. (VÝ dô 3Com 3C5x9 nh­
elx0).

ü IP_address - §Þa chØ IP g¸n cho network interface. Cã thÓ sö dông b»ng host
name cung cÊp trong /etc/hosts víi ®Þa chØ IP t­¬ng øng.

ü netmask mask - Lµ subnetwork mask. Cã thÓ bá qua nÕu dïng gi¸ trÞ default.

ü broadcast address - Lµ ®Þa chØ broadcast cho network. NÕu kh«ng ®Æt sÏ lÊy
gi¸ trÞ ngÇm ®Þnh.

86
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

VÝ dô: §Ó thiÕt lËp the loopback driver:

ifconfig lo 127.0.0.1

Muèn ®­a ®Þa chØ loopback vµo trong kernel routing tables dïng lÖnh:

route add 127.0.0.1 hoÆc route add localhost

CÊu h×nh Ethernet Interface:Muèn thùc hiÖn cÊu h×nh víi Ethernet driver th× mét
ph¶i yªu cÇu ®ßi hái ph¶i biÕt chÝnh x¸c Ethernet driver vµ cÊu h×nh dïng ifconfig
®Ó kernel biÕt vÒ interface vµ sau ®ã thªm route tíi c¸c m¸y trªn m¹ng nÕu nã g¾n
víi m¹ng.

VÝ dô: Ethernet device lµ /dev/elx0

ifconfig elx0 192.168.70.2 netmask 255.255.255.0

§Ó thªm thµnh phÇn trªn vµo kernel routing table ®Ó kernel biÕt vÒ ®Þa chØ m¹ng
local machine vµ göi chÝnh x¸c d÷ liÖu tíi nã dïng lÖnh.

route add -net 192.168.70.0

TCP/IP Setup Files

Khi cµi ®Æt vµ cÊu h×nh TCP/IPcã mét sè file yªu cÇu l­u gi÷ cÊu h×nh liªn quan ®Õn
dÞch vô cña UNIX host.

/etc/hosts - Lµ file cã chøa ¸nh x¹ host names tíi IP address t­¬ng øng.

VÝ dô:
# Internet host table
# IP address hostname aliases
127.0.0.1 localhost
201.190.2.1 jade

/etc/networks - Chøa c¸c network name ¸nh x¹ tíi ®Þa chØ m¹ng IP t­¬ng øng.

VÝ dô:
# Name Network Number
testnetw 201.190.2

87
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

loopback-net 127

/etc/services - Chøa c¸c dÞch vô ë tÇng TCP/IP application nh­ FTP, TELNET,
RLOGIN ... øng víi nã lµ c¸c port number t­¬ng ø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 - Chøa c¸c sè x¸c ®Þnh IP protocol service user. C¸c th«ng tin nµy
gióp IP viÖc x¸c ®Þnh routing data tíi user protocols.

/etc/ethers – T¹o bëi hÖ thèng trong qu¸ tr×nh cµi ®Æt TCP/IP. File nµy ¸nh x¹ ®Þa
chØ Ethernet tíi ®Þa chØ IP. C¸c th«ng tin nµy ph¶i cã khi muèn cung cÊp c¸c dÞch
vô RARP hoÆc BOOTPD

VÝ dô:
# ether_mac_addr. hostname comments
00:00:c0:9e:41:26 violin #strings dep't
02:60:8c:15:ad:18 bass

/etc/netmasks - Chøa netmask t­¬ng øng víi ®Þ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

88
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

167.12.0.0 255.255.192.0

/etc/hosts.equiv - X¸c lËp quyÒn truy nhËp cña c¸c m¸y vµ c¸c user ë xa khi dïng
c¸c tiÖn Ých vÝ dô: rlogin, rcp, rsh ...

~/.rhosts T¹o trong th­ môc home cña user x¸c ®Þnh quyÒn truy nhËp cña user x¸c
®Þnh.

C¸c tiÖn Ých vµ c¸c dÞch vô chñ yÕu cung cÊp trªn ICP/IP

Mét sè c¸c daemon cung cÊp c¸c dÞch vô trªn Unix ®­îc ®iÒu khiÓn bëi inetd.

ü ftpd - Cung cÊp c¸c dÞch vô truyÒn file trªn m¸y Unix qua TCP port 20.

ü telnetd - Cung cÊp c¸c dÞch vô cho phÐp cung cÊp c¸c dÞch vô cho c¸c m¸y
kÕt nèi d¹ng terminal.

ü rshd - Cho phÐp thùc hiÖn c¸c lÖnh shell tõ c¸c m¸y xa.

ü logind- Cho phÐp thùc hiÖn login tõ xa.

ü execd - Chon phÐp thùc hiÖn c¸c lÖnh tõ c¸c m¸y ë xa.

ü comsat- KiÓm so¸t c¸c mail ®Õn cung cÊp c¸c th«ng tin cho c¸c processes mµ
yªu cÇu nã thùc hiÖn.

ü talkd - Cho phÐp ng­êi sö héi tho¹i víi nhau qua dïng keyboard vµ screen
cña terminal ë bÊt kú ®©u trªn m¹ng.

ü uucpd- Cung cÊp dÞch vô truyÒn d÷ liÖu sö dông UUCP trªn m¹ng.

ü tftpd-Cung cÊp dÞch vô tftp trªn m¹ng. Hç trî kh¶ n¨ng remote boot vµ
truyÒn file.

ü fingerd- KiÓm so¸t user trªn m¹ng.

ü rquotad- KiÓm so¸t viÖc sö dông ®Üa cña ng­êi sö dông.

ü walld-Cho phÐp thùc hiÖn viÖc göi c¸c message tíi mµn h×nh cña c¸c c¸c user
trªn hÖ thèng

ü rstatd This daemon returns performance statistics about this system

89
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

ü cmsd-Qu¶n lý calendar trªn server.

ü routed - Thùc hiÖn viÖc kiÓm so¸t RIP.

ü gated- Cho phÐp thùc hiÖn nhiÒu th«ng tin vÒ route bao gåm RIP, OSPF
(Open Shortest Path First), EGP (Exterior Gateway Protocol) ...

ü nfsd- KiÓm so¸t vµ cung cÊp c¸c dÞch vô NFS trªn m¹ng.

ü biod-(Block Input/Output Daemon). Ch¹y trªn NFS client thùc hiÖn viÖc kiÓm
so¸t qu¸ tr×nh ®äc vµ ghi d÷ liÖu trªn NFS server.

ü mountd - KiÓm so¸t, cung cÊp c¸c yªu cÇu mount tõ NFS client.

ü lockd - §iÒu khiÓn viÖc lock file trªn m¹ng.

ü rpcbind- Cung cÊp c¸c dÞch vô RPC (Remote Procedure Calls).

ü sendmail- Thùc hiÖn kiÓm so¸t, trao ®æi mail gi÷a c¸c host ( qua SMTP).

ü named daemon vµ c¸c database file cho phÐp UNIX cung cÊp c¸c dÞch vô
DNS server trªn UDP port 53.

ü Ngoµi ra víi c¸c thµnh phÇn më réng sau nµy c¸c hÖ ®iÒu hµnh cßn cung c¸c
daemon hç trî cung cÊp c¸c dÞch vô më réng kh¸c nh­ c¸c dÞch vô X-
terminal, HTTP ...

C¸c tiÖn Ých (xem trªn End user)

b) PPP

PPP lµ giao thøc ®­îc sö dông t­¬ng ®èi phæ biÕn trong thùc hiÖn kÕt nèi truyÒn
th«ng gi÷a c¸c m¸y hoÆc gi÷a c¸c m¹ng qua c¸c serial line. Tuy nhiªn cÊu h×nh PPP
trªn UNIX th× t­íng ®èi phøc t¹p. UNIX chia c¸c PPP ra lµm hai phÇn, mét lµ møc
High-Level Data Link Control (HLDC) protocol, thùc hiÖn viÖc göi c¸c PPP
datagram gi÷a hai m¸y, vµ PPP daemon gäi lµ pppd thùc hiÖn kiÓm so¸t c¸c protocol
trªn hÖ thèng HLDC vµ thiÕt lËp c¸c biÕn truyÒn th«ng.

Khi thùc hiÖn kÕt nèi th«ng qua PPP th× ng­êi sö dông kh«ng bÞ yªu cÇu nhËp c¸c
dÊu nh¾c kÕt shell hoÆc login v× phÇn nµy sÏ do PPP ®kiÓm so¸t. §Ó thiÕt lËp kÕt nèi

90
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

PPP nhÊt thiÕt loopback driver ph¶i ®­îc thiÕt lËp.

Trong UNIX ®Ó t¨ng c­êng tÝnh an toµn cho hÖ thèng khi thùc hiÖn kÕt nèi PPP gi÷a
c¸c hÖ UNIX cÇn ph¶i cã user ®Æc biÖt ®Ó thùc hiÖn login vµo hÖ thèng khi thùc hiÖn
kÕt nèi. User nµy kh«ng sö dông c¸c shell b×nh th­êng mµ sö dông mét ch­¬ng tr×nh
®Æc biÖt ®Ó khëi ®éng vµ cÊu h×nh PPP. Ngoµi ra PPP hç trî PPP Authentication ®Ó
x¸c ®Þnh c¸c kÕt nèi trªn hÖ thèng.

VÝ dô: trong Linux lµ pppscript ( trong hÖ Unix system V dïng file aspppls ...)

ppp:*:201:51:PPP account:/tmp:/etc/ppp/pppscript

Néi dung file pppscrip nµy nh­ sau:

#!/bin/sh

mesg n

stty -echo

exec pppd -detach silent modem crtscts

Tr­íc khi PPP ho¹t ®éng nã yªu cÇu ph¶i thiÕt lËp cuéc kÕt nèi tr­íc ®ã tíi m¸y ë
xa tr­íc khi nã thùc hiÖn kiÓm so¸t kÕt nèi. §iÒu nµy cã thÓ thùc hiÖn qua ch­¬ng
tr×nh thùc hiÖn kÕt nèi (chat program). Th«ng th­êng sö dông qua UUCP trong file
nµy chó ý ®Õn néi dung trong file Systems.

§Ó thùc hiÖn viÖc kiÓm so¸t kÕt nèi sö dung PPP th× nhÊt thiÕt ch­¬ng tr×nh pppd
daemon ph¶i ®­îc gäi ch¹y.

VÝ dô: NÕu m¸y sö dông COM1 ®Ó thùc hiÖn cho kÕt nèi PPP vµ kÕt nèi ë tèc ®é
38,400 baud cã thÓ sö dông lÖnh nh­ sau:

pppd /dev/cua1 38400 crtscts defaultroute

Trong hÖ ®iÒu hµnh UNIX system V th­êng sö dông mét script tªn lµ asppp ®Ó khëi
®éng pppd dùa trªn c¸c file cÊu h×nh ®∙ ®Æt.

c) DNS

91
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

Tr­íc ®©y trong UNIX ®Ó gi¶i quyÕt vÊn ®Ò ¸nh x¹ t­¬ng øng tªn tíi ®Þa TCP/IP sö
dông /etc/hosts. Khi thùc hiÖn c¸c kÕt nèi TCP/IP sÏ thùc hiÖn kiÓm tra trong
/etc/hosts kiÓm tra tra tªn vµ ®äc ®Þa chØ cña m¸y kÕt nèi. NÕu tªn kh«ng cã trong
file nµy th× m¸y sÏ kh«ng thÓ thùc hiÖn kÕt nèi theo tªn. Víi ph­¬ng ph¸p nµy mµ
khi cÇn kÕt nèi víi nhiÒu m¸y trªn hÖ thèng th× viÖc qu¶n lý nã sÏ trë lªn rÊt phøc
t¹p. DNS ra ®êi vµ ph¸t triÓn ®Ó gi¶i quyÕt c¸c vÊn ®Ò trªn ®ång thêi nã cßn t¹o ra
c¸c kh¶ n¨ng qu¶n trÞ tªn ph©n cÊp vµ cung cÊp c¸c dÞch vô tªn vïng. Trªn DNS bao
giê cïng gåm cã hai phÝa lµ ng­êi cung cÊp c¸c dÞch vô (DNS server) vµ ng­êi sö
dông c¸c dÞch vô (client).

Th«ng th­êng mçi mét zone th­êng cã hai master name ®Ó duy tr× ho¹t ®éng cña c¶
zone lµ primary master server vµ secondary master server (backup server).

DNS Client

DNS client thùc hiÖn viÖc kÕt nèi th«ng qua c¸c DNS query ®Ó thùc hiÖn lÊy ¸c ¸nh
x¹ t­¬ng øng tíi ®Þa chØ ®Ých cÇn kÕt nèi. DNS query cã thÓ cã nhiÒu lo¹i. HÇu hÕt
trong sè nµy lµ c¸c query hostname ®Õn IP address. C¸c query gi¶i quyÕt vÊn ®Òn
¸nh x¹ IP address tíi hostname lµ PTR hay pointer queries.

Ngo¹i trõ viÖc cÊu h×nh ®Ó liªn kÕt víi name server. Client th«ng th­êng kiÓm tra
trong /etc/hosts file ®Ó lÊy ®Þa chØ t­¬ng øng víi name cña m¸y chØ ®Þnh.

§Ó cÊu h×nh DNS client (resolver) t¹o file /etc/resolv.conf. Sö dông file nµy ®Ó x¸c
®Þnh c¸c domain name mµ nã thuéc vµo bao gåm ®Þa chØ IP cña primary, secondary,
hoÆc cache name server. CÊu tróc file /etc/resolv.conf gåm c¸c tr­êng

# 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

92
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

§Ó cÊu h×nh name server bao gåm t¹o c¸c database vµ startup file. Sè l­îng c¸c file
nµy phô théc vµo quy m« cña tæ chøc, cÊu tróc liªn m¹ng, vµ sè domain mµ nã ®­îc
uû nhiÖm qu¶n trÞ.

§Ó khëi ®éng DNS server UNIX gäi ch¹y mét in.named daemon. Ch­¬ng tr×nh nµy
sÏ ®äc c¸c file cÊu h×nh trªn database file vµ thùc hiÖn c¸c dÞch vô theo cÊu h×nh ®∙
®Þnh.

C¸c DNS database vµ startup file:

named.hosts File nµy x¸c ®Þnh domain mµ name server lµ ng­êi cung cÊp vµ duy tr×
c¸c ¸nh x¹ tõ tªn tíi ®Þa chØ IP.

named.rev Chøa th«ng tin vÒ ¸nh x¹ ng­îc ®Þa chØ IP tíi tªn.

named.local Chøa th«ng tin ®Ó gi¶i quyÕt ®Þa chØ loopback (127.0.0.1) tíi
localhost.

named.ca File cã chøa tªn vµ ®Þa chØ cña c¸c root domain server.

named.boot File ®Çu tiªn mµ named (the DNS daemon) lóc khëi ®éng vµ sö dông
nã ®Ó x¸c ®Þnh database filename, vµ vÞ trÝ cña chóng trong file system trªn hÖ thèng
còng nh­ lµ m¸y ë xa.

DNS Resource Records (RR)

ChuÈn DNS RFC 1033 ®Þnh nghÜa nhiÒu lo¹i resource record (RR). Mçi lo¹i t­¬ng
øng víi mét khÝa c¹nh cña c¬ së d÷ liÖu chung. VÝ dô kiÓu record dïng ®Ó ¸nh x¹
tªn tíi ®Þa chØ IP t­¬ng øng (A), hoÆc ¸nh x¹ ®Þa chØ tíi tªn (PTR) hoÆc sö dông ®Ó
duy tr× ¸nh x¹ gi÷a c¸c domain name server (NS)...

Th«ng th­êng cÊu tróc mét RFC nh­ sau:

[name] [ttl] class type data

ü name Tªn cña ®èi t­îng resource sÏ ®­îc m« t¶ bëi resource record. name
cã thÓ lµ tªn host hoÆc tªn cña domain.

ü Ttl Lµ gi¸ trÞ Time-to-live.

93
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

ü Class X¸c ®Þnh class cña DNS record.

ü Type X¸c ®Þnh kiÓu RR record. Th«ng th­êng ng­êi ta sö dông c¸c kiÓu
SOA, NS, A, MX vµ PTR.

ü Data D÷ liÖu thùc sù cña ®èi t­îng name chØ ®Þnh.

CÊu h×nh primary name server

§Ó cÊu h×nh named ch¹y vµ cung cÊp dÞch vô nh­ primary name server cÇn ph¶i t¹o
vµ thay ®æi c¸c file d÷ liÖu sau:

ü named.hosts

ü named.rev

ü named.local

ü named.ca

ü named.boot

named.hosts Lµ file duy tr× ¸nh x¹ hostname tíi ®Þa chØ IP cho tÊt c¶ c¸c trong zone.
Muèn thùc hiÖn truy nhËp theo DNS th× named.hosts ph¶i cã chøa tªn ¸nh x¹ tíi ®Þa
chØ IP cña tÊt c¶ c¸c host trªn m¹ng. Thªm vµo ®ã nã cßn chøa c¸c th«ng tin kh¸c
nh­ mail exchangers (hoÆc mail routers), hoÆc lo¹i CPU ...
VÝ dô: file named.hosts mµ jade lµ primary server trong domain harmonics.com:
;
; Section 1: The SOA record
;
harmonics.com. IN SOA jade.harmonics.com. root.jade.harmonics.com. (
2 ; Serial
14400 ; Refresh (4 hours)
3600 ; Retry (1hr)
604800 ; Expire ( 4 weeks )
86400 ) ; minimum TTL (time-to-live)
;

94
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

; 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
;
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
;

95
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

jade.harmonics.com. IN A 198.53.237.1
IN A 100.0.0.2

ü Section 1 Cã chøa SOA record lµ jade.harmonics.com lµ ng­êi cung cÊp DNS


server cho domain harmonics.com. File named.hosts cã thÓ chØ cã chøa SOA
record, vµ nã ph¶i lµ record ®Çu tiªn trong file.

ü Section 2 Gåm c¸c NS record lµ c¸c host jade vµ cello nh­ lµ tªn servers cña
domain harmonics.com. Chó ý r»ng c¸c record nµy kh«ng ®­îc chØ ®Þnh hai
server ®Òu lµ primary mµ ph¶i cã secondary server.

ü Section 3 Gåm hai MX records x¸c ®Þnh mail exchangers chÝnh vµ phô cho
domain harmonics.com.

ü Section 4 Gåm tÊt c¶ c¸c A records mµ ¸nh x¹ host name tíi ®Þa chØ IP
addresses. Khi mµ client thùc hiÖn query th× name server sÏ tr¶ l¹i ®Þa chØ IP
cho host, named quÐt c¸c A records trong named.hosts phï hîp víi tªn mµ
client yªu cÇu vµ tr¶ l¹i ®Þa chØ IP t­¬ng øng víi host name.

ü Section 5 T­¬ng øng víi jade lµ multihomed gåm hai A record. Khi mµ
named ®­îc query cho ®Þa chØ IP cña jade, hoÆc bÊt kú multihomed, named
®¬n gi¶n lµ tr¶ l¹i tÊt c¶ c¸c ®Þa chØ mµ nã t×m thÊy.

named.rev named sö dông named.rev ®Ó gi¶i quyªt c¸c kiÓu PTR query. Nã tr¶ l¹i
host name t­¬ng øng víi query lÊy ®Þa chØ IP t­¬ng øng víi host trong named.rev
file. Trong named.rev file bao gåm c¶ SOA record.

VÝ dô: file 100.rev


100.in-addr.arpa. IN SOA jade.harmonics.com. root.jade.harmonics.com (
1 ;serial
14400 ; Refresh (4 hours)
3600 ; retry ( 1 hour )
604800 ; expire ( 1 week )
86400 ) ; TTL = 1 day
;

96
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

; 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 tÊt c¶ c¸c file named.rev phÇn ®Çu tiªn bao giê còng lµ SOA record tiÕp sau
®ã lµ NS vµ cuèi cïng lµ PTR records.

named.local Cã chøa cÊu h×nh cña localhost øng víi ®Þ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 )
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
;

97
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

1.0.0.127.in-addr.arpa. IN PTR localhost

named.ca §Ó n©ng cao hiÖu qu¶ cña c¸c dÞch vô DNS, ®Ó gi¶m c¸c traffic trªn
m¹ng. DNS cho phÐp server lÊy d÷ liÖu tõ cache cña nã ®Ó tr¶ lêi c¸c query tõ c¸c
client. Nã thùc hiÖn ®iÒu nµy b»ng c¸ch l­u c¸c tr¶ lêi øng víi c¸c query trong bé
nhí t­¬ng øng víi c¸c query mµ client yªu cÇu tíi servers ®Ó sau nµy cã thÓ lÊy nã
®Ó dïng l¹i. DNS thùc hiÖn ®iÒu nµy b»ng cÊu h×nh trong file named.ca t­¬ng øng
víi c¸c domain kh¸c. TÊt c¶ th«ng tin cã chøa trong named.ca file ®­îc sö dông ®Ó
khëi ®éng c¸c cache buffer trªn DNS server mmçi khi named deamon(in.named)
khëi ®éng. Th«ng th­êng trong named.ca file bao gåm c¸c th«ng tin vÒ c¸c root
server v× nh÷ng th«ng tin nµy th­êng æn ®Þnh trong thêi gian dµi.

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
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 IN A 198.41.0.4
B.ROOT-SERVERS.NET 99999999 IN A 128.9.0.107
C.ROOT-SERVERS.NET 99999999 IN A 192.33.4.12

98
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

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: T¹i thêi ®iÓm khëi ®éng DNS server lÊy c¸c th«ng tin tham chiÕu
trong named.boot file ®Ó lÊy c¸c th«ng tin x¸c ®Þnh cÊu h×nh dÞch vô DNS lµ
primary, secondary, hoÆc cache server. §ång thêi x¸c ®Þch c¸c DNS database file
bao gåm named.hosts, named.rev, named.ca vµ named.local.

VÝ dô: VÒ file named.boot nã sö dông ®Ó cÊu h×nh 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

Mçi dßng trong file lµ dßng x¸c ®Þnh cÊu h×nh cña DNS server mµ DNS
deamon(in.named) ®äc mçi khi nã khëi ®éng.

ü Tõ kho¸ directory ë dßng ®Çu tøc DNS deamon sö dông default location mµ
tÊt c¶ c¸c DNS database file l­u trong nã /etc/named.

ü Dßng 2, 3, 4 víi tõ kho¸ primary nãi r»ng ®ã lµ c¸c DNS server lµ cung cÊp
c¸c dÞch vô DNS øng víi domain x¸c ®Þnh.

ü Dong cuèi cÊu h×nh server thùc hiÖn cache server cho c¸c root domain. C¸c
th«ng tin chi tiÕt trong named.ca.

CÊu h×nh secondary name server

99
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

Secondary name server lµ server mµ nhËn c¸c d÷ liÖu t­¬ng øng víi zone tõ primary
server. Secondary server kh«ng cã c¸c named.hosts vµ named.rev file riªng cña nã.
Thay vµo ®ã khi khëi ®éng secondary server yªu cÇu primary server truyÒn c¸c b¶n
copy cña c¸c file nµy. Sau ®ã secondary server khëi ®éng víi néi néi dung cÊu h×nh
dùa trªn file nã nhËn ®­îc.

ChØ cã mét sè thay ®æi trong file named.boot cña secondary DNS server so víi
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 gåm hÇu hÕt lµ c¸c dßng secondary thay cho primary. Dßng
thø hai chØ ra r»ng cÊu h×nh nh­ mét secondary server víi domain harmonics.com,
vµ thùc hiÖn copy tÊt c¶ c¸c d÷ liÖu liªn quan tõ server víi ®Þa chØ IP 100.0.0.2.
Dßng 3, 4 cÊu h×nh named nh­ lµ secondary server cho reverse domains 100.in-
addr.arpa, vµ 237.53.198.in-addr.arpa.

Dßng 5 cµ 6 chøa c¸c th«ng tin liªn quan ®Õn local filenames. C¶ hai file
named.local vµ named.ca rÊt Ýt khi thay ®æi néi dung.

Secondary server ®­îc khëi ®éng gÇn gièng nh­ primary server. Khi host ch¹y ë
møc 2 t¹i thêi ®iÓm boot, c¸c startup scripts kiÓm tra sù tån t¹i cña named.boot file.
NÕu nã tån t¹i th× tuú theo cÊu h×nh mµ nã thùc hiÖn c¸c thao t¸c tiÕp theo.

Trong thùc tÕ sÏ x¶y ra tr­êng hîp khi secondary server khëi ®éng mµ primary
server kh«ng s½n sµng. DNS cho phÐp cÊu h×nh c¸c ®Þa chØ IP thay thÕ trong lÖnh
secondary tõ c¸c server cã thÓ cã chøa c¸c zonal data, vµ cÊu h×nh server duy tr× c¸c
b¶n copy cña file.

VÝ dô:

100
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

secondary harmonics.com 100.0.0.2 100.0.0.4

Nã cã thÓ c¶i tiÕn b»ng c¸ch cho phÐp secondary name server duy tr× c¸c b¶n copy
cña c¸c file nhËn ®­îc. B»ng c¸ch nµy secondary sÏ lu«n cã c¸c b¶n copy cña zonal
data. Tuy nhiªn d÷ liÖu nµy sÏ ®­îc kiÓm tra qu¸ h¹n ®­îc ghi trong SOA record.
NÕu primary server ®­îc t×m thÊy trong zone th× secondary server sÏ yªu lÊy l¹i c¸c
th«ng tin vµ bá c¸c dÞch vô tr­íc ®ã.

§Ó cho phÐp named sö sö dông copy trong cét cuèi cïng cña tõ kho¸ secondary chØ
tªn file mµ d÷ liÖu 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

Dßng directory /usr/lib/named chØ ra r»ng sö dông datafile trong th­ môc
/usr/lib/named.

CÊu h×nh cache only server

Cache-only server kh«ng dùa vµo c¸c database file cña nã. Cache-only server chØ
l­u c¸c th«ng tin t­¬ng øng víi c¸c query mµ ®­îc sö dông cho sau nµy nÕu cã thÓ.

§Ó cÊu h×nh Cache-only server. Thªm vµo named.boot dßng lÖnh sau:
;
; Cache-only server for the harmonics.com domain
;
primary 0.0.127.in-addr.arpa /usr/lib/named/named.local
cache . /usr/lib/named/named.ca
;
LÖnh nslookup: Cho phÐp ch¹y chÕ ®é interactive ®Ó thùc hiÖn kiÓm tra ho¹t ®éng
cña dÞch vô DNS.

101
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

ü Sö dông nslookup ®Ó query local server

ü Sö dông nslookup ®Ó query remote server

ü Sö dông nslookup ®Ó download DNS database

Sö dông nslookup ®Ó Query Local Server

Ta cã thÓ sö dông nslookup ®Ó kiÓm tra c¸c server míi, c¸c thay ®æi vÒ cÊu h×nh
trªn server vµ ®Ó x¸c ®Þnh c¸c sù cè ®èi víi dÞch vô DNS.

§Ó thùc hiÖn ®­îc ®iÒu nµy ph¶i login vµo ng­êi qu¶n trÞ m¹ng (root) vµ sö dông
lÖnh nslookup. NgÇm ®Þnh lµ nslookup tr¶ c¸c t­íng øng víi c¸c 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ö dông nslookup ®Ó Query Remote Server

nslookup cã thÓ sö dông ®Ó thùc hiÖn c¸c query tíi c¸c remote server trªn m¹ng.
Remote servers cã thÓ trªn cïng m¹ng hoÆc cã thÓ ë ®©u ®ã trªn Internet. §iÒu nµy
cho phÐp kiÓm tra c¸c sù cè vÒ dÞch vô DNS trªn bÊt kú c¸c DNS server nµo. VÝ dô:
dïng nslookup qua host jade (primary server) ®Ó query cello (secondary server) cho
®Þa chØ cña soprano
# nslookup
Default Server: jade.harmonics.com
Address: 198.53.8.1
> soprano cello.harmonics.com

102
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

Server: cello.harmonics.com
Address: 198.53.237.2
Name: soprano.harmonics.com
Address: 100.0.0.4

Sö dông nslookup ®Ó Download DNS Database

nslookup cã thÓ thùc hiÖn ®Ó truyÒn d÷ liÖu DNS trùc tiÕp ra c¸c ®Çu ra chuÈn nh­
mµn h×nh hoÆc 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
cello 198.53.237.2
> exit
#

d) NIS (Network Information Service)

103
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

Víi c¸c m¹ng lín vµ kÕt nèi trªn nhiÒu m¸y th× mçi m¸y ph¶i t¹o c¸c account riªng
nÕu nh­ muèn truy nhËp. Víi viÖc t¹o nhiÒu c¸c account trªn mét hÖ thèng nh­ vËy
sÏ dÉn ®Õn viÖc gÆp rÊt nhiÒu khã kh¨n trong c«ng t¸c qu¶n trÞ vµ sö dông.

NIS lµ dÞch vô m¹ng (ph¸t triÓn Yellow Pages protocol) cung cÊp directory service,
®¸p øng viÖc qu¶n trÞ tËp trung trªn c¸c m¹ng lín. Nã lµ cho phÐp thùc hiÖn c¸c truy
nhËp ph©n t¸n trªn hÖ thèng m¹ng sö dông quyÒn truy nhËp th«ng qua mét trung
t©m lµ NIS master (hay ypmaster) ®Ó x¸c nhËn quyÒn truy nhËp. Trªn mét m¹ng lín
th«ng th­êng ng­êi ta cã thÓ thiÕt lËp thªm c¸c slaves (hay ypslaves) ®Ó thùc hiÖn
t¹o thµnh c¸c m¸y dù phßng (l­u toµn bé th«ng tin vÒ quyÒn truy nhËp trªn toµn hÖ
thèng tõ master). Trong tr­êng hîp master server gÆp sù cè slave cã thÓ thùc hiÖn
chøc n¨ng thay thÕ.

NIS l­u gi÷ tÊt c¶ c¸c th«ng tin trong “maps" mçi map øng víi mét vïng trªn
network ®iÒu nµy cho phÐp mét vµi groups sö dông chung mét NIS master nh­ng l¹i
cã quyÒn truy nhËp kh¸c nhau. NIS map kh«ng t­¬ng øng víi DNS domain mµ nã
cho phÐp nhiÒu mÒm dÎo h¬n trong viÖc cÊu h×nh. Maps bao gåm c¸c record ghi
d­íi d¹ng ASCII.

Thµnh phÇn cña NIS bao gåm:

ü domain

ü maps

ü Daemon

ypser Server process

ypbind Liªn kÕt c¸c process

ypxfrd Daemon truyÒn d÷ liÖu liªn kÕt tèc ®é cao.

roc.ypupdated Thùc hiÖn cËp nhËp d÷ liÖu khi d÷ liÖu map thay ®æi.

in.named Thùc hiÖn dÞch vô DNS (optional)

ü Utilities

104
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

ypcat LiÖt kª d÷ liÖu trong map

ypwich HiÖn tªn NIS server vµ map server

ypwatch T¹o key øng víi gi¸ trÞ trong map

ypinit Cµi ®Æt vµ x©y dùng NIS database

yppoll LÊy c¸c sè thø tù tõ server

ü C¸c tiÖn Ých kh¸c

yppush ChuyÓn d÷ liÖu tõ master tíi slave.

ypset §Æt liªn kÕt thùc sù tíi server.

ypxfr TruyÒn d÷ liÖu tõ master tíi slave víi tèc ®é lín.

makedbm T¹o dbm file cho mét NIS map

Th«ng th­êng NIS server cã thÓ hç trî mét vµi map files th«ng th­êng lµ c¸c file
chuÈn trªn UNIX nh­ group, hosts, networks, passwd, protocols, rpc, services sau
®ã nã ®­îc chuyÓn thµnh c¸c file t­¬ng øng vÝ dô:

/etc/group group.byname, group.bygid

/etc/hosts hosts.byname, hosts.byaddr

/etc/passwd passwd.byname, passwd.byuid

TÊt c¶c c¸c file nµy ®­îc l­u d­íi khu«n DBM gäi lµn gdbm. Cã thÓ sö dông tiÖn
Ých ypmakedbm ®Ó t¹o database file cho NIS.

3. NFS (Network File System)

Mét hÖ thèng sö dông trªn c¬ së m¹ng UNIX víi kh¶ n¨ng xö lý ph©n t¸n vµ
client/server. Trªn m¹ng gåm cã nhiÒu workstation kÕt nèi víi hÖ thèng m¸y chñ vµ
kÕt nèi gi÷a c¸c workstation víi nhau. NhiÒu øng dông lín cã thÓ ®­îc l­u trªn c¸c
server. Cã mét sè tiÖn Ých cho phÐp truy nhËp tíi c¸c file ë xa nh­ng chØ cho phÐp
thùc hiÖn c¸c truyÒn file hoÆc d¹ng terminal. §Ó tÝch hîp hÖ thèng trªn m¹ng cho
phÐp truy nhËp tµi nguyªn ë xa UNIX ®­a ra dÞch vô NFS.

105
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

NFS cho phÐp thùc hiÖn viÖc ®äc vµ ghi c¸c file trªn NFS servers. ViÖc truy nhËp tõ
c¸c client tíi NFS servers cã thÓ thùc hiÖn th«ng qua ¸nh x¹ (mount) nã ®Õn mét th­
môc trªn m¸y côc bé ( gäi lµ ®iÓm "mount"). Sau ®ã viÖc truy xuÊt ®Õn th­ môc cña
m¸y tõ xa ®­îc thùc hiÖn b»ng c¸ch truy xuÊt trªn m¸y côc bé qua ®iÓm "mount".

VÝ dô: mount -F nfs –o ro Remote:/export/app /temp/data

Khi sö dông lÖnh nµy client kiÓm tra remote machine xem cã quyÒn truy nhËp th­
môc hay kh«ng. NÕu cã quyÒn th× nã göi mét th«ng tin ®iÒu khiÓn sö dông ®Ó ®Þnh
h­íng tÊt c¶ c¸c yªu cÇu truy nhËp tõ client. Tr­¬ng tr×nh thùc hiÖn viÖc kiÓm so¸t
vµ cung cÊp c¸c dÞch vô lµ nfsd. Trong hÖ ®iÒu hµnh UNIX mét m¸y cã thÓ võa lµ
NFS server võa lµ client.

ViÖc sö dông c¸c dÞch vô NFS gióp cho viÖc qu¶n trÞ tËp trung trªn hÖ thèng lín
®­îc thuËn lîi h¬n (nhÊt lµ trong c¸c c«ng t¸c sao l­u vµ håi phôc, qu¶n trÞ c¸c øng
dông ...)

NFS server

Ho¹t ®éng cña NFS trªn server ®­îc ®iÒu khiÓn bëi c¸c deamon lµ rpc.mountd, nfsd
vµ file cÊu h×nh thiÕt lËp danh s¸ch c¸c th­ môc mµ client cã thÓ thùc hiÖn mount
trong file /etc/exports. File /etc/exports ®­îc ®äc mçi lÇn mountd daemon nhËn
®­îc yªu cÇu mount th­ môc.

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)

/usr/ftp (ro)

Muèn thay ®æi tËp tin /etc/exports ph¶i cã quyÒn superuser trªn m¸y server. Sau khi
thay ®æi ®Ó cËp nhËt l¹i th«ng tin cho server sö dông lÖnh share:

106
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

NFS client

Client truy xuÊt c¸c tËp tin trªn server b»ng c¸ch mount c¸c th­ môc mµ server xuÊt.
Khi client mount mét th­ môc trªn server ®ã lµ mét qu¸ tr×ng sö dông chuçi lÖnh
gäi thñ tôc tõ xa (Remote Procedure Call) cho phÐp client truy xuÊt ®Õn th­ môc
trªn server. Th«ng tin nµy ®­îc deamon rpc.mountd xö lý vµ x¸c ®Þnh client ®­îc
phÐp hay kh«ng ®­îc phÐp truy xuÊt ®Õn c¸c th­ môc cña server. TiÕn tr×nh client
t×m server xuÊt ra c¸c th«ng tin mµ client cÇn vµ sau ®ã thiÕt lËp ®­êng truyÒn gi÷a
client vµ server gäi lµ binding. Sù rµng buéc NFS x¶y ra trong suèt qu¸ tr×nh client
mount mét th­ môc tõ xa. ViÖc mount th­ môc tõ xa cã thÓ ®­îc thùc hiÖn khi khëi
®éng hoÆng th«ng qua lÖnh mount hay c¬ chÕ automounter. TËp tin /etc/fstab liÖt kª
c¸c th­ môc mµ client mount trong khi khëi ®éng. Víi automounter client cã thÓ tù
®éng mount c¸c th­ môc trong qu¸ tr×nh lµm viÖc mµ kh«ng cÇn ph¶i gäi lÖnh
mount.

4. Mail

Trong hÖ ®iÒu hµnh Unix server th­êng hç trî hai thµnh phÇn gåm Mail User Agent
(MUA-mail, mailx elm) vµ Mail Transport Agent (MTA -sendmail). Víi c¸c thµnh
phÇn nµy ng­êi göi c¸c message cã thÓ thùc hiÖn viÖc so¹n, göi c¸c mesage tíi c¸c
user trªn c¸c m¸y vµ ®äc c¸c message.

Víi MTA cho phÐp thùc hiÖn viÖc x¸c ®Þnh ®­êng sÏ göi message dùa theo ®Þa chØ
cña ng­êi nhËn vµ chuyÓn nã vµo mailbox cña ng­êi nhËn. UNIX hç trî viÖc truyÒn
mail qua m¹ng TCP/IP hoÆc qua dial-up sö dông UUCP vµ sö dông SMTP trong
®Þnh d¹ng mail (Simple Mail Transfer Protocol ).

Ch­¬ng tr×nh sendmail cã thÓ ®­îc cÊu h×nh lµm mail router, final delivery agents,
SMTP client, SMTP-server tuú theo cÊu h×nh cña ng­êi qu¶n trÞ.

sendmail nh­ Mail Router

sendmail cã thÓ thùc hiÖn chøc n¨ng nh­ lµ mail router tøc lµ nã cã thÓ lÊy letter,
xem xÐt ®Þa chØ ng­êi nhËn vµ quyÕt ®Þnh c¸ch tèt nhÊt ®Ó göi nã.

107
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

§Çu tiªn sendmail x¸c ®Þnh mét sè th«ng tin nã cÇn nh­ thêi gian vµ tªn cña m¸y
chñ mµ nã ®ang ch¹y. Nh­ng viÖc cÊu h×nh nã nh­ thÕ nµo l¹i phô théc vµo cÊu h×nh
cña ng­êi qu¶n trÞ trong file sendmail.cf. C¸c th«ng tin trong sendmail.cf sÏ x¸c
®Þnh ph­¬ng ph¸p ®iÒu khiÓn mail vµ ®­êng ®i cña mail sÏ ®­îc göi. .

sendmail nh­ MTA-Client (Sender) vµ Server (Receiver) SMTP

sendmail cã thÓ thùc hiÖn chøc n¨ng MTA víi SMTP protocol. Bëi v× SMTP lµ giao
thøc kÕt nèi ®Þnh h­íng lu«n cã c¸c client vµ server. SMTP client göi letter tíi
SMTP server qua SMTP port.

sendmail cã thÓ lµ mét SMTP client hoÆc mét SMTP server. Khi ch¹y nã víi chøc
n¨ng MUA nã sÏ trë thµnh SMTP client. Khi hÖ thèng khëi ®éng vµ ch¹y nã ë d¹ng
daemon mode nã cã thÓ thÓ hiÖn nh­ lµ mét SMTP server nhËn c¸c mail ®Õn.

CÊu h×nh sendmail

5. UNIX client

Trong hÖ thèng viÖc chän c¸c client phï hîp còng lµ mét biÖn ph¸p lµ t¨ng hiÖu qu¶
sö dông hÖ thèng. Tuy nhiªn ng­êi ta cã thÓ chén lÉn c¸c lo¹i client trªn mét m¹ng.

Gåm mét sè c¸c lo¹i client sau:

Diskless clients—Lµ client kh«ng cã ®Üa riªng cña nã. Thùc hiÖn viÖc khëi ®éng
th«ng qua m¹ng nªn ®ßi hái trªn m¹ng ph¶i cã bootp server vµ NFS server cung cÊp
c¸c dÞch vô vÒ khëi ®éng m¹ng vµ ®Üa cho client. V× diskless client kh«ng cã ®Üa
riªng vµ khëi ®éng tõ m¹ng cho nªn nã ®ßi hái viÖc sö dông mét l­oùng tµi nguyªn
lín trªn c¸c server

Dataless clients—Lµ c¸c client cã phÇn ®Üa riªng cña nã nh­ng vÉn sö dông c¸c dÞch
vô, c¸c tiÖn Ých cung cÊp trªn m¹ng. Nã kh«ng thÓ tù boot ®­îc mµ ph¶i boot tõ
m¹ng. Tuy nhiªn do cã phÇn ®Üa riªng cho nªn viÖc ®ßi hái sö dông ®Üa trªn m¹ng
kh«ng lín nh­ diskless client.

Standalone system - Lµ hÖ thèng cã phÇn ®Üa riªng cña nã, cã thÓ tù khëi ®éng
kh«ng ®ßi hái c¸c dÞch vô khëi ®éng trªn m¹ng. NÕu kÕt nèi vµo m¹ng nã cã thÓ sö

108
Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX

dông c¸c dÞch vô cña m¹ng mµ ®­îc cung cÊp bëi c¸c server.

Time sharing system. – Lµ hÖ thèng víi standalone system vµ c¸c terminal kÕt nèi
víi nã th«ng qua trùc tiÕp c¸c serial line hoÆc qua modem. C¸c terminal kh«ng cã
disk, printer, vµ file vµ CPU riªng cña nã. Mµ nã sö dông chia sÎ c¸c tµi nguyªn nµy
víi server.

Ngoµi c¸c hÖ thèng ch¹y trªn c¬ së hÖ ®iÒu hµnh Unix. C¸c Unix server cßn hç trî
c¸c kÕt nèi tõ c¸c client sö dông c¸c hÖ ®iÒu hµnh kh¸c kÕt nèi víi nã th«ng qua c¸c
dÞch vô TCP/IP, X-terminal, SMTP ...

Qu¶n trÞ c¸c client: ViÖc qu¶n trÞ quyÒn truy nhËp trªn hÖ thèng (xem phÇn trªn )
bao gåm phÇn qu¶n trÞ quyÒn ng­êi sö dông truy nhËp tªn hÖ thèng, qu¶n trÞ viÖc sö
dông tµi nguyªn nh­ ®Üa, m¸y in, DNS, ...

Tuy nhiªn víi c¸c client yªu cÇu c¸c dÞch vô khëi ®éng tõ server th× ®ßi hái ph¶i cã
mét vïng d÷ liÖu ®­îc tæ chøc theo cÊu tróc cÇn thiÕt phôc vô cho ho¹t ®éng cña c¸c
client nµy. Trªn ®ã chøa c¸c th«ng tin vÒ khëi ®éng hÖ thèng, vÒ cÊu h×nh m¹ng, vÒ
®Þnh ngi∙ m«i tr­êng ...§Ó thùc hiÖn viÖc tæ chøc nµy, mét sè hÖ ®iÒu hµnh UNIX
cung cÊp c¸c tiÖn Ých cho phÐp t¹o vµ xo¸ c¸c phÇn th«ng tin nµy.

109

You might also like