Bài giảng Hệ điều hành Unix - Giáo trình cho sinh viên CNTT, Đại học Hà Nội 2016

Hướng dẫn sử dụng Unix chi tiết từ cơ bản đến nâng cao. Bao gồm cài đặt, cấu hình, lệnh quan trọng, quản lý hệ thống và tối ưu hiệu suất cho người dùng mọi cấp

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Bài giảng

2016

211
0
0

Phí lưu trữ

55 Point

Tóm tắt

I. Tổng quan về hệ điều hành Unix

Hệ điều hành Unix ra đời từ những năm 1970. Nó là nền tảng đa nhiệm và đa người dùng. Nhiều hệ điều hành hiện đại kế thừa triết lý từ Unix. Linux, macOS và BSD đều mang dấu ấn của Unix. Hệ điều hành Unix nổi bật nhờ tính ổn định cao. Nó xử lý nhiều tiến trình cùng lúc một cách hiệu quả. Cấu trúc của hệ điều hành Unix gồm hai phần cốt lõi. Phần nhân quản lý phần cứng và tài nguyên. Phần shell tiếp nhận lệnh từ người dùng. Người dùng giao tiếp với hệ thống qua dòng lệnh. Mỗi lệnh tuân theo quy ước viết chặt chẽ. Hệ thống file được tổ chức theo dạng cây phân cấp. Quyền truy nhập bảo vệ dữ liệu của từng người dùng. Hệ điều hành Unix phục vụ tốt cho máy chủ và máy trạm. Sinh viên công nghệ thông tin cần nắm vững nền tảng này. Kiến thức Unix mở đường cho quản trị hệ thống chuyên nghiệp. Đây là môn học cốt lõi của ngành.

1.1. Xuất xứ và quá trình tiến hóa của Unix

Unix bắt đầu tại phòng thí nghiệm Bell vào năm 1969. Các kỹ sư xây dựng nó để chia sẻ tài nguyên máy tính. Hệ thống nhanh chóng lan rộng trong giới nghiên cứu và trường đại học. Nhiều phiên bản khác nhau xuất hiện theo thời gian. Mỗi phiên bản bổ sung tính năng mới cho người dùng. Triết lý thiết kế đề cao sự đơn giản và mô-đun. Mỗi công cụ làm tốt một việc duy nhất. Các công cụ kết hợp với nhau để giải quyết vấn đề lớn. Triết lý này vẫn còn giá trị đến ngày nay.

1.2. Các đặc trưng cốt lõi của hệ điều hành Unix

Hệ điều hành Unix hỗ trợ đa nhiệm thực sự. Nhiều chương trình chạy song song không gây xung đột. Hệ thống cũng hỗ trợ nhiều người dùng cùng đăng nhập. Mỗi người dùng có không gian làm việc riêng biệt. Tính bảo mật được đảm bảo qua cơ chế phân quyền. Mọi thứ trong Unix đều được xem như file. Cách tiếp cận này giúp quản lý tài nguyên thống nhất. Tính khả chuyển cho phép Unix chạy trên nhiều loại phần cứng. Những đặc trưng này tạo nên sức mạnh bền vững.

II. Phân tích cấu trúc hệ điều hành Unix

Cấu trúc hệ điều hành Unix chia thành nhiều tầng rõ ràng. Nhân là trung tâm điều khiển toàn bộ hệ thống. Nó quản lý bộ nhớ, tiến trình và thiết bị. Nhân giao tiếp trực tiếp với phần cứng máy tính. Shell nằm ở tầng trên của nhân. Shell dịch lệnh người dùng thành lời gọi hệ thống. Người dùng gõ lệnh tại dấu nhắc shell. Dấu nhắc xuất hiện khi hệ thống sẵn sàng nhận yêu cầu. Hệ thống file tổ chức dữ liệu theo cây thư mục. Mỗi file có inode lưu thông tin quản lý. Inode chứa quyền truy nhập và vị trí dữ liệu. Vấn đề quản lý quyền truy nhập rất quan trọng. Quyền sai có thể gây mất an toàn dữ liệu. Tiến trình trong hệ điều hành Unix có nhiều trạng thái. Trạng thái thay đổi theo hoạt động của hệ thống. Việc hiểu cấu trúc giúp phân tích lỗi nhanh hơn. Quản trị viên dựa vào kiến thức này để vận hành ổn định.

