Giáo trình Tự học Linux
Mục lục Lời mở đầu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 HĐH Linux: lịch sử và các bản phân phối 3 1.1 Thế nào là HĐH nói chung và Linux nói riêng . . . . . . . . . . . . 3 1.1.1 Các hệ điều hành dạng UNIX . . . . . . . . . . . . . . . . . . 3 1.1.2 Một chút về lịch sử . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1.3 Đặc điểm chính của HĐH Linux . . . . . . . . . . . . . . . . 7 1.2 Bản phân phối Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3 Yêu cầu đối với máy tính . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.4 Lấy Linux ở đâu? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2 Cài đặt hệ điều hành Linux 14 2.1 Chuẩn bị cài đặt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2 Phòng xa và những lời khuyên . . . . . . . . . . . . . . . . . . . . . . 16 2.3 Phân vùng trên đĩa và quá trình khởi động . . . . . . . . . . . . . . 17 2.3.1 Thế nào là cấu trúc “hình học của đĩa” . . . . . . . . . . . . . 17 2.3.2 Phân vùng và bảng phân vùng của đĩa . . . . . . . . . . . . . 18 2.3.3 Quá trình khởi động các HĐH của công ty Microsoft . . . . . 20 2.3.4 Vấn đề với các đĩa lớn . . . . . . . . . . . . . . . . . . . . . . . 22 2.4 Lựa chọn trình khởi động . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.4.1 Trình khởi động GRUB . . . . . . . . . . . . . . . . . . . . . . 23 2.4.2 Trình khởi động LILO . . . . . . . . . . . . . . . . . . . . . . 24 2.4.3 Các trình khởi động khác . . . . . . . . . . . . . . . . . . . . . 26 2.4.4 Các phương án khởi động . . . . . . . . . . . . . . . . . . . . 27 2.5 Chuẩn bị các phân vùng trên đĩa . . . . . . . . . . . . . . . . . . . . 27 2.5.1 Lời khuyên khi tạo phân vùng . . . . . . . . . . . . . . . . . . 27 2.5.2 Chương trình để phân chia ổ đĩa . . . . . . . . . . . . . . . . 30 2.6 Windows NT và Linux: khởi động qua NT OS Loader . . . . . . . . 31 2.7 Sử dụng trình khởi động GRUB . . . . . . . . . . . . . . . . . . . . . 34 2.7.1 Cài đặt GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.7.2 Cấu hình GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.8 Sử dụng trình khởi động LILO . . . . . . . . . . . . . . . . . . . . . 36 2.8.1 Cài đặt và cấu hình LILO . . . . . . . . . . . . . . . . . . . . 36 2.8.2 Cài đặt các hệ điều hành khác sau Linux . . . . . . . . . . . 39 2.8.3 Chuyển thư mục /boot lên phân vùng DOS . . . . . . . . . . 39 2.9 Khởi động Linux từ MS-DOS bằng loadlin.exe . . . . . . . . . . . . 40 3 Khởi động Linux lần đầu 43 3.1 Khởi động HĐH Linux . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.2 Đăng nhập vào hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.3 Console, terminal ảo và shell . . . . . . . . . . . . . . . . . . . . . . 46 3.4 Soạn thảo dòng lệnh. Lịch sử lệnh . . . . . . . . . . . . . . . . . . . 49 3.5 Ngừng làm việc với Linux . . . . . . . . . . . . . . . . . . . . . . . . 51 3.6 Trợ giúp khi dùng Linux . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.6.1 Các nguồn thông tin trợ giúp . . . . . . . . . . . . . . . . . . 53 3.6.2 Các trang trợ giúp man . . . . . . . . . . . . . . . . . . . . . . 54 3.6.3 Câu lệnh info . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.6.4 Câu lệnh help . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.6.5 Tài liệu bản phân phối và ứng dụng . . . . . . . . . . . . . . 56 3.6.6 Câu lệnh xman . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.6.7 Câu lệnh helptool . . . . . . . . . . . . . . . . . . . . . . . . 57 3.6.8 Sách và Internet . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4 Làm quen với hệ thống tập tin ext3fs 60 4.1 Tập tin và tên của chúng . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.2 Thư mục . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.3 Công dụng của các thư mục chính . . . . . . . . . . . . . . . . . . . . 65 4.4 Dạng tập tin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.4.1 Các tập tin thiết bị . . . . . . . . . . . . . . . . . . . . . . . . 70 4.4.2 Các ống có tên (pipes) . . . . . . . . . . . . . . . . . . . . . . . 72 4.4.3 Các socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.4.4 Liên kết mềm . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.5 Quyền truy cập đến tập tin và thư mục . . . . . . . . . . . . . . . . . 73 4.6 Các câu lệnh cơ bản để làm việc với tập tin và thư mục . . . . . . . 79 4.6.1 Câu lệnh chown và chgrp . . . . . . . . . . . . . . . . . . . . 80 4.6.2 Câu lệnh mkdir . . . . . . . . . . . . . . . . . . . . . . . . . . 80 4.6.3 Câu lệnh cat . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 4.6.4 Câu lệnh cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 4.6.5 Câu lệnh mv . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 4.6.6 Câu lệnh rm và rmdir . . . . . . . . . . . . . . . . . . . . . . 82 4.6.7 Câu lệnh more và less . . . . . . . . . . . . . . . . . . . . . 83 4.6.8 Câu lệnh tìm kiếm find và mẫu tên tập tin . . . . . . . . . . 83 4.6.9 Câu lệnh split . . . . . . . . . . . . . . . . . . . . . . . . . . 86 4.6.10 So sánh các tập tin và lệnh patch . . . . . . . . . . . . . . . 87 4.7 Các câu lệnh lưu trữ và nén tập tin . . . . . . . . . . . . . . . . . . . 88 4.7.1 Chương trình tar . . . . . . . . . . . . . . . . . . . . . . . . . 89 4.7.2 Chương trình gzip . . . . . . . . . . . . . . . . . . . . . . . . 91 4.7.3 Chương trình bzip2 . . . . . . . . . . . . . . . . . . . . . . . 92 4.7.4 Sử dụng kết hợp tar với gzip và bzip2 . . . . . . . . . . . . 93 4.8 Tạo và gắn các hệ thống tập tin . . . . . . . . . . . . . . . . . . . . . 95 5 Bash 101 5.1 Hệ vỏ là gì? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 5.2 Các ký tự đặc biệt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 5.3 Thực thi các câu lệnh . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 5.3.1 Thao tác ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 5.3.2 Thao tác & . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 5.3.3 Thao tác && và || . . . . . . . . . . . . . . . . . . . . . . . . 104 5.4 Đầu vào/đầu ra tiêu chuẩn . . . . . . . . . . . . . . . . . . . . . . . . 104 5.4.1 Dòng dữ liệu vào – ra . . . . . . . . . . . . . . . . . . . . . . . 104 5.4.2 Lệnh echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.4.3 Lệnh cat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.5 Chuyển hướng đầu vào/đầu ra, đường ống và bộ lọc . . . . . . . . . . 106 5.5.1 Sử dụng >, < và >> . . . . . . . . . . . . . . . . . . . . . . . . 106 5.5.2 Sử dụng | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 5.5.3 Bộ lọc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 5.6 Tham biến và các biến số. Môi trường của hệ vỏ . . . . . . . . . . . . 109 5.6.1 Các dạng tham biến khác nhau . . . . . . . . . . . . . . . . . 110 5.6.2 Dấu nhắc của hệ vỏ . . . . . . . . . . . . . . . . . . . . . . . . 112 5.6.3 Biến môi trường PATH . . . . . . . . . . . . . . . . . . . . . . . 113 5.6.4 Biến môi trường IFS . . . . . . . . . . . . . . . . . . . . . . . 113 5.6.5 Thư mục hiện thời và thư mục cá nhân . . . . . . . . . . . . 114 5.6.6 Câu lệnh export . . . . . . . . . . . . . . . . . . . . . . . . . 114 5.7 Khai triển biểu thức . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 5.7.1 Khai triển dấu ngoặc . . . . . . . . . . . . . . . . . . . . . . . 115 5.7.2 Thay thế dấu ngã (Tilde Expansion) . . . . . . . . . . . . . . 115 5.7.3 Phép thế các tham biến và biến số . . . . . . . . . . . . . . . 116 5.7.4 Phép thế các câu lệnh . . . . . . . . . . . . . . . . . . . . . . . 116 5.7.5 Phép thế số học (Arithmetic Expansion) . . . . . . . . . . . . 116 5.7.6 Phân chia từ (word splitting) . . . . . . . . . . . . . . . . . . 117 5.7.7 Khai triển các mẫu tên thư mục và tập tin . . . . . . . . . . 117 5.7.8 Xóa các ký tự đặc biệt . . . . . . . . . . . . . . . . . . . . . . . 118 5.8 Shell — một ngôn ngữ lập trình . . . . . . . . . . . . . . . . . . . . . 118 5.8.1 Toán tử if và test (hoặc [ ]) . . . . . . . . . . . . . . . . . . 118 5.8.2 Toán tử test và điều kiện của biểu thức . . . . . . . . . . . . 119 5.8.3 Toán tử case . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 5.8.4 Toán tử select . . . . . . . . . . . . . . . . . . . . . . . . . . 122 5.8.5 Toán tử for . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 5.8.6 Toán tử while và until . . . . . . . . . . . . . . . . . . . . . 124 5.8.7 Các hàm số . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 5.8.8 Tham số . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 5.8.9 Biến nội bộ (local) . . . . . . . . . . . . . . . . . . . . . . . . . 125 5.9 Script của hệ vỏ và lệnh source . . . . . . . . . . . . . . . . . . . . . 126 5.10 Câu lệnh sh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 6 Sử dụng Midnight Commander 128 6.1 Cài đặt chương trình Midnight Commander . . . . . . . . . . . . . . 128 6.2 Vẻ ngoài của màn hình Midnight Commander . . . . . . . . . . . . 129 6.3 Trợ giúp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 6.4 Sử dụng chuột . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 6.5 Điều khiển các bảng . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 6.5.1 Dạng danh sách tập tin . . . . . . . . . . . . . . . . . . . . . . 133 6.5.2 Những chế độ hiển thị khác . . . . . . . . . . . . . . . . . . . 136 6.5.3 Các tổ hợp phím điều khiển bảng . . . . . . . . . . . . . . . . 137 6.6 Các phím chức năng và thực đơn Tập tin . . . . . . . . . . . . . . . . 139 6.7 Mẫu tập tin khi sao chép hoặc đổi tên . . . . . . . . . . . . . . . . . 141 6.8 Thông báo khi sao chép và di chuyển tập tin . . . . . . . . . . . . . . 143 6.9 Dòng lệnh của hệ vỏ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 6.10 Trình đơn Câu lệnh . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 6.11 Cấu hình Midnight Commander . . . . . . . . . . . . . . . . . . . . . 153 6.12 Kết nối tới máy ở xa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 6.12.1 Kết nối FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 6.12.2 Kết nối Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 7 Giao diện đồ hoạ 162 7.1 X.Org . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 7.2 Một chút về hệ thống hình ảnh của máy tính . . . . . . . . . . . . . 167 7.3 Cấu hình chương trình chủ X . . . . . . . . . . . . . . . . . . . . . . 169 7.3.1 Thu thập thông tin cần thiết . . . . . . . . . . . . . . . . . . . 170 7.3.2 Cấu trúc của tập tin cấu hình X . . . . . . . . . . . . . . . . . 171 7.3.3 Thử cấu hình /etc/X11/xorg.conf . . . . . . . . . . . . . . . . . 178 7.4 Khởi động hệ thống X Window . . . . . . . . . . . . . . . . . . . . . . 182 7.4.1 Lựa chọn trình quản lý cửa sổ . . . . . . . . . . . . . . . . . . 185 7.4.2 Môi trường làm việc KDE và GNOME . . . . . . . . . . . . . 187 7.4.3 Môi trường làm việc Xfce . . . . . . . . . . . . . . . . . . . . . 188 7.4.4 Sử dụng trình quản lý màn hình . . . . . . . . . . . . . . . . 188 8 Làm việc trong môi trường KDE 190 8.1 Bắt đầu làm việc với KDE . . . . . . . . . . . . . . . . . . . . . . . . 190 8.1.1 Đăng nhập vào KDE . . . . . . . . . . . . . . . . . . . . . . . 190 8.1.2 Vẻ ngoài của KDE . . . . . . . . . . . . . . . . . . . . . . . . . 191 8.1.3 Trình đơn KMenu . . . . . . . . . . . . . . . . . . . . . . . . . 194 8.1.4 Trung tâm điều khiển KDE . . . . . . . . . . . . . . . . . . . 195 8.1.5 Thay đổi vẻ ngoài . . . . . . . . . . . . . . . . . . . . . . . . . 198 8.1.6 Điều khiển phiên làm việc . . . . . . . . . . . . . . . . . . . . 201
Các file đính kèm theo tài liệu này:
- TuhocsudungLinux.pdf