P. 1
Tong Quan Ve UNIX

Tong Quan Ve UNIX

|Views: 5|Likes:
Published by toanthang87

More info:

Published by: toanthang87 on Nov 03, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

10/15/2011

pdf

text

original

Sections

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...................................................6 1.

HÖ ®iÒu hµnh Unix .................................................................6 2. C¸c ®Æc ®iÓm c¬ b¶n............................................................9 II. LÖnh vµ tiÖn Ých c¬ b¶n...........................................................10 1. C¸c lÖnh khëi t¹o.....................................................................10 2. C¸c lÖnh hiÓn thÞ ..................................................................10 3. §Þnh híng vµo ra.....................................................................10 4. Desktop:.................................................................................11 5. C¸c lÖnh thao th môc vµ t¸c file.............................................11 6. In Ên........................................................................................12 7. Th tÝn ....................................................................................12 8. Qu¶n lý tiÕn tr×nh..................................................................12 9. KiÓm so¸t quyÒn h¹n vµ b¶o mËt...........................................13 10. Lu tr÷ vµ håi phôc d÷ liÖu...................................................13 11. C¸c thao t¸c trªn m¹ng..........................................................13 III. Th©m nhËp hÖ thèng - C¸c lÖnh c¨n b¶n.................................13 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..........................................................................................13 2. C¸c lÖnh hiÓn thÞ ..................................................................15 3. §Þnh híng vµo ra vµ ®êng èng:.............................................15 Tæ hîp c¸c tËp tin víi nhËp chuÈn.........................................16 4. Desktop:.................................................................................17 5. C¸c lÖnh thao t¸c trªn th môc, file..........................................21 C¸c thao t¸c file....................................................................23

1

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX C¸c kiÓu File......................................................................24 6. In Ên........................................................................................30 7. Th tÝn ®iÖn tö .......................................................................31 LÖnh mailx...........................................................................32 8. Qu¶n lý tiÕn tr×nh..................................................................33 9. C¸c lÖnh liªn quan b¶o mËt vµ quyÒn h¹n .............................34 a) Kh¸i niÖm:...........................................................................34 2. C¸c lÖnh..............................................................................36 10. Lu tr÷ vµ håi phôc d÷ liÖu...................................................39 11. C¸c thao t¸c trªn m¹ng..........................................................41 IV. LËp tr×nh Shell.........................................................................44 1. C¸c ®Æc tÝnh c¬ b¶n............................................................44 LÖnh ®¬n gi¶n....................................................................44 NhiÒu lÖnh trªn mét dßng....................................................44 Dßng lÖnh dµi.......................................................................45 BiÕn trong shell....................................................................45 BiÕn m«i trêng.....................................................................47 2. LËp tr×nh shell.......................................................................47 a) LÖnh ®iÒu kiÖn..................................................................48 LÖnh true vµ false: True lu«n tr¶ gi¸ trÞ 0, false lu«n tr¶ gi¸ trÞ 1......................................................................................48 LÖnh test: KiÓm tra ®iÒu kiÖn xem ®óng hay sai..............48 Testing Character Data ..................................................48 Testing Numeric Data ....................................................48

2

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX Testing for Files ..............................................................48 Shorthand Method of Doing Tests ..................................49 LÖnh case.............................................................................50 2. LÖnh lÆp.............................................................................51 3. Shell Functions ....................................................................52 4. LÖnh trap.............................................................................52 5. Thùc hiÖn lÖnh ®iÒu kiÖn víi cÊu tróc AND(&&) vµ OR (||) 53 Debugging Shell Programs ..................................................53 V. Starting Up and Shutting Down .................................................53 1. Booting the System ................................................................53 Kh¸i niÖm System States ....................................................56 Startup Scripts .....................................................................59 Thay ®æi tr¹ng th¸i víi init hoÆc telinit ..............................61 2. Shutting Down the System ....................................................62 VI. Managing processes.................................................................62 1. Processes................................................................................62 Mét sè lÖnh liªn quan ®Õn viÖc qu¶n lý tiÕn tr×nh:kill, ps 63 2. Process scheduling.................................................................65 3. Process priorities.....................................................................67 VII. Security....................................................................................67 1. Security datafiles....................................................................68 password File........................................................................68 Shadow Password File...........................................................70 Group File.............................................................................70

3

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 2. Group and User administration...............................................72 a) Group administration...........................................................72 2. User administration ............................................................72 3. System access permissions....................................................76 4. Acounting................................................................................76 Connect Session Statistics....................................................77 Process Usage......................................................................77 Sö dông bé nhí. ....................................................................78 Disk Space Utilization...........................................................78 Printer Usage .......................................................................79 VIII. File System and Disk Administration.......................................79 1. CÊu tróc th môc trªn Unix.......................................................79 2. Creating file systems..............................................................80 3. Mounting and unmounting file systems..................................81 4. Managing disk use..................................................................84 5. Checking file system integrity................................................86 6. Backup and restore.................................................................88 IX. Printer administration...............................................................89 X. Network administration.............................................................90 1. UUCP (Unix to Unix copy).......................................................90 C¸c file cÊu h×nh /usr/lib/uucp.............................................92 2. TCP/IP and Neworks................................................................94 a) TCP/IP..................................................................................94 2. PPP.......................................................................................99