2.1. Vai trò của nhân và shell trong Unix

Nhân là phần lõi không thể thiếu của hệ thống. Nó kiểm soát mọi truy cập vào phần cứng. Tiến trình muốn dùng tài nguyên phải qua nhân. Nhân lập lịch cho các tiến trình chạy luân phiên. Shell đóng vai trò cầu nối với người dùng. Nó đọc lệnh, phân tích và thực thi từng dòng. Shell hỗ trợ nối tiếp dòng lệnh khi lệnh quá dài. Người dùng có thể đơn giản hóa thao tác gõ lệnh. Sự phối hợp giữa nhân và shell tạo nên trải nghiệm liền mạch.

2.2. Hệ thống file và cơ chế inode

Hệ thống file Unix lưu dữ liệu theo cấu trúc cây. Thư mục gốc nằm ở đỉnh của cây. Mỗi file gắn với một inode duy nhất. Inode lưu kích thước, quyền và con trỏ dữ liệu. Tên file chỉ là nhãn trỏ tới inode. Liên kết tượng trưng cho phép một file trỏ tới file khác. Lệnh ln tạo ra các liên kết này. Hệ thống hỗ trợ nhiều loại file khác nhau. Cơ chế inode giúp quản lý dữ liệu hiệu quả và linh hoạt.

III. Phương pháp thao tác lệnh trong Unix

Thao tác với hệ điều hành Unix dựa trên dòng lệnh. Người dùng đăng nhập bằng tên và mật khẩu. Sau khi đăng nhập, dấu nhắc shell hiện ra. Lệnh passwd cho phép thay đổi mật khẩu an toàn. Lệnh date hiển thị và thiết đặt ngày giờ. Lệnh cal in lịch ngay trên màn hình. Để thoát hệ thống, có nhiều cách khác nhau. Tổ hợp CTRL+ALT+DEL giúp thoát đúng đắn. Lệnh shutdown dừng mọi dịch vụ đang chạy. Tùy chọn -r khởi động lại sau khi tắt. Tùy chọn -h tắt máy thực sự. Quản lý tiến trình dùng các lệnh chuyên biệt. Lệnh ps liệt kê tiến trình đang chạy. Lệnh kill hủy một tiến trình theo mã số. Lệnh nice thiết đặt độ ưu tiên cho tiến trình. Quản lý người dùng dựa vào file /etc/passwd. Lệnh useradd thêm người dùng mới vào hệ thống. Phương pháp dùng lệnh giúp kiểm soát hệ thống chính xác. Người quản trị thao tác nhanh và đáng tin cậy.

3.1. Các lệnh thao tác file và thư mục

Hệ điều hành Unix cung cấp nhiều lệnh làm việc với file. Lệnh tạo file giúp khởi tạo dữ liệu mới. Các lệnh thao tác nội dung cho phép đọc và sửa file. Lệnh nén giảm dung lượng lưu trữ đáng kể. Lệnh sao lưu bảo vệ dữ liệu khỏi mất mát. Thao tác với thư mục cũng rất đa dạng. Một số thư mục đặc biệt phục vụ mục đích riêng. Lệnh cơ bản giúp di chuyển và liệt kê nội dung. Người dùng cần ghi nhớ các lệnh thường dùng. Thực hành nhiều giúp thao tác trở nên thuần thục.

3.2. Quản lý tiến trình và người dùng

Quản lý tiến trình là kỹ năng quan trọng trong Unix. Lệnh ps hiển thị danh sách tiến trình hiện thời. Lệnh pstree vẽ cây quan hệ giữa các tiến trình. Lệnh fg và bg điều khiển tiến trình nền và tiền cảnh. Lệnh sleep cho máy ngưng một khoảng thời gian. Quản lý người dùng dựa trên file cấu hình hệ thống. Lệnh useradd và userdel thêm hoặc xóa người dùng. Nhóm người dùng được quản lý qua file /etc/group. Lệnh su cho phép đăng nhập với tư cách người khác. Các lệnh này đảm bảo hệ thống vận hành trật tự.

