Bài giảng Hệ điều hành Unix /Linux: Bài 6 - Đặng Ngọc Cường
lượt xem 24
download
Nội dung trình bày trong bài 6 Lập trình trên Linux thuộc bài giảng Hệ điều hành Unix /Linux nhằm giới thiệu về shell, các thành phần của ngôn ngữ shell, shell scipts- lập trình shell, lập trình C++ trên Linux...bài giảng hữu ích dành cho sinh viên ngành công nghệ thông tin.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Hệ điều hành Unix /Linux: Bài 6 - Đặng Ngọc Cường
- Bài 6 L p trình trên Linux 20/01/2011 H i u Hành Unix/Linux 1
- N i dung trình bày Gi i thi u v shell Các thành ph n c a ngôn ng shell Shell scripts - L p trình shell L p trình C/C++ trên Linux 20/01/2011 H i u Hành Unix/Linux 2
- Gi i thi u Linux Shell GUI xterm Shell console bash csh Kernel KDE ksh GNOME 20/01/2011 H i u Hành Unix/Linux 3
- Gi i thi u Linux Shell Shell (h v ) là m t môi trư ng tương tác mà ngư i dùng có th giao ti p v i h i u hành. Linux cung c p m t s shell như: C shell (csh), Korn shell (ksh), và Bourne shell (sh), BASH shell (bash) ,… BASH (Bourn Again Shell) là shell m c nh trong Linux. Shell có th di n d ch l nh và cho phép ngư i dùng l p trình script như m t ngôn ng l p trình. 20/01/2011 H i u Hành Unix/Linux 4
- Gi i thi u Linux Shell Linux cho phép chuy n i gi a nhi u shell ho c là các console o (Virtual console) s d ng l nh chsh. Cú pháp: chsh [-s ] [-l] [username] Trong ó: -l : li t kê các lo i shell hi n có (thông tin các shell ch a trong t p tin /etc/shells). Ví d : chuy n sang c shell $ chsh csh ↵ 20/01/2011 H i u Hành Unix/Linux 5
- M c ích c a shell Tương tác, di n d ch l nh: shell i ngư i s d ng gõ các l nh t i d u nh c, sau ó g i t i h th ng yêu c u t l nh nh n ư c. t bi n môi trư ng i v i m i ngư i s d ng L p trình Shell cung c p t p h p các l nh t ó có th vi t chương trình ( ư c g i là shell script). Ngoài nh ng l nh ơn gi n c a h th ng, shell còn ư c b sung thêm các c u trúc ph c t p như i u khi n r nhánh (if/case), vòng l p (for/while). 20/01/2011 H i u Hành Unix/Linux 6
- i u khi n shell Shell có th ư c s d ng như m t ngôn ng l p trình g i là ngôn ng shell. Các chương trình ư c vi t và thông d ch b i shell g i là shell script. Có hai cách vi t chương trình i u khi n shell: Vi t chương trình ngay t dòng l nh. Có th g p các l nh vào m t t p tin và yêu c u shell th c th c thi t p tin này như m t chương trình. 20/01/2011 H i u Hành Unix/Linux 7
- i u khi n shell t dòng l nh Ví d tìm và hi n th t p tin mà n i dung có ch a chu i ‘main()’. Thay vì dùng l nh grep tìm ra t ng file sau ó s d ng l nh more hi n th . Ta có th i u khi n shell t ng như sau: $ for file in * >do > if [ $(grep –l ‘main()’ $file)] > then > more $file > fi >done 20/01/2011 H i u Hành Unix/Linux 8
- i u khi n shell t script Như c i m c a vi c i u khi n shell t dòng l nh là khó l y l i kh i l nh trư c ó s a i và th c thi m t l n n a. d b o trì ta có th ưa các l nh vào m t t p tin và yêu c u shell c n i dung t p tin th c thi. Ví d : docfile.sh #!/bin/bash for file in * do if [ $(grep –l ‘main()’ $file) ]; then more $file fi done 20/01/2011 H i u Hành Unix/Linux 9
- Môi trư ng Shell Môi trư ng shell là t t c các thi t l p giúp cho vi c ch y chương trình ư c chính xác. Bao g m: Các t p tin kh i t o shell Các bi n shell Th c hi n các tính toán s h c Gán bí danh 20/01/2011 H i u Hành Unix/Linux 10
- Các t p tin kh i t o shell Khi shell ư c kh i ng, nó c các files c u hình sau: /etc/profile : các thi t l p h th ng chung ~/.bash_profile: các thi t l p c a ngư i dùng ~/.bashrc: t p tin kh i ng trong m t phiên làm vi c riêng bi t. ~/.bash_login: các thi t l p ăng nh p ~/.bash_history: các l ch s các câu l nh ã th c hi n 20/01/2011 H i u Hành Unix/Linux 11
- /etc/profile Ch a t t c các thi t l p áp d ng n t t c môi trư ng ngư i dùng. Khi ư c tri u g i tương tác, shell c các ch th (câu l nh) trong /etc/profile. ây thư ng là các thi t l p các bi n shell như PATH, USER, MAIL, HOSTNAME và HISTSIZE. Trên m t s h th ng, giá tr umask cũng ư c c u hình trong /etc/profile . 20/01/2011 H i u Hành Unix/Linux 12
- Ví d /etc/profile # System wide environment and startup # programs, for login setup PATH=$PATH:/usr/X11R6/bin USER="`id −un`" LOGNAME=$USER HOSTNAME=`/bin/hostname` export PATH USER LOGNAME HOSTNAME PS1 # Source initialization files for specific # programs (ls, vim, less, ...) for i in /etc/profile.d/*.sh ; do if [ −r "$i" ]; then . $i fi done 20/01/2011 H i u Hành Unix/Linux 13
- /etc/bashrc Trên h th ng /etc/profile ch lưu gi môi trư ng shell và các thi t l p kh i ng chương trình, trong khi ó /etc/bashrc ch a các nh nghĩa h th ng chung cho các hàm và bí danh shell. T p tin /etc/bashrc cũng có th c p n trong /etc/profile ho c trong các t p tin kh i t o shell riêng bi t c a ngư i dùng. 20/01/2011 H i u Hành Unix/Linux 14
- /etc/bashrc alias ll='ls −l' alias dir='ls −ba' alias c='clear' alias mroe='more' alias ls='ls −−color' pskill(){ pid=$(ps −ax | grep $1) echo −n "killing $1 (process $pid)..." kill −9 $pid echo "slaughtered." } 20/01/2011 H i u Hành Unix/Linux 15
- ~/.bash_login T p tin này ch a các thi t l p khi ngư i dùng login vào h th ng. Ví d : # file protection # all to me, read to group and others umask 002 # miscellaneous w cal `date +"%m"` `date +"%Y"` 20/01/2011 H i u Hành Unix/Linux 16
- Ngôn ng l p trình shell so n th o m t chương trình shell có th s d ng b t kỳ trình so n th o văn b n nào(ch ng h n: vi, emasc,...) Các thành ph n cơ b n c a ngôn ng shell: C u trúc shell scripts Bi n shell: ki u s , chu i, tham s và bi n môi trư ng. i u ki n: ki m tra bi u th c lôgic b ng shell C u trúc i u khi n chương trình : if, case, while,… Hàm Các l nh n i t i (built-in) 20/01/2011 H i u Hành Unix/Linux 17
- C u trúc shell script M t shell scripts cơ b n g m: Dòng u tiên thư ng cho bi t shell ư c s d ng và g i trình thông d ch shell script tương ng (ví d : #!/bin/bash ). Các chú thích b t u v i d u thăng (#). Các dòng còn l i là các l nh c a Linux ho c các c u trúc i u khi n,… Th c thi shell script: C1: t quy n execute: $ chmod a+x Ch y shell script: $./ C2: $ . 20/01/2011 H i u Hành Unix/Linux 18
- L nh ghi ra màn hình Cú pháp: echo [-n|e] [bi u th c] Dùng hi n th giá tr các bi n, bi u th c ho c chu i ra màn hình. Trong ó: Tùy chon –n : không xu ng dòng sau khi in ra. -e: N u bi u th c là chu i t trong c p nháy kép có th s d ng các ký t c bi t như \n, \b, \t, \0n (ký t có mã ASCCI là n),… Ví d : echo “How are you?” echo “Current user: $USER” 20/01/2011 H i u Hành Unix/Linux 19
- L nh vào ra Cú pháp: read [bi n 2] [bi n 3] ... Dùng c d li u t bàn phím. Ví d shell script c và in d li u. $ vi vidu1.sh #!/bin/bash #Vi du s d ng lenh read va echo echo “Nhap mot so: ” read num echo “So vua nhap la: $num” 20/01/2011 H i u Hành Unix/Linux 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Hệ điều hành Unix: Chương IV - Giới thiệu hệ điều hành Unix
57 p | 244 | 21
-
Bài giảng Hệ điều hành UNIX-Linux: Giới thiệu môn học - Nguyễn Trí Thành
7 p | 149 | 13
-
Bài giảng Hệ điều hành Unix: Chương 1 - Ngô Duy Hòa
60 p | 122 | 10
-
Bài giảng Hệ điều hành Unix-Linux: Chương 1 - Đặng Thu Hiền
20 p | 133 | 8
-
Bài giảng Hệ điều hành UNIX-Linux: Chương 1 - Nguyễn Trí Thành
16 p | 138 | 8
-
Bài giảng Hệ điều hành Unix-Linux: Giới thiệu môn học - Đặng Thu Hiền
5 p | 75 | 6
-
Bài giảng Hệ điều hành Unix - Chương 1: Các khái niệm và kỹ nawng cơ bản
98 p | 75 | 6
-
Bài giảng Hệ điều hành Unix: Chương 2 - Ngô Duy Hòa
27 p | 101 | 6
-
Bài giảng Hệ điều hành Unix-Linux: Chương 4 - Đặng Thu Hiền
13 p | 66 | 5
-
Bài giảng Hệ điều hành UNIX-Linux: Chương 4 - Nguyễn Trí Thành
16 p | 83 | 5
-
Bài giảng Hệ điều hành Unix: Chương 3 - Ngô Duy Hòa
19 p | 73 | 5
-
Bài giảng Hệ điều hành Unix: Chương 7 - Ngô Duy Hòa
8 p | 93 | 5
-
Bài giảng Hệ điều hành Unix: Chương 9 - Ngô Duy Hòa
8 p | 91 | 5
-
Bài giảng Hệ điều hành UNIX-Linux: Chương 8 - Nguyễn Trí Thành
38 p | 79 | 5
-
Bài giảng Hệ điều hành Unix-Linux: Chương 3 - Đặng Thu Hiền
58 p | 84 | 4
-
Bài giảng Hệ điều hành UNIX-Linux: Chương 5 - Nguyễn Trí Thành
18 p | 82 | 4
-
Bài giảng Hệ điều hành Unix-Linux: Chương 7 - Đặng Thu Hiền
41 p | 74 | 3
-
Bài giảng Hệ điều hành Unix-Linux: Chương 2 - Đặng Thu Hiền
24 p | 73 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn