Linux là hệ điều hành thu hút được nhiều sự chú ý của giới tin học trong vài năm trở lại đây . Ngay từ khi xuất hiện , ảnh hưởng của nó đã lan rộng nhanh chống và ngày nay trở thành một trong những hệ điều hành được mọi người trong mọi lĩnh vực sử dụng. Thành công của Linux xuất phát từ cơ sở làm lại một trong những hệ điều hành lâu đời nhất và hiện vẫn đang được sử dụng rộng rãi, đó là hệ điều hành Unix
32 trang |
Chia sẻ: haohao89 | Lượt xem: 2202 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Bài giảng Giới thiệu tổng quan về Linux, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
1
CHƯƠNG I : GIỚI THIỆU TỔNG QUAN VỀ LINUX.
Linux là hệ điều hành thu hút được nhiều sự chú ý của giới tin học trong
vài năm trở lại đây . Ngay từ khi xuất hiện , ảnh hưởng của nó đã lan rộng nhanh
chống và ngày nay trở thành một trong những hệ điều hành được mọi người
trong mọi lĩnh vực sử dụng. Thành công của Linux xuất phát từ cơ sở làm lại một
trong những hệ điều hành lâu đời nhất và hiện vẫn đang được sử dụng rộng rãi,
đó là hệ điều hành Unix.
Cho đến bây giờ đối với những người chưa hình dung ra nó thì Linux là hệ
điều hàn đa người dùng, đa nhiệm được phân phối tự do và vận hành giống như
UNIX. những người sáng lập thiết kế Linux đặc biệt cho PC (Intel CPU) và tận
dụng kiến trúc của nó để cung cấp hiệu suất tương tự với trạm làm việc UNIX kỹ
thuật cao, một số cổng của Linux mở ra cho các nền phần cứng cũng xuất hiện,
và chúng làm việc y hệt phiên bản PC mà chúng ta sẽ tập trung xem xét.
Linux là hệ điều hành đa người dùng và đa nhiệm vận hành giống như hệ
điều hành UNIX về phương diện nhân và thiết bị ngoại vi. Linux có tất cả đặc
tính của UNIX, cộng với những cải thiện gần đây đã tăng thêm tính linh hoạt của
Linux. Toàn bộ mã nguồn dành cho Linux và trình tiện ích của nó hoàn toàn
miễn phí.
Ban đầu nhân Linux được thiết kế cho chế độ bảo vệ của CPU 80386 Intel.
80386 được thiết kế với tính năng đa nhiệm (mặc dù hầu hết Intel CPU được sử
dụng với tính năng DOS đơn nhiệm), và Linux tận dụng hoàn toàn những đặc
tính nâng cao có sẵn trong CPU. Cơ chế quản lý bộ nhớ cực kỳ mạnh với 80386
(so với những CPU trước kia). thủ tục mô phỏng dấu chấm động cho phép Linux
hoạt động trên những máy móc không có bộ đồng xử lý toán học.
Linux cho phép dùng chung các tập tin có thể thi hành để nhỡ có nạp nhiều bản
sao của một trình ứng dụng đặc biệt (do một người dùng chạy nhiều tác vụ), thì
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
2
tất cả tác vụ có thể dùng chung một bộ nhớ. tiến trình này, gọi là sao-chép-trên-
trang-ghi, sử dụng triệt để RAM của bộ nhớ.
Nhân Linux còn hỗ trợ tiến trình phân trang theo yêu cầu, có nghĩa là chỉ
những phần nào cần thiết của chương trình mới được đọc vào RAM. để sử dụng
bộ nhớ tối ưu hơn, Linux dùng một tổ hợp nhất cho phép bộ nhớ rãnh trên hệ
thống được sử dụng như một bộ nhớ cache truy cập nhanh chóng và hiệu quả các
chương trình và dữ liệu sử dụng thường xuyên. Do nhu cầu sử dụng bộ nhớ tăng,
nên bộ nhớ cache phải tự động điều chỉnh để phục vụ cho những yêu cầu bộ nhớ
quá lớn trong khi RAM bộ nhớ quá nhỏ. Linux hỗ trợ không gian trao đổi. không
gian trao đổi cho phép các tranh nhớ được ghi vào một vùng đĩa giành sẵn và
được sử dụng như một vùng mở rộng của bộ nhớ vật lý. bằng cách di chuyển tới
lui ác trang giữa không gian trao đổi và RAM, Linux có thể vận hành như thể nó
có Ram vật lý nhiều hơn thực tế, bù lại tốc độ truy cập của đĩa cứng sẽ chậm hơn
làm giảm tốc độ vận hành của máy.
Linux sử dụng rộng rãi thư viện dùng chung động. thư viện này sử dụng
một vùng thư viện chung cho nhiều trình ứng dụng khác nhau, cắt giảm đáng kể
kích thước của mỗi trình ứng dụng. linux cho phép tính năng nối kết toàn bộ thư
viện (gọi là thư viện nối kết tính) tạo điều kiện di dời đến những máy không có
thư viện động để mọi người chấp nhận Linux, hệ điều hành này cung cấp nhiều
hệ thống tập tin khác nhau, kể cả những hệ thống tập tin tương thích với DOS và
OS/2. Hệ thống tập tin riêng của Linux gọi là ext2fs, được thiết kế để tận dụng
tối đa đĩa.
Linux thật sự thích hợp cho công đoạn phát triển và thử nghiệm trình ứng
dụng bằng những ngôn ngữ mới. Là một bộ phận của phần mềm phân phối, có
một số trình biên dịch như C, C++, Fortran, Pascal, LISP, Ada, BASIC, và
Smalltalk. nhiều trong số những trình biên dịch, công cụ, trình gỡ rối và trình
hiệu chỉnh của Linux xuất phát từ dự án GNU của Hiệp hội phần mềm miễn phí
(FSF – Free Software Foundation)
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
3
- Phần mềm GNU
GNU (Gnu’s Not UNIX) do Hiệp hội phần mềm miễn phí phát triển. mục
đích của FSF là cung cấp miễn phí phần mềm do lập trình viên và người phát
triển. từ khi được tạo lập, nhiều bộ chương trình phân phối. hầu hết phần mềm
GNU phản ảnh phần mềm khả dụng mang tính thương mại và trong vài trường
hợp nó là một cải tiến.
Linux có nhiều trình tiện ích GNU, kể cả những ngôn ngữ đã được đề cập,
trình gỡ rối, công cụ biên dịch, và nhiều hơn thế nữa. các trình tiện ích in ấn, xử
lý văn bản, và những công cụ GNU khác cũng có mặt trong những sản bản phân
phối Linux.
X ( đôi khi còn là X Windows) là giao diện người dùng dạng đồ hoạ được
thiết kế tại MIT để cung cấp trình ứng dụng GUI có thể di chuyển giữa những
nền hệ thống khác nhau. Phiên bản của x cung cấp cho Linux gọi là Xfree86, và
là cổng trực tiếp của hệ thống X11R5 chuẩn cho những kiến trúc dựa trên 80386.
Xfree86 đã được nâng cao để cung cấp khả năng thích ứng với các GUI khác kể
cả Open Look.
Xfree86 hỗ trợ nhiều card video khác nhau ở một số độ phân giải, cung
cấp một giao diện đồ hoạ phân giải cao. bất kỳ trình ứng dụng X nào cũng có thể
được biên dịch lại để chạy trong hệ điều hành Linux, và nhiều trò chơi, trình tiện
ích cũng như những trình ứng dụng bổ sung đều được phát triển và cung cấp như
một phần của hệ thống X.
Bên cạnh đó, hệ Xfree86 còn có cả thư viện, công cụ, và trình tiện ích phát
triển ứng dụng. Điều này cho phép những lập trình viên viết chương trình ứng
dụng dành riêng cho X không phải đầu tư thêm những thư viện hoặc bộ công cụ
phát triển phần mềm đắt tiền nào khác.
DOS và giao diện Windows
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
4
Vì Linux được thiết kế cho máy PC nhỏ nên nó cung cấp khả năng tương
thích với Microsoft FS-DOS dưới dạng một thành phần của hệ điều hành. Linux
cung cấp bộ mô phỏng DOS với tư cách là một phần của hệ thống phân phối, cho
phép điều hành ứng dụng DOS trực tiếp từ bên trong Linux. Đừng qua mong chờ
vào khả năng di chuyển của những trình ứng dụng DOS, mặc dù một số chương
trình này dùng để truy cập những thiết bị ngoại vi hay các ổ đĩa mà Linux thống
thể dự án WINE đã phát triển bộ mô phỏng Microsoft Windows dành cho Linux.
Bộ mô phỏng này cho phép chương trình ứng dụng Windows chạy được từ bên
trong Linux. một phương pháp khả thi hơn, gọi là WABI, cho phép Linux chạy
chương tình ứng dụng Windows trong môi trường X.
Linux cho phép bạn chuyển tập tin hoàn toàn liền lạc giữa DOS và hệ
thống tập tin Linux, truy cập các phần chia DOS trực tiến trên đĩa cứng, nếu nó
đã được lập cấu hình như vậy. Điều này cho phép di chuyển các tập tin và
chương trình ứng dụng qua lại giữa hai hệ điều hành khá dễ dàng.
TCP/IP (transmission Control Protocol/Internet Protocol) là hệ thống nối
mạng quan trọng được UNIX và Linux sử dụng.
TCP/IP là một họ giao thức đầy đủ được phát triển cho Internet. bạn phải
sử dụng TCP/IP khi gia nhập vào Internet. nếu muốn liên kết với những máy
UNIX khác, bạn cũng phải sử dụng TCP/IP, việc áp dụng giao thức TCP/IP vào
Linux cung cấp toàn bộ phần mềm nối mạng và trình điều khiển thường nối kết
chặt chẽ với bộ chương trình phần mềm UNIX TCP/IP thương mại. dựa vào đó
bạn có thể tạo riêng cho mình một mạng cục bộ, nối kết với Ethernet LAN hiện
có hoặc nối cả mạng Internet, nối mạng là một đặc tính mạnh mẽ của Linux, mà
chúng ta sẽ xem xét chi tiết hơn ở phần sau. Dĩ nhiên không bắt buộc phải nối
mạng hệ thống Linux của bạn, nhưng cài đặt mạng sẽ rẻ tiền và đơn giản hơn
đồng thời là một cách chuyển đối tuyệt hảo và tập tin giữa những hệ điều hành.
bạn cũng có thể nối mạng qua modem vì thế bạn sẽ có các máy Linux của bạn bè
trên mạng.
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
5
CHƯƠNG II : FILE , CẤU TRÚC THƯ MỤC, TÀI KHOẢN NGƯỜI DÙNG
1./ Mô tả cấu trúc cây thư mục và file
Trong hệ thống Linux (và UNIX) tất cả file cộng với thư mục được lưu theo
một cấu trúc hình cây duy nhất. gốc của cây thư mục này được gọi là root và ký
hiệu bằng ký tự / (bạn đừng nhầm root với user và dấu / với đường dẫn thư mục).
cho dù máy tính của bạn gắn nhiều ổ đĩa cứng đi chăng nữa thì cũng chỉ được
gắn vào thành một nhánh trong cây thư mục chính mà thôi.
Hình 1-1 là cấu trúc thư mục gán nhiều đĩa cứng.
Tùy theo người quản trị hệ thống chỉ định mà các đĩa cứng phụ của bạn sẽ được
kết gán vào một thư mục nào đó trên cây thư mục gốc. Theo tác kết gán này
thường được thực hiện thông qua lệnh mount (bạn cũng có thể bỏ kết gán thư
usr etc home dev
Đĩa cứng 1
Đĩa cứng 2 TM1
Book.doc
softs
TM2
Help.txt
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
6
mục bằng lệnh umount) như thí dụ ở hình 1-1 /home/softs là đường dẫn thư mục
đến một phân vùng của đĩa cứng khác (đĩa cứng 2). Tập tin help.txt trong
/home/softs thực tế được lưu trên đĩa cứng thứ 2. trong khi book.doc chứa trong
/home/TM1 lại nằm trên đĩa cứng thứ nhất.
2./ Tìm hiểu đường dẫn ,hệ thống tập tin và thư mục
a./ Thư mục :
Cơ bản một hệ thống Linux thường có các thư mục sau :
/bin : Thư mục này chứa các file chương trình thực thi (dạng nhị phân ) và file
khởi động của hệ thống.
/boot : Các file ảnh (image file) của kernel dùng cho quá trình khởi động thường
đặt trong thư mục này.
/dev : Thư mục này chứa các file thiết bị. Trong thế giới UNIX và Linux các thiết
bị phần cứng được xem như là file.
Đĩa cứng và các phân vùng của bạn cũng là các file như had1, hda2, đĩa mềm
mang tên fd0…các tập tin thiết bị này thường đặt trong /dev
/etc : Thư mục này chứa các file cấu hình toàn cục của hệ thống. Có thể có nhiều
thư mục con trong thư mục này nhưng nhìn chung chứng chứa các file script để
khởi động hay phục vụ cho mục đích cấu hình chương trình trước khi chạy.
/home : Thư mục này chứa các thư mục con đại diện cho mỗi user khi đăng
nhập. nơi đây tựa như ngôi nhà của người dùng. Khi người quản trị tạo tài khỏan
cho bạn, họ cấp cho bạn một thư mục con trong /home. Bạn hoàn toàn có quyền
sao chép, xóa file, tạo thư mục con trong thư mục home của mình mà không ảnh
hưởng đến các người dùng khác.
/lib : Thư mục này chứa các file thư viện .so hoặc .a. Các thư viện C và các thư
viện liên kết động cần cho chương trình khi chạy và cho toàn hệ thống.Thư mục
này tương tự thư mục SYSTEM32 của Windows.
/lost + found : Thư mục này được đặt tên hơi lạ nhưng đúng nghĩa của nó. Khi
hệ thống khởi động hoặc khi bạn chạy trình fsck nếu tìm thấy một chuỗi dữ liệu
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
7
nào bị thất lạc trên đĩa cứng không liên quan đến các tập tin Linux sẽ gộp chúng
lại và đặt trong thư mục này để nếu cần bạn có thể đọc và giữ lại dữ liệu bị mất.
/mnt :Thư mục này chứa các thư mục kết gán tạm thời đến các ổ đĩa hay thiết bị
khác. Bạn có thể thấy trong /mnt các thư mục con như cdrom (kết gán đĩa cd)
hoặc floppy là thư mục kết gán với đĩa mềm.
/sbin : Thư mục này chứa các file hay chương trình thực thi của hệ thống thường
chỉ cho phép sử dụng bởi người quản trị.
/tmp : Có lẽ bạn nhận ra ngay đây là thư mục tạm dùng để chứa các file tạm mà
chương trình sử dụng chỉ trong quá trình chạy. các file trong thư mục này sẽ
được hệ thống dọn dẹp nếu không cần dùng đến nữa.
/usr : Thư mục này chứa rất nhiều thư mục con như /usr/bin hay /usr/sbin. Một
trong những thư mục con quan trọng trong /usr đó là /usr/local bên trong thư mục
local này bạn có đủ các thư mục con tương tự ngoài thư mục gốc như sbin, lib,
bin… Nếu bạn nâng cấp hệ thống thì các chương trình bạn cài đặt trong /usr/local
vẫn giữ nguyên và bạn không sợ chương trình bị mất mát. Hầu hết các ứng dụng
Linux đều thích cài chương trình vào /usr/local. Thư mục này tương tự Program
Files trên Windows.
/var : Thư mục này chứa các file biến thiên bất thường như các file dữ liệu đột
nhiên tăng kích thước trong một thời gian ngắn sau đó lại giảm kích thước xuống
còn rất nhỏ. Điển hình là các file dùng làm hàng đợi chứa dữ liệu cần đưa ra máy
in hoặc các hàng đợi chứa mail.
• Thư mục root :
Trong Linux, thư mục gốc (root directory) là thư mục chứa các địa thư mục
khác. Đó chính là thư mục cha; các thư mục khác nằm ở cấp thư mục con. Thư
mục gốc có một ký hiệu đặc biệt là /, cho biết nó ở cấp trên cùng.
b./ Đường dẫn :
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
8
- Đường dẫn tuyệt đối : Cho biết được vị trí chính xác của tập tin trong file
system.
Ví dụ : Nếu tập tin file.txt hiện diện trong thư mục home (/home/file.txt), tên
đường dẫn tuyệt đối của tập tin này là /home/file.txt.
- Đường dẫn tương đối : Chỉ đến vị trí của tập tin đối với thư mục hiện hành.
Ví dụ : Ta có thư mục /home/tm1/file.txt , giả sử ta đang ở thư mục hiện
hành tm1 thì tên tập tin file.txt là một đường dẫn tương đối .
c./Tập tin :
Tập tin chứa đủ loại thông tin. Trên hệ thống Linux có ba loại tập tin sẽ trở nên
thân thuộc với bạn :
- Dữ liệu người dùng : Thông tin bạn tạo và cập nhật. Dữ liệu người dùng đơn
giản nhất là văn bản hay con số thuần túy.
Ví dụ : tập tin bảng tính , muốn làm việc tới bảng tính bạn phải khởi động
chương trình bảng tính và đọc trong đó.
- Dữ liệu hệ thống : Thông tin (thường dưới hình thức văn bản gốc) cho hệ
thống Linux đọc và sử dụng – nhằm theo dõi người dùng nào được phép trên hệ
thống, chẳng hạn. với tư cách là nhà quản trị mạng, bạn chịu trách nhiệm thay đổi
tập tin dữ liệu hệ thống. Giả dụ khi bạn tạo người dùng mới, bạn sửa đổi tập tin
/etc/passwd vốn chứa thông tin người dùng. Người dùng hệ thống bình thường
chẳng mấy quan tâm đến tập tin dữ liệu hệ thống, ngoại trừ các tập tin khởi động
của họ.
- Tập tin thi hành : Các tập tin chứa những chỉ thị cho máy tính thực hiện.
Người ta thường gọi chuỗi chỉ thị này là chương trình (program). Khi bạn bảo
máy tính thực hiện là bạn đang yêu cầu máy tính thi hành các chỉ thị dành cho
nó. Trong con mắt chúng ta, tập tin thi hành chứa mớ vô nghĩa – rõ ràng máy tính
chẳng nghĩ như bạn đâu. Tạo lập hay hiệu chỉnh tập tin cần có những công cụ đặc
biệt.
Tuy chúng ta quy định với nhau là có ba loại tập tin khác nhau, nhưng bạn
cần biết là trong phạm vi hệ thống tập tin Linux chẳng có gì khác biệt giữa loại
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
9
tập tin. Mỗi tập tin là một khối dữ liệu trên ổ đĩa chứa thông tin. Nội dung bên
trong tập tin chẳng liên quan gì tới Linux trừ phi bạn sử dụng tập tin đó. Shell
bash có khả năng chạy tập tin thi hành, nhưng chẳng biết loại dữ liệu nào ở trong
tập tin dữ liệu hệ thống hay tập tin dữ liệu người dùng. Nội dung tập tin chỉ liên
quan tới chương trình sử dụng chúng, không liên quan tới Linux với tư cách là hệ
điều hành. Trừ một ngoại lệ là các tập tin dữ liệu hệ thống. Linux sử dụng chúng
khi khởi động và chạy hệ thống.
* Cách tạo tên tập tin :
- Tên tập tin gồm một loạt những chữ, số, và vài dấu phân cách đi liền nhau.
- Tên tập tin được chứa khỏang trắng, hoặc bất kỳ ký tự nào dùng để đại diện
một dấu phân cách các trường với nhau.
Ví dụ tên tập tin “Johns.letter” và “Johns letter” đều hợp lệ.
Tên tập tin không được chứa bất kỳ ký tự nào mang ý nghĩa đặc biệt với shell
chương trình. Bạn không được dùng “ký tự bị cấm” sau đây trong tên tập tin: “/”,
lý do là gạch chéo / bởi vì gạch chép này dùng để chỉ tên đường dẫn.
Quyền trên tập tin .
Các quyền truy xuất trên file
Linux là một HĐH đa nhiệm, đa người dùng. Cùng một thời điểm bạn
đang ngồi trước máy tính để soạn thảo tập tin hay thực thi chương trình nào đó
thì cũng có thể một người khác tư xa qua kết nối mạng đăng nhập (login) vào
máy bạn mở tập tin mà bạn đang soạn thảo để xem hay xóa tập tin chương trình
khỏi máy bạn trưới khi bạn kịp nhận ra máy tính của mình đang bị xâm phạm.
với Linux trước khi sử dụng hệ thống bạn phải qua bước đăng nhập bằng các
nhập vào tài khoản bao gồm username và password. Đối với từng tài khoản đăng
nhập vào hệ thống, Linux cho quyền tác động đến một tập tin hay thư mục theo
các thuộc tính sau :
R: chỉ cho đọc (không cho ghi và xóa tập tin)
W: cho phép ghi vào tập tin
X: cho phép thực thi chương trình.
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
10
- : không cho phép.
Các thuộc tính này gắn liền với file hay thư mục. chúng sẽ được xem xét
đến khi một người dùng đăng nhập yêu cầu mở file, đọc file, xóa file hay thực thi
chương trình. Ls là lệnh trong Linux cho phép bạn xem thông tin chi tiết về thuộc
tính truy xuất của tập tin và thư mục (tương tự lệnh dir của DOS). Ví dụ để xem
danh sách các tập tin trong thư mục /usr bạn có thể gõ lệnh :
# ls – l/usr
-rw-r - - r - - 1 root erik 444 Fed 14 22:24 Makefile
-rw-r - - r - - 1 erik erik 3507 Feb 14 17:44 erik.html
drwxrwxrwt 6 root root 4096 Mar 5 11:51 tmp
drwxr – xr- x 15 root root 4096 Feb 21 03:55 usr
drwxr – xr – x 20 root root 4096 Feb 21 10:31 var
Khóa chuyển –1 yêu cầu ls liệt kê thư mục theo dạng danh sách chi tiết. xem ra,
kết quả kết xuất của ls trong Linux phong phú và nhiều thông tin hơn lệnh dir của
DOS.
Tuy nhiên có lẽ điểm khác biệt lớn nhất mà bạn có thể thấy ở đây là cột thông tin
bên tay trái. Chúng chứa các chuỗi ký tự như :
-rw-r - - r -- (file erick.html)
hoặc drwxr – xr – x ( thư mục var và usr)
Đây là thuộc tính về quyền truy xuất (permission right) mà hệ điều hành dùng
bảo vệ file và thư mục. bạn chỉ có 3 quyền chính trên một file hay thư mục như
đã nêu đó là đọc, ghi và thực thi: r(read), w (write) và x (excute). Mặc dù vậy các
quyền này được chỉ định cho 3 đối tượng nữa đó là : người sở hữu tập tin
(owner), nhóm sở hữu tập tin (group) và các người sử dụng tập tin thông thường
(other user).
-rwx rwx rwx
user group order Đặc tính file
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
-------------------------------------------