Berke

New Member

Download miễn phí Ebook Tự học sử dụng Linux





Mục lục
1 HĐH Linux: lịch sử và các bản phân phối 2
1.1 Thế nào là HĐH nói chung và Linux nói riêng . . . . . . . . . . . . 2
1.1.1 Các hệ điều hành dạng UNIX . . . . . . . . . . . . . . . . . . 2
1.1.2 Một chút về lịch sử . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.3 Đặc điểm chính của HĐH Linux . . . . . . . . . . . . . . . . 6
1.2 Bản phân phối Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 Yêu cầu đối với máy tính . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4 Lấy Linux ở đâu? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2 Cài đặt HĐH Linux trên cùng máy tính với Windows 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 . . . . . . . . . . . . . . 18
2.3.1 Thế nào là cấu trúc “hình học của đĩa” . . . . . . . . . . . . . 18
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 . . . . . . . . . . . . . . . . . . . . . . 25
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 . . . . . . . . . . . . . . . . . . . . 28
2.5.1 Lời khuyên khi tạo phân vùng . . . . . . . . . . . . . . . . . . 28
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 . . . . . . . . . . . . . . . . . . . . . . 47
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 Giúp . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.6.5 Tài liệu đi kèm với bản phân phối và chương trình ứ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) . . . . . . . . . . . . . . . . . . . . . . . 71
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 . . . . . . . . . . . . 94
4.8 Tạo và gắn các hệ thống tập tin . . . . . . . . . . . . . . . . . . . . . 95
5 Bash 100
5.1 Hệ vỏ là gì? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.2 Các ký tự đặc biệt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.3 Thực thi các câu lệnh . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.3.1 Thao tác ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.3.2 Thao tác & . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.3.3 Thao tác && và || . . . . . . . . . . . . . . . . . . . . . . . . 103
5.4 Đầu vào/đầu ra tiêu chuẩn . . . . . . . . . . . . . . . . . . . . . . . . 103
5.4.1 Dòng dữ liệu vào – ra . . . . . . . . . . . . . . . . . . . . . . . 103
5.4.2 Lệnh echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.4.3 Lệnh cat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.5 Chuyển hướng đầu vào/đầu ra, đường ống và bộ lọc . . . . . . . . . . 105
5.5.1 Sử dụng >, < và » . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.5.2 Sử dụng | . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.5.3 Bộ lọc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.6 Tham biến và các biến số. Môi trường của hệ vỏ . . . . . . . . . . . . 108
5.6.1 Các dạng tham biến khác nhau . . . . . . . . . . . . . . . . . 108
5.6.2 Dấu nhắc của hệ vỏ . . . . . . . . . . . . . . . . . . . . . . . . 110
5.6.3 Biến môi trường PATH . . . . . . . . . . . . . . . . . . . . . . . 111
5.6.4 Biến môi trường IFS . . . . . . . . . . . . . . . . . . . . . . . 112
5.6.5 Thư mục hiện thời và thư mục cá nhân . . . . . . . . . . . . 112
5.6.6 Câu lệnh export . . . . . . . . . . . . . . . . . . . . . . . . . 112
5.7 Khai triển biểu thức . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
5.7.1 Khai triển dấu ngoặc . . . . . . . . . . . . . . . . . . . . . . . 113
5.7.2 Thay thế dấu ngã (Tilde Expansion) . . . . . . . . . . . . . . 114
5.7.3 Phép thế các tham biến và biến số . . . . . . . . . . . . . . . 114
5.7.4 Phép thế các câu lệnh . . . . . . . . . . . . . . . . . . . . . . . 114
5.7.5 Phép thế số học (Arithmetic Expansion) . . . . . . . . . . . . 115
5.7.6 Phân chia từ (word splitting) . . . . . . . . . . . . . . . . . . 115
5.7.7 Khai triển các mẫu tên tập tin và thư mục (Pathname Ex-pansion) . . . . . . . . . 115
5.7.8 Xóa các ký tự đặc biệt . . . . . . . . . . . . . . . . . . . . . . . 116
5.8 Shell - một ngôn ngữ lập trình . . . . . . . . . . . . . . . . . . . . . . 116
5.8.1 Toán tử if và test (hay [ ]) . . . . . . . . . . . . . . . . . . 117
5.8.2 Toán tử test và điều kiện của biểu thức . . . . . . . . . . . . 117
5.8.3 Toán tử case . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
5.8.4 Toán tử select . . . . . . . . . . . . . . . . . . . . . . . . . . 120
5.8.5 Toán tử for . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.8.6 Toán tử while và until . . . . . . . . . . . . . . . . . . . . . 122
5.8.7 Các hàm số . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
5.8.8 Tham số . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
5.8.9 Biến nội bộ (local) . . . . . . . . . . . . . . . . . . . . . . . . . 123
5.9 Script của hệ vỏ và lệnh source . . . . . . . . . . . . . . . . . . . . . 124
5.10 Câu lệnh sh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
vi MỤC LỤC
6 Sử dụng Midnight Commander 126
6.1 Cài đặt chương trình Midnight Commander . . . . . . . . . . . . . . 126
6.2 Vẻ ngoài của màn hình Midnight Commander . . . . . . . . . . . . 127
6.3 Trợ giúp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
6.4 Sử dụng chuột . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
6.5 Điều khiển các bảng . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
6.5.1 Dạng danh sách tập tin . . . . . . . . . . . . . . . . . . . . . . 131
6.5.2 Những chế độ hiển thị khác . . . . . . . . . . . . . . . . . . . 134
6.5.3 Các tổ hợp phím điều khiển bảng . . . . . . . . . . . . . . . . 136



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

