
Giáo trình
Hệ điều hành mạng Linux

2
MỤC LỤC
BẢNG TỪ VIẾT TẮT ........................................................................... 5
CHƯƠNG 1: TỔNG QUAN VỀ UNIX/ LINUX ................................. 6
1. Lịch sử phát triển của Unix ............................................................................. 6
2. Lịch sử phát triển của Linux ........................................................................... 8
2.1 Một số đặc điểm chính của Linux .............................................................. 10
2.2 Các thành phần chính của hệ điều hành Linux ........................................... 13
CHƯƠNG 2: HỆ THỐNG FILE TRONG LINUX ........................... 20
1. Các kiểu file có trong Linux ........................................................................... 20
2. Quy ước tên file trong Linux ......................................................................... 21
3. Cấu trúc hệ thống file của Linux ................................................................... 22
4. Cấu trúc cây thư mục của hệ thống file trong Linux .................................. 26
5. Các file chuẩn vào /ra trên Linux .................................................................. 30
CHƯƠNG 3: THAO TÁC TRÊN HỆ THỐNG FILE CỦA UNIX . 32
1. Quản lý quyền thâm nhập hệ thống file ........................................................ 32
2. Nhóm lệnh quản lý quyền thâm nhập file .................................................... 35
2.1 Lệnh chmod ................................................................................................ 35
2.2 Lệnh chown ................................................................................................ 37
2.3 Lệnh chgrp .................................................................................................. 37
3. Các lệnh thao tác trên thư mục ..................................................................... 39
3.1 Thay đổi thư mục làm việc hiện thời với lệnh cd ....................................... 39
3.2 Xem nội dung thư mục với lệnh ls ............................................................. 39
3.3 Tạo thư mục với lệnh mkdir ....................................................................... 40
3.4 Xóa thư mục với lệnh rmdir ....................................................................... 40
3.5 Xem đường dẫn thư mục hiện thời với lệnh pwd ....................................... 41
3.6 Lệnh đổi tên thư mục với lệnh mv ............................................................. 41
4. Các lệnh thao tác trên file .............................................................................. 41
4.1 Tạo file với lệnh touch ................................................................................ 41
4.2 Tạo file với lệnh cat .................................................................................... 41
4.3 Xem nội dung các file lớn với lệnh more ................................................... 42
4.4 Thêm số thứ tự của các dòng trong file với lệnh nl .................................... 44
4.5 Xem nội dung file với lệnh head ................................................................ 45
4.6 Xem nội dung file với lệnh tail ................................................................... 45
4.7 Sử dụng lệnh file để xác định kiểu file ....................................................... 46
4.8 Lệnh wc dùng để đếm số ký tự, số từ, hay số dòng trong một file ............ 47
4.9 So sánh nội dung hai file sử dụng lệnh diff ................................................ 47
4.10 Xóa file với lệnh rm .................................................................................. 48
4.11 Sao chép tập tin với lệnh cp...................................................................... 48
4.12 Đổi tên file với lệnh mv ............................................................................ 50
4.13 Lệnh uniq loại bỏ những dòng không quan trọng trong file .................... 50
4.14 Sắp xếp nội dung file với lệnh sort ........................................................... 52
4.15 Tìm theo nội dung file bằng lệnh grep ..................................................... 53
4.16 Tìm theo các đặc tính của file với lệnh find ............................................. 58
4.17 Nén và sao lưu các file ............................................................................. 61