IV. Ứng dụng và kết luận về Unix

Hệ điều hành Unix đóng vai trò nền tảng trong ngành. Nó vận hành phần lớn máy chủ trên thế giới. Các trung tâm dữ liệu lớn tin dùng Unix và biến thể. Linux kế thừa trực tiếp triết lý của Unix. Hệ thống web hiện đại chạy trên nền tảng này. Tính ổn định giúp dịch vụ hoạt động liên tục. Tính bảo mật bảo vệ dữ liệu khỏi truy cập trái phép. Lập trình viên dùng Unix để phát triển phần mềm. Môi trường dòng lệnh tăng tốc công việc hằng ngày. Sinh viên công nghệ thông tin hưởng lợi khi học Unix. Kiến thức này mở ra nhiều cơ hội nghề nghiệp. Quản trị hệ thống là một hướng đi rõ ràng. Phát triển backend cũng cần nền tảng Unix vững. Tóm lại, hệ điều hành Unix vẫn giữ vị trí cốt lõi. Nó định hình cách máy tính vận hành ngày nay. Việc nắm vững Unix là khoản đầu tư xứng đáng. Người học cần thực hành đều đặn để thành thạo.

4.1. Ứng dụng thực tế của hệ điều hành Unix

Hệ điều hành Unix xuất hiện trong nhiều lĩnh vực. Máy chủ web và máy chủ cơ sở dữ liệu dùng Unix. Hệ thống nhúng cũng tận dụng nhân kiểu Unix. Điện thoại Android dựa trên nhân Linux gốc Unix. Hệ thống tài chính cần độ tin cậy cao của Unix. Nghiên cứu khoa học chạy mô phỏng trên cụm máy Unix. Nhà cung cấp đám mây vận hành hạ tầng bằng Linux. Sự phổ biến này cho thấy giá trị thực tế lớn. Học Unix giúp người dùng làm chủ công nghệ cốt lõi.

4.2. Định hướng học tập và phát triển kỹ năng

Người học nên bắt đầu từ các lệnh cơ bản. Thực hành đăng nhập, thao tác file và thư mục trước. Sau đó tìm hiểu quản lý tiến trình và người dùng. Trang man cung cấp tài liệu chi tiết cho mọi lệnh. Người học nên đọc man để tra cứu cú pháp. Viết script shell giúp tự động hóa công việc lặp lại. Dự án thực tế củng cố kiến thức đã học. Cộng đồng mã nguồn mở hỗ trợ người mới rất nhiều. Kiên trì luyện tập sẽ biến lý thuyết thành kỹ năng vững chắc.

21/04/2026

Trích đoạn nội dung tài liệu

