You are on page 1of 123

TI LIU O TO

QUN TR H THNG LINUX 1

Ti liu ny c bin son theo ti liu ging dy ca Vin Linux (LPI)

H NI 2006

GII THIU GIY PHP CNG CNG GNU


BN DCH TING VIT CA GIY PHP CNG CNG GNU
y l bn dch ting Vit khng chnh thc ca Giy php Cng cng GNU. Bn
dch ny khng phi do T chc Phn mm T do n hnh, v n khng quy nh v
mt php l cc iu khon cho cc phn mm s dng giy php GNU GPL -- ch
c bn ting Anh gc ca GNU GPL mi c tnh php l. Tuy nhin, chng ti hy
vng rng bn dch ny s gip cho nhng ngi ni ting Vit hiu r hn v GNU
GPL.
GIY PHP CNG CNG GNU (GPL)
Giy php cng cng GNU
Phin bn 2, thng 6/1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
Mi ngi u c php sao chp v lu hnh bn sao nguyn bn nhng khng
c php thay i ni dung ca giy php ny.

Li ni u
Giy php s dng ca hu ht cc phn mm u c a ra nhm hn ch bn t
do chia s v thay i n. Ngc li, Giy php Cng cng ca GNU c mc ch
m bo cho bn c th t do chia s v thay i phn mm t do - tc l m bo
rng phn mm l t do i vi mi ngi s dng. Giy php Cng cng ny p
dng cho hu ht cc phn mm ca T chc Phn mm T do v cho tt c cc
chng trnh khc m tc gi cho php s dng. (i vi mt s phn mm khc
ca T chc Phn Mm T do, p dng Giy php Cng cng Hn ch ca GNU
thay cho giy php cng cng). Bn cng c th p dng n cho cc chng trnh
ca mnh.
Khi ni n phn mm t do, chng ta ni n s t do s dng ch khng quan tm
v gi c. Giy php Cng cng ca chng ti c thit k m bo rng bn
hon ton t do cung cp cc bn sao ca phn mm t do (cng nh kinh doanh
dch v ny nu bn mun), rng bn c th nhn c m ngun nu bn c yu

cu, rng bn c th thay i phn mm hoc s dng cc thnh phn ca phn mm


cho nhng chng trnh t do mi; v rng bn bit chc l bn c th lm c
nhng iu ny.
bo v bn quyn ca bn, chng ti cn a ra nhng hn ch ngn chn
nhng ai chi b quyn ca bn, hoc yu cu bn chi b quyn ca mnh. Nhng
hn ch ny cng c ngha l nhng trch nhim nht nh ca bn khi cung cp cc
bn sao phn mm hoc khi chnh sa phn mm .
V d, nu bn cung cp cc bn sao ca mt chng trnh, d min ph hay khng,
bn phi cho ngi nhn tt c cc quyn m bn c. Bn cng phi m bo rng
h cng nhn c hoc tip cn c m ngun. V bn phi thng bo nhng iu
khon ny cho h h bit r v quyn ca mnh.
Chng ti bo v quyn ca bn vi hai bc: (1) bo v bn quyn phn mm, v
(2) cung cp giy php ny bn c th sao chp, lu hnh v/hoc chnh sa phn
mm mt cch hp php.
Ngoi ra, bo v cc tc gi cng nh bo v chnh mnh, chng ti mun chc
chn rng tt c mi ngi u hiu r rng khng h c bo hnh i vi phn
mm t do ny. Nu phn mm c chnh sa thay i bi mt ngi khc v sau
lu hnh, th chng ti mun nhng ngi s dng bit rng phin bn h ang
c khng phi l bn gc, do tt c nhng trc trc do nhng ngi khc gy ra
hon ton khng nh hng ti uy tn ca tc gi ban u.
Cui cng, bt k mt chng trnh t do no cng u thng xuyn c nguy c b
e do v giy php bn quyn. Chng ti mun trnh nguy c khi nhng ngi
cung cp li mt chng trnh t do c th c c giy php bn quyn cho bn
thn h, t tr thnh c quyn i vi chng trnh . ngn nga trng
hp ny, chng ti nu r rng mi giy php bn quyn hoc phi c cp cho
tt c mi ngi s dng mt cch t do hoc hon ton khng cp php.
Di y l nhng iu khon v iu kin r rng i vi vic sao chp, lu hnh
v chnh sa.
Nhng iu khon v iu kin i vi vic sao chp, lu hnh v chnh sa
0. Giy php ny p dng cho bt k mt chng trnh hay sn phm no m ngi
gi bn quyn cng b rng n c th c cung cp trong khun kh nhng iu

khon ca Giy php Cng cng ny. T Chng trnh di y c ngha l tt c


cc chng trnh hay sn phm nh vy, v sn phm da trn Chng trnh c
ngha l Chng trnh hoc bt k mt sn phm no bt ngun t chng trnh
tun theo lut bn quyn, ngha l mt sn phm da trn Chng trnh hoc mt
phn ca n, ng nguyn bn hoc c mt s chnh sa v/hoc c dch ra mt
ngn ng khc. (Di y, vic dch cng c hiu trong khi nim chnh sa).
Mi ngi c cp php c gi l bn.
Trong Giy php ny khng cp ti cc hot ng khc ngoi vic sao chp, lu
hnh v chnh sa; chng nm ngoi phm vi ca giy php ny. Hnh ng chy
chng trnh khng b hn ch, v nhng kt qu t vic chy chng trnh ch c
cp ti nu ni dung ca n to thnh mt sn phm da trn chng trnh (c
lp vi vic chy chng trnh). iu ny ng hay khng l ph thuc vo Chng
trnh.
1. Bn c th sao chp v lu hnh nhng phin bn nguyn bn ca m ngun
Chng trnh ng nh khi bn nhn c, qua bt k phng tin phn phi no,
vi iu kin trn mi bn sao bn u km theo mt ghi ch bn quyn r rng v
t chi bo hnh; gi nguyn tt c cc ghi ch v Giy php v v vic khng c
bt k mt s bo hnh no; v cng vi Chng trnh bn cung cp cho ngi s
dng mt bn sao ca Giy php ny.
Bn c th tnh ph cho vic chuyn giao bn sao, v tu theo quyt nh ca mnh
bn c th cung cp bo hnh i li vi chi ph m bn tnh.
2. Bn c th chnh sa bn sao ca bn hoc cc bn sao ca Chng trnh hoc
ca bt k phn no ca n, t hnh thnh mt sn phm da trn Chng trnh,
v sao chp cng nh lu hnh sn phm hoc nhng chnh sa theo iu
khon trong Mc 1 trn, vi iu kin bn p ng c nhng iu kin di
y:
a) Bn phi c ghi ch r rng trong nhng tp tin chnh sa l bn
chnh sa n, v ngy thng ca bt k mt thay i no.
b) Bn phi cp php min ph cho tt c cc bn th ba i vi cc sn phm
bn cung cp hoc pht hnh, bao gm Chng trnh nguyn bn, tng phn

ca n hay cc sn phm da trn Chng trnh hay da trn tng phn ca


Chng trnh, theo nhng iu khon ca Giy php ny.
c) Nu chng trnh chnh sa thng c lnh tng tc trong khi chy,
bn phi thc hin sao cho khi bt u chy s dng tng tc theo cch
thng thng nht phi c mt thng bo bao gm bn quyn v thng bo
v vic khng c bo hnh (hoc thng bo bn l ngi cung cp bo hnh),
v rng ngi s dng c th cung cp li Chng trnh theo nhng iu kin
ny, v thng bo ngi s dng c th xem bn sao ca Giy php ny.
(Ngoi l: nu bn thn Chng trnh l tng tc nhng khng c mt thng
bo no nh trn, th sn phm ca bn da trn Chng trnh cng khng
bt buc phi c thng bo nh vy).
Nhng yu cu trn p dng cho ton b cc sn phm chnh sa. Nu c nhng
phn ca sn phm r rng khng bt ngun t Chng trnh, v c th c xem l
c lp v ring bit, th Giy php ny v cc iu khon ca n s khng p dng
cho nhng phn khi bn cung cp chng nh nhng sn phm ring bit. Nhng
khi bn cung cp nhng phn nh nhng phn nh trong c mt sn phm da
trn Chng trnh, th vic cung cp ny phi tun theo nhng iu khon ca Giy
php ny, cho php nhng ngi c cp php c quyn i vi ton b sn phm,
cng nh i vi tng phn trong , bt k ai vit n.
Nh vy, iu khon ny khng nhm mc ch xc nhn quyn hoc tranh ginh
quyn ca bn i vi nhng sn phm hon ton do bn vit; m mc ch ca n
l nhm thi hnh quyn kim sot i vi vic cung cp nhng sn phm bt ngun
hoc tng hp da trn Chng trnh.
Ngoi ra, vic kt hp thun tu Chng trnh (hoc mt sn phm da trn Chng
trnh) vi mt sn phm khng da trn Chng trnh vi mc ch lu tr hoc
qung b khng a sn phm vo trong phm vi p dng ca Giy php ny.
3. Bn c th sao chp v cung cp Chng trnh (hoc mt sn phm da trn
Chng trnh, nu trong Mc 2) di hnh thc m bin dch hoc dng c th
thc thi c trong khun kh cc iu khon nu trong Mc 1 v 2 trn, nu nh
bn:

a) Km theo mt bn m ngun dng y c th bin dch c theo


cc iu khon trong Mc 1 v 2 nu trn trong mt mi trng trao i phn
mm thng thng; hoc,
b) Km theo mt ngh c hn trong t nht 3 nm, theo cung cp cho
bt k mt bn th ba no mt bn sao y ca m ngun tng ng, v
phi c cung cp vi gi chi ph khng cao hn gi chi ph vt l ca vic
cung cp theo cc iu khon trong Mc 1 v 2 nu trn trong mt mi
trng trao i phn mm thng thng; hoc
c) Km theo thng tin bn nhn c ngh cung cp m ngun
tng ng. (Phng n ny ch c php i vi vic cung cp phi thng
mi v ch vi iu kin nu bn nhn c Chng trnh di hnh thc m
bin dch hoc dng c th thc thi c cng vi li ngh nh vy,
theo phn b trong iu khon nu trn).
M ngun ca mt sn phm l mt dng u tin ca sn phm dnh cho vic chnh
sa n. Vi mt sn phm c th thi hnh, m ngun hon chnh c ngha l tt c
cc m ngun cho cc mun trong sn phm , cng vi tt c cc tp tin nh
ngha giao din i km vi n, cng vi cc hng dn dng kim sot vic bin
dch v ci t cc tp thi hnh. Tuy nhin, mt ngoi l c bit l m ngun khng
cn cha bt k mt th g m bnh thng c cung cp (t ngun khc hoc hnh
thc nh phn) cng vi nhng thnh phn chnh (chng trnh bin dch, nhn, v
nhng phn tng t) ca h iu hnh m cc chng trnh chy trong , tr khi
bn thn thnh phn li i km vi mt tp thi hnh.
Nu vic cung cp lu hnh m bin dch hoc tp tin thi hnh c thc hin
qua vic cho php tip cn v sao chp t mt a im c ch nh, th vic cho
php tip cn tng ng ti vic sao chp m ngun t cng a im cng c
tnh nh vic cung cp m ngun, mc d thm ch cc bn th ba khng b buc
phi sao chp m ngun cng vi m bin dch.
4. Bn khng c php sao chp, chnh sa, cp php hoc cung cp Chng trnh
tr phi phi tun th mt cch chnh xc cc iu khon trong Giy php. Bt k
nh sao chp, chnh sa, cp php hoc cung cp Chng trnh theo cch khc u
lm mt hiu lc v t ng hu b quyn ca bn trong khun kh Giy php ny.

Tuy nhin, cc bn nhn c bn sao hoc quyn t bn vi Giy php ny s


khng b hu b giy php nu cc bn vn tun th y cc iu khon ca
giy php.
5. Bn khng bt buc phi chp nhn Giy php ny khi bn cha k vo . Tuy
nhin, khng c g khc m bo cho bn c php chnh sa hoc cung cp
Chng trnh hoc cc sn phm bt ngun t Chng trnh. Nhng hnh ng ny
b lut php nghim cm nu bn khng chp nhn Giy php ny. Do vy, bng
vic chnh sa hoc cung cp Chng trnh (hoc bt k mt sn phm no da trn
Chng trnh), bn th hin s chp thun i vi Giy php ny, cng vi tt c
cc iu khon v iu kin i vi vic sao chp, cung cp hoc chnh sa Chng
trnh hoc cc sn phm da trn n.
6. Mi khi bn cung cp li Chng trnh (hoc bt k mt sn phm no da trn
Chng trnh), ngi nhn s t ng nhn c giy php t ngi cp php u
tin cho php sao chp, cung cp v chnh sa Chng trnh theo cc iu khon v
iu kin ny. Bn khng th p t bt c hn ch no khc i vi vic thc hin
quyn ca ngi nhn c cp php t thi im . Bn cng khng phi chu
trch nhim bt buc cc bn th ba tun th theo Giy php ny.
7. Nu nh, theo quyt nh ca to n hoc vi nhng bng chng v vic vi phm
bn quyn hoc v bt k l do no khc (khng gii hn trong cc vn v bn
quyn), m bn phi tun theo cc iu kin (nu ra trong lnh ca to n, bin bn
tho thun hoc ni khc) tri vi cc iu kin ca Giy php ny, th chng cng
khng th min cho bn khi nhng iu kin ca Giy php ny. Nu bn khng
th ng thi thc hin cc ngha v ca mnh trong khun kh Giy php ny v
cc ngha v thch ng khc, th hu qu l bn hon ton khng c cung cp
Chng trnh. V d, nu trong giy php bn quyn khng cho php nhng ngi
nhn c bn sao trc tip hoc gin tip qua bn c th cung cp li Chng trnh
th trong trng hp ny cch duy nht bn c th tho mn c hai iu kin l hon
ton khng cung cp Chng trnh.
Nu bt k mt phn no trong iu khon ny khng c hiu lc hoc khng th thi
hnh trong mt hon cnh c th, th s cn i p dng cc iu khon, v ton b
iu khon s c p dng trong nhng hon cnh khc.

Mc ch ca iu khon ny khng nhm buc bn phi vi phm bt k mt bn


quyn no hoc cc quyn s hu khc hoc tranh lun v gi tr hiu lc ca bt k
quyn hn no nh vy; mc ch duy nht ca iu khon ny l nhm bo v s
ton vn ca h thng cung cp phn mm t do ang c thc hin vi giy php
cng cng. Nhiu ngi ng gp rt nhiu vo s a dng ca cc phn mm t
do c cung cp thng qua h thng ny vi s tin tng rng h thng c s
dng mt cch thng nht; tc gi/ngi cung cp c quyn quyt nh rng h c
mong mun cung cp phn mm thng qua h thng no khc hay khng, v ngi
c cp php khng th c nh hng ti s la chn ny.
iu khon ny nhm lm r nhng h qu ca cc phn cn li ca Giy php
ny.
8. Nu vic cung cp v/hoc s dng Chng trnh b cm mt s nc nht nh
bi quy nh v bn quyn, ngi gi bn quyn gc a Chng trnh vo di
Giy php ny c th b sung mt iu khon hn ch vic cung cp nhng nc
, ngha l vic cung cp ch c php cc nc khng b lit k trong danh
sch hn ch. Trong trng hp ny, Giy php a vo nhng hn ch c ghi
trong ni dung ca n.
9. T chc Phn mm T do c th theo thi gian cng b nhng phin bn chnh
sa v/hoc phin bn mi ca Giy php Cng cng. Nhng phin bn s ng
nht vi tinh thn ca phin bn hin ny, nhng c th khc mt s chi tit nhm
gii quyt nhng vn hay nhng lo ngi mi.
Mi phin bn s c mt m s phin bn ring. Nu Chng trnh v "bt k mt
phin bn no sau " c p dng mt phin bn Giy php c th, bn c quyn la
chn tun theo nhng iu khon v iu kin ca phin bn giy php hoc ca
bt k mt phin bn no sau do T chc Phn mm T do cng b. Nu
Chng trnh khng nu c th m s phin bn giy php, bn c th la chn bt
k mt phin bn no tng c cng b bi T chc Phn mm T do.
10. Nu bn mun kt hp cc phn ca Chng trnh vo cc chng trnh t do
khc m iu kin cung cp khc vi chng trnh ny, hy vit cho tc gi c
php. i vi cc phn mm c cp bn quyn bi T chc Phm mm T do,
hy xut vi t chc ny; i khi chng ti cng c nhng ngoi l. Quyt nh
ca chng ti s da trn hai mc tiu l bo h tnh trng t do ca tt c cc sn

phm bt ngun t phn mm t do ca chng ti, v thc y vic chia s v ti s


dng phn mm ni chung.
KHNG BO HNH
DO CHNG TRNH C CP PHP MIN PH NN KHNG C MT
CH BO HNH NO TRONG MC CHO PHP CA LUT PHP.
TR KHI C CNG B KHC I BNG VN BN, NHNG NGI GI
BN QUYN V/HOC CC BN CUNG CP CHNG TRNH NGUYN
BN S KHNG BO HNH DI BT K HNH THC NO, BAO GM
NHNG KHNG GII HN TRONG CC HNH THC BO HNH I VI
TNH THNG MI CNG NH TNH THCH HP CHO MT MC CH
C TH. BN L NGI CHU TON B RI RO V CHT LNG CNG
NH VIC VN HNH CHNG TRNH. TRONG TRNG HP CHNG
TRNH C KHIM KHUYT, BN PHI CHU TON B CHI PH CHO
NHNG DCH V SA CHA CN THIT.
TRONG TT C CC TRNG HP TR KHI C YU CU CA LUT
PHP HOC C THO THUN BNG VN BN, NHNG NGI C BN
QUYN HOC BT K MT BN NO CHNH SA V/HOC CUNG CP
LI CHNG TRNH TRONG CC IU KIN NH NU TRN U
KHNG C TRCH NHIM VI BN V CC LI HNG HC, BAO GM
CC LI CHUNG HAY C BIT, NGU NHIN HAY TT YU NY SINH
DO VIC S DNG HOC KHNG S DNG C CHNG TRNH
(BAO GM NHNG KHNG GII HN TRONG VIC MT D LIU, D
LIU THIU CHNH XC HOC CHNG TRNH KHNG VN HNH
C VI CC CHNG TRNH KHC), THM CH C KHI NGI C
BN QUYN V CC BN KHC C THNG BO V KH NNG
XY RA NHNG THIT HI .

KT THC CC IU KIN V IU KHON.


p dng nhng iu khon trn nh th no i vi chng trnh ca bn
Nu bn xy dng mt chng trnh mi, v bn mun cung cp mt cch ti a cho
cng chng s dng, th bin php tt nht t c iu ny l pht trin chng

trnh thnh phn mm t do ai cng c th cung cp li v thay i theo nhng


iu khon nh trn.
lm c vic ny, hy nh km nhng thng bo nh sau cng vi chng
trnh ca mnh. An ton nht l nh km chng trong phn u ca tp tin m
ngun thng bo mt cch hiu qu nht v vic khng c bo hnh; v mi tp
tin u phi c t nht mt dng v bn quyn v tr n ton b thng bo.
Mt dng tn chng trnh v ni dung ca n.
Bn quyn (C) nm, tn tc gi.
Chng trnh ny l phn mm t do, bn c th cung cp li v/hoc chnh sa n
theo nhng iu khon ca Giy php Cng cng ca GNU do T chc Phn mm
T do cng b; phin bn 2 ca Giy php, hoc bt k mt phin bn sau (tu
s la chn ca bn).
Chng trnh ny c cung cp vi hy vng n s hu ch, tuy nhin KHNG C
BT K MT BO HNH NO; thm ch k c bo hnh v KH NNG
THNG MI hoc TNH THCH HP CHO MT MC CH C TH. Xin
xem Giy php Cng cng ca GNU bit thm chi tit.
Bn phi nhn c mt bn sao ca Giy php Cng cng ca GNU km theo
chng trnh ny; nu bn cha nhn c, xin gi th v T chc Phn mm T
do, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Xin hy b sung thng tin v a ch lin lc ca bn (th in t v bu in).
Nu chng trnh chy tng tc, hy a mt thng bo ngn khi bt u chy
chng trnh nh sau:
Gnomovision phin bn 69, Copyright (C) nm, tn tc gi.
Gnomovision HON TON KHNG C BO HNH; xem chi tit hy g
`show w'. y l mt phn mm min ph, bn c th cung cp li vi nhng iu
kin nht nh, g show c xem chi tit.
Gi thit lnh `show w' v `show c' cho xem nhng phn tng ng trong Giy php
Cng cng. Tt nhin nhng lnh m bn dng c th khc vi show w' v `show
c'; nhng lnh ny c th l nhn chut hoc lnh trong thanh cng c - tu theo
chng trnh ca bn.

Bn cng cn phi ly ch k ca ngi ph trch (nu bn l ngi lp trnh) hoc


ca trng hc (nu c) xc nhn t chi bn quyn i vi chng trnh. Sau y l
v d:
Yoyodyne, Inc., ti y t chi tt c cc quyn li bn quyn i vi chng trnh
`Gnomovision' vit bi James Hacker.
Ch k ca Ty Coon, 1 April 1989
Ty Coon, Ph Tng Gim c.
Giy php Cng cng ny khng cho php a chng trnh ca bn vo trong cc
chng trnh c quyn. Nu chng trnh ca bn l mt th vin th tc ph, bn
c th thy n hu ch hn nu cho th vin lin kt vi cc ng dng c quyn.
Nu y l vic bn mun lm, hy s dng Giy php Cng cng Hn ch ca
GNU thay cho Giy php ny.

GII THIU
Gii thiu ti liu
Ti liu Qun tr h thng Linux l cun gio trnh b ch, c xy dng vi mc
ch chuyn ti cc kin thc ht sc c bn nhng cn thit i vi cc hc vin,
c bit l i vi nhng ngi lm cng tc ging dy.
c bin son da trn b gio trnh ca Hc vin Linux LPI (Linux Professional
Institute). y l b gio trnh c bin son mt cch cng phu, t m v khoa hc,
dng cho vic o to v n luyn cc chng ch LPI ca Hc vin Linux.
Do ang trong qu trnh xy dng h thng gio trnh v bi ging mt cch khoa
hc v chuyn nghip. V vy, trong qu trnh dch v bin son ti liu khng trnh
khi nhng thiu st. Rt mong c s ng gp kin ca ngi c ti liu
ngy cng c hon chnh hn.
Hi vng trong thi gian ti, cng vi s cng tc cht ch gia RedHat v Cng ty
ISE, chng ti s xy dng c b gio trnh hon chnh, khoa hc v phong ph
hn.
Nhm tc gi xin chn thnh cm n v chc cho ngi c c c mt kho hc
b ch.
Nhm tc gi Cng ty ISE

Gii thiu chng trnh o to ISE Linux


Chng trnh o to ISE Linux bao gm 3 kho hc:
Linux C bn (Basic Course)
Linux Trung cp (Intermediate Course)
Linux Nng cao (Advanced Course)
Vi 03 kho ISE Linux ny, lng kin thc em li cho hc vin l c th
tham gia vo cc k thi t chng ch quc t nh Chng ch LPI, Chng ch
RedHat, ...

MC LC
GII THIU ............................................................................................................ 12
U

Gii thiu ti liu ................................................................................................... 12


Gii thiu chng trnh o to ISE Linux ........................................................... 13
CI T .................................................................................................................. 18
Cu trc ca a ci................................................................................................ 18
Ci t Cc b........................................................................................................ 19
Ci t qua Mng ................................................................................................... 20
Phc hi H thng.................................................................................................. 20
Chin lc Phn vng............................................................................................ 21
Khi ng kp vi nhiu h iu hnh .................................................................. 22
Thc hnh .............................................................................................................. 22
CU HNH PHN CNG ..................................................................................... 24
B nh.................................................................................................................... 24
Qun l Ti nguyn................................................................................................ 24
USB........................................................................................................................ 26
SCSI ....................................................................................................................... 27
Network Card......................................................................................................... 27
Modem ................................................................................................................... 28
My in .................................................................................................................... 29
Thc hnh .............................................................................................................. 29
QUN L THIT B.............................................................................................. 31
a v Phn vng ................................................................................................... 31
Cng c Phn vng a .......................................................................................... 33

Bootloader.............................................................................................................. 34
Nhng thit b qun l....................................................................................... 35
Quotas .................................................................................................................... 37
Thc hnh .............................................................................................................. 39
H THNG FILE TRONG LINUX...................................................................... 40
Cu trc ca h thng file ...................................................................................... 40
S nht qun trong nh dng v kin trc ca h thng file ................................ 43
Kim tra dung lng a ........................................................................................ 45
Quyn truy xut File, Th mc.............................................................................. 46
Thc hnh .............................................................................................................. 49
DNG LNH........................................................................................................... 50
Tng tc vi SHELL ........................................................................................... 50
Bin mi trng ca Shell ..................................................................................... 51
Xut, nhp, i hng............................................................................................ 53
Du ngoc v Cc k t a ngha (Metacharacter)............................................... 57
Lch s dng lnh................................................................................................... 59
Mt s lnh khc.................................................................................................... 60
Thc hnh .............................................................................................................. 61
QUN L FILE ...................................................................................................... 65
Di chuyn quanh h thng file............................................................................... 65
Tm kim file v th mc....................................................................................... 65
Lm vic vi th mc ............................................................................................ 68
S dng cp v mv .................................................................................................. 69
Hard links v symbol links .................................................................................... 70
Touching v dd-ing ................................................................................................ 72

Thc hnh .............................................................................................................. 73


QUN L TIN TRNH........................................................................................ 75
Xem cc tin trnh ang chy ................................................................................ 75
Thay i tin trnh.................................................................................................. 77
Tin trnh v Shell.................................................................................................. 80
Thc hnh .............................................................................................................. 83
X L VN BN ................................................................................................... 85
cat the Swiss Army Knife ...................................................................................... 85
Cc cng c n gin............................................................................................. 86
X l vn bn......................................................................................................... 88
Thc hnh .............................................................................................................. 93
CI T PHN MM........................................................................................... 95
Gii thiu ............................................................................................................... 95
Th vin tnh v th vin chia x .......................................................................... 96
Ci t ngun ....................................................................................................... 100
Qun l gi Redhat ( Redhat Package Manager RPM) ....................................... 101
Cng c Alien ...................................................................................................... 106
Thc hnh ............................................................................................................ 107
THAO TC VI VN BN NNG CAO ......................................................... 109
Cc biu thc chnh qui ....................................................................................... 109
H grep................................................................................................................. 110
Lm vic vi grep ................................................................................................ 110
egrep v fgrrep ..................................................................................................... 111
B son tho Stream sed................................................................................... 112

Thc hnh ............................................................................................................ 115


S DNG TRNH SON THO VI .................................................................. 117
Cc ch Vi....................................................................................................... 117
Cc mc vn bn.................................................................................................. 118
Chn vn bn........................................................................................................ 118
Xo vn bn ......................................................................................................... 119
Copy / Paste ......................................................................................................... 120
Tm kim.............................................................................................................. 121
Lm li (Undo)..................................................................................................... 121
Ghi vn bn .......................................................................................................... 122
Thc hnh ............................................................................................................ 123

Ti liu o to Linux c bn
CI T

CI T
Cu trc ca a ci
Hin ti, c rt nhiu phin bn phn phi Linux khc nhau. Vi mi bn, cch t
tn ca cc th mc trn a ci cng khc nhau. Thng thng chng c dng nh
sau:

packages: Th mc cha cc gi phn mm c bin dch trc. Ty vo tng


bn phn phi m th mc ny c tn khc nhau. Di y l mt s v d:
debian: dist
mandrake: Mandrake
redhat: RedHat
suse: suse
fedora: Fedora

images: Dng cha nh ca Linux. C nhiu kiu file nh khc nhau. Mi file c
mt cng dng ring:
- Khi ng tin trnh ci t
- Cung cp module cho nhn
- Khi phc li h thng

Copyright ISE, 2006

18

Ti liu o to Linux c bn
CI T
Mt s nh c th c ghi li vo a mm hoc CD, USB nhm mc ch khi
ng qu trnh ci t t nhiu ngun khc nhau.
Bn thn nhiu file nh cng cha bn trong n nhng file v th mc con. C th
truy cp n nhng file v th mc ny thng qua vic nh x file nh vo mt thit
b loop.

mount o loop /path/to/Image /mnt

dosutils: Th mc cha mt s cng c gip cho vic chun b ci t c thun


li hn trong mi trng DOS.

Ci t Cc b
Ci t cc b l cch thc d dng v ph thng nht trong tt c cc phng thc
ci t. Hu ht cc bn phn phi Linux u c dng boot CD cho php khi ng
qu trnh ci t mt cch t ng. Vi nhng my tnh khng c CD, c th thay
th n bi a mm hoc USB khi ng qu trnh ny (khi , th mc
packages thng c t trong cng).
to ra a mm hoc a USB c kh nng khi ng, c th dng lnh dd trong
Linux hoc rawrite.exe trong DOS/Win.

dd if=/path/to/Image of=/dev/fd0 (hoc /dev/sdX)


rawrite.exe

Copyright ISE, 2006

19

Ti liu o to Linux c bn
CI T
V d: i vi cc bn phn phi ca RedHat cc file nh ny c tn l boot.img.
Ngoi ra, c th cn c mt s file nh c bit khc c cung cp nh:
bootnet.img hay pcmcia.img.

Ci t qua Mng
Thng thng cc gi ci t c ti mt server xa, ngi dng ch cn khi
ng qu trnh ci t, thit lp cc tham s mng chnh xc sau , tin trnh ci t
s t ng download cc gi cn thit v my tnh ci (thng qua cc giao thc
nh FTP, HTTP, NFS).
khi ng qu trnh ci t c th s dng bt k phng thc no nh miu
t trong phn Ci t Cc b. Ngoi ra, qu trnh ny cng c th c khi ng
thng qua mt Card Mng c kh nng boot kt hp vi DHCP v TFTP Server
c thit lp cho mc ch ny.

Phc hi H thng
Trong trng hp h thng b trc trc, khng th khi ng chnh xc, c th phc
hi c mt s li thng qua c ch khi ng Phc hi H thng.
Khi khi ng c ch ny, mt phin bn thu gn ca Linux v mt h thng file o
c np vo v chy ngay trn RAM h thng. H thng file tht s c tm kim
v nh x vo mt th mc ca h thng file o ny. Ngi dng c th dng lnh
chroot chuyn qua h thng file tht v x l s c. Thng thng nu tm thy,
n s c nh x vo th mc /mnt/sysimage ca h thng o.

Copyright ISE, 2006

20

Ti liu o to Linux c bn
CI T

Chin lc Phn vng


Phn vng cng l qu trnh khng th thiu trong khi ci t Linux. Ty theo
tng phin bn phn phi m qu trnh ny c th thc hin t ng hoc th cng.
thc hin th cng, cn c s hiu bit su sc v h thng file trong Linux cng
nh mc ch s dng h thng.

Hnh trn m t mt lc phn vng dng n gin cng h thng file ca mt h


thng mu. Thc cht h thng file trong Linux l mt cy bao gm th mc gc /
Copyright ISE, 2006

21

Ti liu o to Linux c bn
CI T
v cc th mc con nhiu cp. Cc ti nguyn h thng c s dng lu tr d
liu c gn kt/nh x (mounted) vo cc im ch nh trn h thng file, cc
im ny c gi l cc im gn kt/nh x (mount point). Th mc gc /
cng l mt im gn kt v phn vng lu tr d liu cho / s c xc nh
trong qu trnh khi ng.

Khi ng kp vi nhiu h iu hnh


Cng ging nh Windows, Linux h tr nhiu h iu hnh trn mt my tnh.
Chng trnh khi ng ca Linux s t ng nhn bit cc h iu hnh ny. Nu
nhn bit thnh cng, mt la chn s c t ng thm vo menu khi ng.
Linux cng h tr khi ng h iu hnh Windows. thit lp c h thng nh
vy, cn phi c chin lc phn vng ng n. Sau , cch n gin nht l ci
t Linux sau khi ci t Windows. Nu khng, phi c kinh nghim v cng,
bng phn vng v nhng phn lin quan c th khc phc s c.

Thc hnh
1. Ci t (qua mng hoc khng) mt h thng Linux vi yu cu nh sau:
+ Chn Custom System
+ Phn vng cng vi Disk Druid thnh cc phn vng nh sau:
/boot 100M
SWAP 512M
/ 2000M
/usr 6000M
/home 1000M
/tmp 2000M
/var Phn dung lng cn li ca cng
+ Ci t GRUB ln MBR v t mt khu cho GRUB.
Copyright ISE, 2006

22

Ti liu o to Linux c bn
CI T
+ Ci t cc gi theo yu cu ca ging vin.
2. Phc hi h thng
+ Gi s bn b qun mt khu root, khi ng li my tnh v phc hi li n bng
ch single.
+ Gi s bn cng qun c mt khu ca GRUB nn khng khi ng vo ch
single c. Khi ng my tnh bng a c kh nng cu h (Rescue Mode). Sa
li file cu hnh ca GRUB (/boot/grub/grub.conf) xa mt khu.

Copyright ISE, 2006

23

Ti liu o to Linux c bn
CU HNH PHN CNG

CU HNH PHN CNG


B nh
RAM h thng c d tm bi BIOS trong qu trnh khi ng v kernel s dng
kt qu ca qu trnh ny. V vy, trong nhng trng hp h thng s dng RAM
s lng t hn thc t ci t, cn phi kim tra li phn cng xem cm ng qui
cch cha hoc BIOS c hot ng ng khng.
Trong trng hp mun ch nh chnh xc lng RAM m Linux phi dng, c th
thm cc tham s cho chng trnh khi ng c ci t trn h thng:
LILO
Sa file /etc/lilo.conf, thm dng
append=mem=<Dung lng RAM>M

Sau chy /sbin/lilo.


GRUB
Sa file /boot/grub/grub.conf nh sau:
kernel vmlinuz mem=<Dung lng RAM>M

Qun l Ti nguyn
truy cp vo cc thit b, h thng (CPU) phi cp pht cc ti nguyn truy cp
cho chng. Sau y l cc kiu ti nguyn ny:

IRQs (Interrupt Request Lines)


L cc ng truyn lin lc trc tip t thit b n CPU gip cc thit b yu cu
CPU x l thng tin ca chng gi n. Mi khi c yu cu/ngt, CPU phi tm
dng cng vic ang thi hnh x l ngt. C 16 IRQs nh s t 0 n 15.
Copyright ISE, 2006

24

Ti liu o to Linux c bn
CU HNH PHN CNG
a ch I/O (Input/Output Nhp/Xut)
L nhng a ch trn b nh h thng c nh x vo b nh ca thit b. Mi
thao tc trn vng nh ny tng ng vi thao tc ln b nh ca thit b.

DMA (Direct Memory Access channels)


L cc knh truyn d liu cho php thit b thao tc trc tip ln b nh h thng
m khng phi thng qua CPU.

Lit k cc ti nguyn cp pht


Nhn lu gi cc thng tin ny trong th mc /proc. Cc file c s dng l:
/proc/dma
/proc/interrupts
/proc/ioports
/proc/pci
Nhng thng tin ny cng c th c lit k ra bi cc cng c nh lspci hay
dmesg:
lspci
Lit k danh sch thng tin ca nhng chipset gn trn thit b ti cc khe PCI. Vi
tham s -v, lnh s lit k cc thit lp v I/O v IRQ.
Vi tham s -b (BUS centric) lnh s lit k thng tin do BIOS qun l (c th khc
vi do nhn qun l).
dmesg
Hin th tt c cc thng ip mc nhn tnh t lc khi ng my. Nhng thng tin
ny cng c th ly c t file /var/log/dmesg.
Copyright ISE, 2006

25

Ti liu o to Linux c bn
CU HNH PHN CNG
Mt s Ti nguyn thng dng
Device

I/O port

IRQ

/dev/ttyS0

0x03f8

/dev/ttyS1

0x02f8

/dev/lp0

0x378

/dev/lp1

0x278

soundcard

0x220

USB
USB (Universal Serial Bus) l chun kt ni gia cc thit b vi nhau v vi PC.
Chng c chia thnh cc lp thit b nh sau:
Display Devices
Communication Devices
Audio Devices
Mass Storage Devices
Human Interface Devices (HID)
Mi thit b gn vo cng USB u c iu khin bi mt b iu khin USB
Controller. Bt u t phin bn nhn 2.2.7, Linux mi h tr USB Controller. C 3
kiu USB Controllers nh sau:
Host Controler

Kernel Module

OHCI (Compaq)

usb-ohci.o

UHCI (Intel)

usb-uhci.o

EHCI (USB v 2.0)

ehci-hdc.o

Copyright ISE, 2006

26

Ti liu o to Linux c bn
CU HNH PHN CNG

SCSI
Hin nay, chun SCSI c hai kiu giao tip l:
- Chun giao tip 8-bit vi mt knh truyn h tr 8 thit b SCSI. Tuy nhin do
bao gm c controller nn card SCSI theo chun ny ch c th kt ni c vi ti
a 7 thit b SCSI khc.
- Chun giao tip 16-bit (WIDE) cng tng t nh chun 8-bit vi s thit b kt
ni ti a l 15.
Mi thit b SCSI c gn mt s hiu SCSI ID duy nht. Cc s hiu ny chy t
0 n 7 hoc 15 v c th c thit lp bi cc jump trn chng.

H thng s t ng khi ng t thit b c SCSI ID = 0. Tuy nhin, th t ny c


th thay i c trong menu SCSI khi h thng khi ng

Network Card
dng c card mng, nhn ca h thng phi h tr chng. Thng tin v card
mng ang dng trong h thng c th c tm thy thng qua cc lnh hoc file
sau: dmesg, lspci, scanpci, /proc/interrupts, /sbin/lsmod hay /etc/modules.conf

Copyright ISE, 2006

27

Ti liu o to Linux c bn
CU HNH PHN CNG

V d trn cho thy mt card mng ang dng c chipset l Tulip, a ch I/O l
0xf800 v IRQ = 10. Nu cc thng tin ny hot ng tt th c th s dng n ti
cc h thng khc tng ng v phn cng nhng c li khi np module hay I/O
hoc IRQ b xung t. thay i cc tham s ny c th s dng cc lnh
modprobe hoc insmod (thay i trc tip) hay ghi vo trong file
/etc/modules.conf (c hiu lc t ln khi ng sau).

Modem
Do cc Modem cm trong yu cu CPU x l d liu cho chng nn thng thng
Linux khng h tr cc thit b loi ny (mc d c nhiu cch i ng vng
gii quyt vn trn).
V vy, ti liu ny ch cp n cc modem cm ngoi (s dng cng serial).
Trong Linux, cc cng serial c nh ngha khc so vi trong DOS/Windows:

Copyright ISE, 2006

DOS

Linux

COM1

/dev/ttyS0

COM2

/dev/ttyS1

COM3

/dev/ttyS2

28

Ti liu o to Linux c bn
CU HNH PHN CNG
Mc d hu ht cc phin bn phn phi Linux u c cng c ha d tm v
thit lp tham s cho modem, nhng trong cc server ch s dng giao din text,
setserial l cng c hu ch cho vic ny. Vi tham s -g, setserial c th tm c
cng serial no ang c thit b kt ni. Ngoi ra, setserial cng c kh nng thit
lp li tham s hot ng cho nhng cng ny.

thit lp kt ni v quay s trong mi trng text, c th dng b cng c


wvdial, wvdialconf, wvdial.conf.

My in
Hng dn chi tit hn v my in s c cp n trong nhng phn sau ca ti
liu. Thng thng nhng my in c kh nng PnP s c d tm ngay khi h
thng khi ng (k c my in USB cng c th c d thy) v c th nhn thy
bi lnh dmesg.
Qu trnh In trong Linux c thc hin trong hai bc. u tin, d liu in c
lc qua mt b lc theo nh dng ca trnh qun l my in. Sau , d liu mi
c x l a ra my in.

Thc hnh
1. S dng lng dmesg xem thng tin t file /var/log/dmesg. Tm trong cc
thng tin v USB, tty hoc eth0 v tr li:
Copyright ISE, 2006

29

Ti liu o to Linux c bn
CU HNH PHN CNG
- Tn ca USB controllers c s dng?
- S hiu IRQ ca hai cng serial u tin l bao nhiu?
2. Kim tra ni dung ca cc file:
/proc/ioports
/proc/interrupts
/proc/pci
/proc/dma
3. PCI bus:
- Kim tra output ca cc lnh lspci -v and scanpci v. Kiu ca card mng trn my
bn l g?
- Kim tra xem c bao nhiu mc bus trong file /proc/pci. Nhng thng tin ny c
ging nh kt qu ca 2 lnh trn khng?
4. USB:
- Dng lnh lsmod v lsusb kim tra xem kiu host controller no ang c s
dng trong h thng? UHCI, OHCI hay EHCI.

Copyright ISE, 2006

30

Ti liu o to Linux c bn
QUN L THIT B

QUN L THIT B
a v Phn vng
a vt l
a vt l c nhn Linux gn vo cc mc trong th mc /dev. Mi kt ni t
nhn n cc thit b u thng qua b s major/minor. Cc s major c nh
ngha trong file /proc/devices. V d: a cng IDE u tin c s major = 3
Block devices:
1

ramdisk

fd

ide0

nhn dng cc cng trong /dev, Linux dng hai k t bt u l hd cho cc


thit b IDE, sd cho cc thit b SCSI hoc a USB (nhng li dng st cho bng
SCSI). Sau l cc k t thm vo nh danh cc thit b cng h:

hda

Primary Master

hdb

Primary Slave

hdc

Secondary Master

hdd

Secondary Slave

sda

First SCSI/USB disk

sdb

Second SCSI/USB disk

Phn vng a
c th s dng c, cc a cng cn phi c phn vng. Linux thm vo
ng sau nh danh a cng s hiu ca cc phn vng qun l.

Copyright ISE, 2006

31

Ti liu o to Linux c bn
QUN L THIT B
hda1

Partition u tin trn IDE u tin

hda2

Partition th hai trn IDE u tin

sdc3

Partition th ba trn SCSI th ba

Mi IDE ch cho php c 4 phn vng chnh v mt trong s chng c th c


nh du l phn vng m rng. Phn vng ny c th c nh chia thnh nhiu
phn vng con bn trong. Linux h tr ti a 64 phn vng trn IDE v 16 phn
vng trn SCSI.

Copyright ISE, 2006

32

Ti liu o to Linux c bn
QUN L THIT B

Trong v d trn (dng fdisk -l), h thng c ba phn vng chnh c nh danh t
hda1 n hda3. Phn vng th 3 c nh du l m rng v cha trong n 7 phn
vng con. Do hda3 khng c dng. Cc phn vng con c nh danh t
hda5 tr i.

Cng c Phn vng a


Trc khi ci t Linux
PartitionMagic
fips
fdisk

Trong khi ci t Linux


Trong qu trnh ci t Linux, c th s dng chnh cng c T ng phn vng ca
mt s bn phn phi hoc dng cng c phn vng th cng i km:

diskdrake

Mandrake

DiskDruid

RedHat

Copyright ISE, 2006

33

Ti liu o to Linux c bn
QUN L THIT B
Trn h thng ang hot ng
fdisk lun l cng c c la chn phn vng cc a cng. Tp lnh ca fdisk
tng i n gin, ch gn g lnh m xem y cc lnh ca n.
Sau khi fdisk, nu c thay i bng phn vng, cn phi khi ng li my tnh.
s dng c cc phn vng ny, phi nh dng chng vi cc nh dng h thng
file m Linux hiu c thng qua cc lnh: mkfs hoc mke2fs.

Bootloader
Bootloader l chng trnh mc nh c ci t trn MBR nhm gip my tnh la
chn c phn vng khi ng, np b mi h iu hnh v chuyn quyn kim
sot cho h iu hnh.
Cc bn Linux c phn phi vi hai Bootloader ring. Tuy nhin, chng cng
nhn vai cho mi h iu hnh nn c th ci t vo BR ca phn vng khi ng
ch khng nht thit phi ci t trn MBR.

LILO (the LInux bootLOader)


c thit k vi 3 thnh phn chnh

LILO
M nh phn ca trnh bootloader, c ci t trn MBR hoc BR. N s np m
khi ng giai on 2 ti /boot/boot.b.

/etc/lilo.conf
File cu hnh ca LILO vi mt s tham s nh sau:

Copyright ISE, 2006

34

Ti liu o to Linux c bn
QUN L THIT B
boot*

Ni LILO c ci t (/dev/hda l MBR)

install

Ni m khi ng giai on 2 c ci t (mc nh l boot.b)

prompt

Cho ngi dng la chn h iu hnh khi khi ng my.

default

Tn ca file nh c np khi khi ng mc nh

timeout

Thi gian kt thc la chn

image*

ng dn ch n nhn khi ng

label*

Tn ca file nh

root*

Tn ca a cha th mc gc ca h thng file.

/sbin/lilo
Cng c dng c tham s t /etc/lilo.conf v thit lp cho LILO.

GRUB (the Grand Unified Bootloader)


c pht trin sau LILO vi mt vi u im so vi LILO. Thng tin chi tit v
GRUB c th c xem qua lnh info.

Nhng thit b qun l


File /etc/fstab lu thng tin v cc im kt ni xc nh trc cho cc thit b khi.
Copyright ISE, 2006

35

Ti liu o to Linux c bn
QUN L THIT B

Ngoi ra, /etc/fstab cng c dng tr gip cho cc kt gn ti nguyn thi gian
thc. V d:

Chng trnh mount s c /etc/fstab v quyt nh ti nguyn (hoc im kt ni)


no s c s dng v cc tham s ca vic kt ni cng c th c xc nh ti
bc ny. Sau y l mt s tham s ty chn (option) ca mount:

rw, ro

c-ghi hoc ch c

users

c th c v umount bi mi ngi dng

user

ch c th umount bi ngi dng mount n

owner

c th thay i quyn v thuc v ngi dng

Copyright ISE, 2006

36

Ti liu o to Linux c bn
QUN L THIT B
mount n
usrquota

bt thit lp hn ngch a mc ngi dng

grpquota

bt thit lp hn ngch a mc nhm ngi dng

Nu s dng vi tham s -a, mount s t ng nh x tt c cc khai bo trong


/etc/fstab m cha c mount v khng c ty chn noauto.
Mt s thit b c truy cp thng qua cc nhn. Nhn c gn cho thit b bi
lnh tune2fs:

Quotas
Quota l cng c cho php qun tr h thng thit lp hn ngch lu tr trn a.
Cng c ny khng yu cu khi ng li h thng. Sau y l mt s bc lm
chung:
1. Thm ty chn usrquota vo file /etc/fstab ti dng cha phn vng cn phn hn
ngch.
2. Remount li phn vng ny:

3. Thit lp tnh trng quota:

Copyright ISE, 2006

37

Ti liu o to Linux c bn
QUN L THIT B

Sau lnh ny, nu thit lp ng, file aquota.user s c sinh ra ti th mc gc ca


phn vng.
4. Sa li hn ngch cho tng ngi dng:

Tham s soft/hard limit phi c thit lp cho c s blocks ln inodes cho mi user.
H thng s cho php s dng vt qu con s soft limit cho n khi ht hn. Khi
, hard limit s c s dng quyt nh chnh xc hn ngch ca ngi dng.
S dng tham s -T quyt nh thi gian ny.
5. Bt ch hn ngch ln:

Ngi dng c th kim tra hn ngch ca mnh bng lnh quota, qun tr c th
sinh ra bo co v hn ngch bng lnh repquota hoc quotastats.

Copyright ISE, 2006

38

Ti liu o to Linux c bn
QUN L THIT B

Thc hnh
1. S dng fdisk, xa phn vng /home, sau to li 1 phn vng mi. Khi ng
li my tnh. Vn g s xy ra? Gii quyt nh th no?
2. Dng lnh mkfs to ra nh dng h thng file kiu ext3 trn phn vng ny
3. To th mc data trong th mc gc. Thit lp li /etc/fstab sao cho th mc ny
l mount point ca phn vng mi nh dng.
4. Dng lnh mount c tham s kim tra li xem thit lp /etc/fstab ng cha.
5. Thit lp hn ngch a cho phn vng trn theo tng bc hng dn.

Copyright ISE, 2006

39

Ti liu o to Linux c bn
H THNG FILE TRONG LINUX

H THNG FILE TRONG LINUX


Cu trc ca h thng file
Mi h thng file c cu trc ging nh mt ci cy dng ngc. Gc ca cy c
t trn cng v bn di l l ca n.
Nh cp trn, mi phn vng khi c to ra u c th c mt mount point.
Cng vic ny thng c thi hnh trong qu trnh ci t. hiu k hn v vn
ny, hy quan st kin trc phn cp ca mt h thng file trongLinux di y:

Trong hnh trn, gc ca kin trc phn cp ny l th mc gc /. N gn tng t


nh C:\ trong DOS ngoi tr vic C:\ chnh l phn vng u tin ca a cng
u tin, trong khi th mc gc / ca Linux c th l nh x ca bt k phn vng
no.
Copyright ISE, 2006

40

Ti liu o to Linux c bn
H THNG FILE TRONG LINUX
The base directories
Cc th mc c s l nhng th mc con cp 1 nm ngay di th mc gc /.
Chng c to ra bi mt gi thng c tn l filesystem.

Tin trnh khi ng s nh x th mc gc u tin nhm gip tt c cc thao


tc tip theo nh kim tra phn vng, np module cho nhnvv v khi nh x th
mc gc xong th cc chng trnh nh: fsck, insmod hay mount mi c th c
s dng.

m bo cho qu trnh khi ng din ra chnh xc, cc th mc /dev, /bin,


/sbin, /etc v /lib bt buc phi l th mc con ca / v khng th l nh x ca
bt k phn vng no khc.

Sau y l mt s th mc c s v gii thch ngn gn ngha ca chng:


/bin v /sbin
Cha nhng file cn thit cho qu trnh khi ng v nhng lnh thit yu duy tr
h thng.
/dev
Cha cc nh danh nh x ca thit b hoc nhng file c bit.
/etc
Cha cc file cu hnh ca h thng v nhiu chng trnh tin ch.
/lib
Cha cc th vin dng chung cho cc lnh nm trong /bin v /sbin. V th mc ny
cng cha cc module ca nhn.
Copyright ISE, 2006

41

Ti liu o to Linux c bn
H THNG FILE TRONG LINUX
/mnt hoc /media
Mount point mc nh cho nhng h thng file kt ni bn ngoi.
/proc
Lu cc thng tin ca nhn, ch c th ghi c ni dung trong th mc /proc/sys.
/boot
Cha nhn Linux khi ng v cc file system maps cng nh cc file khi ng
giai on hai.
/home (ty chn)
Th mc dnh cho ngi dng khc root. Thng tin khi to th mc mc nh ca
ngi dng c t trong /etc/skel/
/root (ty chn)
Th mc mc nh ca ngi dng root.
/tmp
Th mc cha cc file tm thi.
/usr
Th mc cha nhng file c nh hoc quan trng phc v tt c ngi dng.
/usr/local hoc /opt (ty chn)
Th mc cha cc phn mm ci thm.
/var/www, /var/ftp/ hoc /srv (Suse)
Th mc cha thng tin ca cc dnh v WEB hay FTP.
/var
Th mc cha cc thng tin hay thay i nh: spool v log

Copyright ISE, 2006

42

Ti liu o to Linux c bn
H THNG FILE TRONG LINUX

S nht qun trong nh dng v kin trc ca h thng file


c th lu tr v qun l d liu, mi phn vng trn a cng u phi c to
ra mt h thng file. Ngay trc khi khi to, bao gi ngi thit lp cng phi ch
nh kiu nh dng ca h thng file mi cn to.
Hin nay, nhn Linux h tr rt nhiu kiu nh dng ca h thng file. Trong ,
kiu h thng file ext2 c coi l mc nh trong cc h thng ca Linux Linux
Native (Trong nhiu h thng ext3 c coi l mc nh nhng thc t ext3 chnh
l ext2 km thm chc nng journal).
Mt kiu khc ca h thng file cng hay c dng l SWAP. Kiu nh dng h
thng file ny ch c dng cho phn vng swap.

The Second Extended File System


Ext2 l kiu nh dng h thng file c thit k da trn vic qun l cc khi d
liu c kch thc 1KB (1024 byte), y l kch thc mc nh v c th thay i
c. C 3 loi khi nh trn c nh ngha trong ext2:
Superblocks
Lp li sau mi 8193 khi. Khi ny cha thng tin nh: block-size, free inodes, last
mounted time
Inodes
Cha cc con tr tr n khi d liu. 12 khi d liu u tin c truy cp trc
tip t con tr ny. Nu d liu > 12KB th cc inodes gin tip s c s dng.
Mi inode bao gm 256 byte v cha cc thng tin v user, group, permissions v
time stamp ca d liu m n qun l.
Khi d liu
C th l file hoc th mc vi ni dung tht c cha trong cc khi ny.
Copyright ISE, 2006

43

Ti liu o to Linux c bn
H THNG FILE TRONG LINUX
Tin ch nh dng
Do nhn Linux ch c th c c cc h thng file c nh dng t trc nn
lu tr v qun l d liu trn cc phn vng mi, cn phi nh dng mt h
thng file trn thng qua cc cng c nh dng.
nh dng mt phn vng c kiu h thng file l ext2 bng lnh mkfs.ext2 hay
mke2fs. Tng t nh vy vi kiu h thng file xfs (ca Silicon Graphics) vi lnh
mkfs.xfs.
Lnh mkfs thc cht l mt chng trnh kim tra yu cu nh dng v la chn
ng lnh thi hnh. C php ca mkfs l:
mkfs t <fstype>

S an ton ca h thng file


Nu h thng file b hng hoc sai lch, tin ch fsck c s dng chnh sa li
cc h hng ny tuy nhin cc h thng file ny cn phi unmount trc m
bo tnh chnh xc.
Cng nh mkfs, fsck thc cht ch kim tra cc tham s ca ngi dng v la chn
ng chng trnh thi hnh, v d: fsck.ext2, fsck.ext3

Copyright ISE, 2006

44

Ti liu o to Linux c bn
H THNG FILE TRONG LINUX

Kim tra dung lng a


S dng mount v df
C hai lnh trn u cng hot ng cng mc thit b. Hai lnh mount v
umount dng qun tr cc h thng file gn kt trong file /etc/mtab.
Nu s dng mount khng tham s, tt c cc h thng file c gn kt trong h
thng s c lit k ra mn hnh. Kt qu ging nh trong file /etc/mtab. Ngoi ra,
nhn cng lu gi thng tin v h thng file c kt ni trong /proc/mount.
xem thm thng tin v im kt ni hin ti c th s dng lnh df. Lnh ny
cho php hin th thm dung lng a s dng v dung lng cn trng. n v
kch thc hin th l 1K.

S dng du
Tin ch ny c s dng hin th khng gian a c s dng nhng mc
th mc. V vy, du cng khng th hin th khong trng cn tha ca a.

Copyright ISE, 2006

45

Ti liu o to Linux c bn
H THNG FILE TRONG LINUX

Quyn truy xut File, Th mc

Thay i quyn truy xut v ch s hu


Quyn truy xut file, th mc v ch s hu c nh ngha quy nh cch thc
truy cp d liu trong h thng.
thay i quyn truy cp, s dng lnh chmod. C ba nhm i tng chnh c
tc ng bi quyn truy cp l:

Ngi dng s hu

Nhm ngi dng s hu

Khng thuc hai i tng trn

V d:
-rw-rw-r-- 1 jade sales 24880 Oct 25 17:28 libcgic.a

Copyright ISE, 2006

46

Ti liu o to Linux c bn
H THNG FILE TRONG LINUX

Ty chn hay dng vi chmod, chown v chgrp l R cho php thay i trong c
cc th mc, file bn trong th mc ch nh.
Ngoi cch s dng k t i din cho cc quyn: read=r, write=w, execute=x,
chmod cho php s dng mt b s h bt phn thay i quyn theo bng sau:

read

write

execute

user

group

other

rwx

r-x

rw-

4+2+1=7

4+1=5

4+2=6

Quyn truy xut chun


Cc h thng UNIX to ra file v th mc vi quyn truy xut chun nh sau::
Files

666

-rw-rw-rw-

Directories

777

-rwxrwxrwx

umask

Copyright ISE, 2006

47

Ti liu o to Linux c bn
H THNG FILE TRONG LINUX
L khi nim c thit lp ch nh quyn truy xut mc nh cho cc file v th
mc mi to i vi mi ngi dng. umask l mt mt n gm mt b cc s h
bt phn. Khi , quyn truy xut mc nh ca cc file v th mc i vi mi
ngi dng c tnh theo cng thc sau:

Final Permissions = Standard Permissions (logical AND) (NOT)Umask

Quyn truy cp SUID


L quyn truy cp c thit lp bi root cho php ngi dng bnh thng c th
thi hnh mt lnh nh l root. Quyn ny c thit lp vi tn l s (nm v tr x
ca nhm u) v c gn s h bt phn l 4000.

Quyn truy cp SGID


L quyn truy cp cho php ngi dng thuc nhm s hu c th thi hnh lnh m
khng cn dng newgrp chuyn nhm. Quyn ny c thit lp vi tn l s
(nm v tr x ca nhm g) v c gn s h bt phn l 2000.

Bit nh du (The sticky bit)


Quyn ny c thit lp vi tn l t (nm v tr x ca nhm o) v c gn s h
bt phn l 1000. Quyn ny c thit lp :
- Cho php cc th mc cm ngi dng xa file tr phi h l ch s hu.
- Cho php file c thi hnh hoc np vo b nh nhanh hn.

Copyright ISE, 2006

48

Ti liu o to Linux c bn
H THNG FILE TRONG LINUX

Thc hnh
Filesystem
1. Xa phn vng c nh x vo /data ca bi trc, to ra 2 phn vng mi c
kiu nh dng ca h thng file l ext2 v reiserfs.
2. To 2 th mc con trong /mnt v nh x hai phn vng mi vo.
mkdir /mnt/ext2
mkdir /mnt/reiserfs
3. S dng cc lnh mount, df, fsck kim tra i vi 2 phn vng mi to.
4. Chuyn i t ext2 sang ext3 bng lnh tune2fs
File permissions
1. Login bng 1 ngi dng khng phi root v to 1 file mi bng lnh touch. Kim
tra xem quyn truy xut ca file ny l g?
2. Thay i umask thnh 027. Quyn truy xut mc nh s l g?
3. Ni no s thit lp gi tr mc nh ca umask? /etc/profile, /etc/bashrc
4. Thm 2 ngi dng mi user1, user2 vi passwword tng ng. To nhm mi
sales. V thm 2 ngi dng mi to vo nhm ny.
5. To th mc /news s hu bi nhm sales v c quyn 770 cho th mc ny. Sau
t GID cho th mc ny.
6. Kim tra cc tnh cht ca GID vi user1 v user2.
7. Thm Sticky-Bit cho th mc /news. Kim tra tnh cht ca bit ny.

Copyright ISE, 2006

49

Ti liu o to Linux c bn
DNG LNH

DNG LNH
Khi qut
S dng dng lnh l cch c bn tng tc vi h thng my tnh. B bin dch
shell (h v) thng dch cc lnh c nhp vo t bn phm. Du nhc shell ($ hoc
# i vi ngi qun tr h thng) cho bit h thng sn sng hot ng.
Shell cn l mt mi trng lp trnh cho php thc hin cc lnh khi ng.
Chng trnh shell c gi l script (kch bn).

Do bash shell l mt trong nhng shell thng dng nht trong cng dng linux, v
th LPI (Linux Professional Institute) tp trung ch yu vo bash shell.

Tng tc vi SHELL
Cc cu lnh thc hin trn shell c dng sau:

command [options] {arguments}


Hin th k t ra mn hnh
Bash shell s dng lnh echo hin th k t ra mn hnh
echo this is a short line

ng dn tuyt i/tng i

Copyright ISE, 2006

50

Ti liu o to Linux c bn
DNG LNH
Shell thng dch t u tin ca bt k dng lnh no nh l mt cu lnh. Nu dng
lnh c mt ng dn tuyt i hoc tng i n cu lnh th cu lnh s c
thc thi. Nu t u tin khng c k t / th shell s tm kim cc th mc
c khai bo trong ni dung bin mi trng PATH v thc hin chng trnh c
tn trng vi cu lnh.
V d nu tham bin PATH ch cha cc th mc /bin v /usr/bin th cu lnh xeyes
s khng c tm thy khi m n nm trong /usr/X11R6/bin/xeyes v v th ng
dn tuyt i l cn thit cho cu lnh ny c thc thi.

/usr/X11R6/bin/xeyes

Ngi dng c th s dng ng dn tng i thay cho ng dn tuyt i trong


khi thc hin mt cu lnh. V d nu ngi dng ang truy cp vo th mc cha
chng trnh xeyes th h c th s dng cu lnh sau:
./xeyes

Bin mi trng ca Shell


Cc bin ca Shell ging nh cc bin c s dng trong cc ngn ng my tnh
khc. Cc tn bin c gii hn trong cc k t ch s. V d CREDIT=300 c
ngha l gn gi tr 300 cho bin c tn l CREDIT
1. Khi to mt bin

Variable-Name=gi tr (khng c du cch)

2. Tham chiu mt bin

$Variable-Name

CREDIT=300
echo $CREDIT

Export, Set v Env:

Copyright ISE, 2006

51

Ti liu o to Linux c bn
DNG LNH
C hai loi bin: bin cc b v bin xut (c th gi l bin ton cc a phng,
thc t khi nim ny khng th ng ngha vi khi nim bin ton cc trong cc
ngn ng lp trnh. Tuy vy cho ngn gn, tt c cc th hin bin ton cc xut
hin trong ti liu ny u c ngha nh bin xut).
Bin cc b ch c truy cp bi shell hin thi. Trong khi bin xut s c
truy cp bi c shell v bt k tin trnh con ca shell ny.
Cc lnh set v env dng hin th cc bin d c nh ngha
Cc lnh set v env
set

Hin th tt c cc bin

env

Hin th tt c cc bin xut

Mt bin c gi l bin ton cc khi bt k tin trnh con no cng c th tham


chiu n n.

V d: To bin CREDIT l bin ton cc. Hin th n vi lnh set hoc env.
export CREDIT
env | grep CREDIT

Khi to mt shell mi (tin trnh con) v kim tra xem bin CREDIT c c truy
cp n khng? Chng ta c th khi to bt k shell mi v xem bin CREDIT c
c truy cp n khng?

Copyright ISE, 2006

52

Ti liu o to Linux c bn
DNG LNH

Cc bin c
nh ngha trc

ngha

DISPLAY

c s dng bi X xc dnh v tr thc hin mt ng dng


khch (client)

HISTFILE

ng dn n file ca cc ngi dng .bash_history

HOME

ng dn n th mc dnh ring (home) ca ngi dng

LOGNAME

Tn c s dng bi ngi dng truy nhp

PATH

Cha nhng th mc s c tm kim bi shell khi ngi


dng thc hin chng trnh m khng ch ra ng dn

PWD

Th mc lm vic hin thi

SHELL

Shell c s dng (bash thng dng nht)

TERM

M phng thit b cui hin thi

Cc bin c bit
Mt s bin lin quan n vic qun l tin trnh
$!

Hin th m tin trnh (PID) ca tin trnh con cui cng

$$ Hin th m tin trnh (PID) ca shell ang thc thi


$? C gi tr 0 nu lnh cui cng c thc hin thnh cng v 1 nu ngc li

Xut, nhp, i hng


Cc tin trnh UNIX thng thng m 3 dng m t file chun cho php n thc
hin vic xut, nhp v bo li. Cc dng m t chun ny c th c nh ngha
li bi bt k tin trnh no. Trong hu ht cc trng hp, m t stdin l bn phm,
v hai dng m t xut + bo li (stdout v stderr) l mn hnh.

Copyright ISE, 2006

53

Ti liu o to Linux c bn
DNG LNH

Cc gi tr cho stdin, stderr, v stdout


stdin

stdout

stderr

i hng stdout
program > file
D liu theo hng t tri sang phi

fdisk l > partions.txt

Cu lnh ny s thc hin tin ch fdisk v kt qu u ra s c ghi vo file


partitions.txt. Kt qu khng c hin th ra mn hnh. Ch rng shell s thc
hin cu lnh ny bt u t bn phi. Nh vy, file partitions.txt s c to ra nu
nh n cha tn ti v s b ghi vo khi ton t > c dng.

Ton t >> s b sung thm kt qu vo ni dung file.

Copyright ISE, 2006

54

Ti liu o to Linux c bn
DNG LNH

i hng stdin
program < file
Trong trng hp ny d liu theo hng t phi sang tri. Ton t < ch c s
dng cho stdin v khng th dng cho stdout.
Nu file instruction cha trn mi dng cc k t p, m, v q th trong v d sau y
fdisk s in bng phn vng (partition) ca /dev/hda, in tin ch tr gip, v cui
cng l thot khi cu lnh.

fdisk /dev/hda < instructions

i hng stderr
program 2> errorfile
stdin, stdout, v stderr c di din bng 0, 1, v 2 tng ng. Cu lnh trn cho
php chng ta chn lung stderr.

Copyright ISE, 2006

55

Ti liu o to Linux c bn
DNG LNH

find / 2> /dev/null

Cc lnh ng ng

Program1| Program2
Cc ng ng (pipe) c di din bng k hiu |. Dng d liu chuyn t tri
sang phi. Hnh sau y minh ha stdout ca mt tin trnh c chuyn hng n
stdin ca mt tin trnh khc nh th no.

cat /var/log/messages | less

Cc chuyn hng ca d liu xut c phn tch t phi sang tri, do cc lnh
sau l khng tng ng

Copyright ISE, 2006

56

Ti liu o to Linux c bn
DNG LNH
Do-command 2>&1 >logfile
Do-command >logfile 2>&1

Du ngoc v Cc k t a ngha (Metacharacter)


Metacharacter l cc k t c ngha c bit trong shell. Chng c dng ch yu
cho file globbing, tc l i snh mt vi file hoc tn th mc bng mt s lng
ti thiu cc k t.
Cc k t nhp (<), xut (>), v ng ng (|) cng l cc k t c bit v k t $
c dng cho cc bin. Cc k t c bit ny s khng c lit k ht y.

Cc k t i din (wildcard)
K t * c th i din cho 0 hoc mt s k t tu
ls /usr/bin/b*

hin th tt c cc chng trnh bt u bng k t b

K t ? i din cho mt k t tu
ls usr/bin/?b*

hin th tt c cc chng trnh c k t b v tr th 2

Cc min (range)
[] c dng nh ngha mt min cc gi tr

ls a[0-9]

hin th tt c cc file bt u bng k t a v c mt ch s


v tr th 2.

ls [!Aa]*

hin th tt c cc file khng bt u bng k t a hoc A

Copyright ISE, 2006

57

Ti liu o to Linux c bn
DNG LNH
{xu1,xu2} mc d chng khng c dng i din mt h tn file nhng
chng c th s dng i snh vi tn nhng file c.

ls index.{htm,html}

Cc du ngoc (quote) v m escape


ngha c bit ca cc metacharacter c th b hu b bng cc k t escapechng cng l cc metacharacter.
Du vch cho ngc (\) l mt k t c bit v hu b ngha ca tt c cc
metacharacter yu cu shell thng dch chng.
Du ngoc n (' ') hu b ngha ca tt c cc metacharacter ngoi tr du vch
cho ngc.
Du ngoc kp (" ") c tc dng yu nht nhng cng c th hu b phn ln
ngha c bit ca cc k t nm trong du ngoc kp ngoi tr ng ng (|), du
vch cho ngc, v mt bin ($var).

Du nhy
Du nhy ny ging du huyn ca Ting Vit v thng c t cnh s 1 ca
bn phm y .
Cp du nhy (``) s thc hin cu lnh nm bn trong. V d sau y s nh ngha
bin TIME s dng lnh date

TIME="Today's date is `date +%a:%d:%b`


echo $TIME
Today's date is Sun:15:Jul

Copyright ISE, 2006

58

Ti liu o to Linux c bn
DNG LNH
Mt cch khc thc hin cu lnh ging nh s dng cc du nhy l $(). V
d di y s thc hin cu lnh bn trong v gn gi tr tr v vo bin TIME.

TIME=$(date)

Lch s dng lnh


xem danh sch cc cu lnh c s dng t trc chng ta c th dng bash
gn lin vi lnh history

history
1.

ls

2.

grep 500 /etc/passwd

Chng ta c th gi li cc lnh s dng bng cch dng mi tn ln v xung


trn bn phm. Ngoi ra cn c cc lin kt phm emacs cho chng ta thc hin v
sa i cc lnh trc .

Emacs Key Bindings for Editing the Command History


Ctrl+p

Ln trn 1 dng

Ctrl+n

Xung di 1 dng

Ctrl+b

Quay li (sang tri) 1 k t

Ctrl+f

i tip (sang phi) 1 k t

Ctrl+a

V cui dng

Ctrl+e

V u dng

Copyright ISE, 2006

59

Ti liu o to Linux c bn
DNG LNH

Du chm than (!) c th c dng thc hin cc lnh trc


V d
!x

Thi hnh lnh gn nht trong lch s lnh m c k t bt u l 'x'

!2

Thi hnh lnh c s th t = 2 trong lch s lnh

!-2

Thi hnh lnh ngay trc lnh va thi hnh

!!

Thi hnh lnh va chy

^string1^string2

Thi hnh lnh va chy v thay th string1 bi string2

Mt s lnh khc
B danh
Chng ta c th to cc b danh cho cc lnh s dng nhiu tham s. Cch thc
to mt b danh l nh sau

S kt thc cu lnh
Bng cch n phm TAB, shell s kt thc cu lnh m chng ta ang g vo
Bng cch ch g alias ti mt dng lnh, chng ta s c danh sch ca cc b danh
c nh ngha
<<l s i hng cho kt thc file (EOF)
V d cu lnh
cat << stop

Copyright ISE, 2006

60

Ti liu o to Linux c bn
DNG LNH

s chp nhn cc gi tr nhp chun cho n khi t 'stop' c a vo.

Thc hnh
Stdin-stdout-stderr
G cc cu lnh sau y v a ra cc kt qu thc thi (nu c th) s dng cc s
ging nh nhng s c dng trong chng ny

ls /etc ; df > /tmp/out.1


(ls /etc ; df) > /tmp/out.2
find /etc -type f 2> /dev/null | sort
tr [a-z] [A-Z] < /etc/passwd | sort > /tmp/passwd.tmp
cat /tmp/passwd.tmp | tr [A-Z] [a-z]

Dng lnh
1. Hin th tt c cc file trong /usr/X11R6/bin m khng bt u vi k t 'x'
ls /usr/X11R6/bin/[!x]*

2. Cu lnh xterm c cc la chn sau:


-bg <mu>

thit lp mu nn

-fg <mu>

thit lp mu ch

-e <cu lnh>thc hin cu lnh


Thit lp mt b danh mi sao cho cu lnh su m mt xterm vi cc mu mi v li
nhc cho mt khu ch
alias su="xterm -bg orange -fg brown -e su -u &"

Bn s lu tr b danh ny ni nao trn h thng?

Copyright ISE, 2006

61

Ti liu o to Linux c bn
DNG LNH

3. Bn c th m kho cc file s dng cu lnh uuencode. File m ho s c


chuynt hng n stdout
V d: uuencode /bin/bash super-shell > uufile s m ho /bin/bash v to
ra mt file super-shell khi thc hin uudecode i vi uufile
- Gi /bin/bash c m ho n ngi dng cc b (trong trng hp ny
chng ta c th s dng uuencode v ng ng | hoc lu li kt qu m
ho vo file uufile v s dng i hng STDIN <)
- Chia file m ho thnh 5 file nh
uuencode /bin/bash super-shell > uufile
split -b 150000 uufile base-name.

Lnh ny s to ra cc file base-name.aa, base-name.ab,...


Thc hin lnh sau ghp ni cc file m ho c chia nh thnh file d liu
ban u (unsplit)
cat base-name.* > uufile.new

Cui cng gii m fie v kim tra xem n c hot ng khng


uudecode uufile.new

Cu lnh ny s to ra mt file nh phn gi l super-shell


4. Tin ch no s tm ra ng dn tuyt i ca mt file nh phn thng qua qu
trnh kim tra bin PATH?
Cc bin
1. Thc hin cc cu lnh sau

Copyright ISE, 2006

62

Ti liu o to Linux c bn
DNG LNH
Khi to gi tr 'virus' cho bin ALERT
ALERT=virus

Kim chng xem bin ALERT c khi to cha bng lnh set?
set |grep ALERT

Hoc c th hin th ALERT bng cch dng lnh env

Tip theo, g 'bash'. Bn c th truy cp vo bin ALERT?


bash
echo $ALERT

Xem gi tr ca ALERT l trng hay khng?

G exit (hoc ^D) tr v phin lm vic ca ban.

S dng lnh export to bin ALERT l bin ton cc


export ALERT

Kim chng ALERT l bin ton cc cha?


env | grep ALERT

(v) Khi to mt bash shell mi v chc chn rng ALERT c nh ngha trong
shell mi
bash
echo $ALERT

Trong shell mi ny, nh ngha li bin ALERT


export ALERT=green

Thot khi shell ny. Gi tr ca bin ALERT trong shell ban u s l bao
nhiu?

Copyright ISE, 2006

63

Ti liu o to Linux c bn
DNG LNH
2. Ti li nhc cu lnh g cc dng sau:
CREDIT01=300;CREDIT02=400
for VAR in CREDIT01 CREDIT02; do echo $VAR;done

Ch rng bin VAR s c tham chiu bng $VAR


(i) Thc hin li lnh ny
(ii) Thc hin lnh ny nhng thay th CREDIT01 bng $CREDIT01

3. S dng cc du ngoc thch hp thay i bin PS1 sao cho n gm ng dn


tuyt i n th mc bn ang lm vic
(Gi : gi tr ca PS1 l [\u@ \W]\$, do bn ch cn thay th \W bng \w)
PS1='

[ \u@\h \w ]\$ '

Bin PS2 c gi tr nh th no?

Copyright ISE, 2006

64

Ti liu o to Linux c bn
QUN L FILE

QUN L FILE
Di chuyn quanh h thng file
Cc ng dn tuyt i v tng i
Mt th mc hoc mt file c th truy cp bng ng dn tuyt i bt u t th
mc gc (/) hoc ng dn tng i bt u t th mc hin thi.
ng dn tuyt i: c lp vi th mc hin thi ca ngi dng v bt u vi /
ng dn tng i: ph thuc vo th mc hin thi ca ngi dng v khng
bt u vi /
i vi mt h thng file c cu trc bt k, c mt s tin ch gip chng ta c th
duyt ton b h thng
pwd: a ra ng dn tuyt i v v tr ca bn trong h thng
cd: thay i th mc

Tm kim file v th mc
Chng ta s tm hiu cc tin ch find, which, whereis v locate
find
C php:
find <DIRECTORY> <CRITERIA> [-exec <COMMAND> {} \; ]

Tham bin DIRECTORY s cho bit v tr bt u tm kim v CRITERIA c th l


tn mt file hoc mt th mc m chng ta ang tm kim

V d

find /usr/X11R6/bin -name x*.


find / -user 502
Copyright ISE, 2006

65

Ti liu o to Linux c bn
QUN L FILE

Cc dng i snh s c hin th u ra chun. Kt qu xut ny c th c


thc hin tip theo . V d xo file hoc thay i quyn hn. Tin ch find c la
chon -exec cho php chng ta thc hin iu . V d xo tt c cc file thuc v
ngi dng 502

find / -type f -user 502 exec rm f {} \;

xargs
Tin ch ny ny thng xem nh l mt cng c i km vi find. Thc t xargs s
x l mi dng ca kt qu xut chun nh mt tham bin cho mt tin ch khc.
Chng ta c th dng xargs xo tt c cc file thuc v mt ngi dng bng
lnh sau

ind / -type f -user 502 | xargs rm f

Cc cu lnh chc chn nh rm khng th x l vi qu nhiu tham s.


Chng ta c th xo ton b cc file trong mt th mc vi lnh sau
ls | xargs rm -f

Copyright ISE, 2006

66

Ti liu o to Linux c bn
QUN L FILE

locate
C php:
locate <STRING>

Tin ch locate cho php hin th tt c cc file v th mc tho mn biu thc


(expression)

locate X11R

Vi tin ch ny qu trnh tm kim s nhanh hn rt nhiu. Thc t locate s truy


vn c s d liu /var/lib/slocate. C s d liu ny s c cp nht hng ngy
thng qua cron job da trn lnh updatedb
Khi thc hin updatedb t dng lnh th file /etc/updatedb.cn s c c xc
nh h thng file c chnh sa (tc l NFS) v cc th mc (tc l /tmp)

which
C php:
which string

Tin ch ny s a ra ng dn tuyt i i vi file gi l string bng cch ch


kim tra cc th mc c nh ngha trong bin PATH ca ngi dng. V th
which ch c dng tm kim cc lnh.

whereis

Copyright ISE, 2006

67

Ti liu o to Linux c bn
QUN L FILE
C php
whereis string

Tin ch ny s a ra ng dn tuyt i i vi cc file ngun, nh phn, v ti


liu ph hp vi string bng cch kim tra bin PATH cng nh cc v tr hay c
s dng.
Cc la chn thng c dng ca ls

Lm vic vi th mc
To th mc vi lnh mkdir
Khi to mt th mc chng ta c th thit lp quyn truy nhp vi la chn -m. Mt
la chn c ch khc l -p s t ng to tt c cc th mc con khi cn.

V d:
mkdir p docs/programs/versions

Xo cc th mc
xo mt th mc chng ta c th s dng lnh rmdir hoc rm. Nu bn ang
th mc gc bn c th dung la chon -f xo tt c cc file.

Copyright ISE, 2006

68

Ti liu o to Linux c bn
QUN L FILE
Ch :

rm -rf /dir1/*

xo tt c cc file v cc th mc con v dir1

l th mc trng
rm -rf /dir1/

xo tt c cc file v cc th mc con bao gm c

dir1

S dng cp v mv
cp
C php
cp [options] file1 file2
cp [options] file1 directory

Ch rng cp file1 file2 to mt bn copy mi ca file1 v khng lm thay i file1

Hnh minh ho: file1 vi inode 250 s c copy sang file 2, sao y d liu n mt
vng d liu mi v tao inode mi 6238 cho file2.

Chng ta cng c th copy mt s file n mt th mc khc bng cch dng danh


sch lit k hoc k t i din. Bng sau dy s hin th cc la chn thng c
s dng

Copyright ISE, 2006

69

Ti liu o to Linux c bn
QUN L FILE

Ch :

cp -r /mydir/* /dir2/ s copy tt c cc file v th mc con ngoi

tr mydir
cp -r /mydir/ /dir2/ s copy tt c cc file v th mc con bao

gm c mydir

mv
C php:
mv [options] oldname newname
mv [options] source destination
mv [options] source directory

Lnh mv c th di chuyn hoc i tn cc file v th mc. Nu oldname l mt file


v newname l mt th mc th file oldname s c di chuyn n th mc ny.
Nu source v destination cng nm trn mt h thng file th file khng c copy
nhng thng tin v inode s c cp nht xc nh v tr mi. Cc la chn
thng thng l -f ghi v -i truy vn tng tc.

Hard links v symbol links


Cc lin kt tng trng
Mt lin kt tt mm n mt file hoc mt th mc to mt inode mi ch n cng
mt vng d liu.

Copyright ISE, 2006

70

Ti liu o to Linux c bn
QUN L FILE

ln

s lilo.conf lilo.sys

y l danh sch nhng file ca cu lnh trn. Ch rng gi tr tham chiu l 1 cho
c 2 file.

Hnh 2: Mt lin kt tt mm n mt file

Cc lin kt tt mm c th c to thng qua cc h thng file khc nhau

Cc lin kt tt cng
Mt lin kt tt cng l mt tn c to thm cho cng mt inode v gi tr tham
chiu ca file s c tng thm 1 cho mi lin kt tt cng mi

ln

lilo.conf lilo.link

Copyright ISE, 2006

71

Ti liu o to Linux c bn
QUN L FILE
Trong bng i y ch rng gi tr tham chiu l 2 v c 2 file c cng kch
thc. Thc t chng hon ton ging nhau.

Cc lin kt tt cng ch c th c to trong cng mt h thng file.

Touching v dd-ing
touch
Mt cch khc to hoc thay i mt file la s dung touch
C php:
touch {options} file(s)

Nu file cha c th n s c to mi. Chng ta c th thay i thi gian truy cp


file bng la chon -a, -m thay i thi gian sa i file, v -r dng s dng cc
thuc tnh thi gian ca file khc.
V d
touch file1.txt file2.txt

to cc file mi

touch myfile -r /etc/lilo.conf

myfile s ly cc thuc tnh thi

gian ca lilo.conf

To mt file -errors s dng la chn -:


touch -- -errors

dd

Copyright ISE, 2006

72

Ti liu o to Linux c bn
QUN L FILE
Lnh ny s copy 1 file vi kch thc khi I/O c th thay i. Lnh ny cng c
dng thc hin cc qu trnh chuyn i (ging nh tr). Cc la chn chnh l if=
(file nhp), of=(file xut), v conv=(chuyn i)
Cc kho chuyn i c th l: lcase, ucase, v ascii
V d
dd if=/mnt/cdrom/images/boot.img of=/dev/fd0

Thc hnh
iu hng file
To mt th mc mi /bin trong /tmp
mkdir /tmp/bin

Trong /tmp/bin to mt file gi l newfile (s dng touch, cat, hoc vi)


Chuyn n th mc gc (cd /). Xem ni dung ca newfile t v tr ny.
Cu lnh ngn nht no gip bn quay tr v /tmp/bin?
Cu lnh ngn nht no gip bn chuyn n th mc home ca bn?
Bin PWD l cc b hay ton cc?

To v xo cc th mc
Cch no l nhanh nht to cc th mc /dir1/dir2?
Xo cc th mc ny vi rmdir sau vi rm

To khong trng trn h thng file


to thm khong trng trn thit b cha th mc /usr/share/doc chng ta cn
tm thit b d phng c khong trng copy ni dung ca /usr/share/doc vo
thit b ny.Sau chng ta s xo th mc /usr/share/doc v to mt im lin kt
tng trng t /usr/share/doc n v tr mi.

Copyright ISE, 2006

73

Ti liu o to Linux c bn
QUN L FILE

To mt th mc /spare trn chng ta s gn (mount) cc thit b d phng ph


hp (mt trong nhng phn vng c to t cc bi tp trc s ph hp cho mc
ch ny)
mkdir /spare
mount <device> /spare

Kim tra vi lnh df -h /spare v du -hs /usr/share/doc xem thit b ny c dung


lng ln cha tt c d liu ang c.
Tip theo, copy cc ni dung ca /usr/share/doc n /spare/
cp -a /usr/share/doc /spare

Sau khi chc chn d liu c copy ht th thay i /etc/fstab c th s dng


ngay sau khi ng.
Xo /usr/share/doc v to im lin kt tng trng t /usr/share/doc n
/spare/doc
ln -s /spare/doc /usr/share/doc

Thc hin tng t vi /home. Xem c vn g xy ra?

Tm kim cc file trn h thng


Copy file /etc/lilo.conf n /etc/lilo.conf.bak
1 Dng lnh find tm find mi
2 Dng locate tm /etc/lilo.conf.bak (Bn s cp nht c s d liu slocate nh
th no?)
Cc sao lu d phng (bc u tin)
Tm tt c cc file c thay i trong ngy hm nay trong th mc home ca
bn.
find /home -mtime -1 |tee list1 |wc --lines (-1 c ngha l t hn 1 ngy)

Chng ta s gii thiu cc tin ch lu tr phn sau, tuy nhin kt qu xut ca cc


lnh tm kim s c dn trc tip vo cpio.
Copyright ISE, 2006

74

Ti liu o to Linux c bn
QUN L TIN TRNH

QUN L TIN TRNH


Xem cc tin trnh ang chy
Cc tin trnh c mt m (ID) tin trnh duy nht l PID. Gi tr ca PID c th
dng thay i s u tin ca tin trnh hoc dng hn tin trnh .

Mt tin trnh l bt c chng trnh no ang thc hin. Nu process_2 c sinh


ra bi process_1 th n c gi l tin trnh con. Cn process_1 th c gi l tin
trnh cha.

Cy gia h ca cc tin trnh


Lnh pstree s a ra mt minh ho y ca h phn cp cc tin trnh cha v
con.
Hnh 1: Mt phn cc kt qu ca pstree

Copyright ISE, 2006

75

Ti liu o to Linux c bn
QUN L TIN TRNH
Trong hnh trn tt c cc m tin trnh (PID) u c nhn thy; gi tr ca chng
c tng dn. La chn thng dng nht ca lnh ny l -p s hin th cc PID v h s lm ni r cc tin trnh ca ngi dng.

Tm kim cc tin trnh ang thc hin


S dng lnh ps l mt cch trc tip xc nh tin trnh no ang thc hin.
Phn ln ngi dng kt hp mt s cc la chn ph hp vi mc ch tm
kim. Di y l 3 l chn nh vy.
ps -ux

hin th tt c cc tin trnh thc hin bi ngi dng

ps T

hin th cc tin trnh dang chy bi thit b u cui hin thi ca


ngi dng

ps aux

hin th tt c cc tin trnh trn h thng

bit chi tit hn cc la chn chng ta nn s dng lnh ps manpage v chn ra


nhng la chn ph hp nht.

Copyright ISE, 2006

76

Ti liu o to Linux c bn
QUN L TIN TRNH

Cp nht lin tc thng tin tin trnh


Tin ch top s cp nht thng tin trn cc tin trnh ti mt mc iu chnh.
Trong khi tin ch top ang thc hin chng ta c th g h i vi mt danh sch
cc lnh. Khong trng s c cp nht thng tin tc thi. Chng ta cng c th
dng top thay i mc u tin ca mmt tin trnh.

Thay i tin trnh


Dng cc tin trnh
Lnh kill s gi cc tn hiu n cc tin trnh. C tng cng 63 tn hiu. Tn hiu
mc nh dng mt tin trnh c gi l SIGTERM vi gi tr 15.

kill
c php
kill SIGNAL process_PID

Mi tin trnh c th la chn nhn hay khng nhn mt tn hiu ngoi tr SIGKILL
s c thc hin bng nhn h thng. Cc daemon s hiu SIGUP c ngha l "c
li file cu hnh"

Chng ta c th s dng lnh killall dng cc tin trinh m khng cn bit PID
Copyright ISE, 2006

77

Ti liu o to Linux c bn
QUN L TIN TRNH

killall
C php
killall SIGNAL process_NAME

Hnh 1: Tn hiu gia cc tin trnh

u tin tin trnh v cc gi tr (nice value)


Cc gi tr nice value (NI) thay i quyn u tin ca CPU v c dng cn
bng qu trnh s dng CPU trong mi trng a ngi dng. Mi tin trnh bt u
vi gi tr NI mc nh l 0. Cc NI nm trong phm vi t 19 [thp nht] n 20[cao nht]
Copyright ISE, 2006

78

Ti liu o to Linux c bn
QUN L TIN TRNH
Ch c ngi qun tr h thng c th gim gi tr NI ca mt tin trnh. T khi tt
c cc tin trnh bt u vi gi tr NI mc nh l 0, ch c ngi qun tr h thng
c th thit lp gi tr m cho cc gi tr NI.

S dng lnh renice thay i mc u tin ca mt tin trnh. Dng lnh nice
thit lp mc u tin ca mt tin trnh.

C php
Nice -<NI> <process>
renice <+/-NI> -p <PID>

Ch rng renice thc hin vi cc PID v x l danh sch cc tin trnh ti mt


thi im. Mt la chn c ch ca renice l -u, la chn ny s nh hng n tt
c cc tin trnh thc hin bi ngi dng.

Thit lp gi tr 1 cho cc tin trnh 234 v 765

renice +1

Copyright ISE, 2006

-p

234 765

79

Ti liu o to Linux c bn
QUN L TIN TRNH

Thit lp gi tr -5 cho xclock

nide

--5 xclock

Tin trnh v Shell


Cc tin trnh nn sau v nn trc
Sau khi chng ta bt u mt tin trnh t shell, chng ta s tin trnh cho shell
t ng thng dch. Chng ta ch rng s khng c lnh no p ng na. L do
cho vn ny l ch c th thc hin cc chng trnh trong nn trc fg hoc
nn sau bg ca shell.

Khi mt chng trnh ang chy trong ch nn trc, du nhc shell c th khi
phc trong chc lt bng cch ngt chng trnh . Tn hiu ngt l Ctrl Z.

Dng v bt u cc cng vic (job)


Mt tin trnh bt u t shell cn c gi l mt cng vic. Khi mt cng vic
nhn tn hiu ^Z, n s c dng v du nhc shell s xut hin. khi to li
chng trnh trong ch nn sau chng ta ch cn g: bg
V d
[mike localhost /bin]$xclock

xclock chy trong ch nn trc, du nhc


shell bin mt

[1]+ Stoppep xclock

Copyright ISE, 2006

xclock nhn tn hiu ^Z

80

Ti liu o to Linux c bn
QUN L TIN TRNH
[mike localhost /bin]$bg

du nhc shell c khi phc v a vo lnh


bg

[1]+ xclock &

xclock ang chay trong ch nn sau

[mike localhost /bin]$

Ch k hiu [1]+ trn. Gi tr ny l job number ca tin trnh. Trong du


hiu '+' ch ra tin trnh c thay i ln gn nht. Du hiu '-' ch ra tin trnh c
thay i ln lin k

Hin th cc cng vic


Tin ch jobs hin th tt c cc tin trnh ang chy bt u t shell hin thi. Gi tr
job number, trng thi cng vic (ang chy hay dng), v 2 tin trnh c thay i
gn nht s c hin th

Job number
Chng ta c th dng v bt u la chn cc cng vic mt cch thun tin bng
cch s dng job number. Vic la chn ny c thc hin cng vi lnh fg

Gi job 2 nn trc v loi b (kill) job 1


fg 2 hoc

kill -9 %1

fg %2 hoc
fg %?xma

Trnh s dng HUP vi nohup


Copyright ISE, 2006

81

Ti liu o to Linux c bn
QUN L TIN TRNH
nohup l mt chng trnh c vai tr nh mt tin trnh cha c lp vi phin ngi
dng. Khi mt ngi dng thot khi h thng, th h thng s gi HUP n tt c
cc tin trnh nm trong nhm tin trnh ca ngi dng. V d, trnh tn hiu
HUP, mt chng trnh gi l bigbang s c gng tnh thi gian xut hin ca cc
tin trnh

nohup bigbang &

Copyright ISE, 2006

82

Ti liu o to Linux c bn
QUN L TIN TRNH

Thc hnh
Bn nn chy X trc khi bt u cc bi thc hnh sau
1. Kim tra gi tr nice value (NI) hin thi ca x-terminal ang chy. Thay i gi
tr ny bng ln top hoc renice
2. Tn hiu tng ng ca ^Z gi n mt tin trnh l g? (Hin th tt c cc tn
hiu vi kill -l)
3. Tn hiu no c nh ngha li cho phn ln cc daemon v yu cu c li file
cu hnh?
4. Tn hiu mc dnh gi n mt tin trnh l g khi s dng kill hoc killall?
5. Tn hiu no c trc tip x l bng nhn h thng (kernel) v khng th nh
ngha li?
6. Trc ht bn hy ng nhp vo thit b u cui o (tty1 to tty6). Chng ta s
thc hin mt script cho php tip tc chy khi chng ta thot ra khi h thng dng
tin trnh cha nohup
Trong th mc /tmp to mt file gi l print-out vi ni dung sau y
#!/bin/bash
count=0
while (true) do
echo this is iteration number $count
let count+=1
done

Chng ta trc ht thc hin cc bc sau (khng dng nohup)

Copyright ISE, 2006

83

Ti liu o to Linux c bn
QUN L TIN TRNH
Chng ta c th khng nhn thy dng lnh khi g exit nhng cu lnh ny s
lm bn thot ra khi h thng. Khi bn ng nhp li hy kim tra print-out
c dng

Tip theo bt u vi lnh

ng nhp li v kim tra nhng lnh sau

Copyright ISE, 2006

84

Ti liu o to Linux c bn
X L VN BN

X L VN BN
cat the Swiss Army Knife
Dng cat son vn bn
Tin ch cat c th dng nh mt chng trnh son tho n gin

Ch cch dng Ctrl+D. Lnh ny c dng kt thc nhp input.

Dng cat c vn bn
Thng thng hn cat c dng a vn bn ra stdout. Cc la chn thng
c dng l

-n

nh s mi dng ca output

-b

ch nh s dong ouput khng trng

-A

hin th k hiu xung dng

V d

Copyright ISE, 2006

85

Ti liu o to Linux c bn
X L VN BN

Lnh tac s c vn bn t cui ln u


Lnh ny ging nh cat ngoi tr ni dung vn bn c c t dng cui ln u

Cc cng c n gin
S dng head hoc tail
Cc tin ch head hoc tail thng c dng phn tich cc logfile. Chng s xut
a ra mc nh 10 dng vn bn. Sau y l cch dng

Hin th 20 dng u tin ca /var/log/messages:

Hin th 20 dng cui cng ca /etc/aliases:

Tin ch tail c thm mt la chn cho php hin th ni dung vn bn bt u t


dng a vo cho en ht.

Hin th ni dung vn bn bt u t dng 25 trong /var/log/messages:


Copyright ISE, 2006

86

Ti liu o to Linux c bn
X L VN BN

Cu hi: nu mt vn bn c 90 dng, chung ta s s dng lnh tail v head nh th


no hin th cc dng t 50 ti 65? C th c nhiu hn mt cch thc hin
iu ny?

Cui cng tail c th c lin tc mt file bng la chn -f. La chn ny rt c ch


khi chng ta mong mun mt file c thay i trong thi gian thc

m s dng, s t v byte
Tin ich wc s m s lng cc byte, cc t, v cc dng trong file. Mt vi la
chn cho php chng ta thay i gi tr output ca wc

Cc la chn cho wc
-l

m s dng

-w

m s cc k t hoc t

-c hoc m s cc byte hoc k


m
t

Lu :
Nu khng c tham bin, wc s m da trn ni dung c g vo stdin

nh s cc dng
Tin ch nl c tc dng ging nh cat -b
Copyright ISE, 2006

87

Ti liu o to Linux c bn
X L VN BN
nh s tt c cc dng gm c cc dng trng

nh s cc dng vn bn khng trng

Thay th tab bng space


Lnh expand cho php thay th TAB bng cc du cch (space). Chng ta c th
dng lnh unexpand thay th ngc li.

Xem cc file nh phn


C mt s cng c thc hin iu ny. Cng c ph bin nht l od (octal dump)
v hexdump.

X l vn bn
Cc cng c sau y thay i b tr vn bn
La chn cc trng (field) v cc k t vi cut
Tin ch cut c th ly ra mt vng cc k t hoc cc trng t mi dng ca vn
bn.
La chn -c c dng x l k t.
C php:

Copyright ISE, 2006

88

Ti liu o to Linux c bn
X L VN BN

V d:

V d trn s a ra cc k t t v tr 5 n 10 v t 15 n cui dng ca mi dng


trong /etc/password

Chng ta c th xc nh du phn cch cc trng (du cch, du phy,...) ca mt


file cng nh cc trng i vi output. Cc la chn c thit lp vi c hiu -d
v -f tng ng

C php:

V d:

V d ny s a ra cc trng t trng u tin n trng th by ca


/etc/passwb c phn cch bng du cch. Mc inh ca output-delimiter l ging
nh cc phn cch input ban u. La chn --output-delimiter cho php chng ta
thay i gi tr mc nh ny.

Kt ni v dn vn bn
Tin ch n gin nht l paste s ghp hai file bn cnh nhau
C php
Copyright ISE, 2006

89

Ti liu o to Linux c bn
X L VN BN

Vi tin ch join chng ta c th xc nh c th hn nhng trng m chng ta


ang quan tm

C php

Vn bn c gi n stdout ch khi nhng trng c th i snh. Qu trnh so


snh c thc hin trn mt dng ti mi thi im cho n khi c s trng nhau
c tm thy v qu trnh s c dng nay lp tc mc d c th c nhng s
trng nhau nm pha sau.

Sp xp output
Lnh sort s sp xp mc nh mt vn bn theo th t abc. La chn -n s thc hin
vic sp xp theo th t s.

nh dng output
Chng ta c th thay i s lng cc k t trong mi dng ca output bng lnh
fmt. Mc nh fmt s lin kt cc dng v a ra 75 k t cho mi dng

Cc la chn fmt
-w

s lng cc k t trn mi dng

-s

tch nhng dng di nhng khng in y dng cn li

-u

t mt du cch gia mi t v 2 du cch cui mi cu

Copyright ISE, 2006

90

Ti liu o to Linux c bn
X L VN BN

Copyright ISE, 2006

91

Ti liu o to Linux c bn
X L VN BN
Thay th cc k t
Tin ch tr s thay th mt tp hp cc k t bng tp h k t khc.

V d thay i cc ch ci vit hoa bng ch ci thng


tr

[AB] [ab]

<file.txt

Thay th cc du phn cch trong /etc/passwd:

Ch : tr ch c 2 tham bin! V file khng c tnh l tham bin.

Copyright ISE, 2006

92

Ti liu o to Linux c bn
X L VN BN

Thc hnh
1. S dng cat g vn bn sau vo mt file c tn l message
cat >> message
line 1
^D

Thc hin tng t nhng dng t kho STOP thay th iu khin kt thc file (^D)
cat >> message << STOP
line 2
STOP

Tip theo, thm vn bn sau vo message s dng echo

echo line 3 >> message

2. To mt file c tn l index vi 2 trng REFERENCE v TITLE c phn cch


bng du cch
v d 001 Using_Linux

To file th hai c tn l pricing vi 2 trng REFERENCE v PRICE c phn


cch bng du cch
v d 001 9.99

S dng ln join hin th cc trng reference, title, v price.

3. S dungh tr thay th ton b du hai chm bng du chm phy trong


/etc/passwd
Copyright ISE, 2006

93

Ti liu o to Linux c bn
X L VN BN
Thc hin tng t dng lnh cut

4. S dng lnh head v tail hin th dng 75 n 80 ca /var/log/messages

5. S dng tin ch cut cng vi grep v ifconfig in ra duy nht a ch IP ca


giao din mng eth0

6. Trong /tmp to mt th mc vi tn l files


mkdir /tmp/files

To 50 file trong th mc ny
# ! /bin/bash
count=0
while [ $count -lt 50 ] do
touch /tmp/files/$count.txt
let count+=1
done

Cc bn s g cc dng lnh sau thay i cc file c phn m rng txt sang dat

Copyright ISE, 2006

94

Ti liu o to Linux c bn

CI T PHN MM

CI T PHN MM
Gii thiu
Hy bt u cng vi mt on m ngun ngn. V d ny s gip gip chng ta tm
hiu vn m khng cn c kin thc su v ngn ng lp trnh C

Tp main.c:
#include<stdlib.h>
int main(){
Hello();
}

Tp Hello.c:
#include<stdio.h>
void Hello(){
printf(Hi ! \n);
}

Ch : main.c l cha hon thnh nu hm Hello() l cha c nh ngha. Cng


nh vy i vi Hello.c nu khng c khi bo main. Do , cc tp ny l ph
thuc nhau. Tuy nhin tng hm ring bit vn c th c dch theo mt i tng
kiu Object (.o) y l kiu files c s dng xy dng cc ng dng.

Dch cc file i tng


gcc c main.c
gcc c Hello.c

Copyright ISE, 2006

95

Ti liu o to Linux c bn

CI T PHN MM
Cu lnh trn s to ra 2 tp main.o v Hello.o c s dng xy dng cc ng
dng app.
Dch app
La chn o xc nh tn ca m ngun c dch. Nu khng c tn tp no
c ch ra tp dch s c t tn mc nh a.out
Tt c cc bc trn c th c chy t ng bng cch s dng a Makefile. Di
y l mt v d nh dng Makefile to ng dng app
Makefile
SHELL = /bin/sh
CC = /usr/bin/gcc
app: main.o Hello.o
$(CC) o app main.o Hello.o
main.o: main.c
$(CC) c main.c
Hello.o Hello.c
$(CC) c Hello.c

Th vin tnh v th vin chia x


Cc hm chc nng thng dng c lu li trong cc th vin. Trong thi gian
dch chng trnh cc th vin ny c th c link ti m ngun ni c s dng
lnh gi th vin chc nng. Th vin c th c link ti m ngun mt cch tnh
hoc ng.
Lnh dch gcc c th link th vin trong cc cch khc nhau. Tuy nhin theo ch
mc nh n s l link cc tp(files) c khai bo trong dng lnh khng c phn
m rng .c (ch c cc tp c m rng .c l c hiu nh m ngun).
Listing 1. Kt ni mc nh (linking)
Copyright ISE, 2006

96

Ti liu o to Linux c bn

CI T PHN MM

gcc main.c Hello.o

Dng lnh trn s to tp chy a.out cng tp i tng Hello.o c link tnh ti
n.

Th vin tnh
Cc th vin tnh c lu tr trong file .o. Cc lu tr c to ra bi cng c ar
v c phn m rng .a.
Hnh 2: thm mt file i tng vo phn lu tr

ar rcs libfoo.a file1.o file2.o

Th vin ng / Th vin chia s


Th vin chia s l mt th vin s c ti bi chng trnh khi n c thc thi.
Mt khc chng ta cng c th ni n l th vin m c ti ng (dynamically
loaded)
Hnh 3: To th vin chia s:

gcc c fPIC Hello.c

to file i tng

gcc shared W1, soname, libfoo.so.1 o libfoo.so.1.0


Hello.o

C hiu (flag) -fPIC s kch hot v tr m ngun c lp

Copyright ISE, 2006

97

Ti liu o to Linux c bn

CI T PHN MM
Hnh 4: Dch chng trnh vi th vin chia s:

gcc main.c libfoo.so.1.0

Dng lnh trn s to file chy a.out. Tuy nhin nu bn th chy file ny my tnh
s thng bo li di y.

Thng bo li khng tm thy th vin chia s


./a.out:
error
libfoo.so.1.0:cannot
directory

while
loading
open shared object

shared
file: No

libraries:
such file or

Trong phn tiptheo chng ta s tm hiu cch sa li ny.

t tn Th vin chia s v ti dynamic


Chng ta s dng v d trong phn trc tm hiu Th vin Linux c bo
tr(maintain) th no.

Copyright ISE, 2006

98

Ti liu o to Linux c bn

CI T PHN MM

Hnh 1: Tn th vin chia s

S dng cng c ldd xem Th vin chia s no mt file chy cn trong thi gian
thc thi.

V d:

ldd a.out
libfoo.so.1.0 => not found
libc.so.6 => /lib.libc.so.6 (0x40028000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Ch chng ta s khng tm thy file libfoo.so.1.0 v a.out cn ti(load)


ng th vin ny v kt ni ng ld.so khng bit c s tn ti ca th vin ny.

C th lm theo mt trong cc cch sau khc phc li ny.


Copyright ISE, 2006

99

Ti liu o to Linux c bn

CI T PHN MM
1. Nu tp nh phn cn ch tm thi, kim tra nh ngha bin
LD_LIBRARY_PATH nh sau:

export LD_LIBRARY_PATH =$(pwd)

2. Copy libfoo.so.1.0 vo th mc /usr/lib v chy ldconfig nng cp


ld cache

Ci t ngun

Copyright ISE, 2006

100

Ti liu o to Linux c bn

CI T PHN MM

Qun l gi Redhat ( Redhat Package Manager RPM)

Figure1: Cc chc nng ca Qun l Gi ( Package Manager)

t tn package
Rpm c t tn theo cch sau
name-version-release.architecture.rpm

Ch (mode) chnh
Tt

M t

-i

- install

Ci t gi

Copyright ISE, 2006

101

Ti liu o to Linux c bn

CI T PHN MM
-U

-update

Cp nht hoc ci t gi

-F

--freshen

Cp nht ch nhng gi install

-V

--verify

C file, MD5, quyn, kiu ...

-q

--query

Yu cu gi cc gi v cc file ci t/ g
b

-e

--erase

G b gi

Ch th cp
Tt

M t

p dng cho tt c cc gi ci t

cng vi q a ra cc file cu hnh

cng vi q a ra cc file ti liu

chy bng bm (hash) trong khi x l

cng vi q a ra thng tin v gi

cng vi q a ra tt c file v th mc trong mt gi

cng vi q ch ra truy vn no c thc hin i vi file

verbose

Cc mode yu cu (query mode)


Chng ta xem xt v d vi gi routed-0.17.i386.rpm. Bn c th truy vn gi ny v
a ra ni dung ca n trc khi ci t cng vi la chon l nh sau:

Copyright ISE, 2006

102

Ti liu o to Linux c bn

CI T PHN MM

rpm -qpl routed-0.17.i386.rpm

Khi gi ny c ci t bn c th truy vn gi ci t nh sau:

rpm -ql routed-0.17

or

rpm ql routed

Cui cng nu chng ta mun tm gi no ci t file /usr/sbin/routed d liu rpm


c th c yu cu cng:

rpm -qf /usr/sbin/routed

Ba kiu truy vn (query): uninstalled packages, installed packages v file


Kiu truy vn

Tu chn

Package File

-qp

Installed Package

-q

File

-qf

Mt tu trn m rng s cho php bn ly thng tin trong tt c cc files ci t


l, ti liu ci t d, file cu hnh c, v.v...

Cc Tu chn c bit

Copyright ISE, 2006

103

Ti liu o to Linux c bn

CI T PHN MM
--nodeps
--force

cho php ci t khng ph thuc


p buc nng cp

--test

khng ci t hoc nng cp, ch in ra stdout

-requires

ch ra cc yu cu ca gi

M ngun cho rt nhiu packages RPM cng c th c di dng package


RPM v s c s dng xy dng mt package nh phn. Tn kt hp s l:
name-version-release.src.rpm

( tn-phin_bn-ngy_xut-bn.src.rpm)

Cc gi nh vy s cha t nht 2 file, tarball cng m ngun v mt spec file. spec


file cha ng ch dn v (patch), dch v xy dng RPM package.Nu m ngun
cn c v trc khi dch th ming v s nm trong package ngun.
C ba cch khc nhau xy dng mt package RPM. Gi s rng bn c mt
package vi tn gi: name-version-release.src.rpm.

i vi cc phng thc ny, trc tin bn cn ci t gi rpm-build

Cch 1:
Ci t package ngun RPM vi:
rpm ivh name-version-release.src.rpm

Lnh trn s copy cc filevo th mc sau:


/usr/src/redhat/SPECS
/usr/src/redhat/SOURCES

Copyright ISE, 2006

104

Ti liu o to Linux c bn

CI T PHN MM
Trong th mc /usr/src/redhat/SPECS c mt file vi tn name.spec (trong
name l tn ca package). bt u xy dng package dch, tn name-versionrelease.i386.rpm, g trong ca s lnh:
rpm ba name.spec

Dng lnh trn s kch hot mt lot cc scripts. tarball trong


/usr/src/redhat/SOURCES s c m (unpackage) ti /usr/src/redhat/BUILD

Nu qu trnh dch thnh cng th package nh phn s c lu trong


/usr/src/redhat/RPMS/.

C mt s cc th mc th cp khc nhau tng ng vi mt s models/th h ca


CPU. Nu qu trnh dch khng lin i ti cc c tnh c bit t cc chip th
package s c lu vo th mc noarch.

Cch 2:
Cch ny cng tng t nh cch th 1 nhng bt u vi lnh n sau y:
rpm --rebuid name-version-release.src.rpm

Cch 3:
Trong mt vi trng hp nh pht trin s phn phi tarball cng vi nhau trong
mt file spec. Nu tarball c gi tn name-version-release.tar.qz bn c th
tm mt file .spec vi lnh sau:
tar tzvf name-version-release.tar.gz | grep .spec

Nu tarball c mt file spec th bn c th xy dng mt package RPM bng cch


g:
Copyright ISE, 2006

105

Ti liu o to Linux c bn

CI T PHN MM
rpm --bt name-version-release.tar.gz

Cng c Alien
Cng c ny s chuyn i packages Debian sang Redhat v ngc li. Bn c th
ti xung ti: http://kitenet.net/programs/

Copyright ISE, 2006

106

Ti liu o to Linux c bn

CI T PHN MM

Thc hnh
Trong cc v d sau ti mt file RPM ngun ( vd. bash-2.05-8.src.rpm vi Redhat
7.2) t www.rpmfind.net
1. Ci t tarball
Bung cc thnh phn ca gi RPM m khng dch bt c file no:
rpm ivh bash-2.05-8.src.rpm

Trong th mc /usr/src/redhat/SOURCES, m gi tarball vi:


tar xvzf bash-2.05-8.tar.gz

Tu chn( khuyn ngh): Ming v c th c p dng. C php s thay i


ph thuc vo bn ang th mc no
T /usr/src/redhat/SOURCES:
patch p0 b <file.patch

T /usr/src/redhat/SOURCES/bash-2.05-8
patch p1 b <file.patch

Cui cng dng:


./configure
make

Nu bn chc chn bn mun ci t package ny hy dng make install nhng nh


rng n s khng ci t phn mm s dng package manager.
2. Xy dng li RPM package manager.
rpm rebuild package.src.rpm

Package nh phn dch s trong /usr/src/redhat/RPMS


o Kim tra thnh phn ca package vi tu chn qpl
o ci t package, v chy truy xut vi cc package ci t

Copyright ISE, 2006

107

Ti liu o to Linux c bn

CI T PHN MM
o G b(uninstall) package

Copyright ISE, 2006

108

Ti liu o to Linux c bn
THAO TC VI VN BN NNG CAO

THAO TC VI VN BN NNG CAO


Tm kim mt t hoc mt cm t trong mt vn bn c lu tr s dng grep,
fgrep hoc egrep. Cc t kho s dng trong qu trnh tm kim l mt t hp ca
cc k t c gi l biu thc chnh quy ( regular expressions-regex). Biu thc
chnh quy c nhn dng bi rt nhiu ng dng nh sed, v vi.

Cc biu thc chnh qui


Bng 1. Danh sch regex chnh
K t

Tm kim tn ng

x ( hoc bt c k t Cacs chui cha ng x


no)
\<KEY

Cc t bt u bng KEY

WORD\>

Cc t kt thc bn WORD

Bt u ca mt dng

Kt thc mt dng

[ Range]

Gii hn ca bng m ASCII

[^c]

Khng phi k t c

\[

Dich k t [ theo gc

cat*

Chui cha ng ca hoc cat v cc k t bt k


tip theo

Tm kim cc k t n

Copyright ISE, 2006

109

Ti liu o to Linux c bn
THAO TC VI VN BN NNG CAO

Biu thc chnh quy m rng (extended regex- eregex): Cc k t chnh ca


eregex l: . ?,() v |
Bng2: Danh sch eregex chnh
K t

Tm kim tng ng

A1|A2|A3

Chui cha ng A1 hoc A2 hoc A3

cat+

Chui cha ng t nht cat v cc k t bt k tip theo

cat?

Chui cha ng ca hoc cat v cc k t bt k tip theo.

H grep
Tnh nng grep h tr biu thc chnh quy regex nh m t bng1.
egrep
Cng c egrep h tr biu thc chnh quy m rng eregex nh m t trong bng2.
fgrep
fgrep biu din cho grep nhanh v fgrep dch chui gc ( khng c h tr ca regex
hoc eregex)

Lm vic vi grep
C php ca grep:
grep PATTERN FILE

Grep

Main Options

-c

m s lng dng trng vi PATTERN

-f

Tm PATTERN t file

-i

b qua cc trng hp nhy cm


Copyright ISE, 2006

110

Ti liu o to Linux c bn
THAO TC VI VN BN NNG CAO

-n

ch ra s dng ca file

-v

xut ra tt c cc dng t nhng dng cha PATTERN

-w

Tm kim chnh xc tuyt i PATTERN

V d a ra danh sch ca tt c cc dng khng trng trong /etc/lilo.conf:

grep v ^$ /etc/lilo.conf

egrep v fgrrep
Tin ch fgrep khng nhn bit c ng ngha c bit ca mt biu thc chnh
quy. V d

fgrep cat* FILE

Dng lnh trn ch tm kim cc t cha ng cat. Kh nng ca fgrep c b


sung thm nh la chn LIST. C php nh sau :
fgrep f LIST FILE

Tin ch egrep s thc hin vi mi biu thc chnh quy mi. N cng c th tm
kim mt vi t kho nu chng c bt u vi dng lnh c chia bi pipes. V
d:

egrep linux|^image /etc/lilo.conf

Copyright ISE, 2006

111

Ti liu o to Linux c bn
THAO TC VI VN BN NNG CAO

B son tho Stream sed


Tin ch sed thng thng c s dng tm kim v thay i pattern trong vn
bn. N h tr phn ln cc biu thc chnh quy (regex).
Lm quen vi sed
C php :
sed [option] lnh [INPUTFILE]

file input l tu v sed cng lm vic trong cc th mc file v pipes. y l mt


vi v d gi s chng ta lm vic trong mt file gi l MODIF.

Xo tt c cc dng ch thch :

sed /^/ d MODIF

Ch rng pattern c tm kim nm gia hai gch cho //.

Thay th /dev/hda1 bi /dev/sdb3:

sed

s/\/dev\/hda1/\/dev\/sdb3/g

MODIF

K t s trong dng lnh biu din cho substitute. K t g biu din cho globally
v p substitution trn mi dng
Nu dng cha ng t kho KEY th thay th : vi ;

Copyright ISE, 2006

112

Ti liu o to Linux c bn
THAO TC VI VN BN NNG CAO

sed

/KEY/ s/:/;/g

MODIF

sed nng cao


Bn c th s dng mt vi lnh bt u vi e ti dng lnh. V d, (1) xo tt c
du trng khi (2) thay th OLD bng NEW trong file MODIF

sed

-e /^$/ d e s/OLD/NEW/g MODIF

Cc lnh trn c th c vit vo mt file, v d COMMANDS. Khi mi dng


c dch nh mt dng lnh chy.

sed

-e /^$/ d e s/OLD/NEW/g MODIF

1 s/old/new
/keyword/ s/old/new/g
23,25 d

C php s dng cng COMMANDS file l:


sed

-f

COMMANDS MODIF

Vic ny tin li hn rt nhiu vic phi nh lin tc nhng dng ln di.

Tm tt la chn cho sed


C dng lnh

Copyright ISE, 2006

113

Ti liu o to Linux c bn
THAO TC VI VN BN NNG CAO

-e Thc hin cc lnh tip sau


-f c cc lnh t mt file
-n Khng in ra cc dng khng c sa i

Tu chn ca lnh
d Xo mt dng
r c mt file v xut ra file output
s Thay th
w Ghi kt qu ra vo mt file

Copyright ISE, 2006

114

Ti liu o to Linux c bn
THAO TC VI VN BN NNG CAO

Thc hnh
1. To mt file mi c tn FILE vi ni dung sau:
Using grep,
fgrep and
egrep
to grep for 99% of the cats
% these are two
% commented lines

S dng grep xut ra ch nhng dng lnh khng phi l dng ch thch
Tm kim cc dng cha ng cc t bt u vi a
2. Biu thc chnh quy. Thm cc dng sau vo file trn:
ca
cat
cats
catss
cat+
cat*
cat?
car
carriage
Xem kt qu ca cc lnh sau khi s dng grep, egrep v fgrep:
grep cat+ FILE
grep cat? FILE
grep cat. FILE
grep cat* FILE

Copyright ISE, 2006

115

Ti liu o to Linux c bn
THAO TC VI VN BN NNG CAO

3. S dng sed thc hin cc thay i sau trong FILE


( s dng file COMMAND, sau lm cc bc sau trn dng lnh)
trong dng u thay th grep, vi soap
xo fgrep trong dng th hai
thay th egrep vi water
trong dng th t thay th grep for vi wash
Save kt qu vo mt file s dng tu chn w

Copyright ISE, 2006

116

Ti liu o to Linux c bn
S DNG TRNH SON THO VI

S DNG TRNH SON THO VI


Dng nh vi c c s dng l trnh son tho chnh trong Linix. N c coi
nh l mt cng c hu ch nh grep hoc cat v c t chc ti th mc /bin

Cc ch Vi
thc hin cc thao tc phc tp nh l copy/paste, trnh son tho vi c th thc
hin bng nhiu ch khc nhau
Ch dng lnh (Command Mode)
y l ch son tho v nh du thng s dng mt ch ci. V d dng
ch ci j nhy xung dng tip theo
Nh l qui tc ngn tay ci (rule of thumb), nu bn mun thc hin mt thao
tc nhiu ln, bn c th in s ln thc hin trc khi g cu lnh. V d:
dng lnh 10j nhy n 10 dng tip theo.
Ch dng (hoc ct) cui cng
Bn c th s dng ch ny mn hnh dng lnh (command line mode)
bng cch nh du hai chm. Ct s hin th gc bn tri cui cng ca
mn hnh. Trong ch ny, bn c th thc hin cc thao tc n gin nh
tm kim, ghi d liu, thot hoc chy mt cu lnh shell.
Ch chn
Cnh n gin nht thc hin ch ny trong mn hnh dng lnh
(command Mode) l dng ch ci i hoc a. y l ch trc quan nht v
thng c s dng chn vn bn vo mt ti liu.
Phm Esc s thot ch chn v quay tr v mn hnh dng lnh

Copyright ISE, 2006

117

Ti liu o to Linux c bn
S DNG TRNH SON THO VI

Cc mc vn bn
Cc mc vn bn nh l t (words) hoc on vn bn (paragraph) c inh ngha
trong ch dng lnh (command mode) cho php son tho cc lnh s dng trong
cc ti liu vn bn m khng cn dng n thit b chut.
T, cu v on (Words, sentences and paragraphs)
e reps. b

Chuyn n cui / u t hin thi

( reps. )

Chuyn n cui / u cu hin thi

{ reps. }

Chuyn n cui / u on hin thi

tng t nh e nhng thm mt du cch sau t hin thi

u v cui (Beginning and End)


^

u dng

Cui dng

1G

u tp

Cui tp

Tt c cc mc vn bn trn c th c s dng nh du mt ch (w) hoc mt


on vn bn (})mt ln, di chuyn n u dng (^) hoc u tp (G), vv... cng
nh c s dng thc hin cc cu lnh nh xo hoc copy.

Chn vn bn
Trong ch dng lnh, i cho php bn chn thm vn bn vo ti liu. Cc c tnh
khc ca trnh son tho vi cng c thc hin tng t nh vy. Bng sau y s
lit k ton b cc c tnh chn vn bn ca vi.
Cc cu lnh chn
a

Chn vn bn vi con tr ti k t cui cng ca dng


Copyright ISE, 2006

118

Ti liu o to Linux c bn
S DNG TRNH SON THO VI
A

Chn vn bn vi con tr ti k t cui cng cui dng

Chn vn bn ti v tr con tr hin ti

Chn vn bn vo dng mi

Chn vn bn vo dng mi pha trn

Xo k t hin thi v chn vn bn

Xo dng hin thi v chn vn bn

Xo vn bn
Nu bn mun xo mt k t n trong ch dng lnh th dng x v xo dng
hin ti th dng dd.
Ch : Gn nh tt c cc cu ln trong vi c th c lp li bng cch g thm s
ln lp li pha trc. Bn cng c th cch ny i vi cc mc vn bn (nh t,
cu, on vn bn, ...) bng cch thay th thc th (entity) sau cu lnh.
Bng 4: Cc t v k t
w

Ch n

K t n

V d:
Xo mt t
dw
Xo vn bn t v tr con tr n cui dng hin ti
d$
Xo vn bn t v tr con tr n cui on hin ti
d}

Copyright ISE, 2006

119

Ti liu o to Linux c bn
S DNG TRNH SON THO VI
Bn c th xo cng lc mt mc vn bn ng thi chuyn sang ch chn vi
lnh c. Nh thng l bn c th s dng cu lnh ny vi mt mc vn bn nh w
hoc {.

Copy / Paste
Thao tc copy trong vi l cu lnh y (thay cho yank), v thao tc chn l p.

Nu mt dng c copy th s c chn vo dng tip theo pha di con tr.


Vic la chn vn bn c thc hin vi cc mc vn bn thng dng nh w, l, },
$, ... Mt s ngoi l c m t trong v d di y.

V d:
Sao chp vn bn t v tr hin ti n cui dng hin thi
y$

Sao chp ton b dng hin thi


yy

Sao chp 3 dng


3yy

Mc xo cui cng thng thng c a vo b m v c th c chn vi cu


lnh p. iu ny tng ng vi thao tc copy v chn.

Copyright ISE, 2006

120

Ti liu o to Linux c bn
S DNG TRNH SON THO VI

Tm kim
Do vic tm kim i hi phi khp theo mu do mt ln na chng ta li cp
n cc biu thc chnh qui (regular expressions regex). Nh mt s cng c thao
tc vi vn bn ca UNIX nh grep hoc sed, vi cng tun th cc biu thc chnh
qui ny.
thc hin tm kim, u tin phi chuyn v ch du hai chm. Cu lnh / s
tm kim t v tr hin ti xung cui v cu lnh ? s tm kim theo hng ngc
li.
c th thc hin thao tc tm kim v thay th. C php tng t nh i vi sed.
V d:

Tm t bt u t ch comp trong ton b vn bn


/\<comp>

Tm dng bt u t ch ci z
/^z

Tm trong ton b vn bn vi t kho VAR v thay th bng var


:% s/VAR/var

Lm li (Undo)
Chng ta lun c th hu b cc thao tc va thc hin (trong ch dng lnh) vi
cu lnh u, v c th s dng i vi tp khi cha thao tc ghi cha c thc hin.

Copyright ISE, 2006

121

Ti liu o to Linux c bn
S DNG TRNH SON THO VI

Ghi vn bn
Cu lnh ghi d liu l w. Bng cch ny ti liu s mc nh c ghi li. Ngi
dng cng c th xc nh tn cho tp cn ghi. Tng on (portion) vn bn c th
c ghi li sang tp bn bn khc trong khi cc tp vn bn khc ang c c
hoc chn ti ti liu hin thi. V d sau s th hin iu ny.
V d:
Ghi ti liu hin ti ra tp c tn l newfile
:w newfile

Ghi dng 15 n dng 24 sang tp c tn l axtract


:w 15,24 extract

c t tp extract. Vn bn s c chn vo v tr con tr hin ti


:r extract

Ch : trong ng cnh ch ct (column mode) chng ta phi thc hin nh sau


.

l dng hin thi

l cui ti liu

Copyright ISE, 2006

122

Ti liu o to Linux c bn
S DNG TRNH SON THO VI

Thc hnh
Ti root cp /var/log/messages to /tmp. S dng chc nng tm kim v thay th ca
vi to ra tt c cc dng bt u vi and end with;
G u hu b tt c cc thay i.
Copy /etc/lilo.conf ti /tmp, son tho tp ny v th copy/paste yy/p v cut/paste
vi dd/p
Kim tra kt qu ca :x, ZZ, :quit, :wq, v :q! (cu lnh no s ghi d liu v cu
lnh no khng)
Kim tra th kt qu sau khi s dng mt s ch chn vn bn nh: A, a, O, o, S
v s
La chn: Nu bn ci t gi vim-enhanced th chng trnh vimtutor s cho thy
mt s la chn thng dng ca vi.

Copyright ISE, 2006

123

You might also like