3
4.18 Liên kết (link) tập tin ................................................................................ 66
5. Các lệnh và tiện ích hệ thống ......................................................................... 67
5.1 Các lệnh đăng nhập và thoát khỏi hệ thống ............ ................... ................. 67
5.2 Lệnh thay đổi mật khNu passwd ................................................................. 70
5.4 Lệnh date xem, thiết đặt ngày, giờ ............................................................. 72
5.5 Lệnh xem lịch cal ....................................................................................... 74
5.6 Xem thông tin hệ thống uname .................................................................. 75
5.7 Thay đổi nội dung dấu nhắc shell ............................................................... 75
5.8 Lệnh gọi ngôn ngữ tính toán số học ........................................................... 76
5.9 Tiện ích mc ................................................................................................. 79
5.10 Sử dụng trình soạn thảo VI ....................................................................... 89
5.11 Sử dụng tài liệu giúp đỡ man ....................................... ................... .......... 93
CHƯƠNG 4: LẬP TRÌNH TRONG LINUX .................................... 96
1. LẬP TRÌNH SHELL ...................................................................................... 96
1.1 Khái niệm shell ........................................................................................... 96
1.2 Một số đặc điểm của Shell .......................................................................... 96
1.3 Lập trình đường ống ................................................................................... 98
1.4 Lập trình Shell Script .................................................................................. 99
1.5 Điều khiển luồng ...................................................................................... 109
1.6 Hàm .......................................................................................................... 122
1.7 Mảng ......................................................................................................... 123
1.8 Một số các lệnh thường dùng trong lập trình Shell .................................. 130
1.8 Đệ quy...................................................................................................... 132
1.9 Lập trình hội thoại .................................................................................... 133
1.10 Một số ví dụ về Shell .............................................................................. 135
2. Lập trình C trên Linux ................................................................................. 149
2.1 Trình biên dịch gcc ................................................................................... 149
2.2 Công cụ GNU make ................................................................................. 152
2.3 Sử dụng nhãn file (mô tả file – file descriptor) ........................................ 153
2.4 Thư viện liên kết ....................................................................................... 159
2.5 Các công cụ cho thư viện ......................................................................... 167
2.6 Biến môi trường và file cấu hình .............................................................. 169
2.7 Sử dụng gdb để gỡ lỗi ................... ................................. ......................... .. 169
CHƯƠNG 5: QUẢN LÝ TÀI NGUYÊN VÀ TRUYỀN THÔNG
TRONG LINUX ................................................................................. 171
1. Quản lý tiến trình .......................................................................................... 171
2. Các lệnh cơ bản trong quản lý tiến trình .................................................... 173
2.1 Sử dụng lệnh ps trong quản lý tiến trình .................................................. 173
2.2 Hủy một tiến trình sử dụng lệnh kill ........................................................ 174
2.3 Cho máy ngừng hoạt động một thời gian với lệnh sleep .......................... 176
2.4 Xem cây tiến trình với lệnh pstree............................................................ 176
2.5 Lệnh thiết đặt lại độ ưu tiên của tiến trình nice và lệnh renice ................ 178
2.6 Lệnh fg và lệnh bg .................................................................................... 178
3. Quản lý trị hệ thống ...................................................................................... 181
3.1 Khởi động và đóng tắt hệ thống ............................................................... 181
3.2 Tìm hiểu về trình nạp Linux ..................................................................... 181

4
3.3 Tìm hiểu GRUB, trình nạp Linux. ........................................................... 183
3.4 Quá trình khởi động ......................................... ...................................... .. 183
4. Quản trị người dùng ..................................................................................... 184
4.1 Superuser (root) ........................................................................................ 184
4.2 Tài khoản người dùng ............................................................................... 185
4.3 Thêm người dùng với lệnh useradd .......................................................... 187
4.4 Thay đổi thông tin của user ...................................................................... 188
4.5 Hủy user .................................................................................................... 189
4.6 Tạo nhóm người dùng groupadd .............................................................. 189
4.7 Xác định người dùng đang đăng nhập (lệnh who) ................................... 190
4.8 Để xác định thông tin người dùng với lệnh id .......................................... 191
5. Quản trị tài nguyên ....................................................................................... 192
5.1 Quản lý tài nguyên với lệnh quota ........................................................... 192
5.2 Lệnh quản lý đĩa với lệnh du và df ........................................................... 193
6 Truyền thông trong Linux ............................................................................ 196
6.1. Lệnh đặt tên máy ..................................................................................... 196
6.2. Lệnh ifconfig ........................................................................................... 196
6.3 Lệnh write ................................................................................................. 197
6.4 Lệnh mail .................................................................................................. 198
6.5 Lệnh talk ................................................................................................... 200
TÀI LIỆU THAM KHẢO ................................................................. 202
PHỤ LỤC ........................................................................................... 203
1. Giới thiệu một số phiên bản hệ điều hành Linux thông dụng hiện nay và
cách cài đặt ........................................................................................................ 203
1.1 Hướng dẫn cài đặt hệ điều hành Redhat Linux 7.1 .................................. 203
1.2 Hướng dẫn sử dụng hệ điều hành Ubuntu và các phiên bản của nó ........ 220
2. Cài đặt WEBMIN ......................................................................................... 220
3. Cài đặt WEBSERVER ................................................................................. 220
4. Cài đặt FILE SERVER ................................................................................ 220

5
BẢNG TỪ VIẾT TẮT
Hệ điều hành HĐH
Multiplexed Information and Computing Service Multics
Berkley Software Distribution BSD
Midnight Commander mc