4

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 3. DNS....................................................................................101 DNS Client..........................................................................101 DNS server.........................................................................102 CÊu h×nh primary name server...................................103 CÊu h×nh secondary name server.....................................110 CÊu h×nh cache only server..............................................111 4. NIS (Network Information Service).....................................114 3. NFS (Network File System)....................................................116 4. Mail.......................................................................................118 CÊu h×nh sendmail............................................................119 5. UNIX client............................................................................119

5

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:

Hardware Kernel Shell User

6

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

7

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 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.

8

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

Bourne C Korn User

1 2 3

3 2 1

3 1 2

1 3 2

3 2 1

Gåm c¸c tiÖn tÝch, c¸c øng dông giao tiÕp víi ngêi sö dông. 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 Interoperability Transparency Security Efficiency Reliability Accessibility Cost Scalability Third-party available Directory services UNIX NetWare Windows NT Fair Fair Good Fair Good Fair Fair Fair Fair Fair

Excellent Good Good Good Good Good Excellent Good Excellent Good Good Excellent Depends Fair Excellent Good utilities Excellent Excellent 9 Good Good

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX Flexibility Performance Print support Years of experience Excellent Excellent Good >25 Good Good Good >10 Fair Fair Fair <10

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 su uname who who am i exit env man Thùc hiÖn login vµo mét ngêi sö dông nµo ®ã ChuyÓn sang ngêi sö dông tõ mét ngêi sö dông nµo ®ã Xem mét sè th«ng tin vÒ hÖ thèng. HiÖn lªn ngêi ®ang th©m nhËp hÖ thèng xem ai ®ang lµm viÖc t¹i terminal Tho¸t khái hÖ thèng Xem th«ng tin tÊt c¶ c¸c biÕn m«i trêng. Gäi tr×nh trî gióp 2. C¸c lÖnh hiÓn thÞ echo setcolor HiÓn thÞ dßng ký tù hay biÕn lªn mµn h×nh §Æ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 10

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX cmd < file LÊy ®Çu vµo tõ file cmd>>file Néi dung hiÓn thÞ ®îc thªm vµo file cmd1 | cmd2 4. Desktop: bc cal date mesg Dïng ®Ó tÝnh to¸n c¸c biÓu thøc sè häc HiÖn lÞch HiÓn thÞ vµ ®Æt ngµy CÊm/ cho phÐp hiÓn thÞ th«ng b¸o trªn mµn h×nh (bëi cmd2 §Çu ra cña lÖnh cmd1 thµnh ®Çu vµo cña lÖnh

write/ hello) spell vi write/ hello KiÓm tra lçi chÝnh t¶ So¹n th¶o v¨n b¶n 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 cp find mkdir rmdir mv pwd ls Thay ®æi th môc Sao chÐp mét hay nhiÒu tËp tin T×m vÞ trÝ cña tËp tin T¹o th môc Xo¸ th môc ChuyÓn/ ®æi tªn mét tËp tin HiÖn vÞ trÝ th môc hiÖn thêi HiÖn tªn file vµ thuéc tÝnh cña nã

11

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX ln sort cat tail more grep wc T¹o liªn kÕt file (link) S¾p xÕp thø tù tËp tin hiÓn thÞ Xem néi dung cña file Xem néi dung file t¹i cuèi cña file HiÖn néi dung tËp tin tr×nh bµy díi d¹ng nhiÒu trang T×m vÞ trÝ cña chuçi ký tù §Õm sè tõ trong tËp tin

compress NÐn file. uncompress 6. In Ên cancel lp lpstat 7. Th tÝn mail mailx 8. Qu¶n lý tiÕn tr×nh kill ps Hñy bá mét qu¸ tr×nh ®ang ho¹t ®éng HiÖn c¸c tiÕn tr×nh ®ang ho¹t ®éng vµ tr¹ng th¸i cña Göi - nhËn th tÝn ®iÖn tö Huû bá viÖc In In tµi liÖu ra m¸y in HiÖn tr¹ng th¸i hµng chê in Më nÐn.

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

12

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 9. KiÓm so¸t quyÒn h¹n vµ b¶o mËt passwd dông chgrp chmod chown Thay ®æi quyÒn chñ së h÷u file hoÆc th môc Thay ®æi quyÒn h¹n trªn file hoÆc th môc Thay ®æi ngêi së h÷u tËp tin hay th môc thay ®æi password hoÆc c¸c tham sè ®èi víi ngêi sö

10.Lu tr÷ vµ håi phôc d÷ liÖu cpio tar Lu tr÷ vµ håi phôc d÷ liÖu ra c¸c thiÕt bÞ lu tr÷ Lu tr÷ d÷ liÖu ra tape hoÆc c¸c file tar 11.C¸c thao t¸c trªn m¹ng ping netstat ftp telnet Uutry rcp KiÓm tra sù tham gia cña c¸c nót trªn m¹ng KiÓm tra tr¹ng th¸i cña m¹ng hiÖn thêi Thùc hiÖn dÞch vô truyÒn nhËn file Thùc hiÓn kÕt nèi víi mét hÖ thèng KÕt nèi UUCP 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 13

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 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 -A -m -r -s HiÖn tÊt c¶ c¸c th«ng tin. HiÖn c¸c th«ng tin liªn quan ®Õn license. HiÖn tªn phÇn cøng cña hÖ thèng HiÖn lªn version hÖ ®iÒu hµnh. 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 -n ChØ ra hÖ thèng ®ang ch¹y t¹i level nµo. HiÖn th«ng tin user ®ang login vµo hÖ thèng

VÝ du: $ who juucp tty00 Sep 28 11:13

14

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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Þ 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Ó.

15

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 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.

16

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 ^d LÖnh cal: HiÖn lÞch díi d¹ng sau: $ cal February 1994 S M Tu 1 6 13 20 27 7 14 21 28 8 15 22 W 2 9 16 23 Th 3 10 17 24 F 4 11 18 25 S 5 12 19 26

LÖnh date: HiÓn thÞ ngµy giê theo khu«n d¹ng mong muèn vµ

17

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 y CÊn kh«ng cho hiÓn thÞ. 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 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ô:

18

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX $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

Comma nd mode a, A, i, I, o, O

Text mode

§Ó 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 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 B¾t ®Çu ë dßng n B¾t ®Çu ë pattern Phôc håi tËp tin sau khi hÖ thèng treo

vi +n <file> vi +/pattern vi -r tËp tin

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

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 0 $ /pattern ?pattern a ^b B b ^d D d Esc ^f G nG h i thêi. j k l n O o Return ^u U u W ChuyÓn con trá xuèng mét dßng. ChuyÓn con trá lªn mét dßng. ChuyÓn con trá sang ph¶i mét ký tù. LÆp l¹i t×m kiÕm. Thªm mét dßng míi trªn dßng hiÖn thêi. Thªm mét dßng míi díi dßng hiÖn thêi. B¾t ®Çu mét dßng míi ChuyÓn lªn nöa trang mµn h×nh. Undo—Thay thÕ l¹i dßng hiÖn thêi nÕu cã thay ®æi. Undo thay ®æi cuèi cïng trªn file ®ang so¹n th¶o. Move forward one space-delimited word. ChuyÓn con trá tíi ®Çu dßng ChuyÓn con trá tíi cuèi dßng. T×m x©u v¨n b¶n b¾t ®Çu tõ dßng kÕ tiÕp. T×m x©u v¨n b¶n tõ dßng tríc ®ã vÒ ®Çu. Thªm text vµo sau ký tù hiÖn thêi. Back up one screen of text. Back up one space-delimited word. Back up one word. ChuyÓn xuèng díi nöa trang mµn h×nh Xo¸ ®Õn cuèi dßng dw = Xo¸ 1 tõ, dd = Xo¸ mét dßng ChuyÓn tõ insert mode sang command mode ChuyÓn xuèng mét trang mµn h×nh ChuyÓn con trá tíi dßng cuèi cïng cña file ChuyÓn con trá tíi dßng thø n ChuyÓn sang tr¸i mét ký tù. ChÌn text (chuyÓn sang insert mode) sau ký tù hiÖn

Backspace Move left one character.

20

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX w x :e file :n :q :q! :r file :w file :w Di chuyÓn tiªp mét tõ. Xo¸ mét ký tù. So¹n th¶o file míi mµ kh«ng tho¸t khái vi. ChuyÓn tíi file tiÕp trong danh s¸ch file dang so¹n th¶o. Tho¸t khái lÖnh vi vµ quay trë l¹i dÊu nh¾c cña UNIX. Tho¸t khái lÖnh vi vµ quay trë l¹i hÖ thèng kh«ng ghi §äc néi dung file chØ ®Þnh vµ ®a nã vµo trong bé Ghi néi dung trong bé ®Öm ra file chØ ®Þnh. 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.. 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 -c -a -F HiÖn chi tiÕt th«ng tin mét file HiÖn danh s¸ch c¸c tËp tin theo thø tù HiÖn lªn c¸c file bao gåm c¶ file .<tªn file> (vd: .profile) HiÖn ph©n biÖt gi÷a directory (/), executable files (*) víi c¸c

bÊt cø thay ®æi nµo. ®Öm hiÖn thêi cña lÖnh vi.

21

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 -r -x Sö dông víi –u s¾p xÕp ®Çu ra theo time thay cho tªn. §¶o ngîc tr×nh tù s¾p xÕp Cho phÐp hiÓn thÞ d¹ng nhiÌu cét

VÝ dô: $ls -F bin/ chmod* etv/ temp $ls -l drwx-----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 2 sshah admin 512 May 12 13:08

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 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

22

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX LÖnh rmdir: Sö dông rmdir ®Ó xo¸ th môc rmdir [-ps] <directory> -p -s §ßi hái chÊp nhËn c¸c th môc bÞ xo¸. 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 lu trªn UNIX. Mçi file system lu trong th môc trong hÖ thèng c©y thc 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 lu trªn hÖ thèng UNIX nhng ®Ó 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.

group ID: ID Group cña file.

23

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 lu 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

24

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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: -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-------rw------2 sshah 2 sshah admin admin 42 May 12 13:04 goodbye 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 nhng 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-----lrwx-----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 2 sshah 1 sshah admin admin 512 May 12 13:08 public_html 11 May 12 13:08 www ->

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

25

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

26

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX [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 -f NÕu file ®· cã th× lÖnh sÏ hái cã ghi ®Ì lªn file hay kh«ng. Thùc hiÖn lÖnh mµ kh«ng hái g×.

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 -i: Cho phÐp xo¸ c¶ th môc bao gåm c¶ file vµ th môc. 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>

27

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX -i -r NÕu file trªn ®Ých ®· cã th× sÏ ®îc hái cã ghi ®Ì hay kh«ng 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> -mtime <n> -user <un> §óng nÕu file bÞ truy nhËp n ngµy tríc ®©y. §óng nÕu file bÞ thay ®æi n ngµy tríc ®©y. §óng nÕu chñ cña files lµ un. NÕu gi¸ trÞ lµ sè nã

sÏ so s¸nh víi userID. -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> on. -links <n> T×m files cã n links. -type <x> T×m file cã kiÓu x. -newer <fn> -local T×m file bÞ thay ®æi gÇn h¬n so víi fn. T×m files cã quyÒn truy nhËp files ®óng víi gi¸ trÞ

ChØ t×m t¹i local. T×m file cã kÝch thíc n blocks (c chØ ra character

-size <n> [c] –byte) -print -depth directory). -name

HiÖn ®Çy ®ñ ®êng dÉn cña files. Lu«n ®óng (cho phÐp t×m tÊt c¶ c¸c files trªn

<pt>T×m files tho¶ m·n mÉu t×m pt.

28

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 -h -i -n In ra tæng sè dßng cã chøa mÉu cÇn t×m. Bá tªn file kh«ng hiÖn lªn t¹i dßng cã chøa mÉu t×m thÊy. Bá qua ph©n biÖt ch÷ ho¸ vµ ch÷ thêng. 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.

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

29

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 -c <option> <files> 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> -q <pri> Sè character ®îc in trªn 1 inch (10/12 ...)

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: lpstat <option> -a -d HiÖn danh s¸ch c¸c printer. HiÖn m¸y in ngÇm ®Þnh. HiÖn tr¹ng th¸i hµng chê in cña m¸y in

-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.

30

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX -t -v <pr> HiÖn tÊt c¶ th«ng tin vÒ tr¹ng th¸i. HiÖn tªn m¸y in vµ tªn ®êng dÉn tíi thiÕt bÞ t¬ng øng.

LÖnh cancel: cancel

Huû bá viÖc In Ên

<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: + d h HiÖn message tiÕp theo HiÖn mesage tríc ®ã Xo¸ message hiÖn thêi.

HiÖn header cña message.

m <user> Göi message tíi user. p s <file> w<file> q x HiÖn l¹i néi dung message. Ghi message ra tËp tin hoÆc mbox Ghi message ra file nhng kh«ng ghi phÇn header. Tho¸t khái mail Tho¸t khái mail mµ kh«ng thay ®æi th«ng b¸o

31

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX ! 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> = delete dp tiÕp edit exit headers h m e So¹n th¶o message. Tho¸t khái mailx vµ kh«ng lu l¹i thay ®æi. HiÖn header cña message chØ ®Þnh. Göi message tíi ngêi chØ ®Þnh HiÖn message tiÕp theo HiÖn message lªn mµn h×nh. 32 d Cho phÐp thùc hiÖn c¸c lÖnh shell. HiÖn sè cña message Xo¸ message hiÖn thêi Xo¸ message vµ chuyÓn ®Õn message kÕ

mail <user> next print n p

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX quit q Tho¸t khái mailx vµ hoµn thµnh c¸c thao t¸c

®· thùc hiÖn. reply Reply save <file> Save undelete visual write <file> S u v w r R s Tr¶ lêi mail tíi ngêi göi vµ c¸c ngêi nhËn. ChØ tr¶ lêi mail tíi ngêi göi. Ghi message tíi file chØ ®Þnh. Ghi message sau khi göi nã. Bá xo¸ bëi lÖnh delete. Dïng lÖnh vi ®Ó so¹n th¶o message. 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 -0 -9 signal) -15 signal) 33 KÕt thóc tiÕn tr×nh- ngÇm ®Þnh (software termination KÕt thóc tÊt c¶ c¸c tiÕn tr×nh trong process group. KÕt thóc tiÕn tr×nh kh«ng ®iÒu kiÖn.(Unconditional kill

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 -d -a HiÖn th«ng tin vÒ tÊt c¶ c¸c process ®ang ho¹t ®éng. In th«ng tin vÒ tÊt c¶ c¸c tiÕn tr×nh trõ phÇn leader 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: Ngng 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: Tªn ngêi sö dông

34

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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, 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 lu 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 ®îc m« t¶ b»ng

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

35

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX Read (r) Write (w) Execute (x) Total 4 2 1 7 4 2 1 7 4 2 1 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)
2. 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>. VÝ dô: $ls -a test

36

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX -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 1 2 3 4 5 6 7 read and write (and execute for directories) read and write (not execute for directories) read (and execute for directories) read write (and execute for directories) write execute no permissions

VÝ dô: $umask 177 $cat test ... ^d $ls -l test -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 §Ó 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).

37

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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-- ..... $chmode g +w test $ls -l test

38

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX -rwxrwxr-- ...... test 10.Lu 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Þ lu 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 lu tr÷ cã nh÷ng chøc n¨ng vµ tiÖn Ých kh¸c nhau nhng ®Òu cã chung mét môc ®Ých lµ lu 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 lu 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 lu 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: Lu tr÷ hoÆc håi phôc files tõ c¸c thiÕt bÞ lu tr÷. tar <options> <tarfile name> <filenames to backup or restore> Mét sè c¸c option hay dïng. option =[key]<sub> Key c r T¹o lu tr÷ míi vµ thùc hiÖn b¾t ®Çu ghi tõ ®Çu. File lu tr÷ ®îc ghi vµo vih trÝ cuèi cña thiÕt bÞ lu tr÷.

