Professional Documents
Culture Documents
10 - Co Ban Ve Chung Chi LPI PDF
10 - Co Ban Ve Chung Chi LPI PDF
Bn quyn 2004-2006 thuc v Cng ng ngun m Vit Nam - VNOSS v nhng ngi
ng gp cho ti liu C bn v chng ch LPI - All rights reserved.
y l mt ti liu min ph. Bn hon ton c th phn phi li ti liu cho nhng ngi s
dng khc, hoc c th chnh sa cho ph hp nhng phi tun theo nhng yu cu trong giy php
bn quyn GNU (General Public License ca Free Software Foundation; phin bn 2 hay cc phin
bn khc).
Ti liu ny c pht hnh n tay cc bn vi hy vng rng n s tr nn hu ch, nhng n
KHNG KM THEO BT K S BO M NO, ngay c nhng m bo ngm hiu v vic
thng mi ho hay phi ph hp vi mt mc ch c th no (vn ny bn c th tham kho
giy php GNU General Public License bit thm chi tit). Thng thng, bn s nhn c mt
bn sao ca giy php GNU General Public License km theo ti liu ny; nu cha c, bn c th
vit th n a ch sau Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
c mt bn giy php.
Mc lc
1 Trc khi bt u 1
1.1 V ti liu ny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 V tc gi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 C bn v Linux 3
2.1 Gii thiu v bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.1 H v (shell) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.2 C phi bn ang chy bash khng? . . . . . . . . . . . . . . . . . 3
2.1.3 V bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.4 S dng cd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.5 ng dn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.6 ng dn tuyt i . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.7 S dng .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.8 V d ng dn tng i . . . . . . . . . . . . . . . . . . . . . . 6
2.1.9 Th cn . l g? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.10 cd v th mc nh . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.11 Th mc nh ca nhng ngi dng khc . . . . . . . . . . . . . . 7
2.2 S dng cc cu lnh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.1 Gii thiu ls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.2 Lit k chi tit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.3 Xem th mc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.4 lit k inode v lit k qui (recursive) . . . . . . . . . . . . . . 8
2.2.5 Inode l g? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.6 mkdir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.7 mkdir -p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.8 touch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.9 echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.10 echo v s chuyn hng . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.11 cat v cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.12 mv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 To lin kt v xa tp tin . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.1 Lin kt cng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.2 Lin kt tng trng . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.3 Su hn v lin kt tng trng . . . . . . . . . . . . . . . . . . . 14
2.3.4 rm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.5 rmdir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3.6 rm v th mc . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
iv MC LC
3 C bn v qun tr Linux 23
3.1 Biu thc chnh quy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1.1 Biu thc chnh quy l g? . . . . . . . . . . . . . . . . . . . . . . 23
3.1.2 So snh vi k t i din (glob) . . . . . . . . . . . . . . . . . . . 23
3.1.3 Chui con n gin . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1.4 Hiu v chui con n gin . . . . . . . . . . . . . . . . . . . . . 24
3.1.5 K t mta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.6 S dng [] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.7 S dng [] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.8 C php khc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.9 K t mta "*" . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.10 u v cui dng . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.1.11 Regex cho c dng . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2 FHS v tm tp tin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.1 FHS - Tiu chun h thng tp tin dng cy . . . . . . . . . . . . . 27
3.2.2 Hai cp bc FHS c lp . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.3 H thng bc hai ti /usr . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.4 Tm tp tin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.5 ng dn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.6 Sa i PATH . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.7 Tt c v "which" . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2.8 "which -a" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2.9 whereis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2.10 find . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.11 find v k t i din . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.12 L i kiu ch vi find . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.13 find v biu thc chnh quy . . . . . . . . . . . . . . . . . . . . . 31
3.2.14 find v kiu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2.15 find v mtimes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2.16 Ty chn -daystart . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2.17 Ty chn -size . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2.18 Gia cng tp tin tm thy . . . . . . . . . . . . . . . . . . . . . . . 32
MC LC v
3.2.19 locate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2.20 S dng updatedb . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2.21 slocate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3 Qun l tin trnh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3.1 Khi ng xeyes . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3.2 Dng mt tin trnh . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3.3 fg v bg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3.4 S dng "&" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3.5 Nhiu tin trnh nn sau . . . . . . . . . . . . . . . . . . . . . . . 35
3.3.6 Gii thiu tn hiu . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3.7 SIGTERM v SIGINT . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3.8 "Dit tn gc" . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3.9 nohup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3.10 S dng ps lit k tin trnh . . . . . . . . . . . . . . . . . . . . . 37
3.3.11 Hin th cy v rng . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3.12 Ty chn "u" v "l" . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.3.13 S dng "top" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.3.14 nice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.3.15 renice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4 Gia cng vn bn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4.1 n li chuyn hng . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4.2 Mt v d ng . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4.3 ng gii nn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.4.4 Mt ng di hn . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.4.5 Gi lc gia cng vn bn bt u . . . . . . . . . . . . . . . . . . 41
3.4.6 cat, sort, v uniq . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4.7 wc, head, v tail . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4.8 tac, expand, v unexpand . . . . . . . . . . . . . . . . . . . . . . . 42
3.4.9 cut, nl, v pr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.4.10 tr, awk, v sed . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.4.11 od, split, v fmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4.12 Paste, join, v tee . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4.13 Gi lc kt thc! Chuyn hng . . . . . . . . . . . . . . . . . . . 43
3.4.14 S dng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.5 Mun nhn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.5.1 Lm quen vi "uname" . . . . . . . . . . . . . . . . . . . . . . . . 44
3.5.2 Thm v u ra uname . . . . . . . . . . . . . . . . . . . . . . . . 44
3.5.3 Bn pht hnh nhn . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.5.4 Nhn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.5.5 Gii thiu mun nhn . . . . . . . . . . . . . . . . . . . . . . . . 45
3.5.6 Bn tm tt mun nhn . . . . . . . . . . . . . . . . . . . . . . . 45
3.5.7 lsmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.5.8 Lit k mun . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.5.9 Mun third-party . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.5.10 depmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.5.11 Lm th no ly mun . . . . . . . . . . . . . . . . . . . . . . 46
3.5.12 S dng depmod . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
vi MC LC
8 H thng mng 68
Trc khi bt u
1.1 V ti liu ny
Cho mng n vi "Linux nhng iu c bn," cun th nht trong bn cun sch hng
dn gip bn chun b cho bi thi 101 ca LPI (Linux Professional Institute). Trong cun
sch hng dn ny, chng ti s gii thiu vi bn bash (v, shell, tiu chun ca Linux),
ch cho bn cch s dng thnh tho cc cu lnh c bn ca Linux nh ls, cp v mv, gii
thch v inode, lin kt "cng" v lin kt "tng trng" (hard link v symbolic links) v
nhiu th khc. Khi kt thc cun sch hng dn ny bn s c kin thc vng vng v
nhng iu c bn khi s dng Linux, v thm ch cn sn sng bt u hc c bn v
nhim v qun tr mng Linux. Khi kt thc chui sch hng dn ny (tm cun tt c),
bn s c kin thc cn thit tr thnh Qun tr vin h thng Linux v sn sng t ti
chng ch LPIC bc I ca Linux Professional Institute nu bn d nh nh vy.
1.2 V tc gi
C tr ti Albuquerque, New Mexico, Daniel Robbins l kin trc trng ca Gentoo Linux,
mt bn phn phi Linux cao cp. Tc gi cn vit cc bi bo, sch hng dn, nhng li
mch nc cho IBM developerWorks v Intel Developer Services v l tc gi ng gp
2 Trc khi bt u
C bn v Linux
$ echo $SHELL
/bin/bash
2.1.3 V bash
Bash l t vit tt ca "Bourne-again shell"3 . Bash l h v shell theo mc nh trn hu
ht cc h thng Linux. Cng vic ca h v shell l tun theo cc cu lnh ca ngi
dng. Nh c h v shell bn c th tc ng qua li vi h iu hnh. Khi lm xong cc
cng vic cn thit, c th ch th cho h v shell thot ra (exit) hay ng xut (logout).
Ti thi im ny bn s c a tr li du nhc ng nhp4 .
Nhn tin, bn c th ng xut bng cch g control-D ti du nhc ni trn.
2.1.4 S dng cd
Nh bn bit v c th s bit :), nhn chm chm vo du nhc bash khng phi l iu
thch th nht trn th gian. V vy, hy th s dng bash "i do" mt vng, quanh h
thng tp tin. Ti du nhc, g cu lnh sau (khng g du $5 :
$ cd /
$ pwd
2.1.5 ng dn
Trong v d pha trn, i s / cho cd gi l ng dn (path). i s cho cd bit ni chng
ta mun chuyn n. Trong trng hp ny, i s / l ng dn tuyt i, c ngha l n
ch r mt v tr trong cy th mc i vi th mc gc (root).
2.1.6 ng dn tuyt i
Di y l mt s ng dn tuyt i khc:
/dev
/usr
/usr/bin
/usr/local/bin
3
ngi dch: Bourne-again shell l mt cch chi ch ting Anh. "Bourne" c ging nh borne (sinh ra,
ra).
4
thng c dng login:
5
Trong cc v d $ u dng ch ch du nhc ca ngi dng, n khng phi l thnh phn ca mt
cu lnh
6
Xin hy nh ci tn ny!!! V tip theo chng ti s gi nh vy trong sut cun sch ny
2.1 Gii thiu v bash 5
$ cd /usr
$ cd local/bin
$ pwd
/usr/local/bin
2.1.7 S dng ..
ng dn tng i c th cha mt hay nhiu th mc "..". Th mc .. l th mc c
bit ch ti th mc "b"8 . Tip tc v d trn:
$ pwd
/usr/local/bin
$ cd ..
$ pwd
/usr/local
$ pwd
/usr/local
$ cd ../share
$ pwd
/usr/share
7
hy ch s khc nhau gia hai cch bin dch
8
thng gi l th mc m hn
9
gi nm na l "hng xm"
6 C bn v Linux
2.1.8 V d ng dn tng i
ng dn tng i c th kh phc tp. Sau y l mt s v d, chng ti khng cho
bit cc th mc thu c. Hy th t hnh dung xem bn s i ti u sau khi g nhng
cu lnh sau:
$ cd /bin
$ cd ../usr/share/zoneinfo
$ cd /usr/X11R6/bin
$ cd ../lib/X11
$ cd /usr/bin
$ cd ../bin/../bin
2.1.9 Th cn . l g?
Trc khi kt thc bi ging ca chng ta v cd, c mt vi iu chng ti mun cp
n. u tin, c mt th mc c bit khc gi l ., c ngha "th mc hin thi". Th
mc ny thng khng s dng nh i s cho cu lnh cd, m thng c s dng
thc thi mt s chng trnh trong th mc hin thi. V d:
$ ./chuongtrinh
2.1.10 cd v th mc nh
By gi, chng ta mun chuyn ti th mc nh (home directory), ta g:
$ cd
$ ./chuongtrinh /home/teppi82/tepcuatoi.txt
10
trong v d ny ngi dng c tn l teppi82
2.2 S dng cc cu lnh 7
Tuy nhin, vic s dng ng dn tuyt i nh vy khng phi lc no cng tin li,
bn c l chng ta s phi g rt nhiu k t khng? Hy thng cc ngn tay ca
mnh!! Rt may, ta c th s dng k t (du ng) lm cng vic tng t:
$ ./chuongtrinh ~/tepcuatoi.txt
$ ./chuongtrinh ~james/girls.txt
$ cd /usr
$ ls
bin doc games include info lib local sbin share src X11R6
$ ls -a
. .. bin doc games include info lib local sbin share src X11R6
$ ls -l /usr
total 122
drwxr-xr-x 2 root root 53104 2004-08-29 02:17 bin
drwxr-xr-x 2 root root 2336 2004-06-22 19:51 doc
drwxr-xr-x 2 root root 3088 2004-06-01 15:44 games
drwxr-xr-x 46 root root 5528 2004-06-13 16:33 include
lrwxrwxrwx 1 root root 10 2004-05-31 22:29 info -> share/info
drwxr-xr-x 138 root root 43384 2004-08-29 00:28 lib
drwxrwsr-x 11 root staff 272 2004-06-05 04:06 local
drwxr-xr-x 2 root root 6760 2004-08-29 00:28 sbin
drwxr-xr-x 236 root root 6360 2004-06-22 19:31 share
drwxrwsr-x 5 teppi82 src 136 2004-08-28 21:58 src
drwxr-xr-x 6 root root 144 2004-05-31 22:53 X11R6
Ct th nht trong bng trn l thng tin v quyn hn cho tng mc trong danh sch13 .
Chng ti s gii thch mt cch c th cch dch thng tin ny trong cc phn tip theo.
Ct tip theo hin th s lin kt (links) cho mi mc , chng ta cng tm thi dng li
nhng s tr li sau. Ct th ba v ct th t cho bit, tng ng, ch s hu (owner) v
nhm s hu (group). Ct th nm lit k kch thc ca mc. Ct th su l "thi gian
sa i gn nht" ("last modified" time) hay cn gi tt l "mtime" ca mc. Ct cui
cng l tn gi ca chng. Hy tp info! Nu tp tin l lin kt tng trng (symbolic
link), bn s thy du -> v ng dn ti ni m lin kt ch n. Trong v d trn info l
mt trng hp nh vy.
2.2.3 Xem th mc
i khi bn ch mun xem thng tin ca th mc, m khng quan tm ti ni dung ca n
bn trong. Cho nhng trng hp ny, chng ta cn ch r ty chn -d, "ra lnh" cho ls
ch hin th thng tin ca th mc quan tm:
V cui cng vng rt may l cui cng, ty chn -i ca ls s dng hin th s inode
ca cc i tng15 trong h thng tp tin:
$ ls -i /usr
685 bin 917 include 9352 local 920 src
915 doc 918 info 706 sbin 12522 X11R6
916 games 919 lib 708 share
2.2.5 Inode l g?
Mi i tng trn mt h thng tp tin c xc nh bi mt ch mc (index) duy nht,
gi l ch mc inode. Ci ny nghe c v tm thng, nhng rt cn am hiu inode c
th nm c thc cht ca nhiu thao tc vi h thng tp tin. Trong v d ny chng ta s
xem xt cc lin kt . v .. m xut hin trong mi th mc. bit thc cht th mc .. l
g, u tin chng ta xem ch mc inode ca /usr/local:
$ ls -id /usr/local
9352 /usr/local
$ ls -id /usr/local/bin/..
9352 /usr/local/bin/..
i! Cng l 9352.
Nh bn thy y, /usr/local/bin/.. c cng ch mc inode vi /usr/local! Nh vy chng
ta hiu thc cht .. cng l mt mc trn h thng tp tin m c cng inode vi th mc m.
y l mt khm ph gy sc! Trc y, chng ta cho rng /usr/local l th mc. By gi,
chng ta khm ph ra inode 9352 trn thc t mi l th mc, v tm thy hai mc (cn gi
l "lin kt") ch ti inode ny. l /usr/local v /usr/local/bin/.., chng u l lin kt ti
inode 9352. Mc d inode 9352 ch tn ti mt ni trn a, nhng cho php nhiu mc
c th lin kt ti n. Inode 9352 l i tng tht s nm trn a.
Trong khi thc hnh, nu mun chng ta c th thy tng s ln m inode 9352 c
lin kt n, dng cu lnh ls -dl:
$ ls -dl /usr/local
drwxrwsr-x 11 root staff 272 2004-06-05 04:06 /usr/local
/usr/local
/usr/local/.
/usr/local/bin/..
/usr/local/games/..
/usr/local/lib/..
/usr/local/sbin/..
/usr/local/share/..
/usr/local/src/..
/usr/local/j2sdk1.4.2/..
/usr/local/man/..
/usr/local/include/..
2.2.6 mkdir
Cn by gi sau khi c mt ci nhn khi qut v th mc, chng ta xem xt nhanh cu
lnh mkdir, lnh s dng to mt (cc) th mc mi. V d di y to 3 th mc mi,
co, ca, ro, tt c di /tmp:
$ cd /tmp
$ mkdir co ca ro
$ mkdir project/vnoss/docs
mkdir: cannot create directory project/vnoss/docs: No such file or directory
$ mkdir project
$ mkdir project/vnoss
$ mkdir project/vnoss/docs
2.2.7 mkdir -p
S dng 3 cu lnh ring bit nh trn tht l bt tin v mt thi gian. Rt may, ty chn
-p ca mkdir xa b s bt tin ny16 . Lnh mkdir vi ty chn -p s to tt c cc th mc
m nu chng khng ti ti, nh y:
16
Trong th gii Linux bn s thy c rt nhiu cng c nh vy, ch cn b cht t thi gian tm hiu th
cc cng vic hng ngy s tr nn n gin v tn t sc lc cng nh tr c. Ngoi ra rt c th n cn em
li cho bn s sng khoi
2.2 S dng cc cu lnh 11
$ mkdir -p project2/vnoss/docs
2.2.8 touch
By gi, chng ta s xem xt nhanh cc cu lnh cp v mv. Chng c s dng sao
chp, i tn, v di chuyn tp tin (th mc). bt u, chng ta s dng cu lnh touch
to mt tp tin trong /tmp:
$ cd /tmp
$ touch saochepem
2.2.9 echo
Hy thm vo tp tin ny mt s d liu. Trn h thng Linux c rt nhiu cch lm vic
ny, tuy nhin ti thi im ny chng ta s dng cu lnh echo. Lnh ny ly i s v theo
mc nh in chng u ra tiu chun20 (standard output). u tin, hy th dng echo nh
sau:
$ echo "tepdautien"
tepdautien
$ ls -l saochepem
-rw-r--r-- 1 teppi82 thang 11 2004-09-02 18:56 saochepem
2.2.11 cat v cp
hin th ni dung tp tin trn thit b u cui21 (terminal), c th s dng cu lnh cat:
$ cat saochepem
tepdautien
$ cp saochepem embansao
$ ls -i saochepem embansao
471627 embansao 471620 saochepem
2.2.12 mv
Lnh mv li l mt cu thn ch khc. Ln ny dng i tn "embansao" thnh "em-
bichuyen". Bn s thy, trong v d di, ch mc inode khng thay i; tuy nhin, tn tp
tin ch n inode th s khc.
$ mv embansao embichuyen
$ ls -i embichuyen
471627 embichuyen
$ mv /var/tmp/teptin.txt /home/teppi82
21
chng ti s dng t terminal thay th cho thut ng ny
22
bn cn to teptin.txt trc, dng lnh touch
2.3 To lin kt v xa tp tin 13
$ cd /tmp
$ touch lienketdau
$ ln lienketdau lienkethai
$ ls -i lienketdau lienkethai
10662 lienketdau 10662 lienkethai
$ ln -s lienkethai lienketba
$ ls -l lienketdau lienkethai lienketba
lrwxrwxrwx 1 teppi82 thang 10 2004-09-02 23:04 lienketba -> lienkethai
-rw-r--r-- 2 teppi82 thang 0 2004-09-02 19:19 lienketdau
-rw-r--r-- 2 teppi82 thang 0 2004-09-02 19:19 lienkethai
Trong u ra ca ls -l, c th phn bit lin kt tng trng vi cc tp tin thng thng
bng 3 cch. Th nht, ct u tin ca lin kt tng trng cha k t l (link). Th hai,
kch thc ca tp tin lin kt tng trng l s k t ca tn tp tin ch (lienkethai, trong
trng hp ny). Th ba, ct cui cng hin th tn tp tin ch c du mi tn -> pha
trc.
$ ln -s /usr/local/bin bin1
$ ls -l bin1
lrwxrwxrwx 1 teppi82 thang
$ ln -s ../usr/local/bin bin2
$ ls -l bin2
lrwxrwxrwx 1 teppi82 thang 16 2004-09-02 23:05 bin2 -> ../usr/local/bin
$ mkdir thumucmoi
$ mv bin2 thumucmoi
$ cd thumucmoi
$ cd bin2
bash: cd: bin2: No such file or director
2.3 To lin kt v xa tp tin 15
# ls -l /usr/bin/unicode_start
-rwxr-xr-x 1 root root 1061 2004-04-22 22:30 /usr/bin/unicode_start
# cd /usr/bin
# ln -s /usr/bin/unicode_start u_s
# ls -l unicode_start
-rwxr-xr-x 1 root root 1061 2004-04-22 22:30 unicode_start
# ls -l u_s
lrwxrwxrwx 1 root root 22 2004-09-02 23:14 u_s -> /usr/bin/unicode_start
# cd /usr/bin
# ln -s unicode_start u_s
24
ngi c quyn ghi vo th mc /usr/bin theo mc nh
25
chng ti ngm hiu l bn t cc tp tin unicode_start v u_s v li ch c ca n
16 C bn v Linux
# ls -l u_s
lrwxrwxrwx 1 root root 13 2004-09-02 23:27 u_s -> unicode_start
# mv unicode_start u_s /usr/local/bin
# ls -l /usr/local/bin/unicode_start
-rwxr-xr-x 1 root staff 1061 2004-09-02 23:29 /usr/local/bin/unicode_start
# ls -l /usr/local/u_s
lrwxrwxrwx 1 root root 13 2004-09-02 23:27 /usr/local/bin/u_s -> unicode_start
By gi, chng ta c th chy chng trnh unicode_start bng cch g mt lnh ngn
hn /usr/local/bin/u_s. Ln ny /usr/local/bin/u_s ch ti chng trnh unicode_start trong
cng th mc vi n.
2.3.4 rm
Xin chc mng, hn mt na chng ng qua, v cc bn bit cch s dng cp, mv,
v ln, gi l thi gian hc cch xa i tng. Thng thng, vic ny c thc hin bi
cu lnh rm. xa mt (cc) tp tin no hy ch r chng trn dng lnh:
$ cd /tmp
$ touch tep1 tep2
$ ls -l tep1 tep2
-rw-r--r-- 1 teppi82 thang 0 2004-09-04 17:53 tep1
-rw-r--r-- 1 teppi82 thang 0 2004-09-04 17:53 tep2
$ rm tep1 tep2
$ ls -l tep1 tep2
ls: tep1: No such file or directory
ls: tep2: No such file or directory
$ rm -i tep1 tep2
rm: remove regular empty file tep1? y
rm: remove regular empty file tep2? y
2.3.5 rmdir
xa th mc, bn c hai la chn. La chn th nht: xa tt c cc vt th bn trong
th mc v cui cng s dng rmdir xa bn thn th mc nh v d sau:
$ mkdir thumuccuatoi
$ touch thumuccuatoi/tep1
$ rm thumuccuatoi/tep1
$ rmdir thumuccuatoi
2.3.6 rm v th mc
Cch tt nht xa mt th mc l s dng cu lnh rm vi ty chn bt buc xa ton
b (recursive force). Vi ty chn ny, rm xa th mc ch ra, cng nh tt c i tng
cha trong th mc :
$ rm -rf thumuccuatoi
rm tep[1-8]
$ rm tep*
$ ls -d /etc/g*
/etc/gaim /etc/gnome /etc/group- /etc/gtk
/etc/gateways /etc/gnome-vfs-2.0 /etc/group.org /etc/gtk-2.0
/etc/gconf /etc/gnome-vfs-mime-magic /etc/gs-gpl
/etc/gdm /etc/groff /etc/gshadow
/etc/gimp /etc/group /etc/gshadow-
$ ls -d /usr/bin/asdf*jkl
ls: /usr/bin/asdf*jkl: No such file or directory
S dng cch ny, tp tin mi ca bn s cha dng ch [fo]* nh mong mun. Mt gii
php khc: s dng k t thot (escape character) gch ngc. Khi bash coi [, ], v * l
cc k t thng ch khng phi k t i din:
Nu bn l ngi dng Linux mi hay trung bnh, bn tht s khng th khng xem
Nhng cu hi k thut thng t - dnh cho ngi dng Linux (Technical FAQ for Linux
users). FAQ ny l danh sch 50 trang, i su v nhng cu hi m ngi dng Linux thng
t ra, vi cc cu tr li chi tit. Bn thn FAQ ny dng PDF (Acrobat).
Nu bn cm thy khng quen thuc lm vi trnh son tho vi, hy xem cun hng
dn vi v lng (Intro to vi). Cun hng dn ny l kha m u cp tc v trnh son tho
mnh ny. Coi nh y l ti liu phi c thm nu bn khng bit cch s dng vi.
2.5.3 kin c gi
Hy cho chng ti bit cun hng dn ny c gip ch cho bn khng. V chng ti c th
lm n tt hn nh th no. ng thi, chng ti cng mun nghe v nhng ch khc
m bn c th mun xem trong d n ti liu hng dn ca developerWorks
t cu hi v ni dung ca cun hng dn th nht ny, lin h tc gi, Daniel
Robbins, ti drobbins@gentoo.org.
stylesheet v vi chc nng XSLT m rng bin i tp XML thnh cc trang HTML, mt
tp zip, nh tiu JPEG v hai tp PDF. Kh nng xut ra c dng vn bn v dng nh
nguyn t mt tp ngun n cho thy kh nng v s linh hot ca XML. (XML ng thi
tit kim rt nhiu thi gian v sc lc ca nhm chng ti).
Bn c th ly m ngun ca cng c Toot-O-Matic ti
http://www6.software.ibm.com/dl/devworks/dw-tootomatic-p/. Cun
hng dn Xy dng hng dn vi Toot-O-Matic (Bulding tutorials with the Toot-O-Matic)
cho thy cch s dng Toot-O-Matic to hng dn ca chnh bn. developerWorks cn
lm ch mt din n dnh cho Toot-O-Matic, ti a ch: http://www-105.ibm.com/developerworks/xml_df.nsf
late?OpenForm&RestrictToCategory=11. Chng ti rt mun bit bn ngh g v cng c
ny.
Chng 3
C bn v qun tr Linux
trn, tham s u tin cho grep l regex; th hai l tn tp tin. grep c tng dng
trong /etc/passwd v p dng simple substring regex bash ti n (dng), tm s tng
ng. Nu c tng ng, grep in c dng ; nu khng, dng s b b qua.
24 C bn v qun tr Linux
3.1.5 K t mta
Vi biu thc chnh quy, sau y bn c th thc hin nhng tm kim phc tp hn v d
nu trn li dng k t mta1 . Mt trong s cc k t mta l . (du chm cu), m tng
ng bt k k t n no:
3.1.6 S dng []
Nu chng ta mun tm tng ng mt k t c bit hn ., chng ta c th s dng [ v ]
(du ngoc vung) ch r mt t hp cc k t cn tm tng ng:
3.1.7 S dng []
Bn c th o ngc ngha ca du ngoc vung bng cch t mt \^{} ngay sau [.
Trong trng hp ny, du ngoc n s tm tng ng bt k k t no m khng c lit
k trong chng. Nhc li ln na, ch rng chng ta dng [\^{}] vi biu thc chnh
quy, nhng [!] vi "glob":
Mt cch tng t, c th g:
C th khng biu thc chnh quy no tm thy tng ng trong /etc/fstab ca bn.
ab*c tng ng abbbbc nhng khng tng ng abqc (Nu l glob, n s tng
ng c hai chui bn c th on ra ti sao khng?)
ab*c tng ng abc nhng khng tng ng abbqbbc (nhc li, nu mt glob, n
s tng ng c hai)
ab*c tng ng ac nhng khng tng ng cba (nu mt glob, n s khng tng
ng c ac v ba|)
b[cq]*e tng ng bccqqe nhng khng tng ng bccc (nu mt glob, n cng
tng ng ci th nht, nhng ci th hai th khng)
b[cq]*e tng ng bqqcce nhng khng tng ng cqe (nu mt glob, n cng
tng ng ci th nht, nhng ci th hai th khng)
By gi, cho s xem li nhanh: dng ac tng ng regex ab*c v du sao cho php
biu thc ng trc (c) xut hin khng ln. Nhc li, cn ch rng k t mta regex *
c bin dch mt cch khc c bn vi k t * ca glob.
Trong v d trn, chng ta bao quanh biu thc chnh quy dng ngoc n ngn nga
vic shell bin dch \$}. Khng c ngoc n, \verb$| s bin mt khi regex
trc khi grep c c hi thy n.
3.2 FHS v tm tp tin 27
+---------+----------------------+--------------------+
| | chia s | khng chia s |
+---------+----------------------+--------------------+
| Tnh | /usr | /etc |
| | /opt | /boot |
+---------+----------------------+--------------------+
| ng | /var/mail | /var/run |
| | /var/spool/news | /var/lock |
+---------+----------------------+--------------------+
28 C bn v qun tr Linux
3.2.4 Tm tp tin
H thng Linux thng cha hng trm nghn tp tin. C th bn hiu bit khng bao
gi mt du mt tp no trong chng, nhng bn thnh thong bn s cn gip tm kim.
C mt vi cng c khc nhau trn LInux tm tp tin. S gii thiu ny gip bn chn
ng cng c.
3.2.5 ng dn
Khi bn chy mt chng trnh ti dng lnh, bash thc cht tm chng trnh bn yu cu
trong cc th mc ca mt danh sch. V d, khi bn g ls, bash theo bn cht khng
bit rng chng trnh ls nm trong /usr/bin. Thay vo , bash xem bin mi trng
PATH, m l mt danh sch th mc, phn cch nhau bi du hai chm. Chng ta c th
kim tra gi tr ca PATH:
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin
3.2.6 Sa i PATH
Bn c th thm ng dn vo PATH ti dng lnh:
$ PATH=$PATH:~/bin
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin:/home/agriffis/bin
$ PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:~/bin
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/agriffis/bin
$ export PATH
3.2.7 Tt c v "which"
Bn c th kim tra chng trnh c trong PATH khng bng which. V d, y chng ta
thy h iu hnh Linux khng c (ni chung) sense:
$ which sense
which: no sense in (/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin)
$ which ls
/usr/bin/ls
$ which -a ls
/usr/bin/ls
/bin/ls
3.2.9 whereis
Nu bn thch th vi vic tm nhiu thng tin hn l v tr ngho nn ca chng trnh, bn
nn th whereis:
$ whereis ls
ls: /bin/ls /usr/bin/ls /usr/share/man/man1/ls.1.gz
3.2.10 find
Cu lnh find l cng c thun tin khc. Vi find bn khng b hn ch; bn c th tm
bt k tp no bn mun, s dng mun mu mun v ca cc tiu chun tm kim. V d,
tm mt tp c tn README, bt u trong /usr/share/doc:
$ ls -l ?
-rw------- 1 root root 0 Jan 7 18:00 a
rw------- 1 root root 0 Jan 6 18:00 b
-rw------- 1 root root 0 Jan 5 18:00 c
-rw------- 1 root root 0 Jan 4 18:00 d
$ date
Mon May 7 18:14:52 EST 2003
3.2.19 locate
Chng ta va xem xong which, whereis v find. C th bn nhn ra rng find
cn mt cht thi gian khi thi hnh, v n cn c tng th mc ang tm. Cu lnh locate
c th tng tc da trn c s d liu ngoi m to ra bi updatedb (chng ta s
cp mc ti).
$ locate bin/ls
/var/ftp/bin/ls
/bin/ls
/sbin/lsmod
/sbin/lspci
/usr/bin/lsattr
/usr/bin/lspgpot
/usr/sbin/lsof
$ locate bin/ls
locate: /var/spool/locate/locatedb: No such file or directory
$ su
Password:
# updatedb
3.2.21 slocate
Trn nhiu bn phn phi Linux, cu lnh locate c thay th bi slocate. Thng
c mt lin kt tng trng n "locate" v th bn khng cn nh l c g. slocate c
hiu l "secure locate" - locate an ton. N ghi thng tin quyn trong c s d liu v th
ngi s dng bnh thng khng th nhn vo th mc m h khng c quyn c. Thng
tin s dng cho slocate l ging vi cho locate, mc d d liu ra c th khc ph
thuc vo ngi dng chy cu lnh.
^C
$
Ly li du nhc bash mi, nhng ca s xeyes bit mt. Trn thc t, tin trnh b
dit. Thay v dit vi Control-C, ch dng n vi Control-Z:
3.3.3 fg v bg
mt tin trnh c "khai thng" ("un-stopped") v chy tr li, c th a n ra mt
trc (foreground) vi fg gn trong bash:
$ fg
xeyes -center red
$
$ bg
[1]+ xeyes -center red &
$
Tuyt! Tin trnh xeyes tip tc chy trong nn sau, v chng ta c mt du nhc bash
mi lm vic.
$ jobs -l
[1]- 16217 Running xeyes -center red &
[2]+ 16224 Running xeyes -center blue &
$ kill 16217
$ jobs -l
[1]- 16217 Terminated xeyes -center red
[2]+ 16224 Stopped (signal) xeyes -center blue
$ kill 16224
$ jobs -l
[2]+ 16224 Stopped (signal) xeyes -center blue
$ kill -s SIGKILL
\$ jobs -l
[2]+ 16224 Interrupt xeyes -center blue
3.3 Qun l tin trnh 37
3.3.9 nohup
Thit b u cui m t chy mt cng vic gi l thit b u cui iu khin. Mt s
v shell s gi tn hiu SIGHUP ti cc cng vic nn sau khi bn ng xut2 , khin chng
ngng hot ng. bo v tin trnh khi hnh ng ny, s dng nohup khi khi ng:
$ ps ax
PID TTY STAT TIME COMMAND
1? S 0:04 init [3]
2? SW 0:11 [keventd]
3? SWN 0:13 [ksoftirqd_CPU0]
4? SW 2:33 [kswapd]
5? SW 0:00 [bdflush]
$ ps x --forest
PID TTY STAT TIME COMMAND
927 pts/1 S 0:00 bash
6690 pts/1 S 0:00 \_ bash
26909 pts/1 R 0:00 \_ ps x --forest
19930 pts/4 S 0:01 bash
25740 pts/4 S 0:04 \_ vi processes.txt
2
ngi dch: v d xterm
38 C bn v qun tr Linux
$ ps au
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
agriffis 403 0.0 0.0 2484 72 tty1 S 2001 0:00 -bash
chouser 404 0.0 0.0 2508 92 tty2 S 2001 0:00 -bash
root 408 0.0 0.0 1308 248 tty6 S 2001 0:00 /sbin/agetty 3
agriffis 434 0.0 0.0 1008 4 tty1 S 2001 0:00 /bin/sh /usr/X
chouser 927 0.0 0.0 2540 96 pts/1 S 2001 0:00 bash
$ ps al
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
100 1001 403 1 9 0 2484 72 wait4 S tty1 0:00 -bash
100 1000 404 1 9 0 2508 92 wait4 S tty2 0:00 -bash
000 0 408 1 9 0 1308 248 read_c S tty6 0:00 /sbin/ag
000 1001 434 403 9 0 1008 4 wait4 S tty1 0:00 /bin/sh
000 1000 927 652 9 0 2540 96 wait4 S pts/1 0:00 bash
$ top
10:02pm up 19 days, 6:24, 8 users, load average: 0.04, 0.05, 0.00
75 processes: 74 sleeping, 1 running, 0 zombie, 0 stopped
CPU states: 1.3\% user, 2.5\% system, 0.0\% nice, 96.0\% idle
Mem: 256020K av, 226580K used, 29440K free, 0K shrd, 3804K buff
Swap: 136544K av, 80256K used, 56288K free 101760K cached
PID USER PRI NI SIZE RSS SHARE STAT LIB \%CPU \%MEM TIME COMMAND
628 root 16 0 213M 31M 2304 S 0 1.9 12.5 91:43 X
26934 chouser 17 0 1272 1272 1076 R 0 1.1 0.4 0:00 top
652 chouser 11 0 12016 8840 1604 S 0 0.5 3.4 3:52 gnome-termin
641 chouser 9 0 2936 2808 1416 S 0 0.1 1.0 2:13 sawfish
3.3.14 nice
Mi tin trnh c mt thit lp quyn u tin m Linux dng xc nh chia s bao nhiu
thi gian b x l trung tm (CPU). C th t quyn u tin ca mt tin trnh bng chy
n vi cu lnh nice:
cho cc tin trnh khc. Ni chung, iu ny c ngha rng oggenc s cho php cc tin
trnh khc chy vi tc bnh thng, bt chp oggenc cn CPU nh th no. Bn c th
thy cp bc nice ny di ct NI trong danh sch ps v top trn.
3.3.15 renice
Cu lnh nice ch c th thay i quyn u tin ca mt tin trnh khi bt u chy. Nu
mun thay i thit lp nice ca mt tin trnh ang chy, dng renice:
$ ps l 641
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
000 1000 641 1 9 0 5876 2808 do_sel S ? 2:14 sawfish
$ renice 10 641
641: old priority 0, new priority 10
$ ps l 641
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
000 1000 641 1 9 10 5876 2808 do_sel S ? 2:14 sawfish
Ngoi vic chuyn d liu ra vo mt tp, chng ta c th li dng mt tnh nng mng
ca v shell, gi l ng (pipe). S dng ng, c th truyn u ra ca mt cu lnh ti
u vo ca cu lnh khc. Xem xt v d sau:
3.4.2 Mt v d ng
y l mt v d n gin khc:
$ ls -s | sort -n
40 C bn v qun tr Linux
Trong trng hp ny, ls -s thng in ra danh sch ca th mc hin thi trn thit
b u cui, vi kch thc mi tp u. Nhng thay v nh th chng ta dn u ra vo
sort -n, m sp xp u ra theo s. y l mt cch c ch tm tp tin ln trong th
mc nh ca bn!
Cc v d sau c phc tp hn, nhng chng cho thy sc mnh ca vic s dng tho
ng. Chng ti s s dng mt vi cu lnh m cha cp n, nhng ng n lm
bn chm li. Tp trung ch hiu cch ng lm vic, bn c th dng chng trong tc v
Linux hng ngy.
3.4.3 ng gii nn
Thng thng gii nn v bung ra mt tp, c th lm nh sau:
$ bzip2 -d linux-2.4.16.tar.bz2
$ tar xvf linux-2.4.16.tar
3.4.4 Mt ng di hn
y l mt v d khc:
Chng ta dng cat cung cp ni dung ca myfile.txt cho cu lnh sort. Khi
sort nhn c u vo, n sp xp mt dng vo theo th t bng ch ci, v gi u ra
ti uniq. uniq xa b mi dng trng nhau (nhn tin, n yu cu u vo phi c sp
xp) gi d liu ra lc ti wc -l. Chng ta thy cu lnh wc trn, nhng khng c
ty chn no. Khi a ty chn -l n ch in ra s dng ca u vo, thay v in c s t v
k t. Bn s thy rng ng ny s in ra s cc dng "c mt khng hai" (khng c bn sao)
trong mt tp vn bn. Th to ra vi tp th nghim vi trnh son tho a thch v dng
ng ny xem kt qu thu c.
3.4 Gia cng vn bn 41
echo
3
ngi dch: th echo chao | wc -c v echo -n chao | wc -c s thy r tc dng ca ty chn -n
42 C bn v qun tr Linux
t ca tab (tapstop)
s k t ca tab (tapstop)
$ sort <<END
apple
cranberry
banana
END
apple
banana
cranberry
3.4.14 S dng
C th bn cho rng >> c g ging vi <<, nhng khng phi vy. N n gin l vit
thm d liu ra vo mt tp, m khng ghi nh l >. V d:
tt hn rt nhiu!
$ uname -a
Linux inventor 2.4.20-gaming-r1 #1 Fri Apr 11 18:33:35 MDT 2003 i686 AMD
3.5.4 Nhn
Nhn l tri tim ca Linux l mu m (code) m truy cp thng ti phn cng v h tr
mt giao din chung cc chng trnh c c th thc thi c. Nh c nhn, trnh son
tho ca bn khng cn quan tm vit ti mt a SCSI hay IDE hay thm ch l mt a
RAM. N ch ghi ti mt h thng tp tin, v nhn lo phn cn li.
3.5.7 lsmod
xem mun c np, s dng cu lnh "lsmod":
# lsmod
Module Size Used by Tainted: PF
vmnet 20520 5
vmmon 22484 11
nvidia 1547648 10
mousedev 3860 2
hid 16772 0 (unused)
usbmouse 1848 0 (unused)
input 3136 0 [mousedev hid usbmouse]
usb-ohci 15976 0 (unused)
ehci-hcd 13288 0 (unused)
emu10k1 64264 2
46 C bn v qun tr Linux
3.5.10 depmod
Trong th mc /lib/modules/2.4.20-gaming-r1/ c mt s tp tin m tn bt u vi "mod-
ules.":
$ ls /lib/modules/2.4.20-gaming-r1/modules.*
/lib/modules/2.4.20-gaming-r1/modules.dep
/lib/modules/2.4.20-gaming-r1/modules.generic_string
/lib/modules/2.4.20-gaming-r1/modules.ieee1394map
/lib/modules/2.4.20-gaming-r1/modules.isapnpmap
/lib/modules/2.4.20-gaming-r1/modules.parportmap
/lib/modules/2.4.20-gaming-r1/modules.pcimap
/lib/modules/2.4.20-gaming-r1/modules.pnpbiosmap
/lib/modules/2.4.20-gaming-r1/modules.usbmap
Nhng tp tin ny cha nhiu thng tin v s ph thuc. Trong c thng tin v s
ph thuc ca mun - mt vi mun ch np khi cc mun khc c np.
3.5.11 Lm th no ly mun
Mt vi mun nhn c thit k lm vic vi thit b phn cng ring, v d mun
"emu10k1" l cho cc SoundBlaster Audigy. i vi loi mun ny, cc tp tin mun
3.5 Mun nhn 47
ng thi ghi PCI ID6 v cc du nhn dng tng t ca thit b phn cng m chng h
tr. Thng tin ny c th s dng bi mt vi th nh script cho vic cm nng ("hotplug"),
m s xem n cc cun hng dn tip theo, t ng nhn ra v t ng np mun
thch hp h tr phn cng .
# depmod -a
# insmod /lib/modules/2.4.20-gaming-r1/kernel/fs/fat/fat.o
# lsmod | grep fat
fat 29272 0 (unused)
# rmmod fat
# lsmod | grep fat
# modprobe fat
# lsmod | grep fat
fat 29272 0 (unused)
# modinfo fat
filename: /lib/modules/2.4.20-gaming-r1/kernel/fs/fat/fat.o
description: <none>
author: <none>
license: "GPL"
3.5.17 modules.conf
C php v chc nng ca modules.conf kh phc tp. Chng ta s khng i vo c
php ngay by gi (g man modules.conf xem chi tit), nhng y l mt vi iu
bn *nn* bit v tp tin ny.
3.6.3 kin c gi
Xin hy cho chng ti bit cun hng dn ny c gip ch cho bn khng v chng ti c
th lm n tt hn nh th no. ng thi, chng ti cng mun nghe v nhng ch khc
m bn c th mun xem trong hng dn ca developerWorks
hi v ni dung ca cun hng dn ny, lin h vi cc tc gi:
7
ngi dch: bn dch c vit trn m TEX s dng trnh son tho gedit
Chng 4
/dev/hda
/dev/sda
# fdisk /dev/hda
hoc
# fdisk /dev/sda
Quan trng: Bn khng nn lu hoc thay i bng phn vng nu trong mt phn vng c
cha cc thng tin quan trng. Bn ch nn lm khi bn bit r mnh ang lm g
Nh bn thy, trong cng ny c cha 7 h thng tp tin Linux (cc phn vng c gi
tr trong ct System l Linux) v mt phn vng trao i (swap partition - "Linux swap").
Now, when you type p, you should see the following partition printout:
To phn vng gc
56 Qun tr h thng linux nng cao
# mke2fs -j /dev/hda1
# mkswap /dev/hda2
# mkreiserfs /dev/hda3
To khng gian trao i Cng c mkswap c s dng khi to phn vng tro i:
# mkswap /dev/hda2
Khng ging nh h thng tp tin gc, phn vng tro i khng th gt kt c, thay
vo chng ta s dng lnh swapon kch hot:
# swapon /dev/hdc6
# mke2fs /dev/hda1
# mke2fs -j /dev/hda3
5.2 Khi ng h thng 57
# mkreiserfs /dev/hda3
Thit lp h thng tp tin XFS v JFS thit lp h thng tp tin XFS, chng ta s dng
lnh mkfs.xfs:
# mkfs.xfs /dev/hda3
# mkfs.jfs /dev/hda3
Gn kt h thng tp tin
# mkdir /mnt/boot
# mount /dev/hda1 /mnt/boot
| (/) bao gm |
| ht nhn v |
| h thng. |
+----------------+
| Phn vng 2: |
| Linux swap |
+----------------+
| Phn vng 3: |
| Windows 3.0 |
| (last booted |
| in 1992) |
+----------------+
$ ps --pid 1
PID TTY TIME CMD
1 ? 00:00:04 init.system
5.2 Khi ng h thng 59
S dng LILO
S dng GRUB
extra security. * maillog: Mail-related messages and errors. * cron: Cron-related messages
and errors. * spooler: UUCP and news-related messages and errors.
Tp tin cu hnh syslog.conf
As a matter of fact, now would be a good time to investigate the syslog configuration
file, /etc/syslog.conf. (Note: If you dont have syslog.conf, keep reading for the sake of
information, but you may be using an alternative syslog daemon.) Browsing that file, we
see there are entries for each of the common log files mentioned above, plus possibly some
other entries. The file has the format facility.priority action, where those fields are defined
as follows:
facility Specifies the subsystem that produced the message. The valid keywords for fa-
cility are auth, authpriv, cron, daemon, kern, lpr, mail, news, syslog, user, uucp and local0
through local7.
priority Specifies the minimum severity of the message, meaning that messages of this
priority and higher will be matched by this rule. The valid keywords for priority are debug,
info, notice, warning, err, crit, alert, and emerg.
action The action field should be either a filename, tty (such as /dev/console), remote
machine prefixed by @ , comma-separated list of users, or * to send the message to every-
body logged on. The most common action is a simple filename.
Reloading and additional information page 8 of 12
Hopefully this overview of the configuration file helps you to get a feel for the strength
of the syslog system. You should read the syslog.conf(5) man-page for more information
prior to making changes. Additionally the syslogd(8) man-page supplies lots more detailed
information.
Note that you need to inform the syslog daemon of changes to the configuration file
before they are put into effect. Sending it a SIGHUP is the right method, and you can use
the killall command to do this easily:
5.4.4 Ghi nh bo mt
You should beware that the log files written to by syslogd will be created by the program if
they dont exist. Regardless of your current umask setting, the files will be created world-
readable. If youre concerned about the security, you should chmod the files to be read-write
by root only. Additionally, the logrotate program (described below) can be configured to
create new log files with the appropriate permissions. The syslog daemon always preserves
the current attributes of an existing log file, so you dont need to worry about it once the
file is created.
Tin ch logrotate
The log files in /var/log will grow over time, and potentially could fill the filesystem.
It is advisable to employ a program such as logrotate to manage the automatic archiving of
the logs. The logrotate program usually runs as a daily cron job, and can be configured to
rotate, compress, remove, or mail the log files.
For example, a default configuration of logrotate might rotate the logs weekly, keeping 4
weeks worth of backlogs (by appending a sequence number to the filename), and compress
the backlogs to save space. Additionally, the program can be configured to deliver a SIGHUP
to syslogd so that the daemon will notice the now-empty log files and append to them
appropriately.
62 Qun tr h thng linux nng cao
For more information on logrotate, see the logrotate(8) man page, which contains a
description of the program and the syntax of the configuration file.
5.5 Tm lc
Congratulations, youve reached the end of this tutorial! Well, almost. There were a couple
of topics that we were unable to include in our first four tutorials due to space limitations.
Fortunately, we have a couple of good resources that will help you get up to speed on these
topics in no time. Be sure to cover these particular tutorials if you are planning to get your
LPIC level 1 certification.
We didnt have quite enough room to cover the important topic of system backups in
this tutorial. Fortunately, IBM developerWorks already has a tutorial on this subject, called
Backing up your Linux machines. In this tutorial, youll learn how to back up Linux systems
using a tar variant called star. Youll also learn how to use the mt command to control tape
functions.
The second topic that we werent quite able to fit in was periodic scheduling. Fortu-
nately, theres some good cron documentation available at Indiana University. cron is used
to schedule jobs to be executed at a specific time, and is an important tool for any system
administrator.
On the next page, youll find a number of resources that you will find helpful in learning
more about the subjects presented in this tutorial.
5.6 Tham kho 63
If youre not familiar with the vi editor, we strongly recommend that you check out
Daniels Vi intro the cheat sheet method tutorial. This tutorial will give you a gentle yet
fast-paced introduction to this powerful text editor. Consider this must-read material if you
dont know how to use vi.
Chng 6
Chng 7
H thng mng
Chng 9