Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 65 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
65
Dung lượng
367 KB
Nội dung
Copyright(c) by Galaxy CD – http://www.galaxycd.com 1 Mục lục: PHẦN 1: UNIX CƠ SỞ Bài 1. Khởi động UNIX 1.1 Bắt đầu phiên làm việc 1.2 Kết thúc phiên làm việc 1.3 Cách dùng lệnh của UNIX Bài 2. Làm việc với file. 2.1 Tổ chức file 2.2 Di chuyển giữa các thư mục 2.3 Các thao tác cơ sở với các thư mục 2.4 Các thao tác cơ sở với file thường Bài 3. Bảo vệ các file của người sử dụng 3.1 Mô tả người sử dụng 3.2 Mô tả nhóm người sử dụng 3.3 Bảo vệ các file và các thư mục Bài 4. Sao, chuyển, liên kết và tìm kiếm file 4.1 Sao chép file 4.2 Chuyển và đổi tên file 4.3 Tạo liên kết với file 4.4 Tìm kiếm file Bài 5. Thông tin giữa những người sử dụng 5.1 Thông tin bằng lệnh mail 5.2 Thông tin bằng lệnh write Bài 6. Sử dụng chương trình soạn thảo vi 6.1 Khởi động vi 6.2 Soạn thảo văn bản Bài 7. Shell script 7.1 Quản lý tiến trình 7.2 Lập cách thức cho shell script 7.3 Các shell UNIX Bài 8. Đổi hướng (redirection) 8.1 Vào/ra chuan 8.2 Chuyển đổi dữ liệu giữa các tiến trình Copyright(c) by Galaxy CD – http://www.galaxycd.com 2 8.3 Đổi hướng kép đầu ra chuẩn Bài 9. Cơ chế thay thế của Shell 9.1 Truyền tham số 9.2 Các biến Shell 9.3 Các kí tự đặc biệt 9.4 Lấy kết quả của một lệnh 9.5 Các qui tắc thay thế của Shell Bài 10. Môi trường của Shell 10.1 Môi trường 10.2 Các biến đònh nghóa trước 10.3 Các biến chung Bài 11. Lập trình mức cơ sở dưới UNIX 11.1 Các phép thử trong Shell 11.2 Lập trình một cấu trúc có điều kiện 11.3 Lập trình một chu trình Bài 12. Tín hiệu và đồng bộ 12.1 Quản lý các tín hiệu 12.2 Quản lý các tiến trình 12.3 Đệ qui PHẦN 2 LẬP TRÌNH C DƯỚI UNIX Bài 1. Giới thiệu chung 1.1 Các lời gọi hệ thống 1.2 Chủ thực và chủ thực quyền của tiến trình 1.3 Đònh nghóa các tham biến chương trình 1.4 Một số đònh nghóa khác Bài 2. Quản lý tiến trình 2.1 Nhận biết tiến trình 2.2 Nhận biết chủ tiến trình 2.3 Thay đổi chủ và nhóm chủ 2.4 Tạo một tiến trình 2.5 Các hàm gọi một tiến trình thay thế 2.6 Đồng bộ tiến trình 2.7 Mức ưu tiên của tiến trình 2.8 Nhóm các tiến trình Copyright(c) by Galaxy CD – http://www.galaxycd.com 3 Bài 3. Quản lý file 3.1 Mở một file 3.2 Tạo một file 3.3 Đóng file 3.4 Đặt mặt nạ các quyền thâm nhập file 3.5 Đọc file 3.6 Ghi file 3.7 Di chuyển con trỏ file 3.8 Cấu trúc một inode 3.9 Tạo một inode 3.10 Thay đổi quyền thâm nhập 3.11 Thay đổi chủ sở hữu hoặc nhóm 3.12 Thay đổi thư mục làm việc Copyright(c) by Galaxy CD – http://www.galaxycd.com 4 PHẦN 1: UNIX CƠ SỞ Bài 1. Khởi động UNIX Nội dung: Làm quen với hệ điều hành UNIX. Bắt đầu, kết thúc phiên làm việc, chạy một số lệnh đặc trưng. 1.1 Bắt đầu phiên làm việc: Bật công tắc nguồn của terminal (trong hệ thống của NLC là Xterm sau khi dùng Exceed kết nối với UNIX server), khoảng một giây sau trên màn hình hiện dòng thông báo: Login: Hãy nhập vào tên (user name) khi kết thúc bằng phím Enter. Nếu người sử dụng có dùng mật khẩu (passwor), trên màn hình sẽ hiện dòng: Password: Hãy vào mật khẩu của mình và kết thúc bằng phím Enter. Nếu tên (và mật khẩu nếu có) được vào đúng, terminal đó sẽ được nối với máy chủ và trên màn hình sẽ hiện ký tự: $ đó là dấu nhắc của Shell. Mật khẩu đảm bảo an toàn cho mỗi phiên làm việc. Ta có thể thay đổi mật khẩu bằng lệnh passwd. Mật khẩu phải dài ít nhất 6 ký tự, ít nhất phải có 2 ký tự alphabet, phải khác với tên (user name) ít nhất 3 ký tự, dài tối đa 13 ký tự. 1.2 Kết thúc phiên làm việc: Ấn CTRL + D (giữ phím CTRL và gõ phím D) hoặc gõ lệnh $exit để kết thúc phiên làm việc. 1.4 Cách dùng lệnh của UNIX: - Cú pháp cơ bản để chạy một lệnh của UNIX như sau: $tênlệnh [-tuỳ chọn][đối số 1]…[đối số n] Thí dụ: wc là lệnh đếm và hiển thò số dòng, từ và ký tự của một file. Ta có thể chạy lệnh wc như sau $wc /etc/passwd 32 37 1139 etc/passwd $wc -l /etc/passwd 32 etc/passwd Copyright(c) by Galaxy CD – http://www.galaxycd.com 5 $wc -ld /etc/passwd /etc/group 32 1139 etc/passwd 15 337 etc/group 47 1476 total - Các thông báo lỗi khi gọi lệnh: Nếu lệnh không tồn tại hoặc không tìm thấy: $data data not found Nếu cú pháp của lệnh bò gõ sai: $wc -m /etc/group usage: wc [-clw][name…] Bài tập: Chú ý: Ký hiệu <CR> tượng trưng cho việc gõ phím Enter. 1. Hãy bắt đầu phiên làm việc với tên (username) của bạn. 2. Đợi khi dấu nhắc của hệ thống xuất hiện (dấu $), gõ vào date<CR> 3. Gán mật khẩu cho tên: passwd<CR> 4. Liệt kê tên những người đang sử dụng hệ who<CR> 5. Xem ai là người đang làm việc tại terminal: who am I<CR> whoami<CR> 6. Xem tên terminal mà ta đang làm việc trên đó: tty<CR> 7. Hiển thò các thông báo lên màn hình: echo “Xin chao” <CR> echo “Chao” <CR> echo “Dau nhac ket thuc boi $ xuat hien sau Chao” <CR> echo “Hom nay la ngay:”;date<CR> echo “Hai lenh tren 1 dong cach nhau boi dau ;” <CR> 8. Dùng lệnh cal (lòch): cal 01 1900<CR> cal 01<CR> cal 1900<CR> cal 1900 | more<CR> 9. Một vài lệnh khác: logname<CR> Copyright(c) by Galaxy CD – http://www.galaxycd.com 6 uname<CR> who | wc<CR> 10. Kết thúc phiên làm việc: Ctrl D (giữ phím Ctrl và gõ D) hoặc exit<CR> Copyright(c) by Galaxy CD – http://www.galaxycd.com 7 Bài 2. Làm việc với file Nội dung: Các khái niệm cơ bản về file của UNIX, tổ chức của các file trên đóa, các thao tác với file. 2.1 Tổ chức file: 2.1.1 Các kiểu file UNIX có 3 kiểu file: -File bình thường (ordinary file): là một tập hợp thông tin (ASCII text hoặc binary). -File thư mục (directory file): chứa danh sách các têncó thể truy nhập tới thí dụ như các file bình thường, các file đặc biệt hoặc các thư mục con. -File đặc biệt (special file): là các file liên quan tới các thiết bò ngoại vi cứng và/hoặc cơ chế truyền tin. Thí dụ: Bàn phím là một file đầu vào(input file). Màn hình là một file đầu ra (output file). Máy in là một file đầu ra. 2.1.2 Tổ chức của các file Các file của UNIX được tổ chức theo dạng cây (tree). Thư mục gốc (root) của cây được biểu diễn bằng ký tự /. Cấu trúc cây cơ sở của hệ UNIX được bố trí như sau: Ký hiệu file bình thường Ký hiệu file thư mục Ký hiệu file đặc biệt Hình 1: Cấu trúc cây cơ sở của UNIX 2.2 Di chuyển giữa các thư mục: Để di chuyển giữa các thư mục trong cây của UNIX, ta dùng 2 lệnh sau đây: / unix bin etc usr users dev user2 user1 Copyright(c) by Galaxy CD – http://www.galaxycd.com 8 cd chuyển đến thư mục cần đến (change directory) pwd hiển thò tên thư mục đang làm việc (print working directory) Tại thời điểm bắt đầu phiên làm việc, ta ở trong thư mục tiếp nhận (HOME directory). Muốn xem tên thư mục tiếp nhận này, ta dùng lệnh pwd. Thí dụ: user1 có thư mục tiếp nhận là /users/user1 $pwd /users/user1 Để di chuyển giữa các thư mục ta dùng lệnh cd với tên thư mục cần chuyển đến. $cd /usr/bin $pwd /usr/bin $cd $pwd /usr Để về thư mục tiếp nhận khi ta đang ở bất kỳ đâu, gõ: $cd $pwd /users/user1 2.3 Các thao tác cơ sở với thư mục: 2.3.1 Xem nội dung thư mục: - Xem nội dung thư mục hiện đang làm việc: $ls - Xem nội dung thư mục khác, chẳng hạn thư mục /bin: $ls /bin - Xem thêm thông tin của các file trong thư mục: $ls -l hoặc $ll - Xem tên các file trong thư mục theo cột: $lc Khi dùng lệnh ls –l ta có thể phân biệt các kiểu file bằng cách xem ký tự đầu của dòng hiển thò, nếu là: d : file thư mục. - : file bình thường c hoặc b : file đặc biệt 2.3.2 Tạo thư mục: Để tạo một thư mục mới, ta dùng lệnh mkdir (make directory): $mkdir index $cd index Copyright(c) by Galaxy CD – http://www.galaxycd.com 9 $ls -a . . . Lệnh mkdir tạo một thư mục với 2 đầu vào (entry) - bản thân thư mục có tên đã cho. - thư mục . liên hệ với thư mục được tạo ở trên - thư mục . . liên hệ vơí thư mục cha. 2.3.3 Xóa thư mục: Để xoá một thư mục ta dùng lệnh rmdir (remove directory): $rmdir index Nếu muốn xoá thư mục không rỗng, phải dùng lệnh rm với tuỳ chọn r $rm -ri thumuc 2.4 Các thao tác cơ sở với file thường: 2.4.1 Nhận biết một file thường: Lệnh file phân tích nột dung của một file và hiển thò tính chất của thông tin chứa trong file: $file /etc/passwd /etc/passwd: ascii text $file /bin/ls /bin/ls: 680x0 executable 32 bits page aligned striped 2.4.2 Xem nội dung một file thường ASCII: Có thể dùng một trong các lệnh sau: cat dùng để xem nội dung các file nhỏ. pg hoặc more xem nội dung các file lớn theo trang. $cat tên file $pg tên file $more tên file 2.4.3 Tạo một file thường ASCII Tại Shell của UNIX ta có thể dễ dàng tạo một file thường ASCII text bằng cách dùng lệnh cat $cat >text_file abcdef 123456 <Ctrl + D> $ [...]... Quản lý tiến trình: 7.1.1 Mục đích của shell Shell là chương trình thông dòch lệnh Hiển thò $ Đọc lệnh Tạo tiến trình Đợi tiến trình kết thúc Hiển thò $ 7.1.2 Tạo tiến trình: Khái niệm chung về tiến trình: Tiến trình được hiểu là việc thực hiện một công việc hay một chương trình trong môi trường cụ thể trong hệ thóng Ta có thể phân biệt hai loại tiến trình: - Tiến trình hệ thống: là tiến trình không... điểm khởi động hệ thống hoặc vào các thời điểm cố đònh do người dùng quản trò hệ thống đặt 33 Copyright(c) by Galaxy CD – http://www.galaxycd.com - Tiến trình do người sử dụng tạo ra Các tiến trình được tổ chức theo dạng cây: Tiến trình cha tiến trình con (parent) (child) Đối với người sử dụng, tiến trình cha là Shell được tạo tại thời điểm bắt đầu phiên làm việc 7.1.3 Liệt kê các tiến trình: Lệnh ps... (processor utilization for scheduling) STIME thời điểm bắt đầu tiến trình TTY terminal điều khiển tiến trình TIME thời gian tích luỹ thực hiện tiến trình (cumulative time) COMMAND tên lệnh sinh ra tiến trình Tiến trình số 1 là tiến trình init, trong đó có chứcc năng giám sát các terminal, là tiến trình cha của tất cả các tiến trình Shell khi login Cách thực hiện một shell_script: $chmod +x proc $proc hoặc... các tiến trình đang diễn ra: $ps -f UID PID PPID C STIME TTY TIME COMMAND user5 4582 1 0 11:04:45 tty23 0:01 -sh user5 4792 4582 36 11:10:04 tty23 0:04 ps -f trong đó: UID số UID của người chủ tiến trình PID số của tiến trình (process identity) PPID số của tiến trình cha (parent process identity) C chỉ số sử dụng bộ xử lý (processor utilization for scheduling) STIME thời điểm bắt đầu tiến trình TTY... tạo chương trình sau trong thư mục tiếp nhận: - chương trình “hello”: $cat > hello print ”Hello” print “How are you ?” ^D - chương trình reply: $cat > reply print “Hello” print “Fine And you ?” ^D 2 Xem quyền thâm nhập vào các file trên: ll -R 3 Chạy 2 chương trình trên 17 Copyright(c) by Galaxy CD – http://www.galaxycd.com Đặt quyền chạy được (executable) cho 2 files trên Chạy lại 2 chương trình trên... -print 2> /dev/null Thí dụ: $pwd /users/user1 $find / -name /dev/ttyc2d1 $ls -i /unix 2810 -r-xr r 2 ttyc2d1 -print 2> /dev/null bin $find / -inum 2810 /unix /makesys/root /unix bin 508516 Mar 10 -print 2> /dev/null $pwd /users/user1 $find /users -user -user1 -print /users/user1 /users/user1/res1 /users/user1/res 22 1989 /unix Copyright(c) by Galaxy CD – http://www.galaxycd.com /users/user1/file1 $ll... thành Y :wq $ 32 Copyright(c) by Galaxy CD – http://www.galaxycd.com Bài 7 Shell_script Nội dung: giới thiệu shell, tiến trình (process) và các cách thức thực hiện tiến trình Shell có thể đọc và thực hiện một file gồm danh sách các lệnh cần thực hiện File ở dạng này được gọi là shell_sript hoặc procedure Shell_script được thực hiện nhờ shell, và chính shell sẽ phát sinh và quản lý tất cả các tiến trình. .. mục tiếp nhận: cp /users/EXERCISES/editsave edition 2 Dùng chương trình vi để soạn thảo file trên: vi edition 3 Chuyển cursor xuống cuối dòng văn bản, xong lại chuyển về đầu văn bản Dùng: CTRL – D và CTRL – U hoặc CTRL – F và CTRL – B hoặc G và :1 4 Hãy sửa: - Tên “Dupont Jean” đầu tiên thành “Jean-Jacques” - Tên “Dupont Pierre” đầu tiên thành “Jean-Pierre” Làm như sau: /Dupont Jean/ chuyển cursor tới... ^D để tạo file rm, sau đó sửa quyền thâm nhập để file có thể chạy được: chmod +x rm thử chạy file rm để xoá một file nào đó đang tồn tại: rm file Điều gì sẽ xảy ra? KHÔNG BAO GIỜ ĐƯC ĐẶT TÊN FILE TRÙNG VỚI TÊN LỆNH HỆ THỔNG (CHÚ Ý: test cũng là một lệnh của hệ thống) 18 Copyright(c) by Galaxy CD – http://www.galaxycd.com Bài 4: Sao chép, chuyển, liên kết và tìm kiếm file Nội dung: các thao tác, các lệnh... báo tới tất cả những người đang làm việc trong hệ Lệnh write ghi thông tin trực tiếp lên màn hình nên có thể gây nhiễu cho công việc mà người nhận đang làm Để tránh làm việc đó có thể dùng lệnh mesg với tuỳ chọn n $mesg … 25 Copyright(c) by Galaxy CD – http://www.galaxycd.com Bài 6: Sử dụng chương trình soạn thảo vi mức cơ sở Nội dung: giới thiệu chương trình soạn thảo vi, cung cấp một số kiến thức . 10.3 Các biến chung Bài 11. Lập trình mức cơ sở dưới UNIX 11.1 Các phép thử trong Shell 11.2 Lập trình một cấu trúc có điều kiện 11.3 Lập trình một chu trình Bài 12. Tín hiệu và đồng. tiến trình 12.3 Đệ qui PHẦN 2 LẬP TRÌNH C DƯỚI UNIX Bài 1. Giới thiệu chung 1.1 Các lời gọi hệ thống 1.2 Chủ thực và chủ thực quyền của tiến trình 1.3 Đònh nghóa các tham biến chương trình. lý tiến trình 2.1 Nhận biết tiến trình 2.2 Nhận biết chủ tiến trình 2.3 Thay đổi chủ và nhóm chủ 2.4 Tạo một tiến trình 2.5 Các hàm gọi một tiến trình thay thế 2.6 Đồng bộ tiến trình 2.7