39

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX t u HiÖn danh s¸ch c¸c file lu tr÷. CËp nhËp thªm nÕu files cha cã, hoÆc ®· thay ®æi so

víi lÇn sao chÐp tríc. x <sub> f n v VÝ dô: LÊy th«ng tin tõ thiÕt bÞ lu tr÷. e Cho phÐp ghi trªn nhiÒu volume.

Sö dông c¸c ®èi sè thay cho c¸c gi¸ trÞ ngÇm ®Þnh. ChØ thiÕt bÞ lu tr÷ kh«ng phaie lµ tape HiÓn thÞ tªn file sao lu hoÆc håi phôc 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: chuÈn cpio -o [acv] -i [cdmnv] c m¸y kh¸c. d m a u v Th môc sÏ ®îc t¹o nÕu cÇn. D÷ l¹i thêi gian thay ®æi tríc ®©y. Thay ®æi thêi gian truy nhËp. Sao chÐp kh«ng ®iÒu kiÖn. HiÖn danh s¸ch tªn file. Ghi d÷ liÖu ra ®Çu ra thiÕt bÞ lu tr÷ §äc d÷ liÖu tõ thiÕt bÞ lu tr÷. Lu tr÷ vµ håi phôc d÷ liÖu ra c¸c thiÕt bÞ lu tr÷

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

40

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX VÝ dô: ls | cpio -oc > /dev/rst0

cpio -icd < /dev/rst0 LÖnh dd: Sao lu vµ håi phôc d÷ liÖu theo ®óng tr¹ng th¸i trªn hÖ thèng file (block copy) dd [if= if= ][of= ]

§Ç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 -c -i -n -r -t -u -x HiÓn thÞ th«ng tin tÊt c¶ c¸c interface TiÕp tôc hiÓn thÞ vµ tù update sau mét vµi gi©y. ChØ hiÓn thÞ th«ng tin vÒ interface HiÓn thÞ ®Þa chØ thay cho tªn. HiÓn thÞ th«ng tin vÒ kernel routing table ChØ hiÓn thÞ th«ng tin vÒ TCP socket ChØ hiÓn thÞ th«ng tin vÒ UDP socket. HiÓn thÞ th«ng tin vÒ socket

41

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX VÝ dô: # netstat –r Routing Table: Destination Gateway Flags Ref Use Interface

—————————— —————————— —— —— ——— ———— localhost rmtnet rmtppp subnet1 localhost ws2 ws2 ws1 UH UG UG U U UG 0 0 0 3 3 0 109761 20086 1096 1955 0 16100 le0 le0 lo0

224.0.0.0 ws1 default gateway

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 binary cd close del ChuyÓn sang ASCII transfer mode. ChuyÓn sang binary transfer mode. Thay ®æi th môc trªn ftp server. KÕt thóc kÕt nèi. Xo¸ file trªn ftp server

42

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX pwd get help lcd mget mput open put quit HiÖn th môc hiÖn thêi trªn ftp server LÊy file tõ ftp server Trî gióp Thay ®æi th môc trªn client LÊy mét sè file trªn ftp server TruyÒn mét vµi file lªn ftp server Më kÕt nèi víi ftp a server TruyÒn file tíi ftp server 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

43

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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
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.

44

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 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 cha ®Þ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 y 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.

45

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX { variable:+value} ${variable:?message} NÕu biÕn kh¸c null th× sÏ lÊy value. 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} 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

46

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX cd $WORKDIR cpio -i $* </dev/rmt0 $ restoreany file1 file2 file3 C¸c file file1 file2 file3 sÏ ®îc restore tõ thiÕt bÞ lu tr÷ LÖnh shift: Dïng ®Ó dÞch biÕn vÞ trÝ VÝ dô: $1 = -r $2 = file1 $3 = file2 shift 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 lu 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 7 Null command ®¹i diÖn bëi dÊu (:)

47

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX §Ó 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 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 -n str1 -z str1 str1 §óng nÕu str1 kh¸c str2 §óng nÕu chiÒu dµi str1 lín h¬n 0 (is not null) §óng nÕu str1 lµ null (chiÒu dµi =0) §óng nÕu str1 kh¸c null

Testing Numeric Data int1 -eq int2 int1 -ne int2 int1 -gt int2 int1 -ge int2 §óng nÕu int1 b»ng int2 §óng nÕu int1 kh¸c int2 §óng nÕu int1 lín h¬n 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 Testing for Files -r filenm §óng nÕu user cã quyÒn ®äc filenm 48 §óng nÕu int1 nhá h¬n hoÆc b»ng int2

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX -w filenm §óng nÕu user cã quyÒn ghi trªn filenm -x filenm -f filenm -d filenm -c filenm -b filenm -s filenm -t fnumb §óng nÕu user cã quyÒn thùc hiÖn filenm §óng nÕu filenm lµ regular file §óng nÕu filenm lµ th môc §óng nÕu filenm lµ character special file §óng nÕu filenm lµ block special file §óng nÕu kÝch thíc filenm kh¸c 0 §ó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 $? 0 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.

49

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

if-then -else if command_1 then command_2 command_3 else command_4 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;; 50

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX ... 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 (;;).
2. LÖnh lÆp

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

51

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX done LÖnh break: Cho phÐp tho¸t khái vßng lÆp.
3. Shell Functions

