You are on page 1of 18

Trn Huy Thng. ti liu Linux cho sv DH NN, khng pht tn ln Internet.

y l bn nhp vit gp, nu ngi c pht hin sai st xin thng bo cho ngi vit.

Bi 2. Lm quen vi Linux command


Bi 2. Lm quen vi Linux command.............................................................................................................1
1. ng nhp v tt my...........................................................................................................................................1 2. Kernel, Shell..........................................................................................................................................................3 3. Virtual Console v Terminal................................................................................................................................3 4. Lnh trong Linux..................................................................................................................................................4
a. Cch vit lnh..........................................................................................................................................................................4 b. Thc thi executable file...........................................................................................................................................................4 c. Shell script...............................................................................................................................................................................5 d. Metacharacters........................................................................................................................................................................5 e. Help.........................................................................................................................................................................................5 f. History.....................................................................................................................................................................................6

4. su............................................................................................................................................................................6 5. Cc thao tc quen thuc vi File v th mc .....................................................................................................6


a. Cu trc file v th mc ca Linux khc vi ca Windows...................................................................................................6 b. Cc lnh xem, to mi, xa, di chuyn, i tn file v th mc.............................................................................................7 c. Midnight Commander (mc).....................................................................................................................................................9 d. Link.......................................................................................................................................................................................10 e. Archive v Compress file......................................................................................................................................................10 f. Tm kim file v th mc......................................................................................................................................................11

6. Filesystem Hierarchy standard..........................................................................................................................12 7. Khi nim file theo ngha rng trong UNIX/Linux..........................................................................................13 8. Redirection v xargs...........................................................................................................................................14
a. Redirect stdin, stdout, stderr to file (phn ny vit kh hiu, phi b bt i).......................................................................14 b. Pipe v kt hp vi grep, wc, sort, less.................................................................................................................................16 c. xargs......................................................................................................................................................................................16

9. VIM editor...........................................................................................................................................................17 10. Regular expression............................................................................................................................................18

1. ng nhp v tt my
Linux l h thng a ngi s dng nn khi khi ng bn phi cho bit nh danh ca mnh trn h thng qua mn ng nhp. - C th c 3 mn hnh ng nhp nh di y: Giao din ha: Nu Linux c ci KDE, GNOME th bn c giao din ng nhp ha. Mi distro s c mt mn ng nhp ring, ch hn nh hnh v di y ca SUSE.

1/18

Giao din dng lnh: Trn cc server, giao din ha thng khng c ci (hoc ci nhng disable) tn ti nguyn (CPU, RAM), lc bn phi lm vic vi giao din dng lnh virtual console. ng nhp t xa: Ngi qun tr mng khng phi lc no cng phi n trc tip Linux server iu khin m c th ng nhp t mt my Windows thng qua cng c (ch hn nh) Putty.

- C 2 loi ngi s dng: root (cn gi l super user) v normal user (ngi s dng thng). Mt h thng ch c ng mt ti khon root, ti khon ny c tt c cc quyn thao tc vi h thng, n ch dnh cho ngi qun tr h thng. Vi ngi s dng thng, ngoi cc quyn thao tc vi chnh ti liu ca h to ra th c rt t quyn vi h thng. ot root lun l mc ch ca cc Linux hackers. - Tt my l chuyn rt hn ch ca ngi qun tr server (th tng tng mt web server m tt i th c bao nhiu ngi gp bt tin khi nh vo trang web ca server). Nu bn ch l ngi dng Linux thng thng, hin nhin thng phi restart hoc shutdown; ch dng lnh dng lnh sau (ch c root mi c quyn): Turn off: shutdow h now Restart: shutdown r now hoc reboot

Nu mun hn gi shutdown th thay now bng lng thi gian ch shutdown hh:mm hoc mm. Ch turn off/ restart mt cch c hc (khng ng cch), d khng gy hng hc cho h thng th ln sau khi bt my s nhn c thng bo i check disk, chng hn vi Red hat l: Press Y within 5 seconds to force file system integrity check

2/18

2. Kernel, Shell
Kin trc phn tng ca mt my tnh c cho trn hnh v. Kernel (nhn) ca h iu hnh lm nhim v trc tip qun l phn cng. Ngi s dng khng th trc tip ra lnh cho kernel c v cc lnh ny lin quan n chi tit ca phn cng, v vng phc tp. Thay vo ngi dng g cc lnh ca Shell (v) vn gn gi vi con ngi. Shell s thng dch (interpret) cc lnh ca ngi dng thnh cc lnh iu khin kernel v n lt kernel chuyn cc yu cu n n thnh cc thao tc iu khin phn cng. Khi h thng khi ng, sau khi kernel c ti vo RAM th shell s c ti tip theo. Shell ca DOS chnh l command.com lm nhim v dch cc lnh ca ngi s dng nh dir, md, cd, ra thnh cc lnh my. Khng c khi nim shell ca Windows nhng mt ngha tru tng no c th coi giao din ha ca Windows tng ng vi shell ca DOS. C nhiu loi shell cho Linux nh C shell, Bourne Shell, mi loi shell li c tp lnh ring v ngi dng ch c php g cc lnh trong tp lnh . Ph bin nht hin nay l BASH shell dng trong RedHat, Suseshell v DASH shell dng trong Ubuntu. Tp lnh ca hai loi shell ny hu ht l ging nhau. user Application

Shell Kernel Hardware

3. Virtual Console v Terminal


Nh trn ni shell l trnh thng dch, chng trnh virtual console hoc terminal lm nhim v chuyn cc lnh m bn g trn bn phm vo cho shell dch. Ni cch khc virtual console hoc terminal l giao din bn tng tc vi shell. Nu h thng Linux khng ci KDE, GNOM, mc nh bn s lm vic bng giao din dng lnh virtual console. Linux c 6 virtual console, virtual console 1 c mc nh khi khi ng. C th chuyn i qua li gia cc virtual console bng t hp phm ALT + Fn (n = 1,2, 6). Ngi dng c th chy mt chng trnh virtual console ny v khng cn i cho kt thc chuyn sang virtual console khc thc hin mt lnh mi. iu ny to cm gic c th chy nhiu chng trnh cng lc. Nu h thng trong giao din ha. Bn c th vo menu Applications/Accessories/Terminal (cc distro s c cc b tr menu khc) chy chng trnh terminal cho php bn tng tc vi shell. Hoc vi mt iu kin no c th dng CTRL + ALT + F6/F7 chuyn qua li gia giao din ha v cc virtual console. [root@localhost ngha: tn account ang login: root, v th c du #, nu l normal user c du $ my tnh ci Linux m user ang login: localhost ch ngi dng khng login t xa, nu login t xa s l tn/ip mt my tnh t xa no . th mc hin hnh: tn mt th mc hoc nu l du ~ th ch th mc home (ni lu d liu c nhn) ca ngi dng ~]# _

D l virtual console hay terminal, du nhc dng lnh ca n c dng, chng hn

Ni thm v ngun gc ca t terminal: terminal nh y l mt chng trnh giao tip vi shell cn trong qu kh n l mt thit b phn cng. thi trc khi c my tnh c nhn, ch c nhng h thng my tnh ln a ngi s dng. Ngi s dng truy cp vo cc h thng ln ny thng qua mt thit b c tn l terminal ch gm c bn phm v mn hnh, khng c b x l d liu. Theo thi gian khi my tnh c nhn ra i n thay th cc thit b ny v ngi ta dng phn mm m phng li n.

3/18

4. Lnh trong Linux


a. Cch vit lnh
Lnh trong Linux thng c dng: tn_lnh tham_s i_s Trong tham s iu chnh cch thc hin lnh cn i s thng l i tng b lnh tc ng ln. Tham s, i s c th vng mt, trong c php ca lnh nu mt thnh phn no c th vng mt th n c trong du ngoc vung [ ], nu buc phi c mt th trong du ngoc nhn <> hoc khng. V d c php lnh man l man [section] tn_lnh. Trc tham s thng phi c du gch, i s th khng cn. Tham s c 2 dng: Dng ngn bt u bng mt du gch ngang v d cp r Dir1 Dir2 Dng di bt u bng hai du gch ngang v d cp recursive Dir1 Dir2 Hai lnh trn l mt, cng copy Dir1 thnh Dir2. Thng tham s dng ngn l vit tt ca dng di (r vit tt ca recursive). C mt s tham s no rt nhiu lnh hay dng gn nh thnh qui c, chng hn: v hoc verbose (ting Anh, verbose c ngha l di dng) dng hin th nhng thng tin m t qu trnh thc hin lnh. f hoc force thc hin lnh m khng cn tng tc vi ngi dng vv.. Lnh trong Linux phn bit hoa thng nn tham s v s khc vi V. C th vit nhiu lnh trn cng mt dng nhng phi c du chm phy (;) gia V d: mkdir /mnt/USB; mount /dev/sdb1 /mnt/USB; cd /mnt/USB C th ngt mt lnh thnh nhiu dng ( cho d theo di) bng cch thm du \ vo ch cn ngt v enter.

b. Thc thi executable file


Khi ngi dng g mt lnh thc cht l thc thi mt executable file (file kh thi nh cc file .exe ca Windows) no c tn trng vi tn lnh. Shell tm executable file ny (lnh) trong 4 ng dn mc nh l /bin, /sbin, /usr/bin, /usr/sbin, nu khng tm thy n s thng bo command not found. Cc ng dn m shell cn tm c lu trong bin PATH ca shell, ngi dng c th sa bin ny. Lnh which <command> cho bit chnh xc file lnh nm di th mc no trong 4 th mc mc nh kia. V d: which mkdir cho bit /bin/mkdir lnh mkdir myDirectory tng ng vi lnh /bin/mkdir myDirectory Gi s ngi dng ang th mc /home/userX, th mc ny cha mt executable file c tn l exefile. thc thi file ny, trong DOS ngi dng ch cn g lnh exefile l , nhng vi Linux, shell s thng bo command not found l do l bin PATH ca DOS c cha th mc hin hnh cn ca Linux th khng. Vi shell ca Linux phi g lnh . /exefile hoc /home/userX/exefile tc l phi ch r ng dn ra.
[root@localhost userX]# exefile bash: exefile: command not found [root@localhost [ OK ] [root@localhost [ OK ] userX]# /home/userX/exefile userX]#

./exefile

Cng ni thm, trong DOS/Windows tn mt executable file lun c ui l .exe hoc .com, nhng trong Linux khng c ui no c trng cho mt excutable file c. 4/18

c. Shell script
Shell script l mt plain text file cha dy cc lnh shell. Khi thc thi shell script th dy cc lnh trong n c thc thi. Shell script tng t nh file batch ca DOS nhng mnh hn rt nhiu. Ngi ta thng ly tn file shell script c ui l .sh nhng iu ny khng bt buc. C 3 cch thc thi mt shell script myscript bash myscript sh myscript ./myscript Nhng trc ht phi m bo ngi gi file c quyn thc thi myscript. Nu l root c th nhanh chng t quyn thc thi cho file bng lnh chmod +x myscript (xem thm bi qun tr file permission)

d. Metacharacters
Mt lnh c th cha metacharacters (siu k t) l cc k t c bit <, |, >, &, !, v cc loi du ngoc nh , , ` . y l nhng k t c ngha c bit i vi shell khi thc hin lnh. Cc metacharacters thng (v nn lun l nh vy) khng c dng t tn. C rt nhiu metacharacters, di y l mt s hay dng: Wildcards (k t i din): * v ? Du * i din cho mt s lng bt k k t. V d: ls /root/b* lit k tt c cc file bt u bng 1 ch b Du ? i din cho ng mt k t bt k. V d: ls /root/b? lit k tt c cc file c tn gm 2 k t, k t u tin l b. Ranges (min): [ ] v {} Cp [ ] nh ngha mt min gi tr. Thm du ! trong cp ny ch nm ngoi min. V d 1: ls a[3-7][bx][b-x] lit k tt c cc file c tn gm 4 k t, k t u l ch a, k t th hai l 1 ch s trong khong t 3 n 7, k t th ba l k t b hoc x, k t cui l mt k t trong khong b n x. V d 2: ls [!Aa]* lit k tt c cc file c tn gm t nht mt k t, k t u khng phi l A hoc a Cp { } lit k cc gi tr c th nhn. V d: ls index.{htm, html} lit k cc file c tn l index.htm hoc index.html. Escape codes: k t \ (back slash). Khi mun dng mt metacharacter no m mun shell khng hiu n l metacharacter th thm du \ ng trc. Nu mun dng chnh du \ th thnh \\. V d: mkdir Van\ ban\\Cong\ van to mt th mc c tn l Van ban\Cong van. K t du cch v \ c dng trong tn u l metacharacters Quotes: c cc loi du ngoc l , , `` (back tick). Khi dng du ngoc , th tt c cc k t trong du ngoc c hiu khng phi l metacharacters. Vn vi v d trn, c th ch cn: mkdir Van ban\Cong van hoc mkdir Van ban\Cong van. S khc nhau gia , qu tinh t ti liu ny khng cp n. Du `` thng c dng khi vit lnh shell, ti liu ny cng khng cp n.

e. Help
C v cng nhiu lnh, mi lnh li c rt nhiu tham s, gip ngi dng tra cu, Linux c mt tp cc manual (hng dn s dng) v gn nh tt c cc lnh. Tp manual ny c chia lm 8 section (mc): 1 General commands 2 System calls 5/18

3 C library functions 4 Special files (usually devices, those found in /dev) and drivers 5 File formats and conventions 6 Games and screensavers 7 Miscellanea 8 System administration commands and daemons tra cu mt ln no trong tp manual ny dng lnh man <tn_lnh>. Khi trang man hin ra, ngi dng c th dng cc phm di chuyn, PgUp/Down xem, mun thot ra bm q. gc trang man c con s trong ngoc cho bit section ca trang man . C nhng lnh thuc nhiu hn 1 section v d lnh exit thuc 3 section l (1), (2), (3) nhng khi man ch ra mt section, mun tra cu lnh trong cc section khc dng lnh man section <tn_lnh> V d man 2 exit hoc man 3 exit Ngi ta dng lnh man trong trng hp bit tn lnh, qun tham s. Trong trng hp qun c tn lnh, nu ch nh c vi ch ci u tin ca lnh hy g vi ch ci u ri bm phm Tab hai ln hin th danh sch nhng lnh bt u bng cc ch ci . Khi khng nh c cc ch ci u ca lnh th dng lnh apropos <mt cum tu nao > tra cu nhng lnh no c tn hoc phn gii thch lin quan n <mt cm t no > (apropos ting anh c ngha l lin quan n) Lnh man, apropos trn u tra cu trong tp man ca Linux. Ngoi tp man ca Linux th bn thn mi lnh cha thng tin gii thch v lnh ngn hn so vi man, mun xem ch vic g tn lnh v thm tham s - - help

f. History
ly li lnh va g trc dng phm hoc . lit k mt s lnh va g dng lnh history

4. su
Nu l normal user th bn khng th thc thi cc lnh thao tc vi h thng c, bn c rt t quyn. Khi ang ti khon normal user chuyn sang ti khon root (gi s bn c password ca root) m khng phi log out ri li log in th ti du nhc shell g lnh su (substitute user thay i user) sau g password. Cng c th chuyn nhanh sang mt ti khon bt k bng lnh su [-] [username]. Mi ti khon c mt mi trng shell vi nhng cu hnh shell ring bit, dng du trong lnh su m bo cc cu hnh shell cng c chuyn theo khi chuyn user.

5. Cc thao tc quen thuc vi File v th mc


a. Cu trc file v th mc ca Linux khc vi ca Windows
Trong Windows/DOS file v th mc c lu vo trong cc partition (phn vng) c nh k hiu C:, D:, Mi partition s c mt th mc gc l C:\, D:\ Trong Linux, ch c mt th mc gc duy nht l /. Di / l cc th mc con v file, mt s th mc con no c chn lm u ni vi cc partition khc. Th mc c chn c gi l mount point, cc partition s c mount (ni) vo cc mount point. Nh vy ngi dng Linux s khng c cm gic r rng v cc partition ca a cng m ch thy mt cy th mc khng l, mt s nhnh no ca cy th mc ny s dn n mt s partition khc. Xt v d minh ha s khc nhau gia cy th mc ca Windows v Linux nh hnh v:

6/18

Gi s my tnh c mt a cng v c chia lm 3 partitions: partition 1 cha h iu hnh, partition 2 cha cc ti liu cho cng vic (Works), partition 3 cha phim, nh gii tr (Entertains). Nu ci Windows, ngi dng s thy r 3 partition: partition C: (nhn OS) cha Windows, partition D: (nhn Work) cha ti liu cng vic, v partition E: (nhn Entertainment) cha phim, nh gii tr. Nu ci Linux, ngi dng c cm gic ch c 1 partition tn l / (c l partition root) cha tt c mi th t h iu hnh n Entertains v Works. K thc vn l 3 partition nhng gi y khng c k hiu l C, D, E na m l hda1, hda2, hda3. Partition hda1 cha h iu hnh nhng d nhin file th mc ca Linux (boot, bin, home, usr, var, ) s khc vi Windows (Documents, Program Files, Windows). Partition hda1 c mount vo /. Partition hda2, hda3 c mount vo mt th mc trong partition hda1 m y l /mnt/Entertains v /mnt/Works.

ng dn th mc ca Linux cng ging nh Windows ngoi tr vic dng du / thay v dng du \; v d trong Linux l /Dir/subDir th tng ng trong Windows l C:\Dir\subDir. Cn thn vi du / ! Khi n nm u mt ng dn th n ch th mc gc v ng dn bt u t th mc gc, ngi ta gi l ng dn tuyt i. Khi ng dn khng cha du / u th ng dn bt u t th mc hin hnh v c gi l ng dn tng i. V d: lnh mkdir /Report (to th mc Report trong th mc gc /) s khc vi lnh mkdir Report (to th mc Report trong th mc hin hnh).

b. Cc lnh xem, to mi, xa, di chuyn, i tn file v th mc


Khi mi ng nhp, th mc hin hnh l th mc home ca ngi ng nhp. Th mc home ca ngi s dng c dng lu d liu c nhn ca ngi s dng . Th mc home ca root l /root, ca normal user l /home/tn_user. Th mc /home/ ca Linux c phn ging Documents and Settings ca Windows NT) xem th mc hin hnh dng lnh pwd (present working directory). thay i th mc hin hnh dng lnh cd <uong dn thu muc> (cd vit tt ca change directory). Thng kt hp lnh cd vi

7/18

du chm chm (..) ln th mc cha, u ng (~) quay v th mc home ca user hin hnh, du ng km theo tn user ch th mc home ca user c tn . Du chm (.) ch th mc hin hnh. V d 1: Root ang /, dng cd ~ quay v /root, dng cd ~Jackson v /home/Jackson. V d 2: ang th mc /home/userX/. Hai lnh cd ./../../ v cd ../../ l tng ng nhau u chuyn sang /. Hai lnh cd ../../home/userX v cd . l tng ng nhau v u khng thay i th mc hin hnh. Mt iu cc k quan trng gim cng sc g lnh l dng chc nng autocomplete tn file v th mc.

Khi g tn th mc hoc tn file, ch g 1 hoc vi ch ci u ri bm phm TAB t ng in nt phn tn cn li hoc bm thm TAB mt ln na hin th tt c nhng file, th mc c cng cc ch ci u nh ang g. Hy tp thi quen TAB hoc TAB TAB.
V d: thay v g cp /boot/vmlinuz-2.6.9-5.EL /backup di dng th hy g cp /boot/vm TAB /backup Khi bn g mt lnh th thc cht l bn gi file c tn trng vi tn lnh trong th mc /bin, /sbin, /usr/bin hoc /usr/sbin th nn nu khng nh tn lnh th cng c th g vi ch ci u ri bm TAB. V d: gi s nh g lnh apropos nhng li khng nh r th ch cn g ap TAB Xem ni dung ca th mc: lnh ls (vit tt ca list), thm tham s -l (vit tt ca long) bit y thng tin, tham s -a (vit tt ca all) hin th c file, th mc n. (Trong Linux cng c lnh dir (vit tt ca directory) ging trong DOS). V file v th mc trong Linux u c th vit hoa v thng nn du hiu phn bit file v th mc khi dng lnh ls l mu sc: th mc c mu tm, file c mu thng thng, mt s loi file c bit khc nh link, device, (ni phn sau) c mu sc khc. Mt s loi file thng vi cc nh dng c bit nh file tar, gzip hoc executable file cng c mu sc ring. Di y l m t thng tin m lnh ls l a ra. Gi s g ls al /mydir

drwxr-xr-x

root

root

4096

Oct 12 10:14

thumuc1

Kiu file

Quyn thao tc vi file

Chu S lin kt file Nhom chu file n file

Kich thc file (byte)

Ngay gi tao file

Tn file

8/18

Trong Linux, cc file v th mc n c tn lun bt u bng du chm (.) v ch khi c tham s -a trong lnh ls mi hin ra, trn hnh v c 1 file n l .config v 2 th mc n l chm (.) v chm chm (..). Trong mt th mc bt k cng lun c hai th mc n chm (.) v chm chm (..) tng ng vi th mc hin hnh (k hiu . ) v th mc cha (k hiu ..) khi dng lnh cd. (Kiu file, quyn thao tc vi file, s lin kt vi file xem phn sau.) Tn file v th mc trong Linux c th cha mi k t tr / v dnh cho k hiu root. Tn c th cha cc k t c bit (du cch v ! @ # $ & ~ % * ( ) [ ] { } " \ : ; > < ) nhng trc phi thm du \ hoc tt nht l tt c trong du ngoc kp. V d: cd /My\ File hoc cd /My File vo th mc My File di /. hin th ni dung file dng lnh cat tn_file, nhng vi nhng file text di ngi dng khng th cun ln cun xung tng trang mn hnh xem c. Mun vy dng lnh less hoc more. (ch tuy tn gi nh vy nhng less ra i sau v ci tin hn more). Vi less dng cc phm mi tn, phm PgUp, PgDown xem; vi more dng phm Space bar tin, b li. Cui cng bm q quit. 5 thao tc c bn vi file v th mc: to mi, i tn, di chuyn, copy, xa a. To th mc mi: mkdir <tn_thumuc> (vit tt ca make directory) b. To mt file mi bng lnh cat > tn_file, sau g ni dung file, cui cng bm CTRL + D lu file. Nu tn_file c sn th lnh cat > tn_file s ghi , mun ghi tip vo cui file (append) th dng lnh cat >>tn_file. to mt file rng dng lnh touch <tn file>. V d: touch file1 file2 lnh ny to 2 file rng tn l file1, file2 cng lc. c. i tn/di chuyn file v th mc: mv <source> <target>. i. V d 1: mv X Y: i tn file/th mc X thnh Y mv X /Y: di chuyn file/th mc X vo trong th mc/Y. ii. V d 2: mv * .. di chuyn tt c file, th mc trong th mc hin thi ra th mc cha. d. Copy file v th mc: cp <source> <target> Nu copy th mc khng rng phi thm tham s -r (hoc recursive) thnh cp r V d 1: chp ton b file v th mc con trong th mc hin hnh vo th mc /target ( c sn): cp r * /target V d 2: chp th mc /source vo th mc hin hnh: cp r /source . (ch du chm cui) e. Xa file hoc th mc rng: rm <tn file ho c th m c> (ngoi lnh ny Linux cng c lnh rmdir ging DOS xa th mc rng). Nu th mc khng rng phi thm tham s -r (hoc --recursive). Tuy nhin ngi dng s phi xc nhn vic xa tng file v th mc con, xa khng cn hi dng thm tham s -f (hoc - - force). Tm li xa mt th mc mt cch nhanh nht dng lnh rm rf V d: rm rf * xa tt c nhng g c trong th mc hin thi

c. Midnight Commander (mc)


Nu bn khng c giao din ha KDE, GNOME th vic thao tc vi file, th mc bng cch g lnh c th l mt cc hnh. Lc hy dng phn mm Midnight Commander (ly cm hng t phn mm Norton Commander kinh in ca thi DOS), nu Linux ci phn mm ny th ch cn g lnh mc. Giao din MC, NC c 2 khung ca s vi file, th mc; cc thao tc nh cp/mv/mkdir/rm/cat/vi c thc hin bng phm tt F5/F6/F7/F8/F3/F4 v cng tin li v nhiu tnh nng khc.

9/18

d. Link
Trong Linux c mt kiu file l link, l mt con tr tr ti mt file khc. C hai loi link l soft link v hard link: khi nim softlink ging nh shortcut trong windows, hardlink ch l mt ci tn b danh cho mt file c sn. Chi tit hn v link cn c kin thc v Ext2 filesytem m y khng cp n, ch nu ra nhng c im d thy trong thc hnh: Soft link Hard link Tr ti file hoc th mc Ch tr ti file C th nm bt c u Ch nm trn cng partition vi file gc Nu file, th mc gc b rename, move, delete th Nu file, th mc gc b rename, move, delete th link link s b hng khng b hng Lnh ln to link c tham s -s (soft): Lnh ln to link khng tham s: ln s <tn File> <tn Link> ln <tn File> <tn Link> Khi ls-l, bn cnh tn cc softlink c du mi tn tr n file gc, thng tin v hardlink ca mt file trng y nguyn vi file gc. -rw---------- 1 lrwxrwxrwx 1 -rw---------- 2 root root root root root root 223 9 223 Oct 12 10:14 file Oct 12 10:14 softlink file Oct 12 10:14 hardlink

e. Archive v Compress file


Hai thao tc: archive gp nhiu file li thnh mt file, compress nn file c size nh hn rt c a dng (Ngi dng Windows thng coi thao tc nn hin nhin l bao hm thao tc gp nhiu file). Trong UNIX/Linux, nh dng file archive ph bin nht l .tar (nhng file .tar cn c gi l tarball), nh dng file nn ph bin nht l .gz hoc .bz. Chng trnh quen thuc lm vic vi nhng file ny l tar, gzip, bzip2. Ngi s dng khi download mt software no dng source code lun phi gp file kiu tar v gz. Khi dng cc lnh tar, gzip, bzip2, zip nh di y nu thnh cng s khng c thng bo g, do nn thm tham s -v (--verbose) hin th thm cc thng tin: danh sch cc file c (un)tar, t l nn, tar: gp/tch nhiu file, th mc thnh mt file .tar tar file: tar cf <tn file se tar thnh> <danh sch cc file/th mc cn tar> V d: tar cvf tarball.tar file1 file2 file3 DIR1 DIR2 xem cc file c trong file tar: tar tf <file.tar> untar file ra th mc hin thi: tar xf <file.tar> Tham s -c ngha l create, -x ngha l extract, t (hoc --list) ngha l list, f ch lm vic vi file gzip (GNU zip) nn/gii nn mt file thnh file .gz gz file: gzip <tn_file>. Cn thn: sau lnh ny file gc tn_file s b replace bng file mi c tn l tn_file.gz ! ungzip file: gunzip <file.gz> hoc gzip d <file.gz>. (d vit tt ca decompress) Ch : gzip ch lm nhim v nn mt file, cn mun nn nhiu file trc phi dng tar. Cc gzipped tarbal ngoi c ui l .tar.gz cn c ui l tgz. Trn mt s Linux distro c th ng thi ungzip v untar bng mt lnh: tar xzf <tn gzipped tarbal> bzip2 tng t nh gzip vi bzip2 nn, bunzip2 hoc bzip2 d gii nn zip nn nn nhiu file, th mc thnh mt file.

10/18

nh dng file nn trn cc non-*nix OS ph bin l zip, *nix OS c cng c zip c chc nng gp v nn file zip lun rt tin: zip <tn file s zip thnh> <danh sch nh ng file zip> gii nn dng unzip <file.zip>

f. Tm kim file v th mc
tm kim file hoc th mc theo mt tiu ch (criteria) tm kim no s dng lnh find where-to-search criteria what-to-do Where-to-search l danh sch cc th mc cn tm, mi th mc c ngn cch nhau bi mt du cch Cc criteria (tiu ch tm kim) c th l -name, -size, -user, -type, -perm, -mtime hoc -atime What-to-do l cc lnh thc hin ln nhng file, th mc va tm c, thng bt u bng execute, kt thc bng \; V d 1: find . tm tt c (do khng c tiu ch no c k ra) file, th mc trong th mc hin hnh (k hiu bng du chm). Lnh ny thc cht l lit k ng dn ca tt c cc file v th mc trong th mc hin hnh. V d 2: find /root ~Jackson name *doc? tm trong th mc /root/ v th mc /home/Jackson/ nhng file v th mc c tn kt thc bng doc v mt k t bt k. Tn c cha wildcard c t trong 2 du ngoc. V d 3: find . ~ -size +100k type f tm trong th mc hin hnh v th mc d liu ca ngi ng nhp cc regular file c kch thc hn 100K. Trong Linux, c 7 kiu file l -, l, d, b, c, p, s (xem mc 6 bi ny); y kiu (regular file) c thay bng f khng ln vi k hiu - trc tham s) n v size l c (byte), k (kilo Byte), M (Mega Byte), G (Giga Byte); du + ch ln hn, du ch nh hn, khng c du ngha l bng.

V d 4: find . user Jackson size -100M atime -60 tm trong th mc hin hnh nhng file hoc th mc c ch s hu l Jackson, kch thc file nh hn 100M, c truy cp cch y khng qu 60 ngy. Tham s atime l vit tt ca acess time, n v tnh l ngy. Tng t mtime nh di y l modified time V d 5: find /home/ /root/ -perm -220, -mtime 3 tm trong cc th mc ca ngi s dng (root v normal user) cc file hoc th mc c quyn write vi ch s hu v nhm ca ch s hu, c sa cha ng 3 ngy trc y. Sau lnh tm kim thu c mt danh sch (c th rng) cc file v th mc. thc hin lnh ln tng file, th mc trong danh sch ny dng |xargs. thc hin lnh ln c danh sch file, th mc ny th sau lnh find thm excute, ri vit lnh, kt thc lnh bng \;. Danh sch file v th mc tm thy c k hiu bng { } v trong v d 7 c dng lm tham s cho lnh rm. V d 6: find / -user Jackson | xargs ls l hin th thng tin chi tit (bng lnh ls l) ca tt c cc file, th mc ca user Jackson V d 7: find / -empty -user Jackson excute rm -rf {} \; tm v xa tt c nhng file v th mc rng ca user Jackson. V d 8: find / -exec -nouser -execute mv {} /tmp \; di chuyn tt c nhng executable file khng thuc quyn s hu ca ai vo /tmp. (nh c \; ) Vic tm kim trn / nhiu khi rt lu, lnh locate di y tuy khng mnh bng find nhng tc nhanh hn hn. Linux c file c s d liu /var/lib/slocate/slocate.db lu tr ton b ng dn cc file v th mc ca h thng, mi dng trong file ny cha mt ng dn n file, th mc no . C th tm kim file, 11/18

th mc theo tn bng lnh locate <string> tm ra nhng dng c cha ng xu <string> trong file slocate.db trn (string khng t trong du ngoc no ht). khi to c s d liu ny hoc cp nht n (v vic ghi file, th mc din ra thng xuyn) dng lnh updatedb. V d: Gi s c file /root/myfile.txt (to ra bng lnh touch /root/myfile.txt). Sau cp nht slocate.db bng updatedb. Gi tm ng dn cho file ny, dng lnh locate myfile.txt. Lnh trn cho cng kt qu vi locate ot/my, ti sao vy ?

6. Filesystem Hierarchy standard


/ l th mc gc, theo mc nh th di n l cc th mc sau : /boot/ cha file kernel, ramdisk, GRUB bootloader - y l nhng file c ti vo RAM u tin. /dev/ cha cc file device. Khi mt device c attach vo my th s sinh ra thm file mi th mc ny. /etc/ cha cc file cu hnh ca h thng, tt c u l plain text. /proc/ cha cc virtual file, cc file ny cho bit trng thi hin hnh (ca cc process, device, ) ca h thng. /var/ cha cc variable data files. /bin/, /sbin/, /lib/ cha cc binary files /bin/: cha cc lnh c bn cho mi user nh pwd, cat, /sbin/: cha cc lnh ch ca root nh fdisk, /lib/: th vin cc hm v kernel modules m /bin/ v /sbin/ thng gi n /srv/ cha cc file cho cc service ca h thng /tmp/ cc chng trnh khi chy thng lu cc temporay file vo y /opt/ cha cc extra software package m trong lc ci Linux ngi dng nh du thm vo ngoi default installation. /usr/ cha cc chng trnh do ring ngi s dng ci vo, ging Program Files ca Windows /home/, /root/ cha d liu ca ngi s dung. D liu ca root nm trong /root/. D liu ca cc normal user nm trong /home/. Chng hn c mt account tn l student, d liu ca student s nm trong /home/student. Ging Documents and Settings. /mnt/, /media/ Hai th mc ny thng (nhng khng nht thit) c lm mount point cho cc thit b. Nu l removable device nh CD, FDD thng c mount vo di /media/, cc device khc (nh HDD) thng c mount vo di /mnt/ Tt c cc th mc trn khng phi lc no cng c t chung di partition /. Chng hn /boot/, /opt/, /usr/ thng c t cc partition ring ri c mount vo /. Trong Linux, trn mi partition cn thng c th mc lost+found lu nhng file hng c pht hin trong qu trnh kim tra disk sau mi ln h thng gp s c. (Trong mi th mc trn, li c nhng th mc con trong n, mun bit chi tit xem ti http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/)

12/18

7. Khi nim file theo ngha rng trong UNIX/Linux


Ngi s dng Windows quen vi file v th mc, sang Linux khi nim file c m rng hn, bao trm c file v th mc ng thi c cc device, socket, pipe. Th mc c nhng c im ging vi file: - vi file c thao tc c ghi th vi th mc cng c thao tc c ghi. - th mc cng c th coi l mt file c ni dung l danh sch cc file/th mc con ca n. n y bn c tm chp nhn c rng th mc cng l file. Qua cc bi sau v device, socket, pipe bn c ri cng s thy nhng khi nim ny c nt chung vi khi nim file nn c th khi qut ha ln tt c l file. Ngi ta thng hay ni Vi *nix mi th u l file, nu khng l process. File (theo ngha rng, nhng t y tr i ta ch ni file khng thi) trong Linux gm 7 kiu sau: Loi file K hiu Regular file (file theo ngha thng) Directory d Device file (hay special file): gm 2 loi + Block device b + Character device c Link l Socket s Named pipe p Khi dng lnh ls l mi file s c mt dng m t, k hiu u tin ca dng ny cho bit k hiu kiu file theo bng trn. Hy th vi ls l /dev/ s thy ton b cc file y c kiu b hoc c trong khi d ls al / ch c kiu d hoc . Mun c thng tin chi tit hn v kiu file dng lnh file <tn file> (file theo ngha rng). V d hai file /root/.bash_profile v /bin/cat u l regular file (k hiu l khi dng lnh ls l) nhng vi lnh file /root/.bash_profile v file /bin/cat s ch r mt loi l ASCII text, mt loi l 32-bit excutable. 13/18

8. Redirection v xargs
a. Redirect stdin, stdout, stderr to file (phn ny vit kh hiu, phi b bt i)
Mt lnh khi khng c gi n n vn ch l mt executable file nm im lm trn HDD. Khi ngi dng gi n n, BASH shell s a n vo RAM thc thi lc ny n tr thnh process (tin trnh). ng thi shell cng kt ni process ny vi 3 file l /dev/stdin, /dev/stdout, /dev/stderr (vit tt ca standard input, output, error). Mc nh: /dev/stdin gn vi bn phm ca virtual console: mi k t m ngi dng g trn bn phm u lu vo file /dev/stdin. /dev/stdout gn vi mn hnh ca virtual console: mi kt qu m process (lnh) cn in ra mn hnh th ghi vo file /dev/stdout. File ny ri li c xut ra mn hnh. /dev/stderr gn vi mn hnh ca virtual console: khi cn thng bo li process (lnh) s ghi vo file /dev/stdout. File ny ri li c xut ra mn hnh. Khi chy, process rm ny s tm file myfile.txt, nu khng thy n ghi thng bo myfile.txt doesnt exist ra /dev/stderr, m stderr c gn vi mn hnh nn ngi dng nhn thy thng bo trn mn hnh. Sau khi ghi xong, stderr c ng li, mn hnh c t do. stdin Nu tm thy file, process ny s ghi thng bo Really want to delete (y/n) ? ra /dev/stdout do stdout c gn vi mn hnh nn ngi dng cng nhn thy thng bo trn mn hnh. Xong vic stdout cng c ng li. Sau khi nhn c thng bo, ngi dng s g y hoc n v bn phm gn vi /dev/stdin nn k t

V d 1: lnh xa file rm myfile.txt. -

rm myfile
stderr stdout

ny c ghi vo stdin, process sau s c stdin quyt nh vic xa file. Ngi s dng c th t iu chnh li vic gn stdin, stdout, stderr vo i tng khc, khng phi l bn phm, mn hnh na. Vic iu chnh ny gi l redirection (iu hng). redirection thm vo lnh k hiu ca cc std ny (xem bng) v km thm a ch file cn gn vo. File y c hiu theo ngha rng, c th l mt regular file trn HDD, mt process, mt socket no . y ta ch bn n redirection n regular file. File /dev/stdin /dev/stdout /dev/stderr V d 2: lnh ls l. Nu mun kt qu ca lnh thay v c in ra mn hnh m in ra file /root/result.txt hoc nu c li th ghi ra file /roo/error.txt: 14/18 ngha File descriptor Standard input 0< (hoc <) Standard output 1> (hoc <) Standard error 2>

o ls l > /root/result.txt 2> /root/err.txt o hoc dng y tng ng: ls l 1> /root/result.txt 2>/root/err.txt Gi s c file place.txt lu ng dn ca mt th mc, lit k file, th mc con ca th mc ny, bn c c th ngh rng dng lnh ls l < place.txt nhng nu th bn c s thy kt qu khng nh mong i. Ch c danh sch file, th mc con ca th mc hin hnh c lit k ra m khng phi ca th mc c ng dn c ghi trong file place.txt, mc d ch r < place.txt. L do y l lnh ls khng h lm vic vi stdin nn vic redirection li stdin cng khng nh hng n qu trnh thc hin lnh. Do lnh ls l <place.txt tng ng lnh ls l. Nhu cu trn c gii quyt bng lnh xargs ch khng phi bng redirection: cat place.txt xargs ls l . trnh nhm ln kiu ny xem thm xarg mc 8.

Nhn xt: rt nhiu lnh khng lm vic vi c 3 stdin, stderr, stdout, lc vic redirection s khng c ngha g. V d 3: lnh cat. Khi g lnh cat myfile.txt th: o Stdin ca cat c gn vi myfile.txt, cat c d liu t stdin vo buffer o Stdout ca cat c gn vi mn hnh, cat ghi d liu t buffer vo stdout Nh vy bn thn lnh cat khng theo mc nh gn stdin vi bn phm m gn stdin vi myfile.txt, th nn lnh cat < myfile.txt l tng ng vi cat myfile.txt. Lnh cat < source_file > target_file tng ng vi cp source_file target_file Lnh cat ngoi vic hin th ni dung file c th redirection li c lnh to mi file: cat > newfile Ngi dng g ni dung v bm CTRL + D kt thc. V d 4: lnh rm file1 file2 file3 s 3 ln hi ngi dng Really want to delete (y/n) ?. Nu to ra mt file answer.txt c 3 ch ci y, n, y mi ch ci nm trn mt dng y n y Lnh sau s t ng tr li theo file answer.txt: rm file1 file2 file3 <answer.txt v kt qu ch c file1, file3 c xa. Vic redirect cho stdout, stderr trn lun ghi vo file c gn vo, tc l nu thc hin lnh cat > myfile hai ln th ni dung g vo ca ln sau ghi ln ln trc. khng ghi m ghi tip vo phn cui (append) ca file th dng du >> thay v >, c th l dng 2>>, 1>> (hoc >>) thay v 2>, 1> (hoc >). V d 5: cat >> my_file ghi vo phn cui file my_file. Khi mun c stdout v stdin cng gn vo mt file no th an ton nht l dng lnh command 1> file 2>&1 hoc command 2> file 1>&2 hoc command &> file y 2>&1 (hoc 1>&2) hoc &> c ngha l 2> (hoc 1>) c gn vo cng file ca 1> (hoc 2>) tc l c 2 std cng gn vo mt file, nhng ti mt thi im ch c mt std c ghi vo file. Ch tnh hung: 1> ghi vo file, sau n lt 2> ghi vo file v lm mt ni dung ca 1>, do nn dng 1>>&2 (hoc 2>>&1). Nu bn ngh rng ti sao khng dng lnh command 2> file 1> file phi ri mt vi k hiu & ? Suy ngh ny hp l nhng cc shell khng chp nhn cch vit nh th ny. 15/18

Khi BASH shell thc thi mt lnh n phn tch lnh t tri sang phi, nn cn ch th t redirection. V d 6: Phn bit 4 lnh sau: command 2>file 2>&1 // kt qu khng thay i g: &> mn hnh command 2>&1 1>file // 2>mn hnh, 1>file command 1>file 2>&1 // &>file command 1>&2 2>file // 1>mn hnh, 2>file Khi khng mun xut 1> v 2> ra u th hy xut vo /dev/null. V d 7: ls l &> /dev/null th thng bo li v kt qu s khng hin ra trn mn hnh hay u ht.

b. Pipe v kt hp vi grep, wc, sort, less


Khi mun cho 1> ca process (lnh) ny vo 0> ca process (lnh) khc c th dng file trung gian command_x 1> file command_y 0< file nhng hiu qu hn l dng command_x | command_y (ch du | ). Cng vic ny gi l pipe truyn thng lin tin trnh. V d: Lnh ls-l someDir nhiu khi in ra qu 1 trang mn hnh. Lnh less c kh nng hin th file vi chc nng cun ln cun xung trang mn hnh. Kt hp li c: ls l someDir | less rt thun tin. C th thay less bng more, nhng more th c hn less. Pipe thng c kt hp vi grep, wc, sort, less (more), head, tail grep: Tm nhng dng c cha mt xu no (thng c cho bi biu thc chnh qui) trong mt file hoc mt s file. V d: hin th nhng dng cha root trong file /etc/shadow: grep root /etc/shadow V d pipe cho grep: Th mc /dev/ lu nhng device ca my, lit k nhng HDD: ls l /dev/ | grep hd wc: m s character (c), word (w), line (l) trong file. V d m s dng trong file wc l myfile V d pipe cho wc: File /etc/passwd lu cc user ca h thng, mi user l mt dng. m s user trong h thng: cat /etc/passwd | wc l sort: hin th cc dng mt file theo thc t ABC hoc 123. V d: sort myfile V d pipe cho sort: Lit k cc file (theo ngha rng) trong th mc thnh tng nhm. ls l | sort head, tail: Hai lnh ny hin th 10 dng u/cui ca file, trong trng hp tng qut dng head n x hoc tail n x <tn file> (x l s dng). V d: head n 20 myfile. C th kt hp head vi tail hin th mt dng c th t bt k trong file. V d c file Table lu bng d liu, dng u ghi tiu ca cc ct, t dng th 2 tr i mi ghi cc dng d liu. Hin th dng d liu u tin ca bng: head n 2 Table | tail n 1 Ngoi kt hp vi grep, wc, less, rt mnh m; pipe c th kt hp vi lnh tee a stdin ca mt lnh va ra stdout va vo mt file. V d: ls l | tee list.txt lnh ny va lit k file, th mc ra mn hnh va ghi kt qu vo file list.txt

c. xargs
V d v lnh xargs: Cn xa mt lot cc file, ng dn cc file ny c lu trong file list.txt, mi dng mt file, dng lnh cat list.txt | xargs rm f Lnh xargs: command1 | xargs command2 dng a stdout ca command1 thnh i s ca command2. Nu stdout ca command1 gm n dng (n>1) th s c n lnh command2 c thc hin m mi lnh c i s l mt dng ca stdout. 16/18

Ngi mi lm quen vi pipe thng ngh rng c th thc hin yu cu trn bng lnh: cat list.txt | rm f Nhng khng ng, v danh sch cc file cn xa l i s ca lnh rm, ch khng phi l stdin ca lnh rm. Lnh rm ch m stdin khi cn ngi dng g y hoc n xc nhn vic xa file, stdin ca lnh rm khng gn vi file cn xa. Cn thn nhm pipe vi |xargs.

9. VIM editor
vi hoc sau ny l vim (vi improoved) l chng trnh nh son tho file text ph bin nht. G lnh vi <tn_file> son tho file mi hoc sa file c sn. vi c 3 ch (mod) c bn: - command mod: cho ngi dng s dng cc lnh nh undo, copy, paste, chnh sa vn bn. Ti y g i chuyn sang insert mod, g du hai chm (:) chuyn sang colon mod. - insert mod (c ch INSERT cui mn hnh) cho ngi dng chn/xa cc k t vo vn bn. - colon mod (c du 2 chm cui mn hnh): cho ngi dng g w save vn bn hoc q quit. Khi khng command mod, bm ESC quay v command mod. Ngay sau khi g vi <tn file>, ngi dng ch command mod. Hy bm i chuyn sang ch insert mod v sa cha vn bn bng cc phm di chuyn v Del, Backspace. Cui cng bm du hai chm (:) sang ch colon mod, ti y bm phm: - w lu (write) vn bn - wq lu ri quit lun - q! (nh c !) quit without saving copy, cut, paste trong vim: ti command mod (bm ESC) dng cc phm y, d, p nhng trc phi nh du (bi en) on vn bn cn copy, cut. C 2 cch bi en. Cch chm (vn ti command mod): Dng phm l, w nh du character, word. V d 1: sao chp 3 k t bt u t con tr hin hnh, bm y3w. Chuyn n ni cn paste bm p. V d 2: cut 5 t (word) bt u t con tr hin hnh, bm d5w. Chuyn n ni cn paste bm p. V d 3: copy/cut dng hin hnh bm yy hoc dd. Chuyn n ni cn paste bm p. Nh vy vic copy, cut c dng hi khc vi vic copy, cut tng character hoc word. Tng t nh l, w ngi ta dng phm (, { nh du t con tr hin hnh n u dng, on vn bn v ), } n cui dng, on vn bn. Ngi vit ti liu ny cng ch dng yy, dd thi ch dng n l, w, (, {, ), } th mt qu ! Cch nhanh: chuyn sang visual mode. Ngoi 3 ch command, insert, colon trn vim cn c th c thm visual mod nu lc ci t vim chc nng ny c chn. Ti command mod (bm ESC), bm v sang visual mod (nu c). Ti y ch cn di chuyn con tr l hp sng s bi en vn bn theo. Sau khi bi en xong bm y hoc d copy, ri di chuyn n ni cn paste bm p. Trong qu trnh son tho nu mun undo li thao tc trc th chuyn v command mod (bm ESC) v bm u (undo). C th tm kim trong vim bng cch chuyn v colon mod, g /<xu> (ch du /) t sng tt c cc xu trong vn bn. Xu y c th c cho bi biu thc chnh qui xem thm mc 10. Ngoi vim ra cn nhiu editor khc ph bin khng km, ch hn nano v emacs. Th xem.

17/18

10. Regular expression


Regular expression cn thng c vit tt thnh regex (biu thc chnh qui) l mt qui lut cho mt lot xu k t. V d biu thc chnh qui ab* i din cho cc xu k t a, abb, abbb. Khi nim Regex v Metacharacters (xem mc 3) l hai khi nim rt d b nhm ln bi regex v metacharacter cng s dng nhng k t c bit nh *, {}, \.... nhng cch s dng chng th khc hn nhau. Regex c dng khi x l text nht l khi tm kim xu trong file text; Metacharacters c dng khi vit lnh Shell. Hn na ng ngha ca 2 loi ny cng khc nhau: v d trn ta c regex ab*, vi metacharacters ta cng c v d ab* nhng n i din cho ab, abx, aby, abxyzt tc l cha c nhng xu m regex ab* khng i din cho. Cn phn bit wildcard *, ? c dng khi vit lnh v tn file, th mc cn *, ? trong regex c dng khi x l xu; ngha trong 2 trng hp l khc hn nhau. Regex c dng khi cn tm kim xu trong: 1. Ch search ca vim editor, less, more, man: C 3 lnh vi, less, more u c colon mod ch du hai chm. Ti y g / v mt regex t sng nhng xu tha regex. 2. Lnh tm kim grep: hin th nhng dng trong mt hoc mt s file text tha mn mt regex no ngha ca regex: K t trong regex a (hoc mt k t bt k) \<abc abc>\ ^ $ [range] v d [cy] \[ hoc \] [^c] ab* . Xu tha mn Xu cha k t a Xu bt u bng abc Xu kt thc bng abc Xu nm u dng Xu nm cui dng Xu cha k t nm trong min [range] v d t c n y Xu cha k t [ hoc ] Xu khng cha k t c Xu cha a, ab, abb, abbb, abbbb, Mt k t bt k

eregex (extend regex) cn cha thm k t c bit: |, +, ? K t trong eregex Xu tha mn A1|A2|A3 Xu cha A1 hoc A2 hoc A3 cat+ Xu cha t nht cat v cc k t khc theo sau bt k. V d: cat, catx, catmn, catabc, abx? Xu cha ab hoc abx V d 1: grep ^host file.txt hin th nhng dng bt u bng host trong file.txt V d 2: grep v ^$ file.txt hin th tt c cc dng tr dng trng trong file.txt. Tham s -v vi ngha tr ra nhng dng tha mn regex. Mt thi quen ca lp trnh vin l xu lun c trong du ngoc kp nhng nh bng trn cho thy ch khi xu cha k t c bit nh l *, +, ?, |, . th mi phi dng du ngoc kp. V d 3: tm xu Peter Thompson trong mt on text, ch cn g /Peter Thompson l , khng cn phi g /Peter Thompson (du cch y vn c tnh l k t thng). Nhng tm cc xu c dng Google hoc Gooogle, Goooogle, Gooooogle, Goooooogle, Gooooooogle, th phi g /Goo*gle

18/18

You might also like