tự ghi đĩa từ tập tin ISO nhận được
qua Internet thì rất có thể lỗi cài đặt là do khi ghi đĩa gây ra.
Hãy sử dụng hộp thư điện tử. Bạn nên đăng ký với một vài nhóm thư chung
(mailing list) nào đó, ví dụ mailto:[email protected]. Cách
đăng ký còn phụ thuộc vào từng nhóm thư (nói chính xác hơn là phụ thuộc vào
máy chủ điều khiển nhóm thư này). Nhưng hiện nay thường có hai cách đăng ký:
gửi thư đến một địa chỉ xác định để yêu cầu, đăng ký qua giao diện web. Thông
tin này bạn có thể tìm thấy trên trang web giới thiệu về nhóm thư chung. Tuy
nhiên bạn cần biết là để đọc được tất cả thư chung thì cần rất nhiều thời gian,
và còn phải đọc rất nhiều thư của những người dùng mới khác (ví dụ “Console là
gì?”), hay thậm chí có cả những lá thư “ngớ ngẩn” (ví dụ “Hôm nay dùng Debian
thật vui”) và tất nhiên là phải đọc cả những thư trả lời cho những câu hỏi này
của những ai biết một chút gì đó. Do đó nếu muốn bạn có thể xem kho lưu trữ
những lá thư này bằng trình duyệt, rất có thể đã có câu trả lời cho câu hỏi của
bạn ở đó. Và như vậy bạn không cần đăng ký cũng như viết thư vào nhóm
thư chung nữa.
Tất nhiên nếu không tìm thấy thì đừng ngại ngần đặt câu hỏi. Người dùng
Linux hết sức vui lòng trả lời thư của bạn. Bảo đảm là bạn sẽ nhận được câu trả
lời, nếu không hiểu thì còn có thể yêu cầu giải thích thêm.
Khi đặt câu hỏi có liên quan đến hệ thống Linux của bạn, cần luôn luôn thêm
vào thư của mình càng nhiều chi tiết càng tốt (nhưng đừng thêm thông tin thừa)
bao gồm: tên của bản phân phối (Debian, SuSE, Fedora, hay một cái nào khác),
phiên bản nhân, có vấn đề với phần cứng nào (phiên bản, dòng chữ ghi trên mạch
điện tử), thông báo nào hiện ra khi có vấn đề. Đừng đòi hỏi người dùng khác gửi
câu trả lời thẳng đến địa chỉ của bạn, “viết thư vào nhóm thư chung là tự thể
hiện, viết thư điện tử cũng là sự hỗ trợ kỹ thuật. Viết thư thì miễn phí, nhưng
sự hỗ trợ kỹ thuật thì không”. Xin hãy luôn nhớ điều đó!
Chương 4
Làm quen với hệ thống tập tin ext3fs1
Bây giờ bạn đã biết cách khởi động và dừng hệ thống Linux, đã đến lúc làm quen với một
trong những thành phần chính và quan trọng của Linux – đó là hệ thống tập tin. Hệ thống tập
tin – là cấu trúc nhờ đó nhân của hệ điều hành có thể cung cấp cho người dùng và các tiến
trình tài nguyên của hệ thống ở dạng bộ nhớ lâu dài trên các đĩa lưu2 thông tin: đĩa cứng,
đĩa từ, CD, DVD, v.v. . .
Mỗi hệ thống tập tin, giống như một cái đĩa ăn, có hai mặt. Một mặt của nó luôn quay về
phía người dùng (hay nói chính xác hơn là quay về phía ứng dụng), chúng ta tạm gọi nó là
mặt trước. Từ phía mặt trước này người dùng thấy hệ thống tập tin là một cấu trúc lôgíc của
các thư mục và tập tin. Mặt còn lại, mà người dùng không thấy, quay về phía chính bản thân
đĩa lưu tạo thành một vùng bên trong của hệ thống tập tin đối với người dùng, chúng ta tạm
gọi là mặt sau. Mặt này của hệ thống tập tin có cấu trúc không đơn giản chút nào. Vì ở đây
thực hiện các cơ chế ghi tập tin lên các đĩa lưu khác nhau, thực hiện việc truy cập (chọn
thông tin cần thiết) và nhiều thao tác khác.
Trong chương hiện tại chúng ta sẽ xem xét mặt quay về phía người dùng của hệ thống tập
tin. Mặt còn lại sẽ dành cho một chương sách ở sau. Cần nói thêm là chúng ta sẽ xem xét
một hệ thống tập tin cụ thể ext3fs, hệ thống tập tin cơ bản của Linux đến thời điểm hiện nay.
Còn có những hệ thống tập tin khác nhưng chúng ta sẽ đề cập đến chúng muộn hơn.
4.1 Tập tin và tên của chúng
Máy tính chỉ là công cụ để làm việc với thông tin không hơn không kém. Mà
thông tin trên mỗi HĐH được lưu ở dạng tập tin trên các đĩa lưu. Từ phía của
HĐH thì tập tin là một chuỗi liên tục các byte với chiều dài xác định. Hệ điều
hành không quan tâm đến định dạng bên trong của tập tin. Nhưng nó cần đặt
cho tập tin một cái tên nào đó để người dùng (hay nói đúng hơn là chương trình
ứng dụng) có thể làm việc với tập tin. Làm sao để người dùng có thể làm việc với
tập tin đó là công việc của hệ thống tập tin, người dùng thường không cần quan
tâm đến. Vì thế, đối với người dùng thì hệ thống tập tin là một cấu trúc lôgíc của
các thư mục và tập tin.
Tên tập tin trong Linux có thể dài 255 ký tự bao gồm bất kỳ ký tự nào trừ ký
tự có mã bằng 0 và ký tự dấu gạch chéo (/). Tuy nhiên còn có nhiều ký tự nữa có
1Chương này do người dịch viết
2Một số tác giả thích dùng thuật ngữ “vật chứa” ở đây.
4.1 Tập tin và tên của chúng 61
ý nghĩa đặc biệt trong hệ vỏ shell và do đó không nên dùng để đặt tên tập tin.
Đó là những ký tự sau:
! @ # $ & ~ % * ( ) [ ] { } ’ " \ : ; > < ‘ dấu cách
Nếu tên tập tin chứa một trong những ký tự này (không khuyên dùng nhưng
vẫn có thể) thì trước nó phải đặt một dấu gạch chéo ngược (\) (điều này vẫn đúng
trong trường hợp có chính bản thân dấu gạch chéo ngược, tức là phải lặp lại dấu
này hai lần). Ví dụ:
[user]$ mkdir \\mot\&hai
sẽ tạo thư mục \mot&hai. Còn có thể đặt tên tập tin hay thư mục với những ký
tự nói trên vào dấu ngặc kép. Ví dụ, để tạo thư mục có tên “mot hai ba” chúng ta
cần dùng câu lệnh sau:
[user]$ mkdir "mot hai ba"
vì câu lệnh
[user]$ mkdir mot hai ba
sẽ tạo ba thư mục: “mot”, “hai” và “ba”.
Làm tương tự như vậy đối với những ký tự khác, tức là có thể thêm chúng vào
tên tập tin (thư mục) nếu đưa tên vào trong dấu ngoặc kép hay dùng dấu gạch
chéo ngược để bỏ đi ý nghĩa đặc biệt của chúng. Tuy nhiên tốt nhất là không sử
dụng những ký tự này kể cả dấu cách trong tên tập tin và thư mục, bởi vì có thể
gây ra vấn đề cho một số ứng dụng khi cần sử dụng những tập tin như vậy và cả
khi di chuyển những tập tin đó lên hệ thống tập tin khác.
Đối với dấu chấm thì không phải như vậy. Trong Linux người dùng thường
đặt nhiều dấu chấm trong tên của tập tin, ví dụ xvnkb-0.2.9.tar.gz. Khi này
khái niệm phần mở rộng tập tin (thường dùng trong DOS) không còn có ý nghĩa
gì, mặc dù vẫn dùng phần cuối cùng của tên tập tin sau dấu chấm để làm ký hiệu
về các dạng tập tin đặc biệt (.tar.gz dùng để ký hiệu các tập tin nén3). Trên
Linux các tập tin chương trình và tập tin bình thường không phân biệt theo phần
mở rộng của tên (trong DOS tập tin chương trình có phần mở rộng exe) mà theo
các dấu hiệu khác, chúng ta sẽ đề cập đến ở sau. Dấu chấm có ý nghĩa đặc biệt
trong tên tập tin. Nếu nó là dấu chấm đầu tiên trong tên, thì tập tin này sẽ là ẩn
(thuộc tính hidden) đối với một số câu lệnh, ví dụ, lệnh ls không hiển thị những
tập tin như vậy.4
Như đã nói ở chương trước trong Linux có phân biệt các ký tự viết hoa và viết
thường. Điều này cũng đúng đối với tên tập tin. Vì thế l4u-0.9.2.tar.gz và
L4U-0.9.2.tar.gz có thể nằm trong cùng một thư mục và là tên của các tập
tin khác nhau. Điều này lúc đầu có thể gây khó khăn cho người dùng Windows
nhưng sau khi quen thì bạn sẽ thấy nó thật sự có ích.
Ch
 

Các chủ đề có liên quan khác

Top