funcname () { command ... _ command; }
4. 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 0 1 2 3 9 15 VÝ dô: trap "rm $TEMPDIR/*$$; exit" 1 2 15 52 Description Shell exit Hangup Operator Interrupt Quit Kill Software Termination (kill signal)

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX
5. 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¶ 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, 53

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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.  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

54

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 >/dev/sysmsg 2>&1 ia::sysinit:/sbin/creatiadb </dev/console >/dev/sysmsg 2>&1 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 reboot </dev/console

55

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX /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 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. 56

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX  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).

57

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX Initialization Table (inittab) 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

58

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX ®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 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, nhng 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Ö

59

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 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 ;; *)

60

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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. 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. Nhng 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ö

61

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

62

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX mét process míi. NhiÒu process cã thÓ cïng ®ång thêi tån t¹i, nhng 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 UID PID PPID C 1398 1400 STIME 80 25 TTY TIME COMD 18:31:32 18:34:33 pts/5 pts/5 0:01 -sh 0:00 ps –f

sartin 1400 sartin 1406

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Þ

63

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX hexadecimal gåm: 00 01 02 04 bÞ dõng. 08 10 20 S Process kh«ng thÓ ®îc kÝch ho¹t bëi c¸c signal Process ®ang trong bé nhí vµ bÞ lock ®ang ®îi event Process kh«ng thÓ bÞ swapped Process ®· kÕt thóc. Lµ system process lu«n tån t¹i trong memory Process ®ang bÞ kiÓm so¸t bëi tiÕn tr×nh cha. Process ®ang bÞ kiÓm so¸t bëi tiÕn tr×nh cha vµ nã ®·

Còng dïng chØ tr¹ng th¸i cña process: O S Process ®ang ch¹y trªn processor. Process ®ang sleeping, vµ ®ang ®îi I/O event ®Ó

hoµn thµnh. R I Z Process ®ang s½n sµng ch¹y. Process kh«ng lµm g×. Process ®· bÞ kÕt thóc vµ tiÕn tr×nh cha kh«ng ®îi nhng nã vÉn ®ang trong process table (zombie process) T X Process ®· bÞ ngõng bëi tiÕn tr×nh cha. Process ®ang ®îi ®Ó lÊy thªm bé nhí.

UID User ID cña ngêi chñ process 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

64

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX PRI NI Møc u tiªn Process (sè cµng lín ®é u tiªn cµng nhá). 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ô: at 20:30 < reorg.data at 8:30 pm < reorg/data at 20:30 today < reorg.data at 8:30 pm Friday < reorg.data

65

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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. $ crontab -l > new_crontab_file $ vi new_crontab_file [edit the file to update your crontab]

66

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX $ 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-ofweek> <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, 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 67

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 lu tr÷ trong c¸c file (security datafiles). password File File nµy dïng lu 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

68

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 11-99: 100+: 60001: 60002: System, reserved and "famous" users Normal users "nobody" (occasionally 32000 or 65534) "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

69

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX charlene:x:101:10:Charlene G,14,x1800,unlisted:/usr1/charlene:/bin/tcsh john:x:102:60:John S,2,555-1234,x1400:/usr2/john:/bin/ksh georgia:x:103:60:Georgia S,11,x143,x143:/usr2/georgia:/bin/csh Shadow Password File File /etc/passwd th«ng thêng ngêi sö dông cã thÓ xem ®îc. §Ó lu 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:

70

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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. 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,way ne,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 +@group1 71 user

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX @group ®îc lu trong file netgroup netgroup: netgroup netgroup . .rhosts: T¬ng tù nh trªn Chøa c¸c group name name ...

(hostname, user, domain)

2. Group and User administration
a) Group administration

T¹o group Xo¸ group
2. 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 cha ®î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. 72

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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.  -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

73

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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:  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  -r Tªn user cÇn xo¸.

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.

74

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 :  daemonUsed by system server processes  bin  sys  adm  uucp  lp Owns executable user command files Owns system files Owns accounting files Used by UUCP 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.

75

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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  .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 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 ®76 File khêi ®éng cho X windowing.

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX î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.  §Þ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ô:

77

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX  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 lu 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.

78

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX Printer Usage Printer usage data ®îc lu 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 - Cha c¸c th«ng tin cÊu h×nh c¸c øng dông, hµng ®îi ...  /vmunix Kernal cña UNIX  /opt ba. Chøa c¸c ch¬ng tr×nh øng dông thêng tõ h·ng thø

79

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX  /home Th môc home cña user. Cha c¸c file ®îc recover bëi fsck.

 /lost+found

2. Creating file systems §Ó 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 lu d÷ liÖu trªn ®Üa vµ nã còng ®îc lu 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Þ lu 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 80

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX /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) # fdisk /dev/hda C¸c lÖnh trong fdisk p n t w HiÖn partition hiÖn thêi T¹o partition míi gåm extended vµ primary partition (1-4). T¹o swap partition 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 cha ®î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 lu tr÷ díi d¹ng c¸c c©y th môc nhng muèn thùc hiÖn ®îc ®iÒu nµy th× nã ph¶i ®îc mount.

81

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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.  /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  ro  bg read/write read only 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ô: 82

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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.

 /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

83

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX # # Local mounts /dev/sda1 / /dev/sda2 /usr /dev/sda3 /usr/data /dev/cdrom /dev/sda4 /dos /dev/sdb1 /data ext2 ext2 ext2 defaults defaults defaults iso9660 ro 1 1 1 1 1 1 1 1 1 1 1 1

