Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
542,88 KB
Nội dung
Tài Liu Thc Hành H iu Hành – B môn HTMT&TT Ths. Phan Thng Cang - Ths. Bùi Quc Thái Trang 1 Cng Thc Hành Môn H iu Hành Mc Tiêu: Cài đt HH Linux và s dng shell script đ tìm hiu các thành phn trong HH Linux nh: h thng file, quá trình, b nh và xut nhp. Ni dung: Bui 1: Các lnh c bn ca Shell Bui 2: C bn v lp trình Shell Bui 3: Lp trình cu trúc và vòng lp trong Shell Bui 4: Qun lý tin trình Bui 5: Qun lý vào ra và tp tin Bui 6: Ôn tp Ph lc : Cài đt Ubuntu Tài Liu Thc Hành H iu Hành – B môn HTMT&TT Ths. Phan Thng Cang - Ths. Bùi Quc Thái Trang 2 Bài thc hành bui 1 GII THIU V SHELL VÀ CÁC LNH SHELL C BN Ni dung thc hành ̇ Tìm hiu v shell ̇ Các lnh c bn liên quan đn đng dn ̇ Các lnh liên quan đn vic kho sát th mc và file ̇ Các lnh thao tác file ̇ Quyn truy xut file (file permission) 1 Shell – B thông dch lnh 1.1 Shell là gì? Chúng ta bit rng máy tính ch có th thc hin các lnh dng nh phân (bit 0, 1), còn gi là mã nh phân. Các máy tính đu tiên mun thc hin đc chng trình thì ngi dùng phi np chng trình di dng các bit 0 và 1. ây là mt điu rt phin toái và cc k khó khn vi con ngi. khc phc nhc đim này các nhà thit k và xây dng h điu hành đu có kèm theo m t chng trình đc bit. Thông qua chng trình này ngi dùng có th nhp các lnh di dng ngôn ng cp cao (ting Anh) đ yêu cu h điu hành thc hin mt công vic nào đó. Chng trình đc bit này đc gi là Shell (B thông dch lnh). H điu hành MS-DOS và Windows thì có môi trng đánh lnh command-line, h điu hành Unix và Linux có môi trng Shell. Chú ý rng Shell không là mt thành ca h điu hành mà nó s dng h điu hành đ thc thi lnh, thao tác file… H điu hành Linux có th có nhiu loi Shell khác nhau, di đây là mt vài Shell thông dng: Tên Shell c phát trin bi Ghi chú BASH ( Bourne- Again SHell ) Brian Fox and Chet Ramey Free Software Foundation Là Shell thông dng nht trong HH Linux CSH (C SHell) Bill Joy University of California (For BSD) Là Shell có cú pháp rt ging ngôn ng C KSH (Korn SHell) David Korn AT & T Bell Labs Tài Liu Thc Hành H iu Hành – B môn HTMT&TT Ths. Phan Thng Cang - Ths. Bùi Quc Thái Trang 3 Mt vài lnh liên quan đn shell Lit kê tt c các loi shell có th có trong h thng hin ti dùng lnh: $cat /etc/shells Kim tra loi Shell đang đc s dng: $echo $SHELL 1.2 Khi đng Shell Nu chúng ta đng nhp vào h điu hành Linux di dng Text thì mc nhiên chúng ta s phi trc tip làm vic vi Shell. Trng hp dùng Linux di dng đ ha (graphic) thì Shell s đc khi đng khi ta khi đng ca s terminal (trong Fedora vào Applications / Accessories / Terminal). Khi Shell đc khi đng ngi dùng s đc đón chào và bt đu nhp lnh t du nhc (prompt) nh sau $ Tuy nhiên dng thc ca d u nhc có th thay đi tùy h thng. Nó có th bao gm c tên ca máy tính (hostname), th mc hin hành đang làm vic ca bn (current working directory). 1.3 Shell script là gì? Nh đã nói trên shell là ni cho phép ngi dùng nhp lnh (thông thng t bàn phím) và thc thi lnh. Nhng thay vì ngi dùng nhp tun t các câu lnh và thc thi chúng mt cách tun t thì ngi dùng có th lu các lnh này vào mt file text và yêu cu shell thc hin file này. iu này đc gi là shell script. 2 Các lnh c bn ca Linux 2.1 Lnh chuyn th mc cd và đng dn trong linux Mc đích: Lnh cd cho phép bn di chuyn đn nhng đim khác nhau trên cây th mc. Cú pháp tng quát: $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 dùng hin ti ta đánh lnh: cd Tài Liu Thc Hành H iu Hành – B môn HTMT&TT Ths. Phan Thng Cang - Ths. Bùi Quc Thái Trang 4 2.2 ng dn (Path) trong h điu hành Linux Dùng đ đnh v mt tài nguyên nào đó (thông thng là file) trong h thng cây th mc. xác đnh xem bn đang v trí nào (hay còn gi là th mc hin hành) trong cây 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 Xác đnh đy đ toàn b đng dn t th mc gc (ký hiu: / ) đn ni cn đnh v. Ví d: /dev /usr/bin /usr/local/bin chuyn vào th mc /user/local/bin dùng lnh nh sau: $cd /user/local/bin 2.4 ng dn tng đi ng dn tng đi là đng dn đc tính t v trí hin hành đn v trí cn đnh v . Mt đng dn tng đi không bao gi bt đu vi ký t ‘/’. Ví d: gi s chúng ta đang th mc hin hành là /usr. Khi đó đ chuyn đn th mc /usr/local/bin chúng 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 hành đc ký hi u bng chui hai chm: “ ” Ký hiu này thng đc s dng vi lnh cd đ chuyn v th mc cha ca th mc hin hành: Ví d: Gi s chúng ta đang th mc hin hành là /usr/local/bin và thc hin lnh $cd Tài Liu Thc Hành H iu Hành – B môn HTMT&TT Ths. Phan Thng Cang - Ths. Bùi Quc Thái Trang 5 Khi đó chúng ta s đc di chuyn v th mc /usr/local (th kim tra li bng lnh $pwd). Chúng ta hoàn toàn 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à chúng ta đang có th mc hin hành là /usr/local/bin. di chuyn qua th mc /usr/local/share ta dùng lnh: $cd /share Lnh này có ngha là yêu cu h điu hành di chuyn v th mc cha ca bin (là /usr/local) và chuyn tip đn th mc share. 2.6 Th mc hin hành “.” Ký hiu du chm “.” đc dùng đ th hi n th mc hin hành và đc s dng đ yêu cu shell thc hin mt chng trình hay shell script nào đó trong th mc hin hành. Ví d: $./myprog myprog là mt shell script trong th mc hin hành. 2.7 Th mc cá nhân “~” Trong h điu hành Linux mi ngi dùng khi đng nhp vào đu có mt th mc cá nhân đ lu tr d liu riêng. Khi mun tr v th mc cá nhân ngi dùng có th dùng lnh cd không tham s. Cho dù đang bt k th mc nào trong cây th mc. Ngoài ra ký hiu “~” cng đc dùng đ xác đnh là th mc các nhân. Ví d ta thc hin chng trình myprog trong th mc hin hành, vi tham s là myfile.txt th mc cá nhân bng lnh sau: $ ./myprog ~/myfile.txt 2.8 Bin môi trng PATH Bin PATH là mt bin trong môi trng shell. PATH lu danh sách các đng dn mà shell da vào đó đ tìm kim mt chng trình hay file nào đó khi cn thit sau khi tìm kim th mc hin hành không có. kim tra bin PATH đang lu nhng đng dn nào ta dùng lnh: $echo $PATH Chú ý: PATH phi là ký t hoa. Tài Liu Thc Hành H iu Hành – B môn HTMT&TT Ths. Phan Thng Cang - Ths. Bùi Quc Thái Trang 6 thêm đng dn mi vào danh sách ca bin PATH ta có th gn đng dn cn thêm vào sau biên PATH nh sau: PATH=$PATH:<path> Ví d: (chú ý PATH=$PATH phi vit lin nhau) ng dn /root/shellscript/ đã đc đa vào bin PATH. 3 Các lnh liên quan đn vic kho sát th mc và file: ls, less và file 3.1 Lnh ls (list files và th mc) Lnh ls đc dùng đ lit kê ni dung ca th mc. ây là lnh đc dùng thng nht trong Linux. Lnh ls đc s dng rt nhiu cách vi các tham s tng ng. Di đây là mt vài trng hp s dng ca lnh ls. $ls: lit kê file trong th mc hin hành Ví d: $ls -l: lit kê files trong th mc hin hành vi thông tin đy đ (long format) Ví d: Tài Liu Thc Hành H iu Hành – B môn HTMT&TT Ths. Phan Thng Cang - Ths. Bùi Quc Thái Trang 7 Kt qu ca lnh ls vi tham s -l đc chia thành 7 ct: (1) (2) (3) (4) (5) (6) (7) Ct (1): xác đnh quyt truy xut ca file hoc th mc. Ký hiu “-” th hin đó là mt file bình thng, ký t “d” xác đnh đó là th mc. Tp hp các ký t theo sau đc chia làm 3 nhóm, mi nhóm 3 ký t. Các ký t này có th là r (read), w (write), x (execute). Nhóm 3 ký t đu th hin quyn ca ngi s hu (owner), nhóm 3 ký t k th hin quyn cho nhóm (group) và nhóm 3 ký t cui th hin quy n cho tt c nhng ngi dùng khác. Ct (2): th hin s lng ni kt kay liên kt (link) đn tp tin hoc th mc (khái nim ni kt s đc đ cp sau) Ct (3): xác đnh ch s hu ca tp tin hoc th mc Ct (4): tên ca nhóm có quyn tng ng trên tp tin hoc th mc Ct (5): kích thc tp tin hoc th mc tính theo bytes Ct (6): thi gian mà file hay th mc đc cp nht. Ct (7): tên file hoc th mc. 3.2 Lnh less Lnh less cho phép xem ni dung ca file text. Cú pháp: $ less tên_file Ví d: Kt qu thc hin lnh trên nh sau: Tài Liu Thc Hành H iu Hành – B môn HTMT&TT Ths. Phan Thng Cang - Ths. Bùi Quc Thái Trang 8 Ni dung ca file đc lit kê theo tng trang màn hình. duyt qua ni dung ca file ta dùng các phím chc nng nh sau: Page Up hoc b: cun lên 1 trang Page Down hoc space: cun xung 1 trang G: di chuyn đn dòng cui ca file 1G: di dhuyn đn dòng đu ca file /chui: nhy đn dòng cha chui cn tìm n: tip tc tìm chui đã tìm trc đó q: thoát 3.3 Lnh file Lnh file đc dùng đ xác đ nh file thuc loi file gì, chng hn nh file: ASCII text, Bourne-Again shell script text, JPEG image data, RPM… Cú pháp: $file tên_file 4 Các lnh thao tác file 4.1 Ký t đi din (wildcard) Ký t đi din đc dùng đ xác đnh tên file hay tp hp các tên phai theo mt khuôn mu (pattern) nào đó. Di đây lit kê các ký t đi din và ý ngha ca nó: Tài Liu Thc Hành H iu Hành – B môn HTMT&TT Ths. Phan Thng Cang - Ths. Bùi Quc Thái Trang 9 Ký t đi din Ý ngha * Trùng khp vi bt k mt hay nhiu ký t nào ? Trùng khp vi bt k ký t đn nào [tp_hp_các_ký_t] Trùng khp vi bt k ký t nào nm trong tp_hp_các_ký_t. Tp_hp_các_ký_t có th đc th hin di dng 1 khon. Ví d [A-Z] th hin tp hp các ký t hoa. [! tp_hp_các_ký_t] Trùng khp vi bt k ký t nào KHÔNG nm trong tp_hp_các_ký_t Di đây là mt vài ví d minh ha vic s dng ký t đi din. Ví d Gii thích * Tt c tên file g* Tt c các file có tên bt đu bng ch g b*.txt Tt c các file có tên bt đu bng ch b và kt thúc vi .txt Data??? Tt c các file có tên bt đu vi Data và tip theo là chính xác 3 ký t. [abc]* Tt c các file có tên bt đu bng a hoc b hoc c theo sau là bt k ký t gì [A-Z]* Tt c các file có tên bt đu bng ký t hoa theo sau là bt k ký t gì BACKUP.[0-9][0- 9][0-9] Tt c các file có tên bt đu vi BACKUP k đn là du chm và tip theo là 3 ký s [!a-z]* Tt c các file có tên bt đu KHÔNG 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à các dng c bn ca lnh cp. Cú pháp Gii thích cp file1 file2 Copy ni dung ca file1 vào file2. Nu file2 cha tn ti thì s đc to ra, ngc li ni dung ca file2 s b chép chng. cp -i file1 file2 Ging nh trên, nhng trong trng hp file2 đã tn ti thì ngi dùng s đc nhc nh trc khi file2 b chép chng. cp file1 dir1 Copy file1 vào 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 chép vào. Trng hp dir2 đã tn ti thi th mc dir1 đc to ra trong dir2 và ni dung ca th mc dir1 đc chép vào dir1 trong dir2. 4.3 Lnh mv (move) Lnh mv dùng đ di chuyn mt hoc nhiu files vào mt th mc khác, hoc lnh mv cng có th đc dùng đ đi tên file. Di đây là mt s cách dùng ca lnh mv. Tài Liu Thc Hành H iu Hành – B môn HTMT&TT Ths. Phan Thng Cang - Ths. Bùi Quc Thái Trang 10 Cú pháp Gii thích mv file1 file2 Nu file2 không tn ti thì file1 đi tên thành file2. Trng hp file2 đã tn ti thì ni dung ca file2 b chép chng và file1 s b xóa. mv file1 file2 file3 dir Di chuyn file1, file2, file3 vào th mc dir nu th mc dir tn ti, nu không lnh mv s báo li. mv dir1 dir2 Nu dir2 không tn ti thì th mc dir1 đi tên thành dir2. Trng hp dir2 đã tn ti thì dir1 s đc di chuyn vào dir2. 4.4 Lnh rm (remove) c dùng đ xóa file hoc th mc. Di đây là vài cách dùng ca lnh rm. Cú pháp Gii thích Rm file1 file2 Xóa file1 và file2 Rv –r dir1 dir2 Xóa th mc dir1 và dir2 cùng vi toàn b ni dung ca nó 4.5 Lnh mkdir (make directory): c dùng đ to th mc. Cú pháp: $mkdir tên_th_mc 4.6 Lnh "which" Bn có th kim tra mt chng trình nào đó có nm trong các th mc đc ch ra bi PATH hay không bng cách dùng lnh which. Ví d, đây ta s thy rng trong h thng Linux hin tai không có chng trình tên sense: $ which sense which: no sense in (/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin) Trng hp khác ta li thành công khi tìm lnh ls: $ which ls /usr/bin/ls 4.7 S dng "which -a" Dùng c -a đ yêu cu which hin th tt c các chng trình đc yêu cu có trong các th mc đc mô t bi PATH: $ which -a ls /usr/bin/ls /bin/ls 4.8 Lnh whereis Nu bn mun tìm nhiu thông tin hn ngòai v trí ca mt chng trình bn có th dùng chng trình whereis : $ whereis ls ls: /bin/ls /usr/bin/ls /usr/share/man/man1/ls.1.gz Ta thy rng that ls có mt trong hai ni là /bin và /usr/bin. Hn th chúng ta còn đc thông báo rng có tài liu hng dn s dng nm trong th mc /usr/share/man. 4.9 L nh find [...]... Nh v y êr ch s h u có quy n c vi t thì nhóm 3bit u ph i là rw- (110 hay 6) , 2 nhóm 3bit còn l i là - - (000 000 hay 00) Khi ó l nh chmod cs d ng nh sau: Sau ây là b ng mô t các thi t l p quy n truy xu t file ho c th m c th d ng Giá tr thi t l p 777 (rwx rwx rwx) 755 (rwx r-x r-x) 700 (rwx - -) 66 6 (rw- rw- rw-) 64 4 (rw- r r ) 60 0 (rw- - -) ng s Mô t u có toàn quy n, thi t l p này th M i ng i ng... 111 000 000 … Ths Phan Th ng Cang - Ths Bùi Qu c Thái Trang 13 Tài Li u Th c Hành H i u Hành – B môn HTMT&TT Dãy các bit nh phân này có th c bi u di n thành các s th p phân b i t ng nhóm 3bit D i ây là dãy 3bit có th có dùng thi t l p quy n truy xu t cho file ho c th m c rwx = 111 = 7 (read, write và execute) rw- = 110 = 6 (read, write) r-x = 101 = 5 (read, execute) r = 100 = 4 (read) hi u rõ h n... th thêm d u Ths Phan Th ng Cang - Ths Bùi Qu c Thái Trang 11 Tài Li u Th c Hành H i u Hành – B môn HTMT&TT c ng (có ngh a là sau) ho c d u tr (có ngh a là tr c), th i i m m c c tính t i th i i m cách th i i m hi n t i 24gi Ví d , Xem xét tr ng h p sau: $ 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... nhân c a mình Myweb |-images | | icon | | background | | animation |-databases |-scripts |-java Dùng l nh tree xem l i cây th m c v a t o Ths Phan Th ng Cang - Ths Bùi Qu c Thái Trang 16 Tài Li u Th c Hành H i u Hành – B môn HTMT&TT Bài 9: Tìm m t s file có ph n m r ng html và class trong h th ng file và th c hi n copy vài file html vào th m c Myweb và vài file class vào th m c Myweb/scripts Bài... nh sau: $ find /usr/share/doc -name README\* /usr/share/doc/iproute2-2.4.7/README.gz /usr/share/doc/iproute2-2.4.7/README.iproute2+tc.gz /usr/share/doc/iproute2-2.4.7/README.decnet.gz /usr/share/doc/iproute2-2.4.7/examples/diffserv/README.gz /usr/share/doc/pilot-link-0.9 .6- r2/README.gz /usr/share/doc/gnome-pilot-conduits-0.8/README.gz /usr/share/doc/gimp-1.2.2/README.i18n.gz /usr/share/doc/gimp-1.2.2/README.win32.gz...Tài Li u Th c Hành H i u Hành – B môn HTMT&TT L nh find là m t ti n ích khác cho phép b n tìm ki m các t p tin V i find b n không b gi i h n trong ph m vi tìm ki m ch ng trình, b n có th tìm ki m m t t p tin b t k mà b n... c có ngh a là cho phép li t kê n i dung trong th m c ó D i ây là vài ví d v gán quy n cho th m c: Ths Phan Th ng Cang - Ths Bùi Qu c Thái Trang 14 Tài Li u Th c Hành H Giá tr thi t l p 777 (rwx rwx rwx) 755 (rwx r-x r-x) 700 (rwx - -) i u Hành – B môn HTMT&TT Mô t M i ng i u có toàn quy n (li t kê, t o và xóa) Ch s h u có toàn quy n, nh ng ng i còn l i ch có th li t kê n i dung th m c, không có quy... ph i có quy n root (dùng l nh su) Ví d : Các l nh trên ã thay root 5.4 L nh chgrp Ths Phan Th i quy n s h u c a file test t ng ng Cang - Ths Bùi Qu c Thái i dùng bqthai sang Trang 15 Tài Li u Th c Hành H i u Hành – B môn HTMT&TT L nh chgrp c s d ng thay i quy n truy c p c a nhóm m c Cú pháp và c ch ho t ng c ng gi ng nh l nh chown i v i file và th Bài T p Bài 1: Th c hi n và kh o sát l i t t c các ví... 3) có th c th c hi n theo cú pháp: sh hello cho dù ang ng b t k v trí nào? Bài 6: Th c hi n l nh ls –l trong th m c /bin Xác nh các quy n c a ng i s h u, nhóm và ng i dùng khác trên file ls và sh? Th hi n l nh ls –l trên th m c g c Xác nh các quy n và nh ng ng i dùng hay nhóm ng i dùng t ng ng c a th m c root? Bài 7: Th c hành l nh file b ng cách tìm các file d ng ASCII và dùng l nh less xem n i dung... d li u c a ng i dùng khác H H Linux ã th c hi n vi c này th nào, trong ph n này chúng ta tìm hi u các l nh sau: chmod su chown chgrp Ths Phan Th ng Cang - Ths Bùi Qu c Thái Trang 12 Tài Li u Th c Hành H i u Hành – B môn HTMT&TT ây là các l nh c b n nh t liên quan n vi c thi t l p các quy n truy xu t n file Tuy nhiên tr c khi c p k n các l nh trên Chúng ta s tìm hi u m t chút v các quy n truy xu t trên . Tài Liu Thc Hành H iu Hành – B môn HTMT&TT Ths. Phan Thng Cang - Ths. Bùi Quc Thái Trang 1 Cng Thc Hành Môn H iu Hành Mc Tiêu: Cài đt HH. và tp tin Bui 6: Ôn tp Ph lc : Cài đt Ubuntu Tài Liu Thc Hành H iu Hành – B môn HTMT&TT Ths. Phan Thng Cang - Ths. Bùi Quc Thái Trang 2 Bài thc hành bui 1 . lnh). H điu hành MS-DOS và Windows thì có môi trng đánh lnh command-line, h điu hành Unix và Linux có môi trng Shell. Chú ý rng Shell không là mt thành ca h điu hành mà nó s