Bài giảng 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

pdf32 trang | Chia sẻ: haohao89 | Lượt xem: 2121 | Lượt tải: 2download
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 ------------------------------------------------------------------------------------------------------------------ -------------------------------------------
Tài liệu liên quan