/cdrom

msdos ext2

defaults

defaults

Mét sè kiÓu hay dïng trong Linux  ext2 partition.  iso9660 disks.  sysv filesystem.  msdos KiÓu DOS partition mµ Linux cã thÓ truy nhËp.  hpfs KiÓu High Performance filesystem bëi Linux. KiÓu Nh»m hç trî cho d¹ng UNIX System V KiÓu ISO 9660 filesystem ®îc dïng víi CD-ROM KiÓu filesystem ®îc dïng chñ yÕu trªn 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µ cha ®îc sö dông vµ theo tû lÖ phÇn tr¨m. df <option> C¸c tham sè thêng dïng: 84

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX  -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 Mounted on /dev/hda3 /dev/hda6 /dev/hda7 247871 50717 481998 212909 15507 15 22161 32% 0% 91% /var /local / Used Available Capacity

32591 457087

server1:/var/spool/mail 489702 /var/spool/mail C¸c cét th«ng tin gåm:  Filesystem ChØ file system 222422 218310 50%

 1024-blocks ChØ sè block trong file system. (Tæng dung lîng.)  Used  Available  Capacity  Mounted on Sè block ®· sö dông. Sè block cha sö dông. PhÇn tr¨m lîng ®Üa ®ang sö dông hiÖn t¹i. 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>

85

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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ô: 409 945 68 60 391 141 873 3402 du ./doc ./lib ./man ./m4 ./src ./intl ./po .

ChØ sè lîng block ®îc sö dông bëi mçi th môc. 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µ cha ®îc ghi ra ®Üa. Khi x¶y ra c¸c lçi nµy th× ta cÇn ph¶i thùc 86

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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?) 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

87

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 cha 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: 6. Backup and restore Xem thªm phÇn end user

88

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX B¶n th©n trong hÖ ®iÒu hµnh UNIX hç trî nhiÒu c«ng cô hç trî viÖc lu 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 lu vµ håi phôc gióp cho viÖc tèi u trong c«ng t¸c sao lu 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 lu 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 queue. /usr/ucb/lpq /usr/ucb/lprm /etc/lpc Ch¬ng tr×nh kiÓm tra hµng ®îi in. Thùc hiÖn xo¸ c¸c print job tõ print queue. Thùc hiÖn viÖc chuyÓn c¸c print job vµo printer

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Þ.

89

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX lpd [-l] [port] 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 90

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

91

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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. 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 VÝ dô Type Type Line Line2Class Dialer-Token Pairs ACU cua0 ACU Direct 1200 Hayes \D

Sö dông víi modem 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 ®é

92

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 ngng (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 \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 VÝ dô System-Name eagle Time Type Class Any ACU Phone 1200 Login 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

93

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 HN sè 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é. 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 94

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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. 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 95

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 lu 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 127.0.0.1 201.190.2.1 jade hostname aliases localhost

/etc/networks - Chøa c¸c network name ¸nh x¹ tíi ®Þa chØ m¹ng IP t¬ng øng. VÝ dô: # Name testnetw loopback-net Network Number 201.190.2 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

96

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX #service tcpmux echo echo discard discard systat systat . /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. 00:00:c0:9e:41:26 02:60:8c:15:ad:18 hostname violin bass comments #strings dep't 1/tcp 7/tcp 7/udp 9/tcp 9/udp 11/tcp 11/udp users sink null sink null users port/transport

/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 134.54.0.0 167.12.0.0 subnet mask 255.255.255.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 ...

97

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX ~/.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

98

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)
2. 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

99

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

100

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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.
3. DNS

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.

101

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 CÊu tróc file /etc/resolv.conf gåm c¸c trêng # keyword VÝ dô: domain ham.com 198.53.18.1 198.53.18.3 #Domain #Primary name server #Secondary name server value name server.

nameserver nameserver DNS server

§Ó 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.

102

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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.  Class  Type X¸c ®Þnh class cña DNS record. 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 103

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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. 2 14400 3600 604800 86400 ) ; ; 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 ; ; Section 3: The following are the mail exchangers of the domain harmonics.com ; IN NS NS jade.harmonics.com. cello.harmonics.com. ; Serial ; Refresh (4 hours) ; Retry (1hr) ; Expire ( 4 weeks ) ; minimum TTL (time-to-live) IN SOA jade.harmonics.com. root.jade.harmonics.com. (

104

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX harmonics.com. IN ; ; Section 4: The following records map hosts' canonical names to their corresponding ; IP addresses ; localhost.harmonics.com. ; tenor.harmonics.com. soprano.harmonics.com. flute.harmonics.com. xrouter cello.harmonics.com. violin.harmonics.com. bass.harmonics.com. ; ; Section 5: Multihomed hosts ; jade.harmonics.com. IN A IN A 198.53.237.1 100.0.0.2 IN A IN A IN A IN A IN A IN A IN A 100.0.0.3 100.0.0.4 100.0.0.5 198.53.237.2 198.53.237.3 198.53.237.4 IN A 127.0.0.1 IN MX MX 1 flute.harmonics.com.

2 bass.harmonics.com.

100.0.0.10

 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.

105

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX  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. root.jade.harmonics.com ( 1 14400 3600 604800 ; ; name servers ; 100.in-addr.arpa. 100.in-addr.arpa. ; IN NS IN NS jade.harmonics.com. cello.harmonics.com. ;serial ; Refresh (4 hours) ; retry ( 1 hour ) ; expire ( 1 week ) IN SOA jade.harmonics.com.

86400 ) ; TTL = 1 day

106

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX ; Reverse address mappings ; 2.0.0.100.in-addr.arpa. 3.0.0.100.in-addr.arpa. 4.0.0.100.in-addr.arpa 5.0.0.100.in-addr.arpa 10.0.0.100.in-addr.arpa IN IN IN IN IN PTR PTR PTR PTR PTR jade.harmonics.com. tenor.harmonics.com. soprano.harmonics.com. flute.harmonics.com. 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. root.jade.harmonics.com. ( 1 14400 3600 604800 86400 ) ; name servers ; 0.0.127.in-addr.arpa. 0.0.127.in-addr.arpa. ; ; reverse address PTR mapping ; 1.0.0.127.in-addr.arpa. IN PTR localhost IN IN NS NS jade.harmonics.com. cello.harmonics.com. ; serial ; refresh ( 4 hours ) ; retry ( 1 hour ) ; expire ( 1 week ) ; TTL = 1 day IN SOA jade.harmonics.com.

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

107

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 lu 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 IN IN IN IN IN IN IN IN A.ROOT-SERVERS.NET NS NS NS NS NS NS NS NS B.ROOT-SERVERS.NET C.ROOT-SERVERS.NET D.ROOT-SERVERS.NET E.ROOT-SERVERS.NET F.ROOT-SERVERS.NET G.ROOT-SERVERS.NET H.ROOT-SERVERS.NET I.ROOT-SERVERS.NET 99999999 99999999 99999999 99999999 99999999 99999999 99999999 99999999 ; ; Section 2: Root servers A records ; A.ROOT-SERVERS.NET B.ROOT-SERVERS.NET C.ROOT-SERVERS.NET D.ROOT-SERVERS.NET E.ROOT-SERVERS.NET 99999999 99999999 99999999 99999999 99999999 108 IN IN IN IN IN A 198.41.0.4 A 128.9.0.107 A 192.33.4.12 A 128.8.10.90 A 192.203.230.10

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX F.ROOT-SERVERS.NET 99999999 IN IN IN IN A 192.5.5.241 A 192.112.36.4 A 128.63.2.53 A 192.36.148.17

G.ROOT-SERVERS.NET 99999999 H.ROOT-SERVERS.NET 99999999 I.ROOT-SERVERS.NET 99999999

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 primary primary primary primary cache /etc/named harmonics.com 100.in-addr.arpa named.hosts 100.rev 198.53.237.rev 127.localhost

237.53.198.in-addr.arpa 0.0.127.in-addr.arpa . 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 lu 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.

109

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX CÊu h×nh secondary name server 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 secondary /usr/lib/named harmonics.com 100.0.0.2 100.0.0.2 100.0.0.2 named.local

secondary 100.in-addr.arpa secondary 237.53.198.in-addr.arpa primary cache 0.0.127.in-addr.arpa . 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.inaddr.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

110

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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ô: 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 secondary named.hosts secondary secondary 198.53.237.rev primary Dßng directory 0.0.127.in-addr.arpa named.local 100.in-addr.arpa 237.53.198.in-addr.arpa 100.0.0.2 100.0.0.2 100.rev /usr/lib/named harmonics.com 100.0.0.2

/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ã. Cacheonly server chØ lu 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Ó.

111

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX §Ó 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 cache ; 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.  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 . 0.0.127.in-addr.arpa /usr/lib/named/named.local /usr/lib/named/named.ca

112

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 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. jade harmonics.com. cello server = jade.harmonics.com 198.53.8.1 server = cello.harmonics.com 198.53.237.2 113

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX tenor soprano localhost harmonics jade soprano xrouter cello > exit #
4. NIS (Network Information Service)

100.0.0.3 100.0.0.4 127.0.0.1 server = jade.harmonics.com 198.53.8.1 100.0.0.4 10.0.0.10 198.53.237.2

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 (lu 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 lu 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 nhng 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 114

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 ypbind ypxfrd Server process Liªn kÕt c¸c process 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 ypcat ypwich ypwatch ypinit yppoll  C¸c tiÖn Ých kh¸c yppush ypset ypxfr ChuyÓn d÷ liÖu tõ master tíi slave. §Æt liªn kÕt thùc sù tíi server. TruyÒn d÷ liÖu tõ master tíi slave víi tèc ®é lín. LiÖt kª d÷ liÖu trong map HiÖn tªn NIS server vµ map server T¹o key øng víi gi¸ trÞ trong map Cµi ®Æt vµ x©y dùng NIS database LÊy c¸c sè thø tù tõ server

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

115

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 lu 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 lu trªn c¸c server. Cã mét sè tiÖn Ých cho phÐp truy nhËp tíi c¸c file ë xa nhng 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. 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

116

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 lu 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 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: 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 /etc/exports. File /etc/exports ®îc ®äc mçi lÇn mountd daemon nhËn ®îc yªu cÇu

117

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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ã. §Ç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. Nhng viÖc cÊu h×nh nã nh 118

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX 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 loù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ã nhng 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

119

Giíi thiÖu vÒ UNIX- Mét sè thao t¸c c¬ b¶n trªn UNIX ®Ü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ö 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.

120

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->