Professional Documents
Culture Documents
Tuhocsudunglinux 140211043756 Phpapp02
Tuhocsudunglinux 140211043756 Phpapp02
Li m u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 Ci t h iu hnh Linux 14
2.1 Chun b ci t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 Phng xa v nhng li khuyn . . . . . . . . . . . . . . . . . . . . . . 16
2.3 Phn vng trn a v qu trnh khi ng . . . . . . . . . . . . . . 17
2.3.1 Th no l cu trc hnh hc ca a . . . . . . . . . . . . . 17
2.3.2 Phn vng v bng phn vng ca a . . . . . . . . . . . . . 18
2.3.3 Qu trnh khi ng cc HH ca cng ty Microsoft . . . . . 20
2.3.4 Vn vi cc a ln . . . . . . . . . . . . . . . . . . . . . . . 22
2.4 La chn trnh khi ng . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.1 Trnh khi ng GRUB . . . . . . . . . . . . . . . . . . . . . . 23
2.4.2 Trnh khi ng LILO . . . . . . . . . . . . . . . . . . . . . . 24
2.4.3 Cc trnh khi ng khc . . . . . . . . . . . . . . . . . . . . . 26
2.4.4 Cc phng n khi ng . . . . . . . . . . . . . . . . . . . . 27
2.5 Chun b cc phn vng trn a . . . . . . . . . . . . . . . . . . . . 27
2.5.1 Li khuyn khi to phn vng . . . . . . . . . . . . . . . . . . 27
2.5.2 Chng trnh phn chia a . . . . . . . . . . . . . . . . 30
2.6 Windows NT v Linux: khi ng qua NT OS Loader . . . . . . . . 31
2.7 S dng trnh khi ng GRUB . . . . . . . . . . . . . . . . . . . . . 34
2.7.1 Ci t GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.7.2 Cu hnh GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.8 S dng trnh khi ng LILO . . . . . . . . . . . . . . . . . . . . . 36
2.8.1 Ci t v cu hnh LILO . . . . . . . . . . . . . . . . . . . . 36
2.8.2 Ci t cc h iu hnh khc sau Linux . . . . . . . . . . . 39
2.8.3 Chuyn th mc /boot ln phn vng DOS . . . . . . . . . . 39
2.9 Khi ng Linux t MS-DOS bng loadlin.exe . . . . . . . . . . . . 40
iv MC LC
3 Khi ng Linux ln u 43
3.1 Khi ng HH Linux . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.2 ng nhp vo h thng . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.3 Console, terminal o v shell . . . . . . . . . . . . . . . . . . . . . . 46
3.4 Son tho dng lnh. Lch s lnh . . . . . . . . . . . . . . . . . . . 49
3.5 Ngng lm vic vi Linux . . . . . . . . . . . . . . . . . . . . . . . . 51
3.6 Tr gip khi dng Linux . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.6.1 Cc ngun thng tin tr gip . . . . . . . . . . . . . . . . . . 53
3.6.2 Cc trang tr gip man . . . . . . . . . . . . . . . . . . . . . . 54
3.6.3 Cu lnh info . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.6.4 Cu lnh help . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.6.5 Ti liu bn phn phi v ng dng . . . . . . . . . . . . . . 56
3.6.6 Cu lnh xman . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.6.7 Cu lnh helptool . . . . . . . . . . . . . . . . . . . . . . . . 57
3.6.8 Sch v Internet . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5 Bash 101
5.1 H v l g? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.2 Cc k t c bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.3 Thc thi cc cu lnh . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.3.1 Thao tc ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.3.2 Thao tc & . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.3.3 Thao tc && v || . . . . . . . . . . . . . . . . . . . . . . . . 104
5.4 u vo/u ra tiu chun . . . . . . . . . . . . . . . . . . . . . . . . 104
5.4.1 Dng d liu vo ra . . . . . . . . . . . . . . . . . . . . . . . 104
5.4.2 Lnh echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.4.3 Lnh cat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.5 Chuyn hng u vo/u ra, ng ng v b lc . . . . . . . . . . 106
5.5.1 S dng >, < v >> . . . . . . . . . . . . . . . . . . . . . . . . 106
5.5.2 S dng | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.5.3 B lc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.6 Tham bin v cc bin s. Mi trng ca h v . . . . . . . . . . . . 109
5.6.1 Cc dng tham bin khc nhau . . . . . . . . . . . . . . . . . 110
5.6.2 Du nhc ca h v . . . . . . . . . . . . . . . . . . . . . . . . 112
5.6.3 Bin mi trng PATH . . . . . . . . . . . . . . . . . . . . . . . 113
5.6.4 Bin mi trng IFS . . . . . . . . . . . . . . . . . . . . . . . 113
5.6.5 Th mc hin thi v th mc c nhn . . . . . . . . . . . . 114
5.6.6 Cu lnh export . . . . . . . . . . . . . . . . . . . . . . . . . 114
5.7 Khai trin biu thc . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
5.7.1 Khai trin du ngoc . . . . . . . . . . . . . . . . . . . . . . . 115
5.7.2 Thay th du ng (Tilde Expansion) . . . . . . . . . . . . . . 115
5.7.3 Php th cc tham bin v bin s . . . . . . . . . . . . . . . 116
5.7.4 Php th cc cu lnh . . . . . . . . . . . . . . . . . . . . . . . 116
5.7.5 Php th s hc (Arithmetic Expansion) . . . . . . . . . . . . 116
5.7.6 Phn chia t (word splitting) . . . . . . . . . . . . . . . . . . 117
5.7.7 Khai trin cc mu tn th mc v tp tin . . . . . . . . . . 117
5.7.8 Xa cc k t c bit . . . . . . . . . . . . . . . . . . . . . . . 118
5.8 Shell mt ngn ng lp trnh . . . . . . . . . . . . . . . . . . . . . 118
5.8.1 Ton t if v test (hoc [ ]) . . . . . . . . . . . . . . . . . . 118
5.8.2 Ton t test v iu kin ca biu thc . . . . . . . . . . . . 119
5.8.3 Ton t case . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
5.8.4 Ton t select . . . . . . . . . . . . . . . . . . . . . . . . . . 122
5.8.5 Ton t for . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
5.8.6 Ton t while v until . . . . . . . . . . . . . . . . . . . . . 124
5.8.7 Cc hm s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.8.8 Tham s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
5.8.9 Bin ni b (local) . . . . . . . . . . . . . . . . . . . . . . . . . 125
5.9 Script ca h v v lnh source . . . . . . . . . . . . . . . . . . . . . 126
5.10 Cu lnh sh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
vi MC LC
HH Linux: lch s v cc bn
phn phi
Trong th ny Linus cho bit anh ang pht trin mt h iu hnh t do cho
cc my tnh i 386 (486) v yu cu nhng ai quan tm cho bit nhng thnh
phn no ca h thng cho ngi dng cn phi c u tin. Nhng ngi dng
trong nhm tin tc ny lm vic di h iu hnh Minux do gio s Andy
2
protocol
1.1 Th no l HH ni chung v Linux ni ring 5
mi.
Tuy nhin by gi xin quay li vi lch s ca Linux. Cn ni rng Linus
Torvalds ch pht trin phn nhn (kernel) ca h iu hnh. Nhn ny u
ng vo min t lnh, v trong d n GNU pht trin s lng ln cc
tin ch khc nhau. Nhng chuyn GNU thnh mt HH hon chnh th ch
cn thiu nhn. D n GNU cng bt u pht trin nhn cho ring mnh
(c gi l Hurd), nhng v l do no b chm li. V th s xut hin ca
nhn Linux l rt ng lc. N ng ngha vi vic ra i ca mt h iu hnh
mi t do phn phi cng vi m ngun m. Stallman tt nhin ng khi i
hi h iu hnh Linux phi c gi l GNU/Linux. Nhng thnh l ngi
dng thng s dng tn gi ca nhn lm tn gi ca h iu hnh, v chng
ta cng lm nh vy trong cun sch ny.
3. Swap b nh ln a
Swap b nh cho php lm vic vi Linux khi dung lng b nh c hn.
Ni dung ca mt s phn (trang) b nh c ghi ln vng a cng xc
nh t trc. Vng a cng ny c coi l b nh ph thm vo. Vic ny
c lm gim tc lm vic, nhng cho php chy cc chng trnh cn b
nh dung lng ln m thc t khng c trn my tnh.
7. Th vin chung
Th vin b cc qu trnh (thao tc) c chng trnh dng lm
vic vi d liu. C mt s th vin tiu chun c dng cng lc cho vi
tin trnh. Trn cc h thng c nhng th vin nm trong mi tp tin
chng trnh, v thc hin cng lc nhng chng trnh ny dn n hao
ht b nh khng ng c. Trn cc h thng mi (bao gm Linux) c h tr
lm vic vi cc th vin ng (dynamic) v tnh (static) c chia ra, v
nh vy cho php gim kch thc b nh b ng dng chim.
8. B m ng ca a
B m ca a l mt phn b nh ca h thng dng lm ni lu nhng
d liu thng dng ca a, nh nng cao rt nhiu tc truy cp ti
nhng chng trnh v tin trnh thng dng. Ngi dng MS-DOS s
nh n chng trnh SmartDrive, chng trnh ny d tr mt phn b
nh c kch thc xc nh lm b m cho a. Linux s dng h thng
m linh ng hn: b nh c d tr cho m c tng ln khi b nh
khng c s dng, v s gim xung khi h thng hay tin trnh cn
nhiu b nh hn.
1.3 Yu cu i vi my tnh
Ti c u ni rng c nhng phin bn Linux c bit, lm vic thm
ch trn b x l 8086 vi 512Kbyte b nh, cn phin bn c bit c th chy t
mt hoc hai a mm khng cn a cng th ti gp.
V th nu bn c mt ci my tnh c, trn khng th chy ni Windows,
th c th s dng n hc Linux v rt c th s ngc nhin v kh nng ca
HH ny. Nhng trong cun sch ny chng ta s khng xem xt nhng trng
hp c bit nh vy. V HH Linux s dng ch bo v ca b vi x l, nn
ci t HH ny cn t nht l mt my tnh c b x l 386. Theo cc ngun
thng tin khc nhau th tt c cc bin th u dng tt: SX, DX v.v. . . Xin ng
lo lng, nhng my tnh sn xut gn y p ng c ton b nhng yu cu
a ra v s a ra di y. Yu cu i vi phn cng ca h thng mun
ci t Linux cn c xc nh bi la chn phn mm ca ngi dng (v tc
l s ph thuc vo phin bn ca cc phn mm v t nhiu vo bn phn phi).
Bng 1.1 di y s a ra mt vi con s ch vi mc ch gip bn c lm
quen, nhng con s ny l khng chnh xc nhng khng khc bit nhiu gia
cc bn Linux khc nhau.
1.4 Ly Linux u?
V trong phn cui ca chng th nht chng ta s tr li ngn gn cho cu hi
Ly Linux u?.
Nh ni trn, Linux cng vi mt s lng khng l cc chng trnh
ng dng c phn phi gn nh min ph. C ngha l ngi dng khng c
nh thay i chng trnh hoc mua bn nhng chng trnh ny, th c ton
quyn sao chp ton b bn phn phi Linux hoc mt phn bt k ca n
ch ngi quen, hoc ti xung t Internet hoc mua a CD (DVD) Linux ch
nhng ngi bn hng u trn h ph m khng s b truy cu v vi phm
bn quyn (cc chng trnh c bn quyn thng mi thng dng t s ng
gia ngi dng v nh phn phi) ca cc nh (cng ty) pht trin.
Trong s ba phng n k trn th i vi ngi dng Linux Vit Nam phng
n mua CD, DVD l tt nht. Cn ni thm l nhng a ghi va h thng c li
v c th gy mt d liu hoc lm hng phn cng. Tt hn ht l nn mua a
ca mt cng ty my tnh hoc qua mt ca hng trn mng. Khi cn c kh
nng la chn v c bo m l s i c a xu. Tt nhin l chnh lnh gi
thnh a phi khng qu cao, gi thnh bn Linux bao nhiu l quyn ca
ngi bn (ngoi ra gi thnh cao cn c cc bn phn phi chuyn nghip nh
Xandros, Novell Desktop,. . . ).
Hin gi trn mng Vit Nam xut hin mt vi ca hng bn a Linux.
a ch c th xin khng a ra y v qung co trong th gii hin i
khng cn l min ph. V vic giu a ch khng lm nh hng n nhng ai
c mong mun mua Linux nghin cu.
Cn ni ring v h thng pht a vi bn phn phi Ubuntu mt cch min
ph. Ch cn vo a ch http://shipit.ubuntu.com ng k s lng a bn
cn, tt nhin c km theo a ch bu in, sau mt thi gian khong 1 thng
1 thng ri bn s nhn c chng. Theo ti ngh y l cch tt nht nu bn
khng c iu kin mua a.
10
my gip chuyn hng cc gi mng
Chng 2
Ci t h iu hnh Linux
Software is like sex, its good when its free Linus Torvalds.
Thng thng trn cc a ca bn phn phi Linux c hng dn ngn gn cch ci t Linux.
Ngoi ra, trn Internet bn c th tm thy rt nhiu cun sch n v vn ny. V tt c cc bn
phn phi ln (Debian, Slackware, Fedora, Mandrake, ...) u c cun hng dn ci t rt chi
tit, cho mi tnh hung s dng. Hy ch i v hy vng trong tng lai khng xa s c bn dch
Ting Vit ca nhng cun sch ny. Chnh v vy trong cun sch ny, tc gi s khng a ra cc
bc c th ca vic ci t, m xin bn c hy tm cc cun hng dn tng ng. Thay vo
l nhng g bn cn bit v chun b trc khi ci t, ng thi, tc gi s i c th v chi tit vo
nhng g c bit khi ci t Linux trn my tnh c mt trong cc h iu hnh (HH) Windows
cng nh vic khi ng nhiu h iu hnh.
Vn ch, phn ln ngi dng Vit Nam trc khi bt u hc Linux
lm quen v rt c th c kinh nghim s dng cc HH dng Windows nh
Windows 98, Windows 2000 v Windows XP. V trn thc t th tm thi Linux
kh c th l HH u tin m ngi dng lm quen. Nh th, mt cch t
nhin, nu ngi dng lm vic vi HH Windows v quyt nh th nghim
vi Linux, th h khng mun mt i mi trng lm vic quen thuc ca mnh,
cng vi nhng g to ra v cu hnh di di Windows. Rt may l khng
nht thit phi nh mt tt c nhng th . Bi v trn mt my tnh c th
cng chung sng ha bnh hai HH v thm ch nhiu hn na (nu c ch
trn a!). Chnh v th, pha di s ni cch ci t HH Linux trn my tnh
ci t mt trong cc h iu hnh ca hng Microsoft.
2.1 Chun b ci t
C th ci t Linux bng mt trong cc cch sau:
T a CD-ROM
T bn sao chp Linux trn a cng
T my ch tp tin ca mng ni b qua NFS;
T my tnh khc trong mng ni b qua SMB;
T my tnh xa (v d t Internet) qua giao thc FTP;
2.1 Chun b ci t 15
BIOS:
nh sn xut;
s hiu phin bn.
CD-ROM:
Chut:
Cc mn hnh
16 Ci t h iu hnh Linux
nh sn xut;
s mu m (hay chipset s dng)
dung lng b nh;
Mn hnh
nh sn xut
s mu m;
cc gi tr gii hn (min, max) ca tn s lm mi theo chiu dc v
theo chiu ngang (nhng gi tr ny bn c ch c th tm thy trong
ti liu i km vi mn hnh, Windows khng hin th nhng gi tr
ny, v chng rt quan trng trong khi cu hnh giao din ha).
nh sn xut v s mu m cc mng;
a ch IP ca mnh;
tn ca my tnh trong mng;
mt n mng con (subnet mask);
a ch IP ca gateway;
a ch IP ca cc my ch tn min (DNS server);
a ch IP ca my ch WINS(Windows Internet Name Service);
tn min ca cng ty bn c.
struct partition {
char active; /* 0x80: phn vng kch hot, 0: khng kch hot */
char begin[3]; /* CHS sector u tin, 24 bit
char type; /* loi phn vng (v d, 83 -- LINUX_NATIVE) */
char end[3]; /* CHS sector cui cng, 24 bit */
int start; /* s ca sector u tin (32-bit, tnh t 0) */
int length; /* s sector c trong phn vng (32 bit) */
};
V trong bng chia a ch c 4 dng cho cc phn vng, s phn vng chnh
trn a ngay t u d hn ch: khng th ln hn 4. Khi m 4 phn vng tr
thnh t, th ngi ta sng ch ra phn vng lgc. Mt trong s cc phn vng
chnh tr thnh m rng (loi phn vng - 5 hay F hay 85 trong h c s mi
su). V trong phn vng m rng ngi ta to ra cc phn vng lgc. Phn
vng m rng khng c s dng trc tip m ch dng ghi cc phn vng
lgc. Sector u tin ca phn vng m rng ghi nh bng phn vng vi bn
u vo: mt dng cho phn vng lgc, mt cho phn vng m rng khc, cn
hai ci cn li khng c s dng. Mi phn vng m rng c mt bng chia
ca mnh, trong bng ny, cng ging nh trong phn vng m rng chnh, ch
s dng c hai dng a ra mt phn vng lgc v mt phn vng m rng.
Nh vy, thu c mt chui cc mt xch t bng phn vng, mt xch u tin
m t ba phn vng chnh, v mi mt xch tip theo mt phn vng lgc v
v tr ca bng tip theo.
Chng trnh sfdisk trn Linux cho thy ton b chui ny:
S phn vng lgc theo nguyn tc khng hn ch, v mi phn vng lgc
c th cha bng phn vng v cc phn vng lgc ca mnh. Tuy nhin trn
thc th vn c nhng hn ch. V d, Linux khng th lm vic vi hn 15 phn
vng trn cc a SCSI v hn 63 phn vng trn a IDE.
Phn vng m rng trn mt a vt l, hay trong mt phn vng m rng
cha n (c th gi l m) ch c th lm mt: khng mt chng trnh phn
chia a no trong s c (fdisk v tng t) c th to thm mt phn vng
m rng th hai.
a trn Linux ni ring ( a vt l) c truy cp qua tn ca thit
b: /dev/hda, /dev/hdb, /dev/sda, v.v. . . Cc phn vng chnh c thm s 1-
4 trong tn thit b: /dev/hda1, /dev/hda2, /dev/hda3, cn phn vng lgc
th c cc tn: /dev/hda5, /dev/hda6, /dev/hda7 . . . (bt u t s 5). T
nhng g cp n trn c th suy ra ti sao li c th b qua cc tn nh
/dev/hda3 hay /dev/hda4 (n gin l phn vng chnh th ba v th t
20 Ci t h iu hnh Linux
[operating systems]
multi(0)disk(0)rdisk(0)partition(3)\WINNT="Windows NT Workstation 4"
C:\="Microsoft Windows"
C:\BOOTSECT.LNX="Linux"
2.3.4 Vn vi cc a ln
Trn MS-DOS v cc phin bn u tin ca Windows truy cp ti a (trong
c c bc khi ng u tin ca HH) c t chc qua Int 13 (Int 13h) ca
BIOS. Khi ny s dng s nh a ch sector trn a trn c s C/H/S (xem
trn). Chnh xc hn:
CH 8 bit nh hn ca s cylinder;
DH s ca u c;
cc tp tin phc v, cn cho LILO trong thi gian khi ng. Nhng tp tin
ny thng nm trong th mc /boot. Quan trng nht trong s chng
l bn thn trnh khi ng (xem pha di) v tp tin map (/boot/map);
trong tp tin ny c ch ra v tr ca nhn. Mt tp tin quan trng khc
tp tin cu hnh LILO; thng c tn /etc/lilo.conf;
sector khi ng ca phn vng lgc trong phn vng m rng a cng
u tin (/dev/hda5, . . . ). S tht l phn ln chng trnh dng fdisk
khng ra kh nng khi ng khi ng t phn vng m rng v t
chi vic kch hot phn vng ny. V vy trong thnh phn LILO c cha
mt chng trnh c bit (activate) cho php vt qua hn ch ny. Tuy
nhin chng trnh fdisk ca bn phn phi Linux h tr kh nng kch
hot phn vng m rng. Cn s dng ty chn -b hoc bin BOOT.
Ngoi ra, cn nh rng, LILO trong thi gian khi ng cn nhng tp tin
sau:
26 Ci t h iu hnh Linux
/boot/boot.b;
Thi gian gn y trong thnh phn bn phn phi Linux thng c chng
trnh khi ng GRUB.
Trong thnh phn OS/2 ca cng ty IBM c chng trnh khi ng Boot
Manager. Trong rt nhiu hng dn ngi ta khuyn dng chng trnh
ny ti chc khi ng nhiu HH.
Trong cc ngun thng tin khc nhau cn nhc n chng trnh System
Commander;
Trong nhng phn tip theo tc gi s cho bit cch ci t Linux, s dng
tt c bn phng n khi ng: qua trnh khi ng NT Loader, trnh khi ng
GRUB, trnh khi ng LILO v trnh khi ng loadlin.exe. Tuy nhin trc
khi ci t trnh khi ng cn chun b cc phn vng trn a, hay t nht l
ngh cch t chc chng.
H iu hnh Yu cu
Windows 95 100 Mbyte
Windows 98 200 Mbyte
Windows NT 200 Mbyte
Windows 2000 700 Mbyte
Linux Red Hat 6.2 (Work- 700 Mbyte
station vi KDE)
Tuy nhin xin hy nh rng, khng nhng phi tnh kch thc cc tp tin ca
bn thn h iu hnh, m cn phi tnh c kch thc ca cc chng trnh bn
c d tnh chy. V cn phi dnh mt phn d tr khng nh cho cc chng
trnh s ci t sau ny (khng th trnh khi!). Hy tnh rng, 700 Mbyte dnh
cho Linux trong bng ni trn ch dnh cho cc chng trnh ci t cng vi
Linux theo mc nh, trong s c, v d, chng trnh son tho rt mnh
Lyx. i vi Windows cng tng t nh vy.
Theo kinh nghim ca tc gi th lm vic vi Windows 95/98, Windows
NT v Linux cc phn vng vi kch thc 800-1000 Mbyte l (tt nhin, nu
bn c khng ci t cc gi chng trnh ln, nh OpenOffice.Org), cn i vi
Windows 200 th cn phn vng ln hn.
By gi chng ta s xem xt vn chia cc phn vng cho Linux. y
khng th ch chia mt phn vng. Th nht, cn chia mt phn vng swap
ring bit cho Linux. Khi xc nh dung lng ca phn vng swap Linux cn
tnh n nhng yu t sau:
Kch thc ca phn vng swap c th ln bao nhiu ty thch, tuy nhin
khng cn cu hnh qu nhiu nu khng cn thit. Thng thng ch cn
dng swap khi my t b nh RAM hoc chy my ch vi nhiu ng dng
2.5 Chun b cc phn vng trn a 29
Khi tnh kch thc ca khng gian swapping, cn nh rng kch thc qu
ln c th l v ch. Trn my tnh vi 16 Mbyte RAM khi ci t Linux vi
cu hnh chun v cc chng trnh ng dng chun th 48 Mbyte khng
gian swapping l . Cn nu ci t Linux vi cu hnh nh nht, th
khng cn n khng gian swap. Tt nhin, kch thc chnh xc ca khng
gian swap ph thuc ln vo chng trnh s c ci t.
phn vng chnh tip theo dnh cho th mc gc (/), kch thc khong 1
Gbyte;
phn vng chnh th ba dnh cho swap ca Linux (li khuyn v kch thc
ca phn vng ny xem trn);
chuyn vo th mc /mnt/floppy
[root]# cd /mnt/floppy
2.7.1 Ci t GRUB
Cch d nht c th ci t trnh khi ng GRUB l chn dng trnh khi
ng ny trong qu trnh ci t h thng Linux ca bn. Trong nhng phin
bn mi ca cc bn phn phi Linux mi khi ny c th chn cu hnh cho
nhng h iu hnh c trn my. Mt s bn phn phi, v d Xandros cn
t ng tm thy nhng h iu hnh c ny v thm chng vo tp tin cu
hnh ca GRUB. Nh sau khi ci t bn c th chn khi ng Linux hoc
h iu hnh (thng l Windows) c. Mc d vic t ng cu hnh ny ht
sc thun tin, nhng s c ch nu bn bit c cch cu hnh Linux x l
nhng li c th xy ra v hn th na bit cch cu hnh khi ng h iu
hnh mong mun khi khng c t ng cu hnh. Chng ta s xem xt cu hnh
GRUB trong phn tip theo.
default 0
timeout 8
boot = /dev/hda2
compact
delay = 50
# message = /boot/bootmesg.txt
root = current
image = /boot/vmlinuz-2.4.22
label = linux
read-only
other = /dev/hda1
5
Ghi ch. Trnh khi ng LILO khng bt buc phi ci t vo bn ghi khi ng chnh ca
a, LILO c th nm bn ghi khi ng ca phn vng chnh c kch hot v cha th mc
gc ca Linux hoc thm ch trn phn vng lgc trong phn vng m rng. Trong trng hp
MBR cn phi c kh nng np LILO, v d khi MBR l trnh khi ng ca MS-DOS hay
Windows. Tuy nhin tc gi cha nhn thy s cn thit ca ng dng ny (nu chn LILO
lm trnh khi ng chnh th hy s dng cho trn b), v th chng ta s khng xem xt n.
2.8 S dng trnh khi ng LILO 37
table = /dev/hda
label = dos
Vi li gii thch cho v d: Dng boot cho bit thit b khi ng.
Dng compact bt ch nn tp tin map tp tin cha c tnh ca nhn
c khi ng; tnh nng (nn) ny tng tc ca khi ng u.
Cu lnh message dng a ra thng bo theo mun khi khi ng.
Bt u t dng image l cc phn nh ca tp tin cu hnh, mi phn
tng ng vi mt h iu hnh s khi ng theo la chn ca ngi dng.
Trong mi phn nh vy c mt dng label. Trn dng ny ghi tn cn
nhp vo du nhc LILO hay tn s hin th trong trnh n ca LILO
c th chn HH mun khi ng. Nu nh tn khng c nhp sau
khong thi gian ch trn dng delay (tnh theo phn mi giy cn nhn
vi 0,1 giy), th s khi ng HH theo mc nh. Trong v d ny, s khi
ng Linux theo mc nh, v phn cu hnh tng ng vi Linux nm u
tin trong tp tin. C th ch ra h iu hnh c khi ng theo mc nh
khi thm mt dng c dng default=dos, tc l s dng tn t trn
dng label.
Dng table=<device> cho bit tn thit b cha bng phn chia a. LILO
s khng a thng tin v phn chia a cho h iu hnh c khi ng
nu bin ny khng c a ra. (Mt s h iu hnh c cng c khc
xc nh l c khi ng t phn vng no.) ng qun rng, cn thc
hin cu lnh /sbin/lilo, sau khi thay i ch dn n bng phn chia
a, tc l thay i bin table. Nu t dng (gi l phn nh th tt hn)
other = /dev/hda1 trong tp tin /etc/lilo.conf, th trong th mc
gc ca a /dev/hda1 (a C: trong h thng thut ng Microsoft) cn c
trnh khi ng ph (khng phi l chnh). Trn mt my ca tc gi
nm trnh khi ng NT Loader (v Windows NT c ci t trc Linux),
v LILO khi ng thnh cng Windows NT. Ch cn t thi gian ch khi
ng trong tp tin boot.ini bng khng, khng thy trnh n khi ng
ca NT Loader. Tuy nhin, nu v mt l do no bn mun thy trnh
n ny th gi tr timeout trong tp tin boot.ini cn t khc khng (thi
gian ch c tnh theo giy). iu ny c th cn thit khi mun khi ng
c Windows 98 t trnh n ca NT Loader (trong trng hp ny s c 3
HH: Linux, Windows NT v Windows 98, trong trnh n ca LILO nu
chn dos th s hin ra trnh n ca NT Loader ri t chn mt trong
hai HH Windows khi ng).
Nu bn c mun khi ng Windows trc tip t LILO, th hy thm
phn nh sau vo /etc/lilo.conf:
other = /boot/bootsect.dos
label = win
hay
C:\LOADLIN> loadlin
CD \LOADLIN
BootGUI=0
Logo=0
Khi ng Linux ln u
Password:
[root@ThinhQuyen /root]#
Ngay sau khi nhn phm <Enter> chy lnh ny, trn h thng s bit
rng ngi dng nhimlui tn ti (chng ta ni, m ti khon cho ngi dng
nhimlui). Tuy nhin vn cha th vo h thng (thng ni, ng nhp) di
tn ngi dng ny. h thng cho php ngi dng mi nhimlui lm vic,
cn phi to thm cho ngi dng ny mt khu bng cu lnh:
Hy nhp vo mt khu. Sau khi nhp xong, cng nhn phm <Enter>, h thng
s hi nhp mt khu mt ln na kim tra.
Password changed.
Rt tic theo nh tc gi bit th hin thi cc trang thng tin man cn cha
c dch sang ting Vit. Do bn s nhn c nhng trang ny bng ting
Anh. Nu nh bn khng c kh nng c ting Anh, th hay kin nhn c cun
sch ny hoc mt cun sch khc cng ti.
Bn c cn c th th chy thm mt vi cu lnh na v theo di xem h
thng lm g. V d, hy th nhng cu lnh lit k trong bng 3.1 (hy nhp
chng cng vi nhng tham s c trong bng).
[user]$ su nhimlui
[nhimlui]$ ps ax
Thc hin li lnh ny mt ln na xem li. Nhng nguyn nhn quan trng
hn l ch mt s tin trnh ny c th ang lm vic vi cc tp tin, v h
thng cn cha ghi nh tt c cc thay i vi nhng tp tin ln a m ch lu
tm chng trong b nh (cache). Nu ngt ngun in th nhng thay i ny s
khng c lu v s b mt, i khi c th dn n khng khi ng c my
trong ln sau. Do cn bit dng h thng mt cch ng n trc khi tt
my. Cng vic ny do cu lnh (chng trnh) shutdown m nhim.
4
environment variable
52 Khi ng Linux ln u
[root]# shutdown -r +5
5
Cng c th cu hnh nhng ngi dng khc thc hin c shutdown, v d qua sudo.
3.6 Tr gip khi dng Linux 53
ti liu i km vi phn mm
cu lnh locate
4. http://vnoss.net/dokuwiki/doku.php?id=linux:tailieutiengviet
trn trang ny c tng hp tt c nhng ti liu ting Vit v Linux, rt c
th bn s tm thy ti liu v ti mnh cn tm hiu trn trang ny.
2. http://www.linux.org
7. http://www.linuxstart.com
9. http://www.linuxplanet.com
14. http://www.lwn.net Tin tc hng tun v Linux. Thng tin chia thnh
tng hng mc: thng tin chung, thng mi, thng tin v nhn Linux,
cng c pht trin chng trnh mi, chng trnh cho Linux, v.v. . . Nu
bn mun tin tng rng Linux pht trin rt nhanh v mun nhn tr
gip ca cc cng ty thng mi ln th nht nh phi thm trang ny.
Tin tc trn tun bo ny c ban bin tp ch thch rt tt.
21. http://www.penguinmagazine.com.
l nhng k t sau:
v cu lnh
4.2 Th mc
Nu nh cu trc tp tin khng cho php s dng g khc ngoi tn tp tin (tc
l tt c cc tp tin nm trn mt danh sch chung ging nh cc ht ct trn bi
bin) th thm ch c khi khng c gii hn v di ca tn, rt kh c th tm
n tp tin cn thit. Hy tng tng bn c mt danh sch khong vi nghn
tp tin! Xin ng nghi ng, mt h thng Linux hon chnh s c s lng tp tin
cn ln hn th. V th m cc tp tin c t chc vo cc th mc, cc th mc
c th nm trong cc th mc khc, v.v. . . Kt qu l chng ta thu c mt cu
trc th mc c phn bc bt u t mt th mc gc. Mi th mc (con) c th
cha cc tp tin ring l v cc th mc con ca n.
Cu trc phn bc ca th mc thng c minh ho bng cy th mc,
trn mi th mc l mt nt ca cy, cn tp tin l cc l. Trn MS
Windows hoc DOS cu trc th mc nh vy c trn mi a (tc l chng ta
c khng phi mt cy m mt rng th mc) v th mc gc ca mi cu
trc tp tin c nh du bng mt ch ci Latinh (v do c mt s hn
ch). Trn Linux v UNIX ni chung ch c mt cu trc th mc duy nht cho
tt c cc a lu, v th mc gc duy nht ca cu trc ny c k hiu bng
du gch cho /. C th a vo th mc gc ny mt s lng khng hn ch
cc th mc nm trn cc a lu khc nhau (thng ni l gn h thng tp
tin hoc gn a lu).
Tn ca th mc cng c t theo nhng quy nh nh i vi tn tp tin.
V ni chung ngoi cu trc bn trong ca mnh th th mc khng khc g so
vi nhng tp tin thng thng, v d tp tin vn bn (text file).
Tn y ca tp tin (hoc cn gi l ng dn5 n tp tin) l danh sch
tn ca cc th mc bao gm th mc cha tp tin v cc th mc m, bt u
t th mc gc / v kt thc l bn thn tn ca tp tin. Trong ng dn ny
tn ca cc th mc con cch nhau bi du gch cho / dng k hiu th mc
gc nh ni trn. V d /home/teppi82/projects/l4u/ext3fs.tex l
tn y ca tp tin ti ang nhp vo trn my ca mnh.
H v shell lu gi tr ca th mc hin thi, tc l th mc m ngi
dng ang lm vic trong . C mt cu lnh cho bit tn ca th mc hin
thi, l lnh pwd. Ghi ch: nu ni mt cch chnh xc, th th mc hin thi
lun i lin vi mi tin trnh chy (trong c h v shell), v th i khi
chy mt chng trnh no trong shell c th dn n vic thay i th mc
hin thi sau khi chng trnh hon thnh cng vic.
Ngoi th mc hin thi mi ngi dng cn c mt th mc nh (home
directory, phng n dch th mc c nhn c u tin hn, v chng ta s
dng thut ng ny trong cun sch l4u). l th mc trong ngi dng c
ton quyn6 : c th to v xa cc tp tin, thay i quyn truy cp n chng,
v.v. . . Trong cu trc th mc ca Linux nhng th mc c nhn ca ngi dng
thng nm trong th mc /home v thng c tn trng vi tn ng nhp ca
5
y l ng dn tuyt i
6
Ni chnh xc hn l: c ton quyn n khi no root cha thay i chng :).
64 Lm quen vi h thng tp tin ext3fs
[user]$ cd ..
[user]$ cd ../../vnoss/doc
[user]$ ls projects
BanTin drupal-vn KDE-vi mrtg Xfce
bashscripts fluxbox l4u others vim
chem-tex gnomevi manvi SuSE vnlinux
debian HocTap mc syslinux vnoss
4.3 Cng dng ca cc th mc chnh 65
[user]$ ls -l
tng 1316
-rw-r--r-- 1 teppi82 users 81629 2006-09-08 22:11 bash.tex
-rw-rw-r-- 1 teppi82 users 98135 2006-09-08 13:54 caidat.tex
-rw-r--r-- 1 teppi82 users 783 2006-09-08 21:58 ChangeLog
-rw-r--r-- 1 teppi82 users 20778 2006-09-09 02:48 ext3fs.tex
-rw-r--r-- 1 teppi82 users 2013 2006-09-08 21:34 gioithieu.tex
drwxr-xr-x 2 teppi82 users 4096 2006-09-08 14:25 images
-rw-r--r-- 1 teppi82 users 3267 2006-09-08 23:13 l4u.tex
[user]$ ls -l -i - r
hoc gp li nh th ny:
[user]$ ls -lir
Th mc Cng dng
/bin Th mc ny gm ch yu cc chng trnh, phn ln trong s
chng cn cho h thng trong thi gian khi ng (hoc trong
ch mt ngi dng khi bo tr h thng). y c lu rt
nhiu nhng cu lnh thng dng ca Linux.
/boot Gm cc tp tin c nh cn cho khi ng h thng, trong
c nhn (kernel). Tp tin trong th mc ny ch cn trong thi
gian khi ng7 .
/dev Th mc cc tp tin c bit hoc cc tp tin thit b phn
cng. Chng ta s ni n nhng tp tin ny ngay sau trong
mt phn ring. Bn c c th xem qua man mknod (mkn-
ode(1)).
/etc Th mc ny v cc th mc con ca n lu phn ln nhng
d liu cn cho qu trnh khi ng ban u ca h thng v
lu nhng tp tin cu hnh chnh. V d, trong /etc c tp tin
inittab xc nh cu hnh khi ng, v tp tin ngi dng
passwd. Mt phn cc tp tin cu hnh c th nm trong cc
th mc con ca /usr. Th mc /etc khng c lu cc tp
tin chng trnh (cn t chng trong /bin hoc /sbin. Di
y chng ta s xem xt cng dng ca mt vi(!) th mc con
ca th mc /etc.
/etc/rc.d Th mc ny lu nhng tp tin s dng trong qu trnh khi
ng h thng. Chng ta s cp chi tit v nhng tp tin
ny v qu trnh khi ng ni ring trong mt vi chng sp
ti.
/etc/skel Khi to ngi dng mi, th nhng tp tin trong th mc ny
s c sao chp vo th mc c nhn ca ngi dng .
/etc/sysconfig Th mc lu mt vi (khng phi tt c) tp tin cu hnh h
thng.
/etc/X11 Th mc dnh cho cc tp tin cu hnh ca h thng X11 (v
d, xorg.conf).
/home Thng thng trong th mc ny l cc th mc c nhn ca
ngi dng (tr root).
7
do mt s nh qun tr khng t ng gn phn vng /boot vo trong qu trnh khi ng.
4.3 Cng dng ca cc th mc chnh 67
Th mc Cng dng
/lib Th mc ny lu cc th vin chia s ca cc hm m trnh
bin dch C v cc mun (cc driver thit b) cn. Thm ch
nu trn h thng khng c trnh bin dch C no, th cc th
vin chia s vn cn thit, v chng c nhiu chng trnh
s dng. Nhng th vin ny ch np vo b nh khi c nhu
cu thc hin hm no , nh vy cho php gim kch thc
m chng trnh nm trong b nh. Trong trng hp ngc
li th cng mt m lp li nhiu ln trong cc chng trnh
khc nhau.
/lost+found Th mc ny s dng phc hi h thng tp tin bng lnh
fsck. Nu fsck tm ra tp tin m khng xc nh c th
mc m th n s a tp tin vo th mc /lost+found. V
th mc m b mt, nn tp tin s nhn c tn trng vi ch
s inode ca n.
/mnt y l im gn (mount) nhng h thng tp tin gn tm thi.
Nu trn my tnh c ng thi Linux v Windows (DOS) th
th mc ny thng dng gn cc h thng tp tin FAT.
Nu bn thng gn mt vi a lu ng nh a mm, CD,
DVD, a cng ngoi, flash,v.v. . . th c th to trong th mc
ny cc th mc con cho tng a lu.
/tmp Th mc dnh cho cc tp tin tm thi. bt k thi im
ny ngi dng root cng c th xa tp tin khi th mc ny
m khng lm nh hng ln n ngi dng khc. Tuy nhin
khng nn xa nhng tp tin trong th mc ny, tr khi khi
bn bit rng tp tin hoc nhm tp tin no ang gy nh
hng n cng vic ca h thng. H thng s t ng dn dp
th mc ny theo nh k, v th khng nn lu y nhng
tp tin m bn c th s cn n.
/root y l th mc c nhn ca ngi dng cao cp root. Hy ch
l th mc ny khng nm cng ch vi th mc c nhn
ca nhng ngi dng khc (trong /home).
/sbin V th mc /bin ch yu lu cc tp tin thc thi (chng trnh
v tin ch ca HH) s dng trong qu trnh khi ng v do
nh qun tr chy. Trong tiu chun FHS c ni rng cn c
trong th mc ny nhng tp tin thc thi s s dng sau khi
gn thnh cng h thng tp tin /usr. t nht trong th mc
ny phi c init, mkswap, swapon, swapoff, halt, reboot,
shutdown, fdisk, fsck.*, mkfs.*, arp, ifconfig, route.
/proc y l im gn h thng tp tin proc cung cp thng tin
v cc tin trnh ang chy, v nhn, v cc thit b tnh,
v.v. . . y l h thng tp tin o. Chi tit bn c th c trong
man 5 proc. Cc tp tin c bit ca th mc ny s dng
nhn v gi d liu n nhn.
68 Lm quen vi h thng tp tin ext3fs
Th mc Cng dng
/usr Th mc ny rt ln v cu trc ca n nhn chung lp li cu
trc ca th mc gc. Trong cc th mc con ca /usr l tt
c cc ng dng chnh. Theo tiu chun FHS th nn dnh cho
th mc ny mt phn vng ring hoc t hon ton trn a
s dng chung trong mng. Phn vng hoc a thng gn
ch c v trn a (phn vng) l cc tp tin cu hnh cng
nh tp tin thc thi dng chung, cc tp tin ti liu, cc tin
ch h thng v c cc tp tin thm vo (tp tin dng include).
/usr/bin Cc chng trnh (tin ch v ng dng) thng c ngi
dng bnh thng s dng. /usr/bin/X11 l ni thng dng
lu cc chng trnh chy trn X Window. V y cng
thng l lin kt n /usr/X11R6/bin.
/usr/include Th mc con ny lu m ngun ca cc th vin tiu chun
ca ngn ng C. Ngi dng cn c t nht l quyn c i vi
th mc ny. D trong trng hp no cng ng sa nhng
tp tin trong th mc ny, v chng c cc nh pht trin
h thng kim duyt k cng (khng l bn bit v h thng
tt hn cc nh pht trin).
/usr/local y thng t cc chng trnh v cc th mc con (ni b)
ch dnh cho my tnh ny, bao gm:
Th mc Cng dng
/usr/share Th mc ny dng cho tt c cc tp tin d liu dng chung
v c quyn truy cp l ch c. Thng dng chia s gia
cc kin trc khc nhau ca HH, v d i386, Alpha, v PPC
c th dng chung mt th mc /usr/share nm trn mt
phn vng hoc a chia s trn mng. Cn ch l th mc
ny khng dng chia s gia cc HH khc nhau hoc gia
cc phin bn khc nhau ca cng mt HH. Tiu chun FHS
khuyn dng th mc con cho mi chng trnh. Nhng th
mc sau hoc lin kt mm sau phi c trong /usr/share:
man (cc trang tr gip man), misc (nhng gi liu ty theo
kin trc khc nhau). Chng ta xem xt mt vi th mc con
ca th mc ny:
/usr/share/misc ( ni trn).
Th mc Cng dng
/var/run Cc tp tin bin i trong thi gian thc hin cc chng trnh
khc nhau. Chng lu thng tin v s tin trnh (PID) v ghi
thng tin hin ghi (utmp). Tp tin trong th mc ny thng
c dn sch trong thi gian khi ng Linux.
/var/spool Tp tin c t vo hng t ca cc chng trnh khc nhau,
v d:
cc tp tin thit b
cc lin kt mm (symlinks).
4.4.2 Cc ng c tn (pipes)
Cn c mt dng tp tin thit b na l cc ng c tn, hay b m FIFO (First
In First Out). Tp tin dng ny ch yu dng t chc trao i d liu gia
cc chng trnh khc nhau (pipe dch t ting Anh sang l ng, ng ng).
ng l phng tin ht sc thun tin v s dng rng ri trao i thng
tin gia cc tin trnh. Mt tin trnh c th c tt c nhng g m mt tin
trnh khc t vo ng. Nu c hai tin trnh c sinh ra t cng mt tin trnh
m trao i thng tin (thng xy ra), th ng c th khng c tn. Trong trng
hp ngc li cn to ra mt ng c tn, v d bng chng trnh mkfifo. Khi
ny bn thn tp tin ng ch tham gia vo s khi u trao i d liu.
4.4.3 Cc socket
Socket l kt ni gia cc tin trnh, cho php chng giao tip m khng chu
nh hng ca cc tin trnh khc. Ni chung socket v s trao i qua socket
ng vai tr ht sc quan trng trn tt c cc h thng UNIX, trong c Linux:
socket l khi nim then cht ca TCP/IP v nh vy l da trn socket xy
dng ton b Internet. Tuy nhin t pha h thng tp tin socket thc t khng
khc cc ng c tn: ch l cc im cho php ni cc chng trnh vi nhau.
Sau khi to ra kt ni, th trao i c thc hin m khng cn n socket:
d liu do nhn chuyn trc tip t chng trnh ny n chng trnh khc.
Mc d nhng tin trnh khc c th thy cc tp tin socket, nhng nhng
tin trnh khng tham gia vo kt ni hin thi khng th thc hin bt k thao
tc c hay ghi no ln tp tin socket. Trong s nhng h thng s dng socket
cn k n X Window, h thng in v h thng syslog.
4.4.4 Lin kt mm
Trong phn v tn tp tin chng trc chng ta ni rng tp tin trong
Linux c th c vi tn hay lin kt cng. Lin kt cng ch l mt tn khc cho
tp tin ban u. N c ghi trong m t inode ca tp tin . Sau khi to lin
kt cng khng th phn bit u l tn tp tin cn u l lin kt. Nu bn
c xa mt trong s nhng tp tin ny (ni ng hn l mt trong s nhng tn
ny), th tp tin vn cn c lu trn a cho n khi vn cn t nht mt tn.
Rt kh phn bit tn u tin ca tp tin v nhng lin kt cng c to ra
sau . V vy ch dng lin kt cng nhng ni khng cn bit s khc nhau.
Mt trong nhng ng dng ca lin kt cng l ngn chn kh nng xa tp
tin mt cch v tnh. im c bit ca lin kt cng l n ch thng n ch s
inode, v do lin kt cng ch c th dng cho tp tin ca cng mt h thng
tp tin, tc l trn cng mt phn vng (a lu).
Nhng trn Linux cn c mt dng lin kt khc gi l (lin kt tng trng8 ).
Nhng lin kt ny cng c th coi l tn ph cho tp tin, nhng chng l nhng
tp tin khc nhng tp tin lin kt mm. Khc vi lin kt cng, lin kt mm
c th ch n nhng tp tin nm trong h thng tp tin khc, v d trn nhng
a lu ng, hoc thm ch trn mt my tnh khc. Nu tp tin ban u b xa,
8
thut ng ny vn cha c thng nht, do a ra c hai trng hp c th gp.
4.5 Quyn truy cp n tp tin v th mc 73
V d:
[user]$ ls -l /bin/bash
-rwxr-xr-x 1 root root 501804 2006-04-23 05:46 /bin/bash
d th mc
c tp tin thit b k t
s socket
p ng c tn (pipe)
x. Bn bit trong s 16 bit ny c dng cho bn ghi v dng tp tin. Ba bit tip
theo xc nh cc tnh cht c bit ca tp tin thc thi (chng ta s ni n mt
cht sau). V cui cng 9 bit cui cng xc nh quyn truy cp n tp tin. 9
bit ny chia thnh ba nhm, mi nhm 3 bit. Ba bit u tin xc nh quyn ca
ch s hu, ba bit tip theo quyn ca nhm s hu, ba bit cui cng quyn
ca nhng ngi dng cn li (tc l tt c nhng ngi dng, tr ch s hu v
nhm s hu tp tin). Khi ny nu bit tng ng c gi tr bng 1, th c quyn
, cn nu bng 0 th quyn b tc mt. dng ch ci th 1 c thay
th bng cc ch ci tng ng (r, w hoc x), cn 0 th hin dng du gch
ngang.
Quyn c r tp tin c ngha l ngi dng c th xem ni dung tp tin bng
cc chng trnh xem khc nhau, v d more, hoc bng cc trnh son tho vn
bn. Nhng khi son tho bn s khng th lu nhng thay i trong tp tin ln
a, nu khng c quyn ghi w vo tp tin ny. Quyn thc thi (ti thch dng
thut ng quyn gi) c ngha l bn c c th np tp tin vo b nh v th
chy m ny ging nh trng hp chng trnh. Tt nhin nu trn thc t tp
tin khng phi l chng trnh (hoc cc script shell, perl, . . . ) th khng th gi
tp tin, nhng ngc li nu tp tin l chng trnh m khng c quyn gi th
cng khng th chy chng trnh .
Nh vy l chng ta bit c trn Linux nhng tp tin no l c th thc
thi. Bn thy khng, phn m rng ca tp tin y khng c lin quan g, tt
c u do tnh cht thc thi t ra, v khc vi cc HH ca Microsoft khng
phi ai cng c quyn gi tp tin.
Nu vn thc hin cu lnh ls -l nhng tham s khng phi l tn tp tin
m l tn th mc th chng ta s thy th mc cng c quyn truy cp v cng
vn nhng ch ci r, w, x ni trn c dng xc nh quyn truy cp n
th mc. V d, nu thc hin cu lnh:
[user]$ ls -l /usr
u ch s hu
g nhm s hu g
ch X l mt trong cc k t sau:
4.5 Quyn truy cp n tp tin v th mc 77
+ thm quyn
tc b quyn
r quyn c
w quyn ghi
thay cho
Chnh bn thn cu lnh cat lc u c pht trin dng cho vic chuyn
hng kt qu lm vic. V n c to ra cho s mc ni (concatenate, nu dng
thut ng ca Ho hc l s cng cc tp tin), tc l s kt hp cc tp tin khc
nhau vo mt:
4.6 Cc cu lnh c bn lm vic vi tp tin v th mc 81
4.6.4 Cu lnh cp
Mc d i khi c th dng cu lnh cat sao chp cc tp tin, nhng trong
Linux c mt cu lnh chuyn dng cho vic ny lnh cp. C th p dng mt
trong hai dng ca lnh ny:
4.6.5 Cu lnh mv
Nu bn khng cn sao chp, m cn di chuyn tp tin t mt th mc ny vo
mt th mc khc, th c th s dng cu lnh mv. C php ca lnh ny tng
t nh c php ca cp. Hn na, lnh ny u tin sao chp tp tin (hay th
mc), v sau mi xa tp tin (th mc) ban u. Cc ty chn ca n cng
ging nh ca cp.
Cu lnh mv khng ch dng di chuyn, m cn dng thay i tn tp
tin v th mc, tc l di chuyn chng trong phm vi ca mt th mc. Ch cn
t vo ch hai tham s tn c v tn mi ca tp tin nh th ny:
s khng lm vic. Khi s dng lnh mv cng ging nh khi s dng cp, ng
quyn thm vo ty chn -i hin ra cnh bo khi c tp tin s b ghi chn.
tn tp tin trong ti liu IBM LPI tutorial bn dch ting Vit do nhm cng tc
ca vnoss.org (trong c ti) thc hin c trn http://vnoss.org/pub.
Cn by gi sau khi lm quen vi mu tn tp tin, chng ta quay tr li
vi cu lnh find v ni chi tit hn v nhng kh nng c th ca tiu ch tm
kim. Mt vi v d n gin ca tiu ch tm kim c trong bng 4.4.
Nhng tiu ch tm kim n gin khc bn c th tm thy trong trang man
ca cu lnh find hoc trong ti liu LPI tutorial ni trn. Cn ni rng t
nhng tiu ch n gin c th to ra nhng tiu ch phc tp hn nh cc php
lgc and, or hoc php ph nh (k hiu l du chm than !). V d, nu bn
mun tm tt c nhng tp tin c phn m rng12 l .odt v .tex, th c th
dng tiu ch tm kim nh sau: (-name *.tex -or -name *.odt). C th
s dng kt hp nh vy mt s lng bt k cc tiu ch k c tiu ch phc tp.
Nu khng ch ra php lgc c th, th coi nh dng and, tc l c th dng mt
trong hai cch ghi: (-name *.tex -and -name *.odt) hoc (-name *.tex
-name *.odt). Nu ch dng mt php lgc and hoc !, th c th b i du
ngoc, cn php lgc or v cc tiu ch phc tp hn th cn du ngoc. Trc
du ngoc cn t mt du gch cho ngc (\), cn sau du ngoc cn t mt
khong trng. V d, nu bn c mun tm th mc theo tn ca n th c th
dng lnh:
ch -exec c th dng -ok, khi trc khi thc hin cu lnh cmd cho mi
tp tin tm thy h thng s hi li xem bn c mun thc hin tht khng.
Ni chung cu lnh cmd l mt cu lnh rt mnh, c ch v l mt cng c
tm kim tt trong h thng tp tin. ng nhin l cha phi tt c nhng kh
nng ca lnh ny c lit k ra y. Hy tm hiu trong trang tr gip man
hoc mt cun sch dy cp no v Linux. V hy cn thn khi s dng nhng
kh nng ca cu lnh ny nh gi nhng cu lnh khc thc hin trn tt
c nhng tp tin tm thy. Hy nh rng s thay i thng l mt chiu.
Sau dng chng trnh ghi a sao chp hai tp tin thu c (phimaa, phimab)
ln hai a CD-R(W), ri a chng (c ngha l dng lnh cp) ln my th hai
vo mt th mc no . Cui cng phc hi tp tin ban u bng lnh:
Nu hai tp tin hon ton trng nhau, th lnh hon thnh cng vic m
khng a ra thng bo g, cn nu chng khc nhau th a ra s th t ca
dng v byte ch c s khc nhau.
Tt nhin thng tin m lnh cmp a ra hi t c th quyt nh chn tp
tin no trong s hai tp tin ny, tp tin no quan trng hn. V th cn c th s
dng cu lnh diff bit c s khc nhau gia hai tp tin y l g. Ch
cn cho cu lnh ny bit tn hai tp tin m bn mun so snh. V d:
hoc
V d:
teppi82@ThinhQuyen:~> bzip2 2
teppi82@ThinhQuyen:~> mv 2.bz2 2.sj
teppi82@ThinhQuyen:~> bunzip2 2.sj
bunzip2: Cant guess original name for 2.sj -- using 2.sj.out
v to tp tin nn bng:
Hin nay Linux h tr cc h thng tp tin sau: minix, ext, ext2, ext3, xia,
msdos, umsdos, vfat, proc, nfs, iso9660, hpfs, sysv, smb, ncpfs16 . ch dng h
thng tp tin trong vng dng h thng tp tin v sau ty chn -t ca lnh
mount c th t gi tr auto. Trong trng hp cu lnh mount th t xc
nh dng ca h thng tp tin ang gn. Tuy nhin trong mt s trng hp c
th dn n li, nn tt hn ht l ch ra dng mt cch chnh xc. Cn c th lit
k mt s dng phn cch nhau bi du phy (,). Trong cu lnh mount cn c
th a ra danh sch cc dng h thng tp tin khng cn gn bng c (flag) no.
Kh nng ny c ch trong trng hp s dng cu lnh mount vi tham s -a
(cu lnh mount vi tham s -a s gn tt c cc h thng tp tin lit k trong
tp tin /etc/fstab). V d, cu lnh:
15
tin c cc vng thng sp cho thng hng, nhng iu l khng nht thit.
16
Hy xem trang man fs c m t ngn gn v nhng h thng tp tin ny.
98 Lm quen vi h thng tp tin ext3fs
hoc:
Bash
5.1 H v l g?
Chng ta thng ni ngi dng lm vic vi h iu hnh. iu ny khng
hon ton ng, v trn thc t lin h vi ngi dng c thc hin bi mt
chng trnh c bit. C hai dng ca chng trnh cp - h v, hay shell,
lm vic trong ch text (giao din dng lnh) v giao din ha GUI
(Graphical User Interface), thc hin lin h vi ngi dng trong mi trng
ha.
Cn ni ngay rng, bt k chng trnh no trong Linux c th khi ng t
dng lnh ca h v (nu my ch X chy), cng nh qua giao din ha.
Chy chng trnh t dng lnh ca h v tng ng vi vic nhy (p) chut
ln biu tng ca chng trnh trong GUI. a cc tham s cho chng trnh
trn dng lnh tng ng vi vic chng ta ko v th ci g ln biu tng
chng trnh trong mi trng ha. Nhng mt khc, mt s chng trnh
khng th chy GUI v ch c th thc hin t dng lnh.
Ni ngoi l mt cht, tn gi h v b phn i rt nhiu. Theo kin ca
mt s chuyn gia ngn ng cng nh chuyn gia Linux th nn gi chng trnh
ny mt cch ng hn l trnh x l lnh hay trnh bin dch lnh. Tuy
nhin, tn gi h v (shell) c dng cho cc chng trnh dng bin dch
lnh trong ch text trn mi h thng UNIX.
Trn cc h thng UNIX u tin c mt chng trnh, gi l sh, vit tt
ca shell. Sau , vi bin th ca sh c pht trin v lm tt hn, trong
c Bourne shell phin bn m rng ca sh, vit bi Steve Bourne. D
102 Bash
5.2 Cc k t c bit
H v bash s dng mt vi k t t b 256 k t ASCII cho cc mc nh ring,
hoc biu th cc thao tc no , hoc bin i biu thc. Cc k t ny
bao gm:
5.3.1 Thao tc ;
Mc d ngi dng thng ch nhp trn dng lnh tng cu lnh mt, nhng
cn c th a vo dng lnh ngay lp tc vi cu lnh, v chng s thc hin
ln lt t cu lnh ny n cu lnh khc. lm c iu ny cn s dng
k t c bit - ;. Nu dng k t ny phn chia cc cu lnh, th cu lnh
tip theo s c coi nh tham s ca lnh pha trc. Nh vy, nu nhp vo
dng lnh ci g ging nh sau:
u ra tiu chun (standard output hay stdout). Qua knh ny chng trnh
a ra kt qu lm vic ca mnh;
5.4 u vo/u ra tiu chun 105
knh thng bo li tiu chun (standard error hay stderr). Qua knh ny
chng trnh a ra thng tin v li.
Ti ngh rng li gii thch s l tha thi (ch xin hy s dng du ngoc
n, nu khng kt qu c th s khc. Nu bn c ch th c th gii thch
ti sao li khc).
Nh bn thy, > dng chuyn hng d liu ca u ra. Chc nng tng
t i vi u vo c thc hin bi <. V d, c th m s t trong tp tin
ls.txt nh sau (ch , y ch l mt v d minh ha, trn thc t thng s
dng cu lnh n gin hn):
Tuy nhin, t chng (khng c mt lnh no, tc l khng c knh tiu chun
no cho lnh) cc k t chuyn hng ny khng th c s dng, nh th
khng th, v d, nhp vo dng lnh sau:
command N > M
5.5.2 S dng |
Mt trng hp c bit ca chuyn hng u ra l s t chc cc ng ng
(ha y cn c th gi l knh gia cc chng trnh, hoc bng chuyn). Hai hay
vi cu lnh, m u ra ca lnh trc dng lm u vo cho lnh sau, lin kt
vi nhau (c th ni phn cch nhau, nu mun) bi k hiu gch thng ng -
|. Khi ny u ra tiu chun ca lnh ng bn tri so vi | c chuyn n
u vo tiu chun ca chng trnh, dng bn phi so vi |. V d:
5.5.3 B lc
V d cui cng trn (v d vi cu lnh grep) c th dng minh ha cho
mt khi nim qua trng khc, l, b lc chng trnh. B lc l lnh
(hay chng trnh), m tip nhn d liu vo, thc hin mt vi bin i trn d
liu ny v a ra kt qu u ra tiu chun (t y cn c th chuyn n ni
no theo mun ca ngi dng). Cc cu lnh - b lc bao gm cc lnh
ni n trn cat, more, less, wc, cmp, diff, v c nhng cu lnh c
trong bng 5.1.
[user]$ name=value
5.6.2 Du nhc ca h v
Mt trong cc bin rt quan trng c tn PS1. Bin ny cho bit dng ca du
nhc, m bash a ra trong khi ch ngi dng nhp cu lnh tip theo. Theo
mc nh th bin ny c gn gi tr \s-\v\$ , tuy nhin trn cc bn phn
phi khc nhau thng c cc script khi ng (hay script ng nhp) xc nh
li bin ny. Ni chung th trong bash c tt c bn du nhc, c s dng
trong cc trng hp khc nhau. Bin PS1 a ra dng ca du nhc khi h v
ch nhp lnh. Du nhc th hai, xc nh bi bin PS2, xut hin khi h v ch
ngi dng nhp thm mt vi d liu cn thit no c th tip tc chy
cu lnh (chng trnh) gi. Theo mc nh bin PS2 c gi tr >. Rt c th
bn nhn thy du nhc ny, khi chy lnh cat a d liu vo t bn
phm vo tp tin. Mt v d khc - lnh ftp, sau khi chy lnh ny du nhc s
c dng nh ni.
Du nhc, xc nh bi bin PS3, s dng trong lnh select.
Du nhc, xc nh bi bin PS4, c a ra trc mi cu lnh, trong lc
bash theo di qu trnh thc hin. Gi tr theo mc nh +.
Nu c mong mun, bn c th thay i cc bin PS1 v PS2. Khi ny c th
s dng bt k k t no nhp t bn phm, cng nh mt vi k t chuyn
dng xc nh dng du nhc nh trong bng 5.3 (ch a ra mt vi trong
s chng lm v d, danh sch y xem trong trang man ca bash - g lnh
man bash).
S ca lnh (s th t ca lnh ang thc hin trong bui lm vic hin thi)
c th khc vi s ca chnh n trong danh sch lch s cc cu lnh, bi v
danh sch cn cha c nhng cu lnh c ghi li trong tp tin lch s.
Sau khi gi tr ca bin c h v c xong, s xy ra s thay th theo cc
quy lut m rng trong bng trn, ng thi cn xy ra s thay th trong tn cc
cu lnh, trong cc biu thc s hc, v s chia t (word splitting). Chng ta s
ni n nhng s thay th ny di.
V d, sau khi thc hin lnh (v trong dng vn bn c khong trng, nn
nht thit phi c du ngoc):
[user]$ PATH=$PATH:new_path
[user]$ name=value
cn g:
Php th cc cu lnh;
/usr/ucb/ex
/usr/lib/ex?.?
/usr/ucb/edit
/usr/lib/ex?.?
/usr/ucb/ex
/usr/lib/how_ex
/usr/ucb/edit
/usr/lib/how_ex
cho kt qu bng 17. Nu biu thc khng chnh xc, bash s a ra thng bo
li.
[user]$ ls *.jpg
[user]$ ls -l 0[5-9]??
5
Pathname Expansion
118 Bash
Bng 5.4: Cc k t to mu
K t Quy lut thay th
* Tng ng vi bt k dng k t no, k c dng rng. V d,
v*.txt s c thay th bi vnoss.txt, vnlinux.txt v
vntex.txt (nu cc tp tin ny tn ti), v *.png s tng ng
tt c cc tp tin c phn m rng png (tp tin ha hai chiu).
? Tng ng bt k mt k t n no. V d, mu file?.txt
s c thay th bi cc tn tp sau file1.txt, file2.txt,
file3.txt, v filea.txt (nu chng tn ti), nhng
file23.txt th khng.
[...] Tng ng bt k k t no trong s cc k t nm trong du
ngoc vung ny. Cp k t, phn cch nhau bi du tr (-), v
d c-f, biu th mt dy; bt k k t no, theo t in, nm
gia hai k t ny, k c hai k t to ra dy (c v f trong v d)
cng tng ng vi mu. Nu k t u tin trong ngoc vung
l ! hay ^, th mu ( v tr ny) s tng ng tt c cc k t,
khng c ch ra trong ngoc.
5.7.8 Xa cc k t c bit
Sau khi lm xong tt c cc php th, cc k t \, v " cn li trong dng
lnh (chng c s dng hu b gi tr c bit ca cc k t khc) s b xa
ht.
if list then list [ elif list then list ] ... [ else list ] fi
if [ -x /usr/bin/unicode_start ] ; then
unicode_start
else
echo "hello world"
fi
-a file
ng nu tp tin c tn file tn ti.
-b file
ng nu file tn ti, v l mt tp tin thit b khi (block device) c
bit.
-c file
ng nu file tn ti, v l mt tp tin thit b k t (charater device) c
bit.
-d file
ng nu file tn ti v l mt th mc.
120 Bash
-e file
ng nu tp tin c tn file tn ti.
-f file
ng nu tp tin c tn file tn ti v l mt tp tin thng thng.
-g file
ng nu tp tin c tn file tn ti v c t bit thay i nhm.
-k file
ng nu tp tin c tn file tn ti v c t bit sticky.
-p file
ng nu tp tin c tn file tn ti v l tn ca mt ng (knh FIFO).
-p file
ng nu tp tin c tn file tn ti v l tn ca mt ng (knh FIFO).
-r file
ng nu tp tin c tn file tn ti v c quyn c.
-s file
ng nu tp tin c tn file tn ti v kch thc ln hn khng.
-t fd
ng nu b m t ca tp tin (fd) m v ch ln terminal.
-u file
ng nu tp tin c tn file tn ti v c t bit thay i ngi dng.
-w file
ng nu tp tin c tn file tn ti v c quyn ghi.
-x file
ng nu tp tin c tn file tn ti v c quyn thc thi.
-0 file
ng, nu tp tin c tn file v ch s hu ca n l ngi dng m ID
c hiu lc ch n.
-G file
ng, nu tp tin c tn file tn ti v thuc v nhm, xc nh bi ID
nhm c hiu lc.
-S file
ng, nu tp tin c tn file tn ti v l socket.
-N file
ng, nu tp tin c tn file tn ti v thay i t ln c c cui cng.
5.8 Shell mt ngn ng lp trnh 121
-o optname
ng, nu ty chn optname ca h v c kch hot. Chi tit xin xem
trn trang man bash.
-z string
ng, nu di ca chui string bng khng.
-n string
ng, nu di ca chui khc khng.
string1 == string2
ng, nu hai chui trng nhau. C th thay hai == bng mt =.
arg1 OP arg2
y OP l mt trong cc php so snh s hc: -eq (bng), -ne (khc,
khng bng), -lt (nh hn), -le (nh hn hoc bng), -gt (ln hn), -ge
(ln hn hoc bng). ch cc tham s arg1 v arg2 c th s dng cc s
nguyn (m hoc dng).
!(expression)
Php ph nh. ng, nu biu thc sai.
expression1 -a expression2
Php cng lgic AND. ng nu c hai biu thc u ng.
expression1 -o expression2
Php lgc hoc OR. ng nu mt trong hai biu thc ng.
122 Bash
case "$UTC" in
yes|true)
CLOCKFLAGS="$CLOCKFLAGS -u";
CLOCKDEF="$CLOCKDEF (utc)";
;;
no|false)
CLOCKFLAGS="$CLOCKFLAGS --localtime";
CLOCKDEF="$CLOCKDEF (localtime)";
;;
esac
#!/bin/sh
echo "Bn thch dng OS no?"
select var in "Linux" "Gnu Hurd" "Free BSD" "MacOSX" "Solaris"
"QNX" "Other"; do
break
done
echo "Bn chn $var"
Bn chn MacOSX
Quy lut xy dng danh sch lnh (list) ging trong ton t if. V d. Script
sau to cc tp tin fu1, fu2, v fu3:
for a in 1 2 3 ; do
touch fu$a
done
u tin cng xy ra s khai trin t word theo quy lut khai trin biu thc
(xem trn). Sau bin name ln lt c gn cc gi tr thu c t s
khai trin ny, v thc hin danh sch lnh list trong mi ln nh vy. Nu
khng c in word, th danh sch lnh list c thc hin mt ln cho mi
tham bin v tr a ra.
124 Bash
Trn Linux c chng trnh seq, tip nhn hai s nguyn lm tham s, v
a ra chui tt c cc s nm gia hai s ny (cng thm c chng). Nh cu
lnh ny c th s dng for ca bash lm vic nh ton t for trong cc ngn
ng lp trnh thng thng. lm c iu ny ch cn vit vng lp for nh
sau:
for a in $( seq 1 6 ) ; do
cat fu$a
done
V d:
while [ -d directory ] ; do
ls -l directory >> logfile
echo -- SEPARATOR -- >> logfile
sleep 60
done
5.8.7 Cc hm s
H v bash cho php ngi dng to cc hm s cho mnh. Hm s lm vic v
c s dng ging nh cc cu lnh thng thng ca h v, tc l chng ta c
th t to cc cu lnh mi. Hm s c cu trc nh sau:
5.8.8 Tham s
Khi hm s c gi thc hin, cc tham s ca hm s tr thnh cc tham
bin v tr (positional parameters, xem trn) trong thi gian thc hin hm
ny. Chng c t cc tn nh $n, trong n l s ca tham s m chng ta
mun s dng. Vic nh s bt u t 1, nh vy $1 l tham s u tin. Cng
c th s dng tt c cc tham s mt lc nh $*, v a ra s th t ca tham
s nh $# Tham s v tr s 0 khng thay i.
Trong khi thc hin nu gp cu lnh ni tr return (trong phn thn ca
hm), th hm s s b dng li v quyn iu khin c trao cho cu lnh ng
sau hm. Khi thc hin xong hm s, cc tham bin v tr v tham bin c bit
# s c tr li cc gi tr m chng c trc khi chy hm.
seq()
{
local I=$1;
while [ $2 != $I ]; do
{
echo -n "$I ";
I=$(( $I + 1 ))
};
done;
echo $2
}
fact()
{
126 Bash
if [ $1 = 0 ]; then
echo 1;
else
{
echo $(( $1 * $( fact $(( $1 -- 1 )) ) ))
};
fi
}
5.10 Cu lnh sh
Bn lun lun c th chy mt bn sao ca h v bash nh cu lnh bash hay sh.
Khi ny c th bt bn sao ny chy mt script no , nu a tn ca script
nh mt tham s cho lnh bash. Nh vy, thc hin script myscript cn
a cu lnh sh myscript. Nu xem ni dung ca mt tp tin script no
(nhng tp tin nh vy c rt nhiu trn h thng), bn s thy dng u tin c
dng sau: #!/bin/sh. iu ny c ngha l, khi chng ta gi script thc hin
5.10 Cu lnh sh 127
Trong chng ny chng ta s hc cch s dng chng trnh Midnight Commander, mt trnh
qun l tp tin mnh. Sau khi c xong chng ny bn c s c th s dng cc t hp phm cng
nh giao din ca Midnight Commander thc hin rt nhiu cng vic c lin quan n h thng
tp tin t nh b n nng nhc. u tin chng ta hy xem xt cch ci t chng trnh ny . . .
2. Kin thc a ra ch p dng c hon ton trong trng hp chng trnh chy
t knh giao tc (console), hay cn gi l giao din text. Khi lm vic vi chng
trnh qua trnh gi lp (emulator) ca terminal trong giao din ha, v d
xterm, rxvt, v.v. . . th mt s m t hot ng ca chng trnh s khng cn
chnh xc na, v vic nhn phm b v ha chim ly. S khng tng ng
nh vy thng gp nhng ch ni v phm nng.
6.2 V ngoi ca mn hnh Midnight Commander 129
Ch mt trong hai bng l hin thi (hot ng). Bng hin thi c thanh
chiu sng tn th mc phn u v thanh chiu sng mt trong nhng dng
ca bng . Tng t, trong shell chy chng trnh Midnight Commander,
th mc hin thi l th mc c hin th trong bng hot ng. Hu ht cc
thao tc c thc hin trong th mc ny. Cc thao tc nh sao chp (<F5>)
hay di chuyn (<F6>) tp tin s dng th mc c hin th trong bng th hai
lm th mc ch n (s sao chp hay di chuyn n th mc ny).
Trong bng hot ng mt dng c chiu sng. Thanh chiu sng c th di
chuyn nh cc phm iu khin vic di chuyn. Chng trnh xem tp tin ni
tr, chng trnh xem li mch nc v chng trnh xem th mc s dng cng
mt m chng trnh iu khin vic di chuyn. V th vic di chuyn s dng
mt b cc t hp phm (nhng trong mi chng trnh con c cc t hp phm
ch p dng trong ni b m thi). Xin a ra mt bng ngn gn lit k cc t
hp phm dng chung iu khin vic di chuyn.
6.3 Tr gip
Khi lm vic vi chng trnh Midnight Commander, c th xem tr gip vo bt
k lc no nh phm <F1>. Tr gip c t chc di dng siu vn bn, tc
l trong vn bn c c nhng lin kt n nhng phn khc. Nhng lin kt
c nh du bi nn mu xanh nht . Lin kt c chn hin thi s c nn
mu xanh m .
di chuyn trong ca s xem tr gip c th s dng nhng phm mi tn
hoc chut. Ngoi nhng t hp phm di chuyn ni chung trong bng 6.1, chng
trnh xem tr gip cn chp nhn nhng t hp phm s dng trong chng trnh
con dng xem tp tin:
name tn tp tin.
owner ch s hu tp tin.
6.5 iu khin cc bng 135
half type,name,|,size,|,mtime
half name,|,size:7,|,type,mode:3
Theo tn
Theo ch mc inode
Khng sp xp.
ra bng xem nhanh ni dung tp tin s dng chng trnh xem tp tin
c sn trong mc, v th nu dng phm <Tab> chuyn sang bng xem
nhanh, th ngi dng c th s dng mi cu lnh iu khin vic xem, v
d, nhng phm lit k trong bng 6.1 v bng 6.2.
<Tab> hoc <Ctrl>+<i>. Thay i bng hin thi (hot ng). Dng chiu
sng s chuyn t bng ang l hin thi sang bng khc v nh vy bng
sau s tr thnh hin thi.
Hnh 6.6: Ch cy th mc
tng ci, ca nhng tp tin nh du. Thanh th ba (bytes bar) cho bit phn
trm dung lng tnh theo byte lm xong. Nu tt i tu chn Thao tc vi
thng tin di dng (xem Cu hnh / Cu hnh...), th hai thanh biu cui
s khng c hin th.
phn di ca hp thoi ny c hai nt. Nhn nt B qua s dn n vic
b qua thao tc vi tp tin ny v tip tc thao tc tp tin sau nu c. Nhn nt
Dng s kt thc thao tc, tt c nhng tp tin cn li s b b qua.
Trong qu trnh thc hin cc thao tc vi tp tin ngi dng c th nhn
thy 3 dng ca s na.
Hnh 6.9: Ca s hi li
ng (nt C)
T chi, khng ghi chn (nt Khng)
Ghi thm ni dung ca tp tin ang sao chp vo cui tp tin c
(nt Thm vo cui)
6.9 Dng lnh ca h v 145
Ngi dng cng c th dng thc hin thao tc nu nhn nt Dng cui
ca s hi li. La chn nt mun nhn bng cc phm mi tn hoc phm
<Tab>.
Hnh 6.10: Ca s yu cu
trnh tng ng hoc chn chng trnh trong bng hin thi (a dng chiu
sng ln tn tp tin chng trnh), sau g phm <Enter>. Nu ngi dng
nhn phm <Enter> khi dng chiu sng nm trn tn tp tin khng phi l
chng trnh, th Midnight Commander s so snh phn m rng ca tp tin
ny vi phn m rng c trong tp tin cc phn m rng ~/mc.ext. Nu trong
tp tin mc.ext c mt phn nh ch ra thao tc lm vic vi nhng tp tin c
phn m rng nh tp tin chn, th s thc hin nhng cu lnh t trong
phn nh ny. Trc khi chy cc lnh c thc hin nhng s thay th macro n
gin.
Thng thng vic nhp cc cu lnh i hi phi g rt nhiu cc k t, c
bit trong trng hp phi ch ra cc tham s ca cu lnh, trong s c ng
dn y cng vi tn ca tp tin cn lm vic. gip nhp cu lnh d dng
hn trong Midnight Commander c mt vi t hp phm cho php gim s ln g
bn phm trong thi gian nhp v sa i cu lnh trn dng lnh.
[Misc]
find_ignore_dirs=/cdrom:/nfs/wuarchive:/afs
Sau khi thc hin cu lnh ny, trn bng hin thi s khng phi l ni dung
ca th mc tng ng m ch c cc lin kt mm nm trong th mc ch ra.
Nu mun ngi dng c th lu nhng cu lnh bng ngoi thng dng bng
nhng tn ring c ngha c th gi nhanh nhng cu lnh ny theo tn ca
chng. thc hin vic ny cn nhp cu lnh vo dng nhp vo (dng Cu
lnh) ri nhn nt Thm mi. Sau bn cn nhp vo tn ca lnh . Ln
sau bn ch cn chn tn tng ng trong danh sch m khng cn phi nhp
li cu lnh t u5 .
Cu lnh Lch s cu lnh hin ra ca s vi danh sch nhng lnh thc
hin trc y. C th sao chp lnh ang c chiu sng (di chuyn dng chiu
sng bng cc phm <> v <>) vo dng lnh ca h v bng phm <Enter>.
5
Tt nhin bn c th dng lch s cu lnh (xem trn hoc ngay di)
152 S dng Midnight Commander
Cu lnh Cng vic nn sau cho php ngi dng iu khin nhng cng
vic ang lm vic ch nn chy t Midnight Commander (v d thao tc
sao chp v di chuyn tp tin). S dng cu lnh ny hoc phm nng <Ctrl>+
<X>,<J> bn c th dng, phc hi (tip tc chy) hoc dit bt k cng vic nn
sau ny (xem hnh 6.16).
Sau khi chn cu lnh Son tho tp tin phn m rng ngi dng c th
sa i tp tin mc.ext xc nh dng chng trnh no m cc tp tin vi
phn m rng (phn cui ca tn sau du chm cui cng) no. Chng trnh
ny s c chy thao tc (xem, son tho hay thc hin) vi tp tin c phn
m rng tng ng khi chuyn dng chiu sng ln tn tp tin ri nhn <Enter>.
Cu lnh Son tho tp tin trnh n dng sa trnh n ca ngi
dng ~/.mc/menu (trnh n hin ra sau khi nhn phm <F2>) hoc trnh n
6.11 Cu hnh Midnight Commander 153
Lun lun. Chng trnh Midnight Commander lun lun tm ngng sau
khi thc hin bt k lnh no.
ca mi bng s c mt dng cho bit thng tin v tp tin ang c chiu sng
hoc th mc hin thi.
Trong hp thoi Bt hin th (hnh 6.19), ngi dng ch ra nh dng ter-
minal s s dng x l (nhp vo v hin th trn mn hnh) thng tin dng
cc byte, v d, thng tin trong cc tp tin.
6.12 Kt ni ti my xa
6.12.1 Kt ni FTP
Chng trnh Midnight Commander s dng H thng tp tin FTP (ftpfs)
cho php ngi dng iu khin cc tp tin xa qua giao thc FTP. s dng
c tnh nng ny bn c th dng cu lnh Kt ni FTP ca trnh n Bng
tri hoc Bng phi tng ng hoc dng cu lnh cd chuyn ti th mc
c ng dn dng nh sau:
/#ftp:[!][user[:pass]@]machine[:port][remote-dir]
/#ftp:192.168.10.128/linux/SuSE
/#ftp:people.vnoss.org/public/wiki
/#ftp:!people.vnoss.org/public/wiki
/#ftp:teppi@people.vnoss.org:67/public/wiki
/#ftp:teppi:abcdef@people.vnoss.org/public/wiki
192.168.10.128/linux/SuSE
people.vnoss.org/public/wiki
!people.vnoss.org/public/wiki
teppi@people.vnoss.org:67/public/wiki
teppi:abcdef@people.vnoss.org/public/wiki
6.12.2 Kt ni Shell
Ngoi FTP trong cc phin bn mi ca mnh chng trnh Midnight Comman-
der cn h tr giao thc SSH v truyn ti tp tin qua H thng tp tin shell
(file transfer over shell filesystem). H thng tp tin fish l h thng tp tin da
trn mng my tnh, n cho php ngi dng iu khin tp tin trn cc my
xa ging nh khi chng nm trn my ca mnh. s dng tnh nng ny, trn
my xa phi c chy my ch fish hoc c mt h v shell tng thch vi bash.
kt ni ti my xa, bn c th dng cu lnh Kt ni Shell ca trnh
n Bng tri hoc Bng phi tng ng hoc dng cu lnh cd chuyn ti
th mc c bit c tn dng nh sau:
/#sh:[user@]machine[:options]/[remote-dir]
/#sh:192.168.10.128:r/linux/SuSE
/#sh:people.vnoss.org:C/public/wiki
/#sh:teppi@people.vnoss.org/projects
Giao din ho
Mc d Linux l h iu hnh mnh v pht trin, nhng nu ch lm vic qua giao din dng
lnh th Linux tr thnh kh s dng v khng th hp dn c nhiu ngi dng. Ngi dng s
phi nh mt danh sch di cc cu lnh. Do ngay t nhng ngy u pht trin ca Linux c
mt giao din khc thn thin vi ngi dng hn, l giao din ho.
Trong giao din ho ngi dng c th chy cc chng trnh trong cc ca s khc nhau, khng
cn nh danh sch cc cu lnh v c kh nng chy chng bng h thng trnh n (menu), h
thng cc biu tng trn mn hnh, v ngoi ra cn c kh nng s dng chut sp xp khng
gian mn hnh ca mnh. Hin nay cc mi trng lm vic ln nh KDE, GNOME cn c sn
nhng ng dng i km gip ngi dng khng mt nhiu thi gian la chn. Mi th c sn.
Chng ta s xem xt mt trong hai mi trng lm vic ny, KDE, trong mt chng sch ring ngay
sau chng ny.
Trong chng ny chng ta s xem xt cch lm vic ca giao din ho v cch cu hnh n.
cui chng s c m t s lc mt vi mi trng lm vic v cch khi ng vo chng.
7.1 X.Org
Giao din ho trong Linux c xy dng da trn c s ca tiu chun X
Window System (cn ch l Window ch khng phi Windows, xin ng nhm!)
hay cn gi n gin l X (ch-x). Tiu chun ny u tin c vit ra ti
trng i hc cng ngh Massachuset. Bt u t phin bn th hai tiu chun
ny c cngxoocxiom X h tr. Cngxoocxiom X c t chc vo nm 1988 vi
mc ch tiu chun ha giao din ha cho cc h iu hnh UNIX. Bt u
t nm 1997 cngxoocxiom X chuyn thnh X Open Group v sau l X.Org
Foundation (http://www.x.org). Hin thi c phin bn 11 bn pht hnh
7 ca tiu chun X Window System cho h thng ho ca UNIX, k hiu ngn
gn l X11R7. Tuy nhin trn cc bn phn phi Linux vn cn s dng bn
pht hnh th 6, tc l X11R6.
Cch y khng lu cc bn phn phi Linux vn cn s dng XFree86, mt
phn mm ng dng t do tun theo tiu chun X11R6 cho cc h thng UNIX
7.1 X.Org 163
biu tng, thanh cun ln, xung v cc thnh phn khc ca ca s, ng thi
cn cung cp kh nng thay i dng v v tr cc ca s trong qu trnh lm
vic ty theo nhu cu ca ngi dng.
Trnh qun l ca s cn gi cc hm tng ng cho cc chng trnh khch
trong trng hp ngi dng thao tc vi cc ng dng bng bn phm v chut.
Chnh v th khi cu hnh X.org ngoi cc mn hnh cn phi a ra cc tham
s ca chut v bn phm. Trnh qun l mn hnh cn bit cc tham s ca cc
thit b ny thc hin cng vic ca mnh.
Cc mi trng lm vic ho m rng nh KDE, GNOME, Xfce4, CDE,
GNUStep, v.v. . . khng thay th nhng thnh phn k trn ca h thng X Win-
dow, m ch m rng v thm vo. V d, KDE thm vo th vin cc hm
ho QT b sung cho Xlib. GNOME s dng th vin GTK+ (by gi l GTK2+).
Chnh th vin ny l nn tng ca chng trnh ho GIMP. Ngoi ra trong
GNOME cn c cc th vin khc nh Imlib cho php m rng cc kh nng ca
h thng ha.
Bi v ch v khch l cc tin trnh ring, nn chng c th chy trn cc
my tnh khc nhau v trao i vi nhau qua mng. V d cc chng trnh ng
dng c th chy trn mt my ch mnh (mainframe), cn hnh nh s hin
th trn mn hnh my tnh c nhn. c im rt mnh ny ca h thng X
Window l mt trong nhng khc bit ca n so vi giao din ho ca cc h
iu hnh dng Windows.
Ngoi ra trn Linux v UNIX ni chung khng c s phn bit r rng gia
cc chng trnh giao din ho v giao din vn bn (dng lnh) nh trong
Windows. i vi h thng th khng c s khc nhau gia chng trnh lm
vic trong ch ho v trong ch bnh thng. Chng trnh cho ch
ho cng c chy nh cc chng trnh bnh thng, tc l t dng lnh,
t chng trnh Midnight Commander, v.v. . . iu kin duy nht cn phi c l
chng trnh ch X phi lm vic. Nu cn chng trnh s t tm n chng
trnh ch X qua TCP/IP ni chung v qua socket ni b khi chng trnh ch v
khch lm vic trn cng mt my. Chng trnh thc hin vic ny bng cch
gi cc hm th vin trong Xlib. Tt c nhng g chng trnh cn bit lm
vic l ni tm chng trnh ch X. Tm kim chng trnh ch X c thc
hin qua bin mi trng DISPLAY hoc qua ty chn trn dng lnh. Ngoi
ra cn c nhng chng trnh c th lm vi c chng trnh ch X v vi c
terminal thng thng. V d chng trnh son vn bn emacs t ng chn
ch lm vic ( ho hay vn bn) khi khi ng.
Tt nhin nhng g a ra trong hnh 7.1 ch l tng i. V d chng ta
ni rng trao i gia th vin Xlib vi chng trnh ch X trong trng
hp chung c thc hin qua giao thc TCP/IP. Nh vy l trong hnh v b
qua nhng chng trnh ng dng ca giao thc TCP/IP. V cn mt ti nguyn
quan trng khc ca h thng ho l phng ch. Chng trnh ch X c
th thao tc vi phng ch mt cch trc tip, hoc c mt chng trnh khc
chuyn dng cho vic ny (c gi l chng trnh ch phng ch), v cng cn
phi thm vo hnh v trn.
X.org c mt chng trnh ch X cho phn ln cc mn hnh. Chng trnh
ny c gi l xorg v nm trong th mc /usr/X11R6/bin. Thng thng c
mt lin kt n chng trnh ch ny vi tn X, do c th chy chng trnh
166 Giao din ho
ch X bng cu lnh:
[user]$ X
trnh. Hy vng rng nhng thng tin di y gip bn cu hnh thnh cng
giao din ho, hoc n gin l gip bn hiu hn v giao din ny v cch
cu hnh n nu bn c mt h thng X Window lm vic tt. Nhng xin
bn hy lun nh l cun sch bn ang c s dng bn quyn Creative Com-
mons Public License 2.5 (http://creativecommons.org/licenses/by/2.
5/). Tc gi khng chu trch nhim v nhng g s xy ra. Hy cn thn trong
khi lm vic!
C nhiu cch ly nhng thng tin ny. Cch d dng nht cho ngi dng
mi l khi trn my c mt h iu hnh Windows. Nhng thng tin bn cn
c trong Trnh qun l cc thit b. Cch chy chng trnh ny khng thuc vo
phm vi ca cun sch ny v chng ta ang ni v h iu hnh Linux. Bn c
th tm thy thng tin trong bt k cun sch no ni v h iu hnh Windows.
Nu trn my ca bn cha c bt k h iu hnh no th hy s dng mt h
iu hnh Linux LiveCD (chy thng t CD) c kh nng nhn dng phn cng
tt nh Knoppix. Sau khi khi ng Knoppix thnh cng hy sao chp tp tin cu
hnh chng trnh ch X ca Knoppix (thng nm ti /etc/X11/xorg.conf
ln a mm hoc flash sau ny c th c li. V cch c thng tin t tp tin
cu hnh X.org (cu trc ca tp tin ny) chng ta s xem xt ngay di y.
Ngoi ra c nhng chng trnh chuyn dng cho vic ly cc d liu cn thit
k trn, v d bash script mkxf86config do cc nh pht trin Gentoo vit ra.
Bn c th tm thy script ny trn mng Internet. Tuy nhin ti hy vng l cc
bn s khng phi s dng n nhng tin ch ny cng nh nhng phng n
k trn (s dng h iu hnh khc, s dng Knoppix): tt c nhng thng tin
bn cn c trong ti liu i km vi my tnh.
7.3 Cu hnh chng trnh ch X 171
[root]# xorgconfig
# Version: 7.1
# Contact: Marcus Schaefer <sax@suse.de>, 2005
# Contact: SaX-User list <https://lists.berlios.de/mailman/listinfo/sax-users>
#
# Automatically generated by [ISaX] (7.1)
Section "Files"
InputDevices "/dev/gpmdata"
InputDevices "/dev/input/mice"
FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/local"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/URW"
FontPath "/usr/X11R6/lib/X11/fonts/truetype"
FontPath "/usr/X11R6/lib/X11/fonts/uni:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/CID"
FontPath "/opt/kde3/share/fonts"
FontPath "/usr/local/share/fonts"
EndSection
7.3 Cu hnh chng trnh ch X 173
Section "ServerFlags"
Option "AllowMouseOpenFail" "on"
EndSection
Section "Module"
Load "dbe"
Load "type1"
Load "freetype"
Load "extmod"
Load "glx"
Load "v4l"
EndSection
Section "InputDevice"
Driver "kbd"
Identifier "Keyboard[0]"
Option "Protocol" "Standard"
Option "XkbLayout" "us"
Option "XkbModel" "pc104"
Option "XkbRules" "xfree86"
EndSection
Section "InputDevice"
Driver "mouse"
Identifier "Mouse[1]"
Option "Buttons" "10"
Option "Device" "/dev/input/mice"
Option "Name" "Logitech USB Receiver"
Option "Protocol" "explorerps/2"
Option "Vendor" "Sysp"
Option "ZAxisMapping" "4 5"
EndSection
Section "Monitor"
DisplaySize 345 259
HorizSync 30-96
Identifier "Monitor[0]"
ModelName "SYNCMASTER 757NF(T)/707NF/700NF"
Option "DPMS"
VendorName "SAMSUNG"
VertRefresh 50-160
UseModes "Modes[0]"
EndSection
Section "Modes"
Identifier "Modes[0]"
Modeline "1280x1024" 167.32 1280 1376 1512 1744 1024 1025 1028 1078
Modeline "1280x1024" 165.29 1280 1376 1512 1744 1024 1025 1028 1077
Modeline "1280x1024" 163.41 1280 1376 1512 1744 1024 1025 1028 1077
Modeline "1024x768" 135.41 1024 1104 1216 1408 768 769 772 822
Modeline "1024x768" 132.57 1024 1096 1208 1392 768 769 772 821
Modeline "1024x768" 131.43 1024 1096 1208 1392 768 769 772 821
Modeline "800x600" 97.59 800 856 944 1088 600 601 604 650
Modeline "800x600" 96.89 800 856 944 1088 600 601 604 650
Modeline "800x600" 96.18 800 856 944 1088 600 601 604 650
EndSection
174 Giao din ho
Section "Screen"
DefaultDepth 24
SubSection "Display"
Depth 15
Modes "1280x1024" "1024x768" "800x600"
EndSubSection
SubSection "Display"
Depth 16
Modes "1280x1024" "1024x768" "800x600"
EndSubSection
SubSection "Display"
Depth 24
Modes "1280x1024" "1024x768" "800x600"
EndSubSection
SubSection "Display"
Depth 8
Modes "1280x1024" "1024x768" "800x600"
EndSubSection
Device "Device[0]"
Identifier "Screen[0]"
Monitor "Monitor[0]"
EndSection
Section "Device"
BoardName "GeForce4 MX 440 with AGP8X"
BusID "1:0:0"
Driver "nvidia"
Identifier "Device[0]"
VendorName "NVidia"
EndSection
Section "ServerLayout"
Identifier "Layout[all]"
InputDevice "Keyboard[0]" "CoreKeyboard"
InputDevice "Mouse[1]" "CorePointer"
Option "Clone" "off"
Option "Xinerama" "off"
Screen "Screen[0]"
EndSection
Section "DRI"
Group "video"
Mode 0660
EndSection
Section "Extensions"
EndSection
Section "tn_ca_phn_ny"
SectionEntry1
SectionEntry2
SectionEntry3
EndSection
Files ng dn n cc tp tin.
Monitor m t mn hnh.
Section "ServerLayout"
Identifier "Layout[all]"
InputDevice "Keyboard[0]" "CoreKeyboard"
InputDevice "Mouse[1]" "CorePointer"
Screen "Screen[0]"
EndSection
176 Giao din ho
Section "Screen"
DefaultDepth 24
SubSection "Display"
Depth 15
Modes "1280x1024" "1024x768" "800x600"
EndSubSection
SubSection "Display"
Depth 16
Modes "1280x1024" "1024x768" "800x600"
EndSubSection
SubSection "Display"
Depth 24
Modes "1280x1024" "1024x768" "800x600"
EndSubSection
SubSection "Display"
Depth 8
Modes "1280x1024" "1024x768" "800x600"
EndSubSection
Device "Device[0]"
Identifier "Screen[0]"
Monitor "Monitor[0]"
EndSection
HorizSync 30-96
VertRefresh 50-160
HorizSync 80
VertRefresh 100
hoc:
HorizSync 80, 90
VertRefresh 124, 138
nu mun c thm hai la chn hoc nhiu hn. Tn s cp nht mn hnh theo
chiu ngang HorizSync tnh theo KHz cn tn s cp nht dc VertRefresh
tnh theo Hz. Cn phi xem xt ti liu ca mn hnh a ra nhng gi tr
chnh xc. Nu khng c ti liu ny th hy tm kim trn CD i km hoc trn
trang Web ca nh sn xut.
Phn tip theo l Device m t cc mn hnh ca bn. Trong phn ny quan
trng nht l dng ch ra driver. Trn my ca ti dng ny c dng:
Driver "nvidia"
giao thc cn li s dng cho chut kt ni qua cng tip ni (cng COM). Nu
chut mi c sn xut th cn c th dng gi tr Auto (t ng xc nh)
y. Khng cn gii thch chc bn cng nhn ra l ty chn Device xc nh
tn tp tin thit b ca chut.
Cui cng, phn Files ca tp tin xorg.conf thng nm u tp tin
ny v xc nh ng dn n cc th mc phng ch. C mt vi cch a ra
nhng th mc ny. Tuy nhin trc khi thm mt th mc phng ch mi cn
kim tra li xem th mc ny c tn ti khng v c phi l th mc phng ch
khng7 . Nu khi chy my ch X khng tm thy mt th mc phng ch no
trong phn Files, th n s a ra cnh bo. y khng phi l li nghim trng
phi dng lm vic, nhng ngi dng cn bit gii quyt nhng trng
hp nh khng tm thy phng ch mong mun.
Nh vy:
() c ngha l nhng gi tr tng ng thu c khi th (probe).
(**) c ngha l tham s ly t trong tp tin cu hnh (v d xorg.conf).
(==) c ngha l s dng tham s theo mc nh.
(++) c ngha l tham s ly t dng lnh chy my ch X.
(!!) sau du hiu ny l nhng ch .
(II) sau du hiu ny l nhng thng tin khc nhau.
(WW) sau du hiu ny l nhng cnh bo.
(EE) sau du hiu ny l nhng thng bo li.
(NI) sau du hiu ny l thng bo v nhng tham s cn cha c
pht trin trong X.org.
?? nhng thng tin khng r ngun gc.
Li v cnh bo tm thy trong xprobe.log chng ta s sa bng cch thay
i tham s tng ng trong tp tin /etc/X11/xorg.conf. Nhng tm thi
chng ta s tip tc xem xt xprobe.log va to ra. Trong tp tin ny cn c
mt vi dng thng tin hin th mi quan h gia cc phn trong tp tin cu
hnh:
180 Giao din ho
"1280x1024" 167.32 1280 1376 1512 1744 1024 1025 1028 1078
Chnh nhng dng thng tin dng ny c s dng trn cc dng Modline ca
phn Modes tp tin cu hnh xorg.conf.
chnh hnh nh trn mn hnh, v d di chuyn sang phi, hy s dng
(nhn vo) nt Right (khi ny cc s tng ng pha trn s thay i), ri
nhn nt Apply. Tng t nh vy s dng cch nt Left di chuyn sang
tri, Up ln trn, Down xung di, Taller, Wider tng kch thc
hnh nh theo chiu cao, v b ngang hoc gim chng xung bng Narrower
v Shorter. Trong ln chy th xvidtune cui cng, ti khng s dng c
nhng chc nng chnh sa k trn v nhn c thng bo khng th thc thi
(hnh 7.4).
X :0
[user]$ fluxbox
[user]$ icewm-session
[user]$ xfce4-session
[user]$ startkde
[user]$ gnome-session
#!/bin/sh
xrdb -load $HOME/.Xresources
xsetroot -solid gray &
xclock -g 100x100-0+0 -bw 0 &
xload -g 50x50-100+0 -bw 0 &
xterm -g 80x24+0+0 &
xterm -g 80x24+0-0 &
exec twm
184 Giao din ho
[user]$ xinit
Cu lnh ny s chy my ch X, thc hin script .xinitrc nu c trong
th mc ca ngi dng, nu khng s ch chy xterm.
[user]$ xinit -- :1
Chy my ch X trn mn hnh s 1. C ch th cu hnh mi khi c
my ch X chy trn mn hnh mc nh (s 0).
#!/bin/sh
# $HOME/.xinitrc
# dng Xfce4 theo mc nh
WMGR="xfce4-session"
# tt xscreensaver
xset s noblank
# chy screensaver sau 10 pht
xset s 600 2
# chy xterm
xterm -bg black -fg white -fn 7x14 -geometry 80x24+57+0 &
# nu a ra mt Window Manager khc
# th dng n thay cho Xfce4
if [ "$1" != "" ] ; then WMGR=$1
fi
exec $WMGR
# t mt s bin, v d th vin m
# xvnkb cn
#export LD_PRELOAD=/usr/local/lib/xvnkb.so
id:3:initdefault:
id:5:initdefault:
Session Type
Ch ra mi trng lm vic (trnh qun l ca s) mun dng khi ng
nhp vo. Nu c nhng mi trng lm vic khc trn h thng th chng
s c lit k trong mt danh sch hin ra. Ch s dng mc ny khi bn
mun dng mt mi trng lm vic khc vi mi trng mc nh (thng
l KDE).
System
Thc hin cc cng vic c lin quan n h thng, nh khi ng li hoc
tt my. Remote Login (ng nhp t xa) gip bn ng nhp vo mi
trng lm vic trn mt my khc qua mng.
Cc thanh panel
Cc thanh panel thng nm phn ngoi cng (ng bin) ca mn
hnh, tc l trn cng, di cng, bn tri hoc bn phi. Panel dng
chy cc ng dng thng dng, chuyn qua li gia cc khng gian lm
vic. Trn thanh panel chnh cn c nt gi l KMenu trnh n chnh
ca h thng KDE, thng nm u bn tri ca thanh panel. Nt ny
c biu tng hnh ch K theo mc nh, nhng mi bn phn phi c th
t vo v tr ny mt biu tng khc nhau. Nh trn hnh 8.2, biu tng
l hnh con tc k hoa, biu tng ca OpenSUSE Linux. Nt KMenu
dng m ra mt trnh n cc ng dng m KDE tm thy trn h thng,
gip ngi dng chy nhng ng dng ny bao gm c nhng chng trnh
khng c biu tng trn thanh panel no.
Mn hnh (Desktop)
y l ton b phn cn li ca mn hnh, trn c th t cc biu tng
khc nhau dng chy cc ng dng (shortcut) hoc t cc tp tin, th
mc thng dng. Trong trng hp ca mnh, ti b i tt c nhng
biu tng , tuy nhin minh ha ti to ra hai ci l l4u, digikam.
8.1 Bt u lm vic vi KDE 193
biu tng trn thanh panel, hoc t dng lnh bng cch g tn chng trnh
l kcontrol. Chng ta s thy mt ca s nh trn hnh 8.7 hin ra. bn
tri l danh sch dng cy ca nhng mun c trong Personal Settings, cn
bn phi l nhng th v nhng ty chn thuc v mun ang c chn bn
tri. Mi mun nm trong mt nhm no . V d, mun Panels nm trong
nhm Desktop. Trong s nhng mun ca Personal Settings chng ta s xem
xt mt vi mun lm v d, nhng mun cn li bn s t t tm hiu khi
s dng KDE, v s lng ca chng ln. Th nht, lm p KDE th thng
thng ti thay i cc ty chn sc thi, tc l thay i nhng mun ca nhm
Appearance & Themes: thay i trc tip sc thi bng Theme Manager,
sau thay i cc biu tng bng Icons, kiu dng bng Style, . . . v cui
cng chn nhng phng ch cho thch hp (Fonts).
Trc khi chn phng ch cn s dng n mun Font Installer nu mun
thm nhng ci mi mi. C th ni y l trnh ci t phng ch vi giao
din ha ca KDE (xem hnh 8.8. Nh vy mun ny lit k nhng phng
c trong th mc c nhn ca bn (thng l ~/.fonts) bn tri, bn
phi l xem phng c chn. Nu mun thm mt phng no th cn nhn
vo nt Add Fonts . . . ri tm n tp tin cha n. Nu mun thm phng
ch cho ton b h thng th hy chuyn vo ch qun tr h thng bng
nt Administrator Mode . . . (khi ny bn cn nhp vo mt khu ca root).
Phng ch cho cc thnh phn khc nhau ca KDE c la chn trong mun
Fonts (hnh 8.9 cho thy phn bn phi ca Personal Settings khi nhn vo
8.1 Bt u lm vic vi KDE 197
Ngoi ra, nu nhn chut phi vo mt biu tng chng trnh hoc applet c
trn thanh panel th s m ra mt trnh n bi cnh c khc mt cht, nh
chng ta c th thy trn hnh 8.13. ngha ca cc cu lnh ti ngh khng cn
gii thch. Trong quan trng nhn c l l lnh Configure XXX Button . . .
t tn cho nt ca chng trnh XXX, cu lnh ca chng trnh s chy
v mt vi cu hnh khc. Nh ni trn, khi chn cu lnh Configure
Panel . . . ca trnh n bi cnh ca panel hoc chn mun Panels (nhm
Desktop) ca Personal Settings, s hin ra ca s chnh sa cc thanh panel
nh trn hnh 8.14. C 4 th tab (Arrangement, Hiding, Menus v Appearance)
200 Lm vic trong mi trng KDE
2. Save Session lu trng thi ca phin lm vic hin ti. Trng thi ny
s c phc hi vo ln ng nhp sau.
3. Logout thot ra khi KDE khi kt thc cng vic hoc ng nhp vo
mi trng lm vic khc. Nu s dng KDM ng nhp vo th bn
s c mt vi la chn khc: tt my, khi ng li. Phm nng theo mc
nh thot khi KDE l <Ctrl>+<Alt>+<Del> (chng trnh s hi li
bn c chc chn mun thot ra khng) hoc <Ctrl>+<Alt>+<Shift>+<Del>
(thot thng, chng trnh khng hi li). Trn thanh panel nt thot
ra thng nm cnh nt Lock.
2
Screen Saver