TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH UNIX CƠ SỞ KHOA CÔNG NGHỆ THÔNG TIN 2007 Copyright(c) by Galaxy CD – http://www.galaxycd.com Mục lục: PHẦN 1: UNIX CƠ SỞ Bài 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 UNIX Bài Làm việc với file 2.1 Tổ chức file 2.2 Di chuyển thư mục 2.3 Các thao tác sở với thư mục 2.4 Các thao tác sở với file thường Bài Bảo vệ file 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ệ file thư mục Bài Sao, chuyển, liên kết tìm kiếm file 4.1 Sao chép file 4.2 Chuyển đổi tên file 4.3 Tạo liên kết với file 4.4 Tìm kiếm file Bài Thông tin người sử dụng 5.1 Thông tin lệnh mail 5.2 Thông tin lệnh write Bài 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ài 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 Đổi hướng (redirection) 8.1 Vào/ra chuan 8.2 Chuyển đổi liệu tiến trình Copyright(c) by Galaxy CD – http://www.galaxycd.com 8.3 Đổi hướng kép đầu chuẩn Bài Cơ chế thay 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 lệnh 9.5 Các qui tắc thay Shell Bài 10 Môi trường 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 sở UNIX 11.1 Các phép thử Shell 11.2 Lập trình cấu trúc có điều kiện 11.3 Lập trình chu trình Bài 12 Tín hiệu đồng 12.1 Quản lý tín hiệu 12.2 Quản lý tiến trình 12.3 Đệ qui PHẦN LẬP TRÌNH C DƯỚI UNIX Bài Giới thiệu chung 1.1 Các lời gọi hệ thống 1.2 Chủ thực chủ thực quyền tiến trình 1.3 Định nghóa tham biến chương trình 1.4 Một số định nghóa khác Bài 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ủ nhóm chủ 2.4 Tạo tiến trình 2.5 Các hàm gọi tiến trình thay 2.6 Đồng tiến trình 2.7 Mức ưu tiên tiến trình 2.8 Nhóm tiến trình Copyright(c) by Galaxy CD – http://www.galaxycd.com Bài Quản lý file 3.1 Mở file 3.2 Tạo file 3.3 Đóng file 3.4 Đặt mặt nạ quyền thâm nhập file 3.5 Đọc file 3.6 Ghi file 3.7 Di chuyển trỏ file 3.8 Cấu trúc inode 3.9 Tạo inode 3.10 Thay đổi quyền thâm nhập 3.11 Thay đổi chủ sở hữu nhóm 3.12 Thay đổi thư mục làm việc Copyright(c) by Galaxy CD – http://www.galaxycd.com PHẦN 1: UNIX CƠ SỞ Bài 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 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 terminal (trong hệ thống NLC Xterm sau dùng Exceed kết nối với UNIX server), khoảng giây sau hình dòng thông báo: Login: Hãy nhập vào tên (user name) kết thúc phím Enter Nếu người sử dụng có dùng mật (passwor), hình dòng: Password: Hãy vào mật kết thúc phím Enter Nếu tên (và mật có) vào đúng, terminal nối với máy chủ hình ký tự: $ dấu nhắc Shell Mật đảm bảo an toàn cho phiên làm việc Ta thay đổi mật lệnh passwd Mật phải dài ký tự, phải có ký tự alphabet, phải khác với tên (user name) 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 gõ phím D) gõ lệnh $exit để kết thúc phiên làm việc 1.4 Cách dùng lệnh UNIX: - Cú pháp để chạy lệnh UNIX sau: $tênlệnh [-tuỳ chọn][đối số 1]…[đối số n] Thí dụ: wc lệnh đếm hiển thị số dòng, từ ký tự file Ta chạy lệnh wc sau $wc /etc/passwd 32 37 1139 etc/passwd $wc 32 -l /etc/passwd etc/passwd Copyright(c) by Galaxy CD – http://www.galaxycd.com $wc 32 15 47 -ld /etc/passwd /etc/group 1139 etc/passwd 337 etc/group 1476 total - Các thông báo lỗi gọi lệnh: Nếu lệnh không tồn không tìm thấy: $data data not found Nếu cú pháp lệnh bị gõ sai: $wc -m /etc/group usage: wc [-clw][name…] Bài tập: Chú ý: Ký hiệu tượng trưng cho việc gõ phím Enter Hãy bắt đầu phiên làm việc với tên (username) bạn Đợi dấu nhắc hệ thống xuất (dấu $), gõ vào date Gán mật cho tên: passwd Liệt kê tên người sử dụng hệ who Xem người làm việc terminal: who am I whoami Xem tên terminal mà ta làm việc đó: tty Hiển thị thông báo lên hình: echo “Xin chao” echo “Chao” echo “Dau nhac ket thuc boi $ xuat hien sau Chao” echo “Hom la ngay:”;date echo “Hai lenh tren dong cach boi dau ;” Dùng lệnh cal (lịch): cal 01 1900 cal 01 cal 1900 cal 1900 | more Một vài lệnh khaùc: logname Copyright(c) by Galaxy CD – http://www.galaxycd.com 10 uname who | wc Kết thúc phiên làm việc: Ctrl D (giữ phím Ctrl gõ D) exit Copyright(c) by Galaxy CD – http://www.galaxycd.com Bài Làm việc với file Nội dung: Các khái niệm file UNIX, tổ chức file đóa, thao tác với file 2.1 Tổ chức file: 2.1.1 Các kiểu file UNIX có kiểu file: -File bình thường (ordinary file): tập hợp thông tin (ASCII text binary) -File thư mục (directory file): chứa danh sách têncó thể truy nhập tới thí dụ file bình thường, file đặc biệt thư mục -File đặc biệt (special file): file liên quan tới thiết bị ngoại vi cứng và/hoặc chế truyền tin Thí dụ: Bàn phím file đầu vào(input file) Màn hình file đầu (output file) Máy in file đầu 2.1.2 Tổ chức file Các file UNIX tổ chức theo dạng (tree) Thư mục gốc (root) biểu diễn ký tự / Cấu trúc sở hệ UNIX bố trí sau: Ký hiệu file bình thường Ký hiệu file thư mục Ký hiệu file đặc biệt / unix bin etc dev users user1 usr user2 Hình 1: Cấu trúc sở UNIX 2.2 Di chuyển thư mục: Để di chuyển thư mục UNIX, ta dùng lệnh sau đây: Copyright(c) by Galaxy CD – http://www.galaxycd.com cd chuyển đến thư mục cần đến (change directory) pwd hiển thị tên thư mục làm việc (print working directory) Tại thời điểm bắt đầu phiên làm việc, ta 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 /users/user1 $pwd /users/user1 Để di chuyển 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 Để thư mục tiếp nhận ta đâu, gõ: $cd $pwd /users/user1 2.3 Các thao tác sở với thư mục: 2.3.1 Xem nội dung thư mục: - Xem nội dung thư mục 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 file thư mục: $ls -l $ll - Xem tên file thư mục theo cột: $lc Khi dùng lệnh ls –l ta phân biệt kiểu file cách xem ký tự đầu dòng hiển thị, là: d : file thư mục : file bình thường c b : file đặc biệt 2.3.2 Tạo thư mục: Để tạo 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 $ls -a Leänh mkdir tạo thư mục với đầu vào (entry) - thân thư mục có tên cho - thư mục liên hệ với thư mục tạo - thư mục liên hệ vơí thư mục cha 2.3.3 Xóa thư mục: Để xoá 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 sở với file thường: 2.4.1 Nhận biết file thường: Lệnh file phân tích nột dung file hiển thị tính chất thông tin chứa 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 file thường ASCII: Có thể dùng lệnh sau: cat dùng để xem nội dung file nhỏ pg more xem nội dung file lớn theo trang $cat tên file $pg tên file $more tên file 2.4.3 Tạo file thường ASCII Tại Shell UNIX ta dễ dàng tạo file thường ASCII text cách dùng lệnh cat $cat >text_file abcdef 123456 $ ... 1: UNIX CƠ SỞ Bài 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 UNIX Bài Làm việc với file 2.1 Tổ chức file 2.2 Di chuyển thư mục 2.3 Các thao tác sở. .. Thay đổi chủ sở hữu nhóm 3.12 Thay đổi thư mục làm việc Copyright(c) by Galaxy CD – http://www.galaxycd.com PHẦN 1: UNIX CƠ SỞ Bài Khởi động UNIX Nội dung: Làm quen với hệ điều hành UNIX Bắt đầu,... file Các file UNIX tổ chức theo dạng (tree) Thư mục gốc (root) biểu diễn ký tự / Cấu trúc sở hệ UNIX bố trí sau: Ký hiệu file bình thường Ký hiệu file thư mục Ký hiệu file đặc biệt / unix bin etc