Bài giảng Công nghệ Phần mềm - Chương 4: Lập trình trên Linux
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Công nghệ Phần mềm - Chương 4: Lập trình trên Linux", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_cong_nghe_phan_mem_chuong_4_lap_trinh_tren_linux.ppt
Nội dung text: Bài giảng Công nghệ Phần mềm - Chương 4: Lập trình trên Linux
- CHƯƠNG 4 LẬP TRÌNH TRÊN LINUX Updated 25.08.2008 Computer Sciences Div. @ 2008 1
- Nội dung Tổng quan về Shell Một số thao tác với Shell Shell Script Lập trình C và C++ trong Linux Updated 25.08.2008 Computer Sciences Div. @ 2008 2
- Tổng quan về Shell Khi bắt đầu một phiên làm việc, ta bắt đầu làm việc với shell của Linux. Điều này được bắt đầu bằng việc mở một cửa sổ xterm trong X Windows. Shell sẽ dịch và thực hiện mọi lệnh mà ta gõ vào từ bàn phím. Trên Linux hiện có một vài loại shell như sau: Bash: Bourne Again Shell. Đây là shell mạnh nhất và thông dụng nhất trên Linux. Csh: C shell. Hầu như tương thích với bash. Ksh: Korn shell. Đây là shell nguyên thủy. Zsh: Z shell. Shell mới nhất hiện nay, tương thích với Bourne shell. Updated 25.08.2008 Computer Sciences Div. @ 2008 3
- Một số thao tác với Shell Xác định Shell hiện hành Xem các Shell có trên máy tính Thay đổi Shell hiện hành Xem các giá trị của các biến môi trường Ấn định biến môi trường Tính năng hoàn tất lệnh Liệt kê danh sách lệnh đã sử dụng Tái sử dụng lệnh Updated 25.08.2008 Computer Sciences Div. @ 2008 4
- Xác định Shell hiện hành Tên lệnh: echo Chức năng: Xem shell hiện hành hoặc xuất thông báo ra màn hình. Cú pháp: echo $SHELL Ví dụ: Updated 25.08.2008 Computer Sciences Div. @ 2008 5
- Xem các Shell có trên máy tính Cú pháp: cat /etc/shells Chức năng: Xem các Shell đang có trên hệ điều hành. Ví dụ: Updated 25.08.2008 Computer Sciences Div. @ 2008 6
- Thay đổi Shell hiện hành Cú pháp: chsh Chức năng: đổi shell hiện hành trên hệ điều hành. Ví dụ: Updated 25.08.2008 Computer Sciences Div. @ 2008 7
- Xem các giá trị của các biến môi trường Cú pháp: echo . Với các biến môi trường được sử dụng trong Linux gồm: $HOME: Thư mục cá nhân người dùng. $USER: Tài khoản của người đăng nhập của người dùng. $SHELL: Shell hiện hành. $PATH: Đường dẫn. $PWD: Thư mục hiện hành Updated 25.08.2008 Computer Sciences Div. @ 2008 8
- Ấn định biến môi trường Từ dấu nhắc, nhập tên biến môi trường dưới dạng = . Thực hiện xong thì xuất biến để cho mọi chương trình và kịch bản chạy trong phiên làm việc đều có thể sử dụng biến. Biến gán bằng phương pháp chỉ có hiệu lực trong phiên làm việc, để biến có giá trị trong các phiên làm việc sau ta phải hiệu chỉnh tập tin cấu hình. Updated 25.08.2008 Computer Sciences Div. @ 2008 9
- Tính năng hoàn tất lệnh Linux hỗ trợ khả năng hoàn thành lệnh (Word completion) rất hữu dụng bằng phím Tab. Khả năng này sẽ giúp người dùng tiết kiệm được rất nhiều thời gian. Ví dụ: cd /usr/inc sau đó gõ phím Tab, Shell sẽ tự động thêm “luce” để hoàn thành tên thư mục là /usr/include. Trước khi nhấn Tab Sau khi nhấn Tab Updated 25.08.2008 Computer Sciences Div. @ 2008 10
- Tính năng hoàn tất lệnh Nếu có nhiều khả năng để chọn lựa thì khi thực hiện lệnh, Bash sẽ cho phép người dùng chọn lựa bằng cách gõ Tab 2 lần. Ví dụ: Nếu trong thư home/viethan có chứa 2 thư mục tmdt và ttll thì khi ta gõ lệnh cd /home/viethan/t và nhấn tab 2 lần sẽ có kết quả như sau: Trước khi nhấn Tab Sau khi nhấn Tab 2 lần Updated 25.08.2008 Computer Sciences Div. @ 2008 11
- Liệt kê danh sách lệnh đã sử dụng Tên lệnh: history Chức năng: hiển thị danh sách các lệnh đã dùng. Ví dụ: Chú ý: Lệnh cuối cùng đã sử dụng là lệnh history Updated 25.08.2008 Computer Sciences Div. @ 2008 12
- Tái sử dụng lệnh Cú pháp: !! hoặc ! . Ví dụ: !!: thực hiện lại lệnh gần nhất. Nếu gõ !91 thì thực hiện lại lệnh số 91 trong danh sách các lệnh đã thực hiện. Updated 25.08.2008 Computer Sciences Div. @ 2008 13
- Shell Script Tổng quan về Shell Script Cấu trúc kịch bản Cách chạy một chương trình Shell Khai báo biến Các cấu trúc lệnh Các ví dụ minh họa Updated 25.08.2008 Computer Sciences Div. @ 2008 14
- Tổng quan về Shell Script Kịch bản Shell là một tập tin trong đó có chứa các lệnh và các từ khoá nhằm tự động tự động hoá những thao tác của người sử dụng. Kịch bản Shell là một tập các lệnh Shell để thực hiện một công việc nào đó. Kịch bản Shell được kích hoạt bằng dòng lệnh. Kịch bản Shell sử dụng các biến, các cấu trúc điều kiện và lặp cho phép người sử dụng lập trình trên Shell. Updated 25.08.2008 Computer Sciences Div. @ 2008 15
- Cấu trúc kịch bản Cấu trúc cơ bản của kịch bản: #!/bin/bash Ví dụ: Viết kịch bản với tên là Hello dùng để thực hiện 2 công việc sau: Xoá và in ra màn hình câu “Hello! Have a good day!”. #! /bin/bash Clear echo -e “Hello! Have a good day!” Updated 25.08.2008 Computer Sciences Div. @ 2008 16
- Cách chạy một chương trình Shell Để chạy một kịch bản Shell, ta cần thực hiện 2 bước sau: Bước 1: Cấp quyền kích hoạt kịch bản Shell bằng cách sử dụng lệnh chmod [user]+x [Tên tập tin kịch bản]. Bước 2: Chạy kịch bản Shell bằng cách sử dụng lệnh ./[Kịch bản Shell]. Soạn thảo kịch bản có tên ct1 Gán quyền thực thi cho tập tin ct1 cho user Thực thi chương trình Updated 25.08.2008 Computer Sciences Div. @ 2008 17
- Khai báo biến Khi hàm số được gọi thực hiện, các tham số của hàm này sẽ trở thành các tham biến vị trí (Positional Parameters) trong thời gian thực hiện hàm này. Sau khi thực hiện xong hàm số, các tham biến vị trí sẽ được gán trả lại các giá trị mà chúng có trước khi thực hiện hàm. Để khai báo biến cục bộ, ta sử dụng cú pháp sau: =giá trị Để gán giá trị của biến này cho một biến khác, ta sử dụng cú pháp: =$ Để gán giá trị cho biến bằng cách nhập giá trị đó từ bàn phím, ta sử dụng cú pháp: read . Updated 25.08.2008 Computer Sciences Div. @ 2008 18
- Các cấu trúc lệnh Cấu trúc rẽ nhánh if - else Cấu trúc rẽ nhánh nhiều trường hợp (case) Cấu trúc vòng lặp for Cấu trúc vòng lặp while Cấu trúc vòng lặp Until Updated 25.08.2008 Computer Sciences Div. @ 2008 19
- Cấu trúc rẽ nhánh if - else Cú pháp: if then [ elif then ] [ else ] fi Updated 25.08.2008 Computer Sciences Div. @ 2008 20
- Cấu trúc rẽ nhánh if - else Ví dụ: #!/bin/bash #Cau truc re nhanh echo “Nhap so a:” read a echo “Nhap so b:” read b if [ $a –lt $b ] #Kiem tra a co nho hon b khong then echo “a nho hon b” elif [ $a –eq $b ] #Kiem tra a co bang b khong then echo “a bang b” #Truong hop con lai else echo “a lon hon b” fi #Ket thuc Updated 25.08.2008 Computer Sciences Div. @ 2008 21
- Cấu trúc rẽ nhánh if - else Ví dụ: Updated 25.08.2008 Computer Sciences Div. @ 2008 22
- Cấu trúc rẽ nhánh nhiều trường hợp (case) Cú pháp: case in Biến-1) Biến-2) Biến-3) Biến-n) *) exit esac Updated 25.08.2008 Computer Sciences Div. @ 2008 23
- Cấu trúc rẽ nhánh nhiều trường hợp (case) Ví dụ: Updated 25.08.2008 Computer Sciences Div. @ 2008 24
- Cấu trúc vòng lặp for Cú pháp: for in do Done Ví dụ: #!/bin/bash #Vong lap for word= "abcde" # Khởi tạo một xâu count = 0 # Khởi tạo biến đếm count for letter in $word # Vòng lặp với biến letter do # Lệnh bắt đầu vòng lặp count=‘expr $count + 1‘ # Tăng biến đếm lên 1 echo "Letter $count is [$letter]" # In ra biến letter done # Lệnh kết thúc vòng lặp Updated 25.08.2008 Computer Sciences Div. @ 2008 25
- Cấu trúc vòng lặp while Cú pháp: while [ ] do Done Ví dụ: #!/bin/bash #Cau truc vong lap while word="abcde" # Khởi tạo một xâu dem=0 # Khởi tạo biến đếm count while [ $count -lt 5 ] # Vòng lặp với biến letter do # Lệnh bắt đầu vòng lặp count=‘expr $count + 1‘ # Tăng biến count lên 1 echo "Letter $count is [$letter]" # In ra biến letter. done # Lệnh kết thúc vòng lặp Updated 25.08.2008 Computer Sciences Div. @ 2008 26
- Cấu trúc vòng lặp Until Cú pháp: until [ ] do Done Ví dụ: #!/bin/bash #Cau truc vong lap Until word="abcde" # Khởi tạo một xâu dem=1 # Khởi tạo biến đếm count until [ $count -lt 5 ] # Vòng lặp với biến letter do # Lệnh bắt đầu vòng lặp count=‘expr $count + 1‘ # Tăng biến count lên 1 echo "Letter $count is [$letter]" # In ra biến letter. done # Lệnh kết thúc vòng lặp Updated 25.08.2008 Computer Sciences Div. @ 2008 27
- Các ví dụ minh họa Chương trình tính tổng các số từ 1 – n Chương trình tính giai thừa của một số Chương trình đếm số từ của một tập tin Updated 25.08.2008 Computer Sciences Div. @ 2008 28
- Các ví dụ minh họa Chương trình tính tổng các số từ 1 – n Updated 25.08.2008 Computer Sciences Div. @ 2008 29
- Các ví dụ minh họa Chương trình tính giai thừa của một số Updated 25.08.2008 Computer Sciences Div. @ 2008 30
- Các ví dụ minh họa Chương trình đếm số từ của một tập tin Updated 25.08.2008 Computer Sciences Div. @ 2008 31
- Lập trình C và C++ trong Linux Trình biên dịch GNU là công cụ phát triển sẵn có và thông dụng nhất trong Linux, được dùng để biên dịch các kernel của hệ điều hành. Ngoài ra, gcc còn cung cấp các thư viện và các tập tin header cần thiết để biên dịch và chạy các chương trình của người dùng. Các chương trình C thường có phần mở rộng là .c Các chương trình C++ thường có phần mở rộng là .cc hoặc .C Updated 25.08.2008 Computer Sciences Div. @ 2008 32
- Lập trình C và C++ trong Linux Để xây dựng và thực thi một chương trình C ta làm như sau: Soạn thảo chương trình và lưu tập tin với phần mở rộng thích hợp. #vi example.c Thoát khỏi chương trình vi, từ dấu nhắc của hệ thống, ta gõ lệnh: gcc -o . Ví dụ: gcc -o hello hello.c. Nếu biên dịch không thành công, gcc sẽ thông báo lỗi tại dòng lệnh phát sinh lỗi. Nếu không có lỗi thì thực thi chương trình bằng câu lệnh sau. #./ Ví dụ: ./hello Lưu ý: cách dùng ./ trước tên chương trình là để chỉ cho máy tìm kiếm chương trình khả thi trong thư mục hiện hành. Updated 25.08.2008 Computer Sciences Div. @ 2008 33
- TỔNG KẾT Tổng quan về Shell Một số thao tác với Shell Shell Script Lập trình C và C++ trong Linux Updated 25.08.2008 Computer Sciences Div. @ 2008 34
- CÂU HỎI LÝ THUYẾT VÀ BÀI TẬP SGK Updated 25.08.2008 Computer Sciences Div. @ 2008 35