Bài giảng: HỆ ĐIỀU HÀNH UNIX Dành cho sinh viên ngành Công nghệ thông tin, HÀ NỘI - 2016 MỤC LỤC LỜI GIỚI THIỆU 6 CHƢƠNG 1. GIỚI THIỆU CHUNG VỀ UNIX 7 1. Giới thiệu về UNIX 7 1. Xuất xứ, quá trình tiến hóa và một số đặc trưng của hệ điều hành UNIX 7 1. Giới thiệu sơ bộ về Unix 9 1. Sơ bộ về các thành phần của Unix 12 1. Sơ bộ về nhân 12 1. Sơ bộ về shell 13 1. Giới thiệu về sử dụng lệnh trong Unix 14 1. Các quy ước khi viết lệnh 16 1. Làm đơn giản thao tác gõ lệnh 18 1. Tiếp nối dòng lệnh 20 1. Trang Man 21 CHƢƠNG 2. THAO TÁC VỚI HỆ THỐNG 23 2. Quá trình khởi động Unix 23 2. Thủ tục đăng nhập và các lệnh thoát khỏi hệ thống 24 2. Ra khỏi hệ thống 25 2. Khởi động lại hệ thống 26 2. Khởi động vào chế độ đồ hoạ 27 2. Lệnh thay đổi mật khẩu 29 2. Lệnh xem, thiết đặt ngày, giờ hiện tại và xem lịch trên hệ thống 31 2.1 Lệnh xem, thiết đặt ngày, giờ 31 2. Lệnh xem lịch 32 2. Xem thông tin hệ thống 33 2. Thay đổi nội dung dấu nhắc shell 34 2. Lệnh gọi ngôn ngữ tính toán số học 35 CHƢƠNG 3. HỆ THỐNG FILE 38 3.1 Tổng quan về hệ thống file 38 3. Một số khái niệm 38 3. Sơ bộ kiến trúc nội tại của hệ thống file 40 3. Một số thuật toán làm việc với inode 44 3. Hỗ trợ nhiều hệ thống File 46 3. Liên kết tượng trưng (lệnh ln) 49 1 3.2 Quyền truy nhập thư mục và file 50 3.1 Quyền truy nhập 50 3.3 Thao tác với thư mục 56 3.1 Một số thư mục đặc biệt 56 3.2 Các lệnh cơ bản về thư mục 58 3. Các lệnh làm việc với file 61 3.1 Các kiểu file có trong Unix 61 3. Các lệnh tạo file 62 3.3 Các lệnh thao tác trên file 63 3.4 Các lệnh thao tác theo nội dung file 69 3.5 Nén và sao lưu các file 82 3.2 Nén dữ liệu 84 CHƢƠNG 4. QUẢN TRỊ QUÁ TRÌNH 88 4.1 Quá trình trong UNIX 88 4. Sơ bộ về quá trình 88 4. Sơ bộ cấu trúc điều khiển của UNIX 88 4. Các hệ thống con trong nhân 89 4. Sơ bộ về điều khiển quá trình 92 4. Trạng thái và chuyển dịch trạng thái 93 4. Sự ngưng hoạt động và hoạt động trở lại của quá trình 94 4. Sơ bộ về lệnh đối với quá trình 94 4. Lệnh fg và lệnh bg 95 4. Hiển thị các quá trình đang chạy với lệnh ps 97 4. Hủy quá trình với lệnh kill 98 4. Cho máy ngừng hoạt động một thời gian với lệnh sleep 99 4. Xem cây quá trình với lệnh pstree 100 4. Lệnh thiết đặt lại độ ưu tiên của quá trình nice và lệnh renice 101 CHƢƠNG 5. QUẢN LÝ TÀI KHOẢN NGƢỜI DÙNG 102 5.1 Tài khoản người dùng 102 5.2 Các lệnh cơ bản quản lý người dùng 102 5.1 File /etc/passwd 102 5.2 Thêm người dùng với lệnh useradd 103 5.3 Thay đổi thuộc tính người dùng 105 5.4 Xóa bỏ một người dùng (lệnh userdel) 105 2 5.3 Các lệnh cơ bản liên quan đến nhóm người dùng 106 5.1 Nhóm người dùng và file /etc/group 106 5.2 Thêm nhóm người dùng 107 5.3 Sửa đổi các thuộc tính của một nhóm người dùng (lệnh groupmod) 107 5.4 Xóa một nhóm người dùng (lệnh groupdel) 107 5.4 Các lệnh cơ bản khác có liên quan đến người dùng 108 5.1 Đăng nhập với tư cách một người dùng khác khi dùng lệnh su 108 5.2 Xác định người dùng đang đăng nhập (lệnh who) 108 5.3 Xác định các quá trình đang được tiến hành (lệnh w) 110 CHƢƠNG 6. TRUYỀN THÔNG VÀ MẠNG UNIX 111 6. Lệnh truyền thông 111 6.2 Cấu hình Card giao tiếp mạng 113 6. Các dịch vụ mạng 114 6.1 Hệ thông tin mạng NIS 114 6.4 Hệ thống file trên mạng 119 6.1 Cài đặt NFS 119 6.2 Khởi động và dừng NFS 120 6.3 Cấu hình NFS server và Client 120 6.4 Sử dụng mount 121 6.6 Mount tự động qua tệp cấu hình 122 CHƢƠNG 7. LẬP TRÌNH SHELL VÀ LẬP TRÌNH C TRÊN LINUX 123 7. Cách thức pipes và các yếu tố cơ bản lập trình trên shell 123 7. Cách thức pipes 123 7. Các yếu tố cơ bản để lập trình trong shell 124 7. Một số lệnh lập trình trên shell 127 7. Sử dụng các toán tử bash 127 7. Điều khiển luồng 129 7.3 Các toán tử định hướng vào ra 139 7. Hiện dòng văn bản 140 7. Lệnh read độc dữ liệu cho biến người dùng 141 7. Tính toán trên các biến 141 7. Chương trình ví dụ 142 3 7. Lập trình C trên UNIX 143 7. Trình biên dịch gcc 143 7. Công cụ GNU make 145 7. Làm việc với file 146 7. Thư viện liên kết 152 7.5 Các công cụ cho thư viện 159 TÀI LIỆU THAM KHẢO 161 CHÚ THÍCH MỘT SỐ THUẬT NGỮ 162 PHỤ LỤC A. QUÁ TRÌNH CÀI ĐẶT REDHAT-LINUX 164 AA. Cài đặt phiên bản RedHat 6. Tạo đĩa mềm khởi động 164 AA. Phân vùng lại ổ đĩa DOS/Windows hiện thời 165 AA. Các bước cài đặt (bản RedHat 6.2 và khởi động từ CD-ROM) 165 AA. Các hạn chế về phần cứng đối với Linux 172 PHỤ LỤC B. TRÌNH SOẠN THẢO VIM 175 B.1 Khởi động vim 177 B.1 Mở chương trình soạn thảo vim 177 B. Tính năng mở nhiều cửa sổ 177 B. Ghi và thoát trong vim 178 B. Di chuyển trỏ soạn thảo trong Vim 179 B. Di chuyển trong văn bản 179 B. Di chuyển theo các đối tượng văn bản 179 B. Cuộn màn hình 180 B. Các thao tác trong văn bản 180 B. Các lệnh chèn văn bản trong vim 180 B. Các lệnh xoá văn bản trong vim 180 B. Các lệnh khôi phục văn bản trong vim 181 6. Các lệnh thay thế văn bản trong vim 181 B. Sao chép và di chuyển văn bản trong vim 182 B. Tìm kiếm và thay thế văn bản trong vim 183 B. Đánh dấu trong vim 184 B. Các phím sử dụng trong chế độ chèn 184 B. Một số lệnh trong chế độ ảo 185 B. Cách thực hiện các lệnh bên trong Vim 185 B. Các lệnh liên quan đến file 186 4 PHỤ LỤC C. Giới thiệu về Midnight Commander (MC) 187 C. Khởi động MC 187 C. Giao diện của MC 187 C. Dùng chuột trong MC 188 C. Các thao tác bàn phím 188 C. Thực đơn thanh ngang (menu bar) 190 C. Các phím chức năng 192 C. Bộ soạn thảo của Midnight Commander 192 PHỤ LỤC D.1 Cài đặt Samba 195 D.2 Các thành phần của Samba 196 D.3 File cấu hình Samba 197 D.4 Các phần đặc biệt của file cấu hình Samba 198 D.5 Quản lý người dùng trong Samba 204 D.6 Cách sử dụng Samba từ các máy trạm 205 D.1 Cách sử dụng từ các máy trạm là Linux 205 D.2 Cách sử dụng từ các máy trạm là Windows 207 5 LỜI GIỚI THIỆU Trong hơn mười năm trở lại đây hệ điều hành Linux đã 6 CHƢƠNG 1. GIỚI THIỆU CHUNG VỀ LINUX 1. Giới thiệu về UNIX và Linux 1. Xuất xứ, quá trình tiến hóa và một số đặc trưng của hệ điều hành UNIX Năm 1965, Viện công nghệ Massachusetts (MIT: Massachusetts Institute of Technology) và Phòng thí nghiệm Bell của hãng AT&T thực hiện dự án xây dựng một hệ điều hành có tên gọi là Multics (MULTiplexed Information and Computing Service) với mục tiêu: tạo lập được một hệ điều hành phủ trên vùng lãnh thổ rộng (hoạt động trên tập các máy tính được kết nối), đa người dùng, có năng lực cao về tính toán và lưu trữ. Dự án nói trên thành công ở mức độ hết sức khiêm tốn và người ta đã biết đến một số khiếm khuyết khó khắc phục của Multics. Năm1969, Ken Thompson, một chuyên viên tại phòng thí nghiệm Bell, người đã tham gia dự án Multics, cùng Dennics Richie viết lại hệ điều hành đa-bài toán trên máy PDP-7 với tên là UNICS (UNiplexed Information and Computing Service) từ một câu gọi đùa của một đồng nghiệp. Trong hệ điều hành UNICS, một số khởi thảo đầu tiên về Hệ thống file đã được Ken Thompson và Dennis Ritchie thực hiện. Đến năm 1970 hệ điều hành được viết trên assembler cho máy PDP-11/20 và mang tên là UNIX. Năm 1973, Riche và Thompson viết lại nhân của hệ điều hành UNIX trên ngôn ngữ C, và hệ điều hành đã trở nên dễ dàng cài đặt tới các loại máy tính khác nhau; tính chất như thế được gọi là tính khả chuyển (portable) của UNIX. Trước đó, khoảng năm 1971, hệ điều hành được thể hiện trên ngôn ngữ B (mà dựa trên ngôn ngữ B, Ritche đã phát triển thành ngôn ngữ C). Hãng AT&T phổ biến chương trình nguồn UNIX tới các trường đại học, các công ty thương mại và chính phủ với giá không đáng kể. Năm 1982, hệ thống UNIX-3 là bản UNIX thương mại đầu tiên của AT&T. Năm 1983, AT&T giới thiệu Hệ thống UNIX-4 phiên bản thứ nhất trong đó đã có trình soạn thảo vi, thư viện quản lý màn hình được phát triển từ Đại học Tổng hợp California, Berkley. Giai đoạn 1985-1987, UNIX-5 phiên bản 2 và 3 tương ứng được đưa ra vào các năm 1985 và 1987. Trong giai đoạn này, có khoảng 100000 bản UNIX đã được phổ biến trên thế giới, cài đặt từ máy vi tính đến các hệ thống lớn. Đầu thập kỷ 1990. UNIX-5 phiên bản 4 được đưa ra như là một chuẩn của UNIX. Đây là sự kết hợp của các bản sau: ƒ AT&T UNIX-5 phiên bản 3, ƒ Berkley Software Distribution (BSD), ƒ XENIX của MicroSoft ƒ SUN OS Có thể tìm thấy các nội dung liên quan tới một số phiên bản mới của UNIX tại địa chỉ website http://problem. Các nhóm nhà cung cấp khác nhau về UNIX đang hoạt động trong thời gian hiện nay được kể đến như sau: ƒ Unix International (viết tắt là UI). UI là một tổ chức gồm các nhà cung cấp thực hiện việc chuyển nhượng hệ thống UNIX-5 và cung cấp bản AT&T theo các 7 nhu cầu và thông báo phát hành mới, chẳng hạn như điều chỉnh bản quyền. Giao diện đồ họa người dùng là Open Look. ƒ Open Software Foundation (OSF). OSF được hỗ trợ bởi IBM, DEC, HP . theo hướng phát triển một phiên bản của Unix nhằm tranh đua với hệ thống UNIX-5 phiên bản 4. Phiên bản này có tên là OSF/1 với giao diện đồ họa người dùng được gọi là MOTIF. ƒ Free SoftWare Foundation (FSF): một cộng đồng do Richard Stallman khởi xướng năm 1984 chủ trương phát hành các phần mềm sử dụng tự do, trên cơ sở một hệ điều hành thuộc loại UNIX.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