Đề Cương Thực Hành Môn Hệ Điều Hành · PDF fileCác lệnh cơ bản liên quan đến đường dẫn Các lệnh liên quan đến việc khảo sát thư mục và

  • Upload
    lethuan

  • View
    227

  • Download
    6

Embed Size (px)

Citation preview

  • Ti Liu Thc Hnh H iu Hnh B mn HTMT&TT

    Ths. Phan Thng Cang - Ths. Bi Quc Thi Trang 1

    Cng Thc Hnh Mn H iu Hnh -----------------------------------------

    Mc Tiu: Ci t HH Linux v s dng shell script tm hiu cc thnh phn trong HH Linux nh: h thng file, qu trnh, b nh v xut nhp. Ni dung:

    Bui 1: Cc lnh c bn ca Shell Bui 2: C bn v lp trnh Shell Bui 3: Lp trnh cu trc v vng lp trong Shell Bui 4: Qun l tin trnh Bui 5: Qun l vo ra v tp tin Bui 6: n tp Ph lc: Ci t Ubuntu

  • Ti Liu Thc Hnh H iu Hnh B mn HTMT&TT

    Ths. Phan Thng Cang - Ths. Bi Quc Thi Trang 2

    Bi thc hnh bui 1

    GII THIU V SHELL V CC LNH SHELL C BN

    Ni dung thc hnh

    Tm hiu v shell Cc lnh c bn lin quan n ng dn Cc lnh lin quan n vic kho st th mc v file Cc lnh thao tc file Quyn truy xut file (file permission)

    1 Shell B thng dch lnh 1.1 Shell l g? Chng ta bit rng my tnh ch c th thc hin cc lnh dng nh phn (bit 0, 1), cn gi l m nh phn. Cc my tnh u tin mun thc hin c chng trnh th ngi dng phi np chng trnh di dng cc bit 0 v 1. y l mt iu rt phin toi v cc k kh khn vi con ngi. khc phc nhc im ny cc nh thit k v xy dng h iu hnh u c km theo mt chng trnh c bit. Thng qua chng trnh ny ngi dng c th nhp cc lnh di dng ngn ng cp cao (ting Anh) yu cu h iu hnh thc hin mt cng vic no . Chng trnh c bit ny c gi l Shell (B thng dch lnh). H iu hnh MS-DOS v Windows th c mi trng nh lnh command-line, h iu hnh Unix v Linux c mi trng Shell. Ch rng Shell khng l mt thnh ca h iu hnh m n s dng h iu hnh thc thi lnh, thao tc file H iu hnh Linux c th c nhiu loi Shell khc nhau, di y l mt vi Shell thng dng:

    Tn Shell c pht trin bi Ghi ch

    BASH ( Bourne-Again SHell )

    Brian Fox and Chet Ramey Free Software Foundation

    L Shell thng dng nht trong HH Linux

    CSH (C SHell) Bill Joy University of California (For BSD)

    L Shell c c php rt ging ngn ng C

    KSH (Korn SHell) David Korn AT & T Bell Labs

  • Ti Liu Thc Hnh H iu Hnh B mn HTMT&TT

    Ths. Phan Thng Cang - Ths. Bi Quc Thi Trang 3

    Mt vi lnh lin quan n shell Lit k tt c cc loi shell c th c trong h thng hin ti dng lnh: $cat /etc/shells Kim tra loi Shell ang c s dng: $echo $SHELL

    1.2 Khi ng Shell Nu chng ta ng nhp vo h iu hnh Linux di dng Text th mc nhin chng ta s phi trc tip lm vic vi Shell. Trng hp dng Linux di dng ha (graphic) th Shell s c khi ng khi ta khi ng ca s terminal (trong Fedora vo Applications / Accessories / Terminal). Khi Shell c khi ng ngi dng s c n cho v bt u nhp lnh t du nhc (prompt) nh sau $ Tuy nhin dng thc ca du nhc c th thay i ty h thng. N c th bao gm c tn ca my tnh (hostname), th mc hin hnh ang lm vic ca bn (current working directory). 1.3 Shell script l g? Nh ni trn shell l ni cho php ngi dng nhp lnh (thng thng t bn phm) v thc thi lnh. Nhng thay v ngi dng nhp tun t cc cu lnh v thc thi chng mt cch tun t th ngi dng c th lu cc lnh ny vo mt file text v yu cu shell thc hin file ny. iu ny c gi l shell script. 2 Cc lnh c bn ca Linux 2.1 Lnh chuyn th mc cd v ng dn trong linux Mc ch: Lnh cd cho php bn di chuyn n nhng im khc nhau trn cy th mc. C php tng qut: $cd path Trong path l ng dn ch n th mc m ta mun chuyn n. V d: Chuyn n th mc /usr/local/bin thc hin nh sau:

    Chuyn v th mc ca ngi dng hin ti ta nh lnh: cd

  • Ti Liu Thc Hnh H iu Hnh B mn HTMT&TT

    Ths. Phan Thng Cang - Ths. Bi Quc Thi Trang 4

    2.2 ng dn (Path) trong h iu hnh Linux Dng nh v mt ti nguyn no (thng thng l file) trong h thng cy th mc. xc nh xem bn ang v tr no (hay cn gi l th mc hin hnh) trong cy th mc s dng lnh: $pwd.

    V d:

    C 2 loi ng dn thng c s dng l: ng dn tuyt i v ng dn tng i. 2.3 ng dn tuyt i Xc nh y ton b ng dn t th mc gc (k hiu: / ) n ni cn nh v. V d: /dev /usr/bin /usr/local/bin chuyn vo th mc /user/local/bin dng lnh nh sau: $cd /user/local/bin 2.4 ng dn tng i ng dn tng i l ng dn c tnh t v tr hin hnh n v tr cn nh v. Mt ng dn tng i khng bao gi bt u vi k t /. V d: gi s chng ta ang th mc hin hnh l /usr. Khi chuyn n th mc /usr/local/bin chng ta s dng lnh: $cd local/bin (Trong khi nu s dng ng dn tuyt i th phi nh lnh: $cd /usr/local/bin) 2.5 Th mc cha .. Th mc cha ca th mc hin hnh c k hiu bng chui hai chm: .. K hiu ny thng c s dng vi lnh cd chuyn v th mc cha ca th mc hin hnh: V d: Gi s chng ta ang th mc hin hnh l /usr/local/bin v thc hin lnh $cd ..

  • Ti Liu Thc Hnh H iu Hnh B mn HTMT&TT

    Ths. Phan Thng Cang - Ths. Bi Quc Thi Trang 5

    Khi chng ta s c di chuyn v th mc /usr/local (th kim tra li bng lnh $pwd).

    Chng ta hon ton c th s dng k hiu .. trong ng dn tng i. Gi s c 2 ng dn /usr/local/bin v /usr/local/share v chng ta ang c th mc hin hnh l /usr/local/bin. di chuyn qua th mc /usr/local/share ta dng lnh: $cd ../share Lnh ny c ngha l yu cu h iu hnh di chuyn v th mc cha ca bin (l /usr/local) v chuyn tip n th mc share. 2.6 Th mc hin hnh . K hiu du chm . c dng th hin th mc hin hnh v c s dng yu cu shell thc hin mt chng trnh hay shell script no trong th mc hin hnh. V d: $./myprog myprog l mt shell script trong th mc hin hnh. 2.7 Th mc c nhn ~ Trong h iu hnh Linux mi ngi dng khi ng nhp vo u c mt th mc c nhn lu tr d liu ring. Khi mun tr v th mc c nhn ngi dng c th dng lnh cd khng tham s. Cho d ang bt k th mc no trong cy th mc. Ngoi ra k hiu ~ cng c dng xc nh l th mc cc nhn. V d ta thc hin chng trnh myprog trong th mc hin hnh, vi tham s l myfile.txt th mc c nhn bng lnh sau: $ ./myprog ~/myfile.txt

    2.8 Bin mi trng PATH Bin PATH l mt bin trong mi trng shell. PATH lu danh sch cc ng dn m shell da vo tm kim mt chng trnh hay file no khi cn thit sau khi tm kim th mc hin hnh khng c. kim tra bin PATH ang lu nhng ng dn no ta dng lnh: $echo $PATH Ch : PATH phi l k t hoa.

  • Ti Liu Thc Hnh H iu Hnh B mn HTMT&TT

    Ths. Phan Thng Cang - Ths. Bi Quc Thi Trang 6

    thm ng dn mi vo danh sch ca bin PATH ta c th gn ng dn cn thm vo sau bin PATH nh sau: PATH=$PATH: V d: (ch PATH=$PATH phi vit lin nhau)

    ng dn /root/shellscript/ c a vo bin PATH.

    3 Cc lnh lin quan n vic kho st th mc v file: ls, less v file 3.1 Lnh ls (list files v th mc) Lnh ls c dng lit k ni dung ca th mc. y l lnh c dng thng nht trong Linux. Lnh ls c s dng rt nhiu cch vi cc tham s tng ng. Di y l mt vi trng hp s dng ca lnh ls. $ls: lit k file trong th mc hin hnh V d:

    $ls -l: lit k files trong th mc hin hnh vi thng tin y (long format) V d:

  • Ti Liu Thc Hnh H iu Hnh B mn HTMT&TT

    Ths. Phan Thng Cang - Ths. Bi Quc Thi Trang 7

    Kt qu ca lnh ls vi tham s -l c chia thnh 7 ct:

    (1) (2) (3) (4) (5) (6) (7) Ct (1): xc nh quyt truy xut ca file hoc th mc. K hiu - th hin l mt file bnh thng, k t d xc nh l th mc. Tp hp cc k t theo sau c chia lm 3 nhm, mi nhm 3 k t. Cc k t ny c th l r (read), w (write), x (execute). Nhm 3 k t u th hin quyn ca ngi s hu (owner), nhm 3 k t k th hin quyn cho nhm (group) v nhm 3 k t cui th hin quyn cho tt c nhng ngi dng khc. Ct (2): th hin s lng ni kt kay lin kt (link) n tp tin hoc th mc (khi nim ni kt s c cp sau) Ct (3): xc nh ch s hu ca tp tin hoc th mc Ct (4): tn ca nhm c quyn tng ng trn tp tin hoc th mc Ct (5): kch thc tp tin hoc th mc tnh theo bytes Ct (6): thi gian m file hay th mc c cp nht. Ct (7): tn file hoc th mc.

    3.2 Lnh less Lnh less cho php xem ni dung ca file text. C php: $ less tn_file V d:

    Kt qu thc hin lnh trn nh sau:

  • Ti Liu Thc Hnh H iu Hnh B mn HTMT&TT

    Ths. Phan Thng Cang - Ths. Bi Quc Thi Trang 8

    Ni dung ca file c lit k theo tng trang mn hnh. duyt qua ni dung ca file ta dng cc phm chc nng nh sau: Page Up hoc b: cun ln 1 trang Page Down hoc space: cun xung 1 trang G: di chuyn n dng cui ca file 1G: di dhuyn n dng u ca file /chui: nhy n dng cha chui cn tm n: tip tc tm chui tm trc q: thot 3.3 Lnh file Lnh file c dng xc nh file thuc loi file g, chng hn nh file: ASCII text, Bourne-Again shell script text, JPEG image data, RPM C php: $file tn_file

    4 Cc lnh thao tc file 4.1 K t i din (wildcard) K t i din c dng xc nh tn file hay tp hp cc tn phai theo mt khun mu (pattern) no . Di y lit k cc k t i din v ngha ca n:

  • Ti Liu Thc Hnh H iu Hnh B mn HTMT&TT

    Ths. Phan Thng Cang - Ths. Bi Quc Thi Trang 9

    K t i din ngha * Trng khp vi bt k mt hay nhiu k t no ? Trng khp vi bt k k t n no

    [tp_hp_cc_k_t] Trng khp vi bt k k t no nm trong tp_hp_cc_k_t. Tp_hp_cc_k_t c th c th hin di dng 1 khon. V d [A-Z] th hin tp hp cc k t hoa.

    [! tp_hp_cc_k_t] Trng khp vi bt k k t no KHNG nm trong tp_hp_cc_k_t

    Di y l mt vi v d minh ha vic s dng k t i din.

    V d Gii thch * Tt c tn file g* Tt c cc file c tn bt u bng ch g b*.txt Tt c cc file c tn bt u bng ch b v kt thc vi .txt Data??? Tt c cc file c tn bt u vi Data v tip theo l chnh

    xc 3 k t. [abc]* Tt c cc file c tn bt u bng a hoc b hoc c theo sau

    l bt k k t g [A-Z]* Tt c cc file c tn bt u bng k t hoa theo sau l bt

    k k t g BACKUP.[0-9][0-9][0-9]

    Tt c cc file c tn bt u vi BACKUP k n l du chm v tip theo l 3 k s

    [!a-z]* Tt c cc file c tn bt u KHNG phi l k t thng theo sau l bt k k t g

    4.2 Lnh cp (copy) Lnh cp thc hin copy file hoc th mc. Di y l cc dng c bn ca lnh cp.

    C php Gii thch cp file1 file2 Copy ni dung ca file1 vo file2. Nu file2 cha tn ti th

    s c to ra, ngc li ni dung ca file2 s b chp chng.

    cp -i file1 file2 Ging nh trn, nhng trong trng hp file2 tn ti th ngi dng s c nhc nh trc khi file2 b chp chng.

    cp file1 dir1 Copy file1 vo trong th mc dir1 cp R dir1 dir2 Nu dir2 cha tn ti th dir2 c to ra v ni dung th

    mc 1 c chp vo. Trng hp dir2 tn ti thi th mc dir1 c to ra trong dir2 v ni dung ca th mc dir1 c chp vo dir1 trong dir2.

    4.3 Lnh mv (move) Lnh mv dng di chuy