GIÁO TRÌNH TIN học hệ điều HÀNH LINUX

77 239 0
GIÁO TRÌNH TIN học hệ điều HÀNH LINUX

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

MỤC LỤC MỤC LỤC Giới thiệu hệ điều hành Linux I Lòch sử II Cài đặt máy chủ Linux: Giao tiếp môi trường Linux 17 I Trình soạn thảo vi 17 II Tiện ích mc 18 III Các câu lệnh Linux 20 II.1 Hiểu biết câu lệnh Linux 20 II.1.1 Sử dụng ký tự đại diện 20 II.1.2 Cơ biểu thức quy: 21 II.2 Các câu lệnh thư mục file: 22 II.2.1 Lệnh cat 22 II.2.2 Lệnh chmod 22 II.2.3 Lệnh chown 22 II.2.4 Lệnh clear 23 II.2.5 Lệnh cmp 23 II.2.6 Lệnh cp 23 II.2.7 Lệnh du 23 II.2.8 Lệnh file 23 II.2.9 Lệnh find 23 II.2.10 Lệnh grep 24 II.2.11 Lệnh head 24 II.2.12 Lệnh ln 24 II.2.13 Lệnh locate 25 II.2.14 Lệnh ls 25 II.2.15 Lệnh mkdir 25 II.2.16 Lệnh mv 25 II.2.17 Lệnh pwd 26 II.2.18 Lệnh rm 26 II.2.19 Lệnh tail 26 II.3 Các câu lệnh nén liệu 26 II.3.1 Lệnh compress 26 II.3.2 Lệnh gunzip 27 II.3.3 Lệnh gzip 27 II.3.4 Lệnh tar 27 II.3.5 Lệnh uncompress 27 II.3.6 Lệnh unzip 28 ĐẠI HỌC TÔN ĐỨC THẮNG Trang 2/77 II.3.7 Lệnh zip 28 II.3.8 Lệnh mount 28 II.3.9 Lệnh umount 28 II.4 Các câu lệnh quản lý tiến trình 28 II.4.1 Lệnh bg 28 II.4.2 Lệnh fg 29 II.4.3 Lệnh jobs 29 Giới Thiệu Hệ Thống Tập Tin, Thư Mục 30 I Giới thiệu 30 I.1 Thư mục chủ 30 I.2 Các thư mục hệ thống 30 II Các quyền truy cập file/thư mục 31 II.1 Thay đổi quyền sở hữu file, thư mục sử dụng lệnh chown: 32 II.2 Thay đổi nhóm sử dụng file/thư mục với lệnh chgrp 32 II.3 Sử dụng số theo hệ số tương ứng với thuộc tính truy cập 32 II.4 Sử dụng ngôn ngữ tự nhiên tương ứng với quyền truy cập 33 II.5 Thay đổi quyền truy cập file thư mục sử dụng lệnh chmod 33 II.6 Các ý đặc biệt quyền thư mục 34 III Tạo sách quyền cho server nhiều người sử dụng 34 III.1 Thiết lập cấu hình quyền truy cập file người sử dụng 34 III.2 Thiết lập mặc đònh quyền truy cập file cho người sử dụng 34 III.3 Thiết lập quyền thực thi cho file 35 IV Làm việc với file thư mục 35 IV.1 Xem file thư mục 35 IV.2 Chuyển đến thư mục 35 IV.3 Xác đònh kiểu file 35 IV.4 Xem thống kê quyền file hay thư mục 35 IV.5 Sao chép file thư mục 36 IV.6 Dòch chuyển file thư mục 36 IV.7 Xóa file thư mục 36 IV.8 Tìm kiếm file 36 bai Quản lý người dùng tài nguyên 37 I Khái niệm 37 II Trở thành superuser 37 III Quản lý người dùng với công cụ dòng lệnh 37 III.1 Tạo tài khoản người sử dụng 38 III.2 Tạo nhóm 38 III.3 Sửa đổi tài khoản người sử dụng tồn 38 III.4 Thay đổi đường dẫn thư mục chủ 39 Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 3/77 III.5 Thay đổi UID 39 III.6 Thay đổi nhóm mặc đònh 39 III.7 Thay đổi thời hạn kết thúc tài khoản 39 III.8 Sửa đổi nhóm tồn 39 III.9 Xóa hủy bỏ tài khoản người sử dụng 40 IV Cài đặt máy in 40 IV.1 Cấu hình máy in 40 IV.2 Cài đặt máy in cục 41 IV.3 Cài đặt máy in hệ thống Unix xa 43 IV.4 Cài đặt máy in Samba (SMB) 44 IV.5 Chọn trình điều khiển Print Driver kết thúc 45 IV.6 Thay đổi thông số cấu hình máy in có sẵn 46 IV.7 Backup thông số cấu hình máy in 47 IV.8 Quản lý công việc in ấn 47 Bài Trình diễn thiết lập mạng cài đặt diul-up Linux 48 I Thiết lập mạng Linux 48 I.1 HĐH Linux card mạng 48 I.2 Cấu hình card mạng 49 I.2.1 Lệnh ifconfig 49 I.2.2 Lệnh route 50 I.2.3 Lệnh ping 51 I.2.4 Lệnh Traceroute 51 I.2.5 Lệnh traceroute 52 I.3 Các tiện ích mạng: Telnet ftp 52 I.3.1 Telnet 52 I.3.2 FTP 52 II Cài đặt diul-up Linux 53 II.1 Cài đặt 53 II.2 Quay số 55 Bài Lập trình shell 57 I Tạo chạy chương trình Shell 57 II Sử dụng biến 58 II.1 Gán giá trò cho biến 59 II.2 Tham số biến Shell có sẵn 59 III Sử dụng dấu trích dẫn 60 IV Sử dụng câu lệnh test 61 V Sử dụng câu lệnh rẽ nhánh 65 V.1 Lệnh if 65 V.2 Lệnh case 66 VI Sử dụng lệnh lặp 69 Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 4/77 VI.1 Lệnh for 69 VI.2 Lệnh while 70 VI.3 Lệnh until 71 VI.4 Lệnh shift 72 VI.5 Lệnh select 73 VI.6 Lệnh repeat 74 VII Sử dụng hàm 74 VIII Tổng kết 77 Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 5/77 BÀI GIỚI THIỆU HỆ ĐIỀU HÀNH LINUX I LỊCH SỬ Linux hệ điều hành mô Unix, xây dựng phần nhân (kernel) gói phần mềm mã nguồn mở Linux công bố quyền GPL (General Public Licence) Unix đời năm 1960, ban đầu phát triển AT&T, sau đăng ký thương mại phát triển theo nhiều dòng tên khác Năm 1990 xu hướng phát triển phần mềm mã nguồn mở xuất thúc đẩy tổ chức GNU Một số licence mã nguồn mở đời ví dụ BSD, GPL Năm 1991, Linus Torvald viêt thêm phiên nhân v0.01 (kernel) Linux đưa lên BBS, nhóm người dùng để người sử dụng phát triển Năm 1996, nhân v1.0 thức công bố ngày nhận quan tâm người dùng Năm 1999, phiên nhân v2.2 mang nhiều đặc tính ưu việt giúp cho linux bắt đầu trở thành đối thủ cạnh tranh đáng kể MSwindows môi trường server Năm 2000 phiên nhân v2.4 hỗ trợ nhiều thiết bò (đa xử lý tới 32 chip, USB, RAM 2GB ) bắt đầu đặt chân vào thò trường máy chủ cao cấp Quá trình phát triển linux sau: - Năm 1991: 100 người dùng - Năm 1997: 7.000.000 người dùng - Năm 2000: hàng trăm triệu người dùng, 15.000 ngưòi tham gia phát triển Linux Hàng năm thò trường cho Linux tăng trưởng 100% Các phiên Linux sản phẩm đóng gói Kernel gói phần mềm miễn phí khác Các phiên công bố licence GPL Một số phiên bật là: Redhat, Caldera, Suse, Debian, TurboLinux, Mandrake Giống Unix, Linux gồm thành phần chính: kernel, shell cấu trúc file Kernel chương trình nhân, chạy chương trình quản lý thiết bò phần cứng đóa máy in Shell (môi trường) cung cấp giao diện cho người sử dụng, mô tả biên dòch Shell nhận câu lệnh từ người sử dụng gửi câu lệnh cho nhân thực Nhiều shell phát triển Linux cung cấp số shell như: desktops, windows manager, môi trường dòng lệnh Hiện chủ yếu tồn shell: Bourne, Korn C shell Bourne phát triển phòng thí nghiệm Bell, C shell phát triển cho phiên BSD UNIX, Korn shell phiên cải tiến Bourne shell Những phiên Unix, bao gồm Linux, tích hợp shell Cấu trúc file quy đònh cách lưu trữ file đóa File nhóm thư mục Mỗi thư mục chứa file thư mục khác Một số thư mục thư mục chuẩn hệ thống sử dụng Người dùng tạo file/thư mục riêng dòch chuyển file thư mục Hơn nữa, với Linux người dùng thiết lập quyền truy nhập file/thư mục, cho phép hay hạn chế người dùng nhóm truy nhập file Các thư mục Linux tổ chức theo cấu trúc cây, bắt đầu thư mục gốc (root) Các thư mục khác phân nhánh từ thư mục Kernel, shell cấu trúc file cấu thành nên cấu trúc hệ điều hành Với thành phần người dùng chạy chương trình, quản lý file, tương tác với hệ thống Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình Trang 6/77 ĐẠI HỌC TÔN ĐỨC THẮNG II CÀI ĐẶT MÁY CHỦ LINUX: Lưu ý: trước cài đặt, cần tìm hiểu thông tin phần cứng hệ thống, bao gồm  Thông tin ổ đóa cứng  Thông tin card mạng  Thông tin card đồ hoạ  Thông tin hình  Thông tin giao thức cấu hình mạng kết nối mạng  Thông tin thiết bò Có thể chọn nhiều phương án cài đặt cài đặt từ đóa mềm, từ đóa cứng, từ đóa CD Rom qua mạng Tài liệu chọn hướng dẫn trình cài đặt phiên 7.0 từ đóa CDRom Yêu cầu máy cài đặt có khả khởi động (boot) từ ổ đóa CD-Rom (được hỗ trợ hầu hết máy tính nay) Sau bước cài đặt cụ thể Khi kết thúc bước trước chương trình cài đặt tự động chuyển sang bước sau Một số bước cài đặt cho phép quay lại bước trước cách chọn Back Đưa đóa CD Rom Redhat vào ổ đóa Khởi động lại máy (lưu ý phải đảm bảo máy có khả khởi động từ đóa CD-Rom Chọn chế độ cài text B1 B2 Chọn chế độ cài text boot: text B3 Lựa chọn ngôn ngữ: Chọn ngôn ngữ mặc đònh English B4 Lựa chọn kiểu bàn phím: Lựa chọn kiểu thể bàn phím us Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 7/77 B5 Màn hình chào mừng Sau lựa chọn xong ngôn ngữ cài đặt, bàn phím phương pháp cài đặt, hình chào mừng xuất Bấm OK để tiếp tục B6 Chọn kiểu cài đặt Hộp hội thoại cho phép bạn chọn lựa kiểu cài đặt hệ điều hành Linux RedHat Workstation, Server, Custom nâng cấp phiên cài đặt Chọn kiểu cài đặt Custom System Chọn OK để tiếp tục B7 Lựa chọn phần mềm phân chia ổ đóa Linux đưa cho bạn hai phần mềm để phân chia ổ đóa dành cho Linux: Disk Druid fdisk Chọn Disk Druid để tiếp tục Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 8/77 Bạn cần tạo partition để install RedHat, nhớ đừng delete partition có sẵn máy bạn (nếu không liệu có sẵn mất, tốt bạn nên lưu liệu trước cho bảo đảm!) Dùng chức add, edit, delete tạo partition với type Linux swap, dung lượng dung lượng RAM máy Tiếp theo tạo partion tên "/" với loại Linux native, dung lượng 500Mb (tuỳ theo dung lượng trống đóa bạn, bạn muốn install trọn gói RedHat cần đến khoảng 2288MB) Hãy yên chí bạn tạo sai (partition kích thước lớn, lớn dung lượng trống đóa) RedHat không cho bạn tiếp Chỉ cần tạo partition đủ Khi bạn click Next coi thành công! Để tạo partition mới, chọn Add Màn hình Edit New Partition xuất Một số vấn đề xảy thêm partition Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 9/77 B8 Hiệu chỉnh partition Chọn partition cần hiệu chỉnh, nhấn Edit, hình cho phép bạn thay đổi thông số partition chọn kích thước, kiểu, B9 Hoàn thành việc phân chia đóa Chương trình cài đặt yêu cầu bạn format lại phân vùng vừa tạo, ý không chọn phân vùng liệu quan trọng bạn Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 10/77 B10 Khởi tạo LILO LInux LOader (LILO) cho phép bạn xác đònh thời gian để khởi tạo Linux hay hệ điều hành khác Khi khởi tạo cho server, LILO cấu hình tự động Master Boot Record [MBR] If you are performing a custom-class installation, the LILO Installation dialogs let you indicate how or whether to install LILO Việc chọn LILO cửa sổ LILO Configuration cho phép bạn thêm tuỳ chọn mặc đònh vào lệnh boot LILO tùy chọn chuyển cho Linux kernel thời điểm boot Chú ý bạn chọn Skip, bạn boot hệ thống Red Hat Linux trực tiếp mà phải sử dụng phương pháp boot khác (boot disk chẳng hạn) Bạn nên lựa chọn cách bạn chắn có cách khác để boot hệ thống Red Hat Linux bạn Dùng lựa chọn đặt boot loader Master Boot Record để khởi tạo hệ điều hành Linux bật máy Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 63/77 đưa vào đối số cho câu lệnh test Bảng 6.4.3 đưa danh sách toán tử file cho câu lệnh test Bảng 6.4.3 Các toán tử File cho câu lệnh test Toá Ý nghóa -d Trả lại giá trò true file xác đònh thư mục -f Trả lại giá trò true file xác đònh file thông thường -r Trả lại giá trò true néu file xác đònh đọc tiến trình -s Trả lại giá trò true file xác đònh có độ dài khác -w Trả lại giá trò true file ghi tiến trình -x Trả lại giá trò true file xác đònh thực thi n tử file file file file file file Bạn sử dụng toán tử logic cho câu lệnh test để kết hợp toán tử số, xâu, hay file phủ đònh toán tử đơn số, xâu, file Bảng 6.4.4 đưa danh sách cá toán tử logic cho câu lệnh test Bảng 6.4.4 Các toán tử Logic chó câu lệnh test Toán tử Ý nghóa ! expr Trả lại giá trò true expr khác true Expr1 -a expr2 Trả lại giá trò true expr1 expr2 true Expr1 -o expr2 Trả lại giá trò true expr1 expr2 true Shell tcsh câu lệnh test, biểu thức tsch thực chức tương tự Các toán tử tcsh hỗ trợ hầu hết giống hỗ trợ ngôn ngữ C Bạn thường sử dụng biểu tức cau lệnh if while Trong đoạn sau,phần "Sử dụng lệnh có điều kiện " "Sử dụng lệnh lặp " nói câu lệnh Giống câu lệnh test bash pdksh, biểu thức tcsh hỗ trợ toán tử số, xâu, file, logic Bảng 6.4.5 đưa danh sách toán tử hỗ trợ cá biểu thức tcsh Bảng 6.4.5 Các tóan tử số cho for biểu thức tcsh Toán tử Ý nghóa int1 = int2 Trả lại giá trò true int1 lớn int2 Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG int1 < int2 Trả lại giá trò true int1 nhỏ int2 int1 > int2 Trả lại giá trò true int1 lớn int2 Trang 64/77 Bảng 6.4.6 đưa danh sách toán tử xâu mà biểu thức tcsh hỗ trợ Table 6.4.6 Các toán tử xâu cho biểu thức tcsh Toán tử Ý nghóa str1 == str2 Trả lại giá trò true str1 str2 str1 != str2 Trả lại giá trò true str1 không str2 Bảng 6.4.7 đưa danh sách cá toán tử file mà biểu thức tcsh hỗ trợ Bảng 6.4.7 Các toán tử File cho biểu thức tcsh Toá Ý nghóa -r Trả lại giá trò true file đọc -w Trả lại giá trò true file ghi -x Trả lại giá trò true file thực thi -e Trả lại giá trò true file tồn -o Trả lại giá trò true file sở hữu người sử dụng -z Trả lại giá trò true file có kích thước -f Trả lại giá trò true file file thông thường -d Trả lại giá trò true file thư mục n tử file file file file file file file file Bảng 6.4.8 Đưa danh sách toán tử logic hỗ trợ biểu thức tcsh Table 6.4.8 Các toán tử Logical cho cá biểu thức tcsh Toán tử Hệ điều hành Linux Ý nghóa GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG exp1 || exp2 Trả lại giá trò true exp1 true exp2 true exp1 Trả lại giá trò true hai exp1 exp2 true && Trang 65/77 exp2 ! exp V Trả lại true exp khác true SỬ DỤNG CÁC CÂU LỆNH RẼ NHÁNH Trong shell bash, pdksh tcsh, shell có hai hình thức khác câu lệnh rẽ nhánh Bạn sử dụng lệnh để thực thi phần khác chương trình shell phụ thuộc vào điều kiện đònh có hay không Với hầu hết lệnh thực hiện, cú pháp cho câu lệnh khác shell V.1 Lệnh if Tất ba shell hỗ trợ câu lệnh if-then-else statements lồng Các lệnh cung cấp cho bạn cách thực câu lệnh test điều kiện phức tạp chương trình shell bạn Cú pháp lệnh if bash pdksh giống nhau: if [ expression ] then commands elif [ expression2 ] commands else commands fi Chú ý shell bash pdksh sử dụng đảo ngược tên câu lệnh hâu hết lệnh phức tạp để kết thúc câu lệnh Trong lệnh bên trên, từ khóa fi sử dụng đề làm kí hiệu kết thúc cho câu lệnh if Cả hai mệnh đề elif else phần tùy chọn lệnh if Lệnh elif rút gọn else if Lệnh thực thi biểu thức nằm lệnh if tất biểu thức lệnh elif trước giá trò true Các câu lệnh nằm lệnh else thực thi không biểu thức mệnh đề if mệnh đề elif có giá trò true Trong tcsh, lệnh if có hai dạng khác Dạng thứ cung cấp chức lệnh if bash pdksh Dạng lệnh if có cú pháp sau: if (expression1) then commands else if (expression2) then commands Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 66/77 else commands endif Lại lần phần if else lệnh if tùy chọn Lệnh viết với elif Nếu mã bên trình bày toán chương trình tcsh, nên bắt đầu với dòng sau để đảm bảo chạy hoàn hảo: #!/bin/sh Dạng thứ hai lệnh if mà tcsh cung cấp biến đổi đơn giản lệnh if dạng Dạng lệnh if tính giá trò biểu thức đơn Nếu biểu thức true thực thi câu lệnh đơn Nếu biểu thức false, điều xảy Cú pháp cho dạng lệnh if sau if (expression) command Bên ví dụ sử dụng lệnh if bash hay pdksh Lệnh kiểm tra xem có file có tên a profile thư mục hay không: if [ -f profile ] then echo "There is a profile file in the current directory." else echo "Could not find the profile file." fi Cũng với ví dụ sử dụng cú pháp tcsh sau: # if ( { -f profile } ) then echo "There is a profile file in the current directory." else echo "Could not find the profile file." endif Chú ý ví dụ tcsh dòng bắt đầu với ký tự # Ký hiệu yêu cầu để tcsh nhận file chứa câu lệnh file kòch tcsh V.2 Lệnh case Lệnh case cho phép bạn so sánh mẫu với số mẫu khác thực thi khối mã giống tìm thấy Lệnh case shell mạnh lệnh case Pascal hay lệnh switch C Với lệnh shell case , bạn so sánh xâu Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 67/77 với kí tự đại diện chúng; bạn có thể so sánh kiểu liệt kê giá trò số nguyên Pascal C Cú pháp cho lệnh case bash pdksh sau: case string1 in str1) commands;; str2) commands;; *) commands;; esac String1 so sánh với str1 str2 Nếu xâu hộ với string1, câu lệnh bên gặp hai dấu chấm phẩy(;;) thực Nếu xâu (str1 str2) hợp với string1, câu lệnh kết hợp với dấu hoa thò thực thi Các câu lệnh điều kiện case mặc đònh dấu hoa thò hợp với tất xâu Câu lệnh tcsh tương đương với câu lệnh case bash pdksh gọi lệnh switch Lệnh gần gũi với cú pháp lệnh switch C Cú pháp cho lệnh switch sau: switch (string1) case str1: statements breaksw case str2: statements breaksw default: statements breaksw endsw Lệnh xử lý giống nư cách sử lý lệnh case bash pdksh Mỗi xâu từ khóa case so sánh với string1 Nếu xâu xâu hợp với string1, mã bên gặp từ khóa breaksw keyword thực Nếu xâu phù hợp, mã bên từ khóa default gặp từ khóa breaksw thực thi Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 68/77 Mã bên ví dụ lệnh case shell bash hay pdksh Mã kiểm tra xem tùy chọn dòng lệnh -i hay -e Nếu -i, chương trình đếm số dòng file xác đònh tùy chọn thứ hai dòng lệnh bắt đầu với ký tự i Nếu tùy chọn thứ -e, chương trình đếm số dòng file xác đònh tùy chọn thứ hai dòng lệnh bắt đầu với ký tự e Nếu tùy chọn thứ dòng lệnh khác -i khác -e, chương trình in thông tin báo lỗi hình case $1 in -i) count=`grep ^i $2 | wc -l` echo "The number of lines in $2 that start with an i is $count" ;; -e) count=`grep ^e $2 | wc -l` echo "The number of lines in $2 that start with an e is $count" ;; *) echo "That option is not recognized" ;; esac Ví dụ tương tự viết theo cú pháp tcsh: # remember that the first line must start with a # when using tcsh switch ( $1 ) case -i | i: set count = `grep ^i $2 | wc -l` echo "The number of lines in $2 that begin with i is $count" breaksw case -e | e: set count = `grep ^e $2 | wc -l` echo "The number of lines in $2 that begin with e is $count" Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 69/77 breaksw default: echo "That option is not recognized" breaksw endsw VI SỬ DỤNG CÁC LỆNH LẶP Ngôn ngữ shell cung cấp lệnh lặp mà thường sử dụng Các lệnh lặp thao tác bạn cần thực hành động lặp lặp lại, chẳng hạn bạn xử lý danh sách file VI.1 Lệnh for Lệnh for thực thi câu lệnh chứa số lần Lệnh for có hai dạng khác bash pdksh Dạng thứ lệnh for mà bash pdksh hỗ trợ có cú pháp sau: for var1 in list commands done Trong dạng này, lệnh for thực thi lần cho phần tử nằm danh sách Danh sách thay đổi chứa từ phân biệt với dấu cách, hoặ c danh sách giá trò gõ trực tiếp vào câu lệnh Mỗi lần qua vòng lặp, biến var1 gán cho phần tử danh sách tiếp tục phần tử cuối danh sách Dạng thứ hai lệnh for có cú pháp sau: for var1 statements done Trong dạng này, lệnh for thực thi lần cho phần tử nằm biến var1 Khi bạn sử dụng cú pháp lệnh for, chương trình shell giả sử biến var1 chứa tất đối số đưa vào chương trình shell từ dòng lệnh Điển hình, dạng lệnh for tương đương với viết lệnh sau: for var1 in "$@" Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 70/77 statements done Tương đương với lệnh for tcsh lệnh foreach Nó xử lý tương tự lệnh for bash pdksh Cú pháp lệnh foreach sau: foreach name (list) commands end Một lần nữa, mã chương trình hoàn thiện, nên bắt đầu với kí hiệu # (và tốt #!/bin/sh để buộc thực thi theo Bourne shell) Dưới ví dụ sử dụng lệnh for bash hay pdksh Ví dụ lấy tùy chọn dòng lệnh số lượng file text Chương trình đọc file file này, chuyển đổi tất ký tự thành chữ hoa, sau lưu trữ kết file có tên có phần mở rộng caps for file tr a-z A-Z < $file >$file.caps done Chương trình sau ví dụ tương tự viết theo ngôn ngữ shell tcsh: # foreach file ($*) tr a-z A-Z < $file >$file.caps end VI.2 Lệnh while Một lệnh lặp khác đưa vào ngôn ngữ lập trình shell lệnh while Lệnh thực thi khối câu lệnh theo điều kiện Cú pháp lệnh while bash pdksh sau: while expression statements done Cú pháp cho lệnh while tcsh sau: Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 71/77 while (expression) statements end Dưới ví dụ lệnh while theo ngôn ngữ shell bash hay pdksh Chương trình đưa danh sách đối số đưa vào chương trình với số đối số count=1 while [ -n "$*" ] echo "This is parameter number $count $1" shift count=`expr $count + 1` done Lệnh shift chuyển đối số dòng lệnh lên sang bên trái (xem đoạn sau"Lệnh shift" để biết thêm thông tin) Chương trình bên tương tự viết cho ngôn ngữ tcsh: # set count = while ( "$*" != "" ) echo "This is parameter number $count $1" shift set count = `expr $count + 1` end VI.3 Lệnh until Lệnh until có cú pháp chức tương tự lệnh while Chỉ có khác biệt thực hai lệnh lệnh until thực thi mã khối giá trò biểu thức sai lệnh while thực thi khối lệnh cảu biểu thức có giá trò true Cú pháp cho lệnh until bash pdksh sau: until expression commands done Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 72/77 Để làm cho ví dụ sử dụng với lệnh while làm việc với lệnh until, tất bạn phải làm phủ đònh điều kiện, đoạn mã bên dưới: count=1 until [ -z "$*" ] echo "This is parameter number $count $1" shift count=`expr $count + 1` done Chỉ có khác ví dụ ví dụ lệnh while tùy chọn -n lệnh test, có nghóa xâu độ dài 0, thay tùy chọn -z , có nghóa chuỗi có độ dài Trong thực tế, lệnh until dùng với lệnh until nào, bạn viết lệnh while Lệnh until không hỗ trợ tcsh VI.4 Lệnh shift Tất shell bash, pdksh, tcsh hỗ trợ lệnh gọi lệnh shift Lệnh shift chuyển giá trò lưu trữ đối số dòng lệnh lên vò trí sang trái Ví dụ, giá trò đối số $1 = -r $2 = file1 $3 = file2 bạn thực lệnh shift shift kết đối số đưa vào sau: $1 = file1 $2 = file2 Bạn dòch chuyển đối số qua nhiều vò trí số xác đònh vớikèm theo với lệnh shift Lệnh sau dòch chuyển đối số lên hai vò trí: shift Lệnh hữu ích có chương trình shell cần phân tích tùy chọn dòng lệnh Các tùyd chọn thường đặt trước dấu nối ký tự để tùy chọn sử dụng Bởi tùy chọn luôn xử lý vòng lặp loại câu lệnh, bạn thường muốn nhảy đến đối số bạn xác đònh tùy chọn nên xử lý Ví dụ, chương trình shell sau chờ hai tùy chọn dòng lệnh, xác đònh file đầu vào xác đònh file đầu Chương trình đọc file đầu vào, chuyển tất ký tự file input thành chữ hoa, sau lưu trữ kết file đầu xác đònh: while [ "$1" ] Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 73/77 if [ "$1" = "-i" ] then infile="$2" shift else if [ "$1" = "-o" ] then outfile="$2" shift else echo "Program $0 does not recognize option $1" fi done tr a-z A-Z $outfile VI.5 Lệnh select Shell pdksh đưa lệnh lặp mà bash tcsh không hỗ trợ, lệnh select Nó khác với lệnh lặp khác không thực thi khối mã lệnh shell theo điều kiện true false Những lệnh select làm cho phép bạn tự động tạo menu text đơn giản Cú pháp lệnh select sau: select menuitem [in list_of_items] commands done Khi bạn thực thi lệnh select, pdksh tạo đối tượng menu đánh số cho phần tử có list_of_items list_of_items biến chứa nhiều phần tử, chẳng hạn choice1 choice2 danh sách lựa chọn gõ vào từ dòng lệnh, ví dụ sau: select menuitem in choice1 choice2 choice3 Nếu danh sách list_of_items is không cung cấp, lệnh select sử dụng đối số dòng lệnh cho lệnh thực Khi người sử dụng chương trình có chứa lệnh select chọn số phần tử menu cách gõ vào số tương ứng với nó, lệnh select lưu giá trò phần tử lựa chọn biến menuitem Các lệnh khối sau thực hoạt động phần tử menu Dưới ví dụ việc sử dụng lệnh select Ví dụ hiển thò ba phẩn tử menu Khi người sử dụng chọn phần tử, chương trình hỏi bạn xem có phải Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 74/77 phần tử lựa chọn không, người sử dụng gõ khác với y Y, chương trình hiển thò lại menu select menuitem in pick1 pick2 pick3 echo "Are you sure you want to pick $menuitem" read res if [ $res = "y" -o $res = "Y" ] then break fi done Ví dụ giới thiệu vài lệnh Lệnh read sử dụng để lấy liệu vào từ người sử dụng Nó lưu người sử dụng gõ vào biến xác đònh Lệnh break để kết thúc vòng lặp lệnh while, select, for VI.6 Lệnh repeat Shell tcsh có lệnh lặp pdksh hay bash Lệnh lệnh repeat Lệnh repeat thực thi câu lệnh đơn theo số lần xác đònh Cú pháp cho lệnh repeat sau: repeat count command Ví dụ sau lệnh repeat lấy tập hợp số tùy chọn dòng lệnh in số dấu chấm lên hình Chương trình hoạt động chương trình minh họa thô sơ # foreach num ($*) repeat $num echo -n "." echo "" end Bạn viết lại lệnh repeat lệnh while hay lệnh for; cú pháp repeat thuận tiện mà VII SỬ DỤNG CÁC HÀM Ngôn ngữ shell cho phép bạn dònh nghóa hàm bạn Các hàm đònh nghóa giống cách bạn đònh nghóa hàm ngôn ngữ lập trình C hay ngôn ngữ lập trình khác Thuận lợi việc sử dụng hàm để tổ chức, tránh viết tất mã shell Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 75/77 bạn dòng Mã viết sử dụng hàm có khuynh hướng dễ việc đọc bảo trì khuynh hướng nhỏ gọn bạn nhóm mã chung vào hàm thay việc đưa vào tất nơi cần Cú pháp để tạo hàm trongbash pdksh sau: fname () { shell commands } Cùng với cú pháp trước , pdksh cho phép cú pháp sau: function fname { shell commands } Cả hai dạng xử lý xác theo cách Sau bạn đònh nghóa hàm bạn sử dụng dạng trên, bạn gọi đến cách vào lệnh sau: fname [parm1 parm2 parm3 ] Chú ý bạn đưa số lượng đối số vào hàm bạn Khi bạ n đưa đối số vào hàm, xem đối số đối số chương trình shell bạn đưa đối số từ dòng lệnh Ví dụ, chương trình shell sau chứa vài hàm, hàm thực nhiệm vụ mà kết hợp với tùy chọn dòng lệnh Ví dụ bao trùm nhiều nội dung phần Nó đọc tất file đưa vào từ dòng lệnh phụ thuộc vào tùy chọn sử dụng, viết file với tất ký tự hoa, viết file với tất ký tự thường, in file upper () { shift for i tr a-z A-Z $1.out rm $1 mv $1.out $1 shift done; } lower () { Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 76/77 shift for i tr A-Z a-z $1.out rm $1 mv $1.out $1 shift done; } print () { shift for i lpr $1 shift done; } usage_error () { echo "$1 syntax is $1 " echo "" echo "where option is one of the following" echo "p to print frame files" echo "u to save as uppercase" echo "l to save as lowercase"; } case $1 in p | -p) print $@;; u | -u) upper $@;; l | -l) lower $@;; Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 77/77 *) usage_error $0;; esac Chương trình tcsh không hỗ trợ hàm VIII TỔNG KẾT Trong chương này, bạn thấy nhiều đặc điểm ngôn ngữ lập trình bash, pdksh tcsh Khi bạn sử dụng Linux, bạn thấy bạn sử dụng ngôn ngữ lập trình shell ngày thường xuyên Cho dù ngôn ngữ shell mạnh dễ học, bạn gặp phải vài vấn đề chương trình shell không phù hợp với vấn đề bạn giải Trong trường hợp vậy, bạn nghiên cứu tìm hiểu ngôn ngữ khác sử dụng có Linux Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình [...]... disk): Chọn No và tiếp tục B23 Hoàn thành cài đặt Như vậy là bạn đã hoàn thành xong công việc cài đặt hệ điều hành RedHat 7.0 Bạn hãy rút đóa ra khỏi ổ CD và nhấn OK để khởi động lại hệ thống Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 17/77 BÀI 2 GIAO TIẾP TRÊN MÔI TRƯỜNG LINUX I TRÌNH SOẠN THẢO VI Chương trình vi là một chương trình soạn thảo mạnh mà gần như chắc... nếu máy tính của bạn sử dụng một hệ điều hành khác thì việc thiết đặt đồng hồ theo giờ GMT sẽ khiến cho hệ điều hành khác đó hiển thò sai thời gian Để đặt giờ VN, chọn Asia/Saigon Để thay đổi cấu hình về thời gian sau khi bạn đã cài đặt, bạn có thể dùng lệnh /usr/sbin/timeconfig B15 Thiết lập mật khẩu root Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 13/77 Hộp... Sau đây là những phím lệnh cơ bản: Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình F1: Trợ giúp F6: Đổi tên, chuyển tập tin F2: Menu người dùng F7: Tạo thư mục F3: Xem các tập tin được chọn F8: Xoá tập tin F4: Hiệu đính tập tin F9: Gọi menu thả xuống (pull-down) F5: Copy tập tin F10: Thoát khỏi Midnight Commander Midnight Commander hỗ trợ một số hệ thống tập tin ảo, nghóa là bạn có thể xem file... II.4.3.Lệnh jobs Cú pháp: jobs Lệnh này cho phép bạn hiển thò các tiến trình nền đang chạy Ngoài ra còn một số lệnh sẽ được trình bày trong các phần sau Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình Trang 30/77 ĐẠI HỌC TÔN ĐỨC THẮNG BÀI 3 GIỚI THIỆU HỆ THỐNG TẬP TIN, THƯ MỤC I GIỚI THIỆU Trong linux file được tổ chức thành các thư mục, theo mô hình phân cấp Tham chiếu đến một file bằng tên... các tập tin bò xoá trong Linux - là không hoàn toàn chính xác Nếu bạn sử dụng phần mở rộng ext2, hệ thống tập tin cơ bản trong Linux và cấu hình hệ thống để cho phép hồi phục tập tin bò xóa thì trên thực tế bạn có thể truy cập vào các file đã xóa Với Midnight Commander, bạn nhập dòng "undel:/" trước tên tập tin, ví dụ "undel:/dev/hda1" Sau đó bạn có thể xem các tập tin bò xóa (hình 3) Chọn tập tin bạn... Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 15/77 B20 Cấu hình Video Adapter Chương trình cài đặt sẽ tự phát hiện video card khởi tạo Nhấn OK để tiếp tục B21 Bắt đầu khởi tạo các gói tin: Quá trình khởi tạo sẽ được ghi vào tệp /tmp/install.log Nhấn OK để tiếp tục Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 16/77 B22 Tạo đóa khởi tạo cho hệ thống (boot disk):... mục hệ thống Thư mục root, là gốc của hệ thống file của Linux, chứa một vài thư mục hệ thống Thư mục hệ thống chứa file và chương trình sử dụng để chạy và duy trì hệ thống Biểu diễn các thư mục như sau: /(root) sbin sbin usr bin dev lib var etc man home User01 User0 Mô tả thư mục Thư mục Chức năng / Bắt đầu cấu trúc file, gọi là thư mục gốc (root) /home Chứa thư mục gốc (home) của người dùng Hệ điều hành. .. biệt chữ hoa chữ thường và ít nhất là 6 ký tự B17 Bạn có thể tạo tiếp nhiều user theo cửa sổ sau: Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 14/77 B18 Cấu hình xác thực người dùng Do bạn khởi tạo theo chế độ custom, bước này cho phép bạn cấu hình cách mà hệ điều hành linux của bạn sử dụng để xác thực mật khẩu Lựa chọn Use Shadow Passwords: mật khẩu của bạn đáng... lệnh compress Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 28/77 uncompress –v inbox.Z II.3.6.Lệnh unzip Cú pháp: unzip file Lệnh này sẽ giải nén các file có phần mở rộng zip Các file này có thể được nén với lệnh zip II.3.7.Lệnh zip Cú pháp : zip [-ACDe9] file Đây là chương trình nén file theo đònh dạng nổi tiếng tương thích với nhiều hệ điều hành Các file được... trình II.4.1.Lệnh bg Cú pháp: bg Đây là kòch bản shell được xây dựng sẵn Đưa một tiến trình đang chạy về chạy ở sau hậu cảnh (tiến trình nền) Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 29/77 II.4.2.Lệnh fg Cú pháp: fg [%job-number] Câu lệnh này cho phép bạn chuyển một tiến trình nền lên chạy ở trên tiền cảnh Nếu bạn chạy câu lệnh này không có bất kỳ đối số ... Tổng kết 77 Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN ĐỨC THẮNG Trang 5/77 BÀI GIỚI THIỆU HỆ ĐIỀU HÀNH LINUX I LỊCH SỬ Linux hệ điều hành mô Unix, xây dựng... cấu thành nên cấu trúc hệ điều hành Với thành phần người dùng chạy chương trình, quản lý file, tương tác với hệ thống Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình Trang 6/77 ĐẠI HỌC... để boot hệ thống Red Hat Linux bạn Dùng lựa chọn đặt boot loader Master Boot Record để khởi tạo hệ điều hành Linux bật máy Hệ điều hành Linux GV: Nguyễn Việt Hùng - Trần Quang Bình ĐẠI HỌC TÔN

Ngày đăng: 04/12/2015, 15:14

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan