Bài giảng Hệ điều hành Linux

doc 86 trang phuongnguyen 5380
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ điều hành Linux", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • docbai_giang_he_dieu_hanh_linux.doc

Nội dung text: Bài giảng Hệ điều hành Linux

  1. Trung tâm TCCN&DN Hệ điều hành Linux ___ Hệ điều hành Linux - Trung tâm TCCN&DN Trang 1
  2. Trung tâm TCCN&DN Hệ điều hành Linux ___ MỤC LỤC LỜI MỞ ĐẦU 4 CHƯƠNG I. GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH LINUX 5 I.1 Khái niệm Hệ điều hành 5 I.1.1 Khái niệm Hệ điều hành 5 I.1.2 Chức năng của Hệ điều hành 5 I.2 Lịch sử và các bản phân phối Hệ điều hành Linux 5 I.2.1 Lịch sử Hệ điều hành Linux 5 I.2.2 Vấn đề phân phối và giấy phép 8 I.3 Tại sao dùng Linux? 9 I.4 Kí hiệu nhân Linux 11 I.5 Kiến trúc của Hệ điều hành Linux 12 I.5.1 Hạt nhân (Kernel) 12 I.5.2 Shell 13 I.5.3 Các tiện ích 13 I.5.4 Chương trình ứng dụng 14 I.6 Các đặc tính cơ bản của Linux 14 I.6.1 Đa tiến trình 14 I.6.2 Tốc độ cao 14 I.6.3 Bộ nhớ ảo 14 I.6.4 Sử dụng chung thư viện 15 I.6.5 Sử dụng các chương trình xử lý văn bản 15 I.6.6 Sử dụng giao diện cửa sổ 15 I.6.7 Network Information Service (NIS) 15 I.6.8 Lập lịch hoạt động chương trình, ứng dụng 16 Trang 2
  3. Trung tâm TCCN&DN Hệ điều hành Linux ___ I.6.9 Các tiện ích sao lưu dữ liệu 16 I.6.10 Hỗ trợ nhiều ngôn ngữ lập trình 16 I.7 Câu hỏi và bài tập 16 CHƯƠNG II. CÀI ĐẶT HỆ ĐIỀU HÀNH LINUX 18 II.1 Công tác chuẩn bị 18 II.1.1 Yêu cầu hệ thống 18 II.1.2 Lựa chọn phiên bản cài đặt 18 II.1.3 Lựa chọn giữa cài đặt mới hoặc nâng cấp 19 II.1.4 Phân vùng đĩa 19 II.1.5 Lựa chọn phương thức cài đặt 19 II.2 Quá trình cài đặt 20 II.2.1 Quá trình cài đặt hệ điều hành Red Hat Linux 9.0 20 II.2.2 Thay đổi password cho root, GRUB 35 II.3 Câu hỏi và bài tập 35 CHƯƠNG III. CHẾ ĐỘ DÒNG LỆNH TRÊN LINUX 37 III.1 Giới thiệu về sử dụng lệnh trong Linux 37 III.1.1. Giới thiệu Shell 37 III.1.2 Sử dụng lệnh 38 III.2 Các lệnh cơ bản 39 III.3 Câu hỏi và bài tập 43 CHƯƠNG IV: QUẢN LÝ THIẾT BỊ VÀ HỆ THỐNG TẬP TIN/THƯ MỤC45 IV.1 Quản lý thiết bị 45 IV.1.1 Quy tắc quản lý thiết bị 45 IV.1.2 Cách truy xuất đĩa 46 IV.1.3 Các lệnh quản lý thiết bị ngoại vi 46 IV.2 Hệ thống tập tin/ thư mục 48 IV.2.1 Cấu trúc hệ thống tập tin/ thư mục 48 Trang 3
  4. Trung tâm TCCN&DN Hệ điều hành Linux ___ IV.2.2 Một số lệnh thao tác trên tập tin/ thư mục 51 IV.2.3 Đặt quyền trên tập tin/ thư mục 56 IV.2.4 Lưu trữ và nén tập tin/ thư mục 59 IV.3 Câu hỏi và bài tập 61 CHƯƠNG V. QUẢN TRỊ NGƯỜI DÙNG 65 V.1 Thông tin của user 65 V.2 Các thao tác trên user 68 V.3 Các thao tác trên nhóm 71 V.4 Câu hỏi và bài tập 74 CHƯƠNG VI. CÁC DỊCH VỤ VÀ TIỆN ÍCH TRÊN LINUX 76 VI.1 Trình soạn thảo văn bản VI 76 VI.2 Sử dụng e-mail 79 VI.2.1 Gửi thư bằng sendmail 79 VI.2.2 Nhận thư 80 VI.2.3 Các thao tác hỗ trợ 80 VI.3 Tiện ích tạo đĩa mềm boot 80 VI.4 Trình tiện ích setup 81 VI.5 Trình tiện ích fdisk 82 VI.6 Câu hỏi và bài tập 83 TÀI LIỆU THAM KHẢO 85 Trang 4
  5. Trung tâm TCCN&DN Hệ điều hành Linux ___ LỜI MỞ ĐẦU Môn học này sẽ giúp các bạn làm quen với hệ điều hành Linux – hệ điều hành mô phỏng Unix cho các máy tính cá nhân – Linux hỗ trợ đầy đủ khả năng đa nhiệm, đa người dùng, hệ thống giao diện X Window, mạng TCP/IP và rất nhiều tính năng khác. Linux là hệ điều hành thu hút được nhiều sự chú ý nhất trong vòng vài năm trở lại đây. Ngay từ khi xuất hiện, nó đã được lan rộng một cách nhanh chóng và biết tới như một hệ điều hành Unix – với mã nguồn mở. Thật ngạc nhiên, sự thành công của Linux có được nhờ sự làm lại một trong những hệ điều hành lâu đời nhất và hiện đang được sử dụng rộng rãi – hệ điều hành Unix. Linux bao gồm cả các công nghệ cũ và mới. Nhìn từ góc độ kỹ thuật, Linux chỉ là một nhân hệ điều hành, nó hỗ trợ đầy đủ các phục vụ cơ bản về quản lý tiến trình, bộ nhớ ảo, quản lý file và vào ra thiết bị. Nói cách khác, bản thân Linux là phần thấp nhất của hệ điều hành. Tuy nhiên, phần lớn người dùng đều coi “Linux” như một hệ thống hoàn chỉnh gồm nhân hệ điều hành kèm theo các trình ứng dụng khác: một môi trường làm việc và phát triển đầy đủ bao gồm trình dịch, các hệ soạn thảo, giao diện đồ họa, xử lý văn bản, Cho tới phiên bản Linux RedHat 6.1, Linux đã trở thành một hệ điều hành đầy đủ cho thương mại, giáo dục hoặc người dùng cá nhân. Điều làm cho Linux trở nên khác biệt là việc viết mã tự do của Unix. Việc này do một nhóm phát triển tự nguyên trên mạng Internet, họ trao đổi mã nguồn, phát hiện và sửa lỗi trong một môi trường mở. Linux có thể được cài đặt trên một máy tính cá nhân và trở thành một trạm làm việc với đầy đủ sức mạnh của Unix. Linux cũng có thể được sử dụng với mục đích thương mại trên một mạng máy tính như một môi trường tính toán và truyền tin. Trong các trường đại học, Linux được sử dụng để giảng dạy về hệ điều hành và lập trình hệ điều hành. Và tất nhiên, Linux cũng có thể được sử dụng trên các máy tính cá nhân như các hệ điều hành khác. Trang 5
  6. Trung tâm TCCN&DN Hệ điều hành Linux ___ CHƯƠNG I. GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH LINUX I.1 Khái niệm Hệ điều hành I.1.1 Khái niệm Hệ điều hành Hệ điều hành là tập hợp các chương trình được tổ chức thành một hệ thống với nhiệm vụ đảm bảo tương tác giữa người dùng với máy tính, cung cấp các phương tiện và dịch vụ để điều phối việc thực hiện các chương trình, quản lí chặt chẽ các tài nguyên của máy, tổ chức khai thác chúng một cách thuận tiện và tối ưu. I.1.2 Chức năng của Hệ điều hành - Tổ chức giao tiếp giữa người sử dụng và hệ thống. - Cung cấp bộ nhớ, các thiết bị ngoại vi, cho chương trình và tổ chức thực hiện các chương trình đó. - Tổ chức lưu trữ thông tin trên bộ nhớ ngoài, cung cấp các công cụ tìm kiếm và truy cập thông tin. - Hỗ trợ phần mềm cho các thiết bị ngoại vi. - Cung cấp các dịch vụ tiện ích hệ thống. I.2 Lịch sử và các bản phân phối Hệ điều hành Linux I.2.1 Lịch sử Hệ điều hành Linux Linux bắt nguồn từ một hệ điều hành lớn hơn có tên là Unix. Unix là một trong những hệ điều hành được sử dụng rộng rãi nhất thế giới do tính ổn định và khả năng hỗ trợ của nó. Ban đầu hệ điều hành Unix đã được phát triển như một hệ điều hành đa nhiệm cho các máy mini và các máy lớn (mainframe) trong những năm 70. Cho tới nay nó đã được phát triển trở thành một hệ điều hành phổ dụng trên toàn thế giới, mặc dù với giao diện chưa thân thiện và chưa được chuẩn hóa hoàn toàn. Linux là phiên bản Unix được cung cấp miễn phí, ban đầu được phát triển bởi Linus Torvald năm 1991 khi còn là một sinh viên của trường đại học Helssinki Trang 6
  7. Trung tâm TCCN&DN Hệ điều hành Linux ___ Phần Lan. Hiện nay, Linus làm việc tại tập đoàn Transmeta và tiếp tục phát triển nhân hệ điều hành Linux (Linux kernel). Khi Linus tung ra phiên bản miễn phí đầu tiên của Linux trên Internet, vô tình đã tạo ra một làn sóng phát triển phần mềm lớn nhất từ trước đến nay trên phạm vi toàn cầu. Hiện nay, Linux được phát triển và bảo trì bởi một nhóm hàng nghìn lập trình viên cộng tác chặt chẽ với nhau qua Internet. Nhiều công ty đã xuất hiện, cung cấp Linux dưới dạng gói phần mềm dễ cài đặt, hoặc cung cấp các máy tính đã cài đặt sẵn Linux. Tháng 11 năm 1991, Linus đưa ra bản chính thức đầu tiên của Linux, phiên bản 0.02. Ở phiên bản này, Linus đã có thể chạy bash và gcc (trình dịch C GNU) nhưng mới chỉ dừng lại ở đó. Hệ thống chưa có các hỗ trợ người dùng và tài liệu hướng dẫn. Các số hiệu phiên bản không ngừng gia tăng cùng với việc bổ sung thêm các tính năng mới. Sau ba năm nhân Linux ra đời, đến ngày 14-3-1994, hệ điều hành Linux phiên bản 1.0 được phổ biến, đây là phiên bản tương đối ổn định. Thành công lớn nhất của Linux 1.0 là nó đã hỗ trợ giao thức mạng TCP/IP chuẩn Unix, sánh với giao thức socket BSD – tương thích cho lập trình mạng. Trình điều khiển thiết bị đã được bổ sung để chạy IP trên một mạng Ethernet hoặc trên tuyến đơn hoặc qua modem. Hệ thống file trong Linux 1.0 đã vượt xa hệ thống file của Minix thông thường, ngoài ra đã hỗ trợ điều khiển SCSI truy nhập đĩa tốc độ cao. Điều khiển bộ nhớ ảo đã được mở rộng để hỗ trợ điều khiển trang cho các file swap và ánh xạ bộ nhớ của file đặc quyền (chỉ có một ánh xạ bộ nhớ chỉ đọc được thi hành trong Linux 1.0) Vào tháng 3-1995, nhân 1.2 được phổ biến. Điều đáng kể của Linux 1.2 so với Linux 1.0 ở chỗ nó hỗ trợ một phạm vi rộng và phong phú phần cứng, bao gồm cả kiến trúc tuyến phần cứng PCI mới. Nhân Linux 1.2 là nhân kết thúc dòng nhân Linux chỉ hỗ trợ PC. Một điều cần lưu ý về cách đánh chỉ số các dòng nhân Linux. Hệ thống chỉ số được chia thành một số mức, chẳng hạn hai mức như 2.4 hoặc ba mức 2.2.5. Trong cách đánh chỉ số như vậy, quy ước rằng với các chỉ số từ mức thứ hai trở đi, Trang 7
  8. Trung tâm TCCN&DN Hệ điều hành Linux ___ nếu là số chẵn thì dòng nhân đó đã khá ổn định và tương đối hoàn thiện, còn nếu là số lẻ thì dòng nhân đó vẫn đang được phát triển tiếp. Tháng 6-1996, nhân Linux 2.0 được phổ biến. Có hai đặc trưng nổi bật của Linux 2.0 là hỗ trợ kiến trúc phức hợp, bao gồm cả cổng Alpha 64-bit đầy đủ, và hỗ trợ kiến trúc đa bộ xử lý. Phân phối nhân Linux 2.0 cũng chỉ thi hành được trên bộ xử lý Motorola 68000 và kiến trúc SPARC của SUN. Các thi hành của Linux dựa trên vi nhân GNU Mach cũng chạy trên PC và PowerMac. Tới năm 2000, nhân Linux 2.4 được phổ biến. Một trong đặc điểm được quan tâm của nhân này là nó hỗ trợ mã ký tự Unicode 32 bit, rất thuận lợi cho việc xây dựng các giải pháp toàn diện và triệt để đối với vấn đề ngôn ngữ tự nhiên trên phạm vi toàn thế giới. Với phiên bản Linux 2.2.6, bạn có thể làm việc trên môi trường đồ hoạ với các ứng dụng cao cấp như: các tiện ích đồ hoạ và nhiều tiện ích khác. Linux khó có thể thành công được như hiện nay nếu không có các công cụ GNU của Tổ chức phần mềm miễn phí (Free Software Foundation). Trình dịch gcc của GNU đã giúp cho việc viết mã của Linux dễ dàng hơn rất nhiều. Thậm chí tổ chức này đã yêu cầu các bản Linux với các tiện ích kèm theo phải gọi là GNU/Linux. Hệ điều hành Berkley Unix (BSD) cũng đóng một vai trò quan trọng đối với Linux trong việc làm cho hệ điều hành này trở nên phổ biến như hiện nay. Hầu hết các tiện ích đi kèm với Linux được chuyển sang từ BSD, đặc biệt là các công cụ về mạng và các tiện ích. Hiện nay, Linux là một hệ điều hành Unix đầy đủ và độc lập. Nó có thể chạy X Window, TCP/IP, Emacs, Web, thư điện tử và các phần mềm khác. Hầu hết các phần mềm miễn phí và thương mại đều được chuyển lên Linux. Rất nhiều các nhà phát triển phần mềm đã bắt đầu chuyển sang viết trên Linux. Người ta đã thực hiện các phép đo benchmarks trên các hệ Linux và thấy rằng chúng thực hiện nhanh hơn khi thực hiện trên các trạm làm việc Sun Microsystems và Compaq, thậm chí nhiều khi còn nhanh hơn cả trên Windows 98 và Windows NT. Thật khó có thể hình dung được hệ điều hành Unix “tí hon” này phát triển nhanh như thế nào. Trang 8
  9. Trung tâm TCCN&DN Hệ điều hành Linux ___ I.2.2 Vấn đề phân phối và giấy phép Về lý thuyết, mọi người có thể khởi tạo một hệ thống Linux bằng cách tiếp nhận bản mới nhất các thành phần cần thiết từ các site ftp và biên dịch chúng. Trong thời kỳ đầu tiên, người dùng Linux phải tiến hành toàn bộ các thao tác này và vì vậy công việc là khá vất vả. Tuy nhiên, do có sự tham gia đông đảo của các cá nhân và nhóm phát triển Linux, họ đã tiến hành thực hiện nhiều giải pháp nhằm làm cho công việc khởi tạo hệ thống đỡ vất vả. Một trong những giải pháp điển hình nhất là cung cấp tập các gói chương trình đã tiền dịch, chuẩn hóa. Những tập hợp như vậy hay những bản phân phối là lớn hơn nhiều so với hệ thống Linux cơ sở. Chúng thường bao gồm các tiện ích bổ sung cho khởi tạo hệ thống, các thư viện quản lý, cũng như nhiều gói đã được tiền dịch, sẵn sàng khởi tạo của nhiều bộ công cụ Unix dùng chung, chẳng hạn như phục vụ tin, trình duyệt web, công cụ xử lý, soạn thảo văn bản và thậm chí các trò chơi. Cách thức phân phối ban đầu rất đơn giản song ngày càng được nâng cấp và hoàn thiện bằng phương tiện quản lý gói tiên tiến. Các bản phân phối ngày nay bao gồm các cơ sở dữ liệu tiến hóa gói, cho phép các gói dễ dàng được khởi tạo, nâng cấp và loại bỏ. Nhà phân phối đầu tiên thực hiện theo phương châm này là Slakware, và chính họ mang lại những chuyển biến mạnh mẽ trong cộng đồng Linux đối với công việc quản lý gói khởi tạo Linux. Tiện ích quản lý gói RPM (RedHat Package Manager) của công ty Red Hat là một trong những phương tiện điển hình. Nhân Linux là phần mềm tự do được phân phối theo Giấy phép sở hữu công cộng phần mềm GNU GPL. Vấn đề bản quyền của dự án GNU: Các chương trình tuân theo GNU Copyleft hay GPL (General Public License) có bản quyền như sau: - Tác giả vẫn là sở hữu của chương trình của mình. - Ai cũng có quyền bán copy của chương trình với giá bất kỳ mà không phải trả cho tác giả ban đầu. Trang 9
  10. Trung tâm TCCN&DN Hệ điều hành Linux ___ - Người sở hữu chương trình tạo điều kiện cho người khác sao chép chương trình nguồn để phát triển tiếp chương trình. Phần mềm ứng dụng chạy trên nền Linux tuy đã phong phú song so với một số hệ điều hành khác đặc biệt là so sánh với MS Windows, thì cẫn còn khoảng cách. Với sự hỗ trợ của nhiều công ty tin học hàng đầu thế giới (IBM, SUN, HP, ) và sự tham gia phát triển của hàng vạn chuyên gia trên toàn thế giới thuộc cộng đồng Linux, các khó khăn của Linux chắc chắn sẽ nhanh chóng được khắc phục. Chính vì lẽ đó đã hình thành một số nhà cung cấp Linux trên thế giới. Bảng dưới đây là tên của một số nhà cung cấp Linux có tiếng nhất và địa chỉ website của họ. Đáng chú ý nhất là Red Hat Linux (tại Mỹ) và Red Flag Linux (tại Trung Quốc). Red Hat được coi là lâu đời và tin cậy, còn Red Flag là một công ty Linux của Trung Quốc, có quan hệ với cộng đồng Linux Việt Nam và chúng ta có thể học hỏi một cách trực tiếp kinh nghiệm cho quá trình đưa Linux vào Việt Nam. Tên công ty Địa chỉ Website Caldera OpenLinux www.caldera.com Corel Linux www.corel.com Debian GNU/Linux www.debian.com Linux Mandrake www.mandrake.com Red Hat Linux www.redhat.com Red Flag Linux www.redflag-linux.com Slackware Linux www.slackware.com SuSE Linux www.suse.com TurboLinux www.turbolinux.com I.3 Tại sao dùng Linux? Nếu bạn đã có máy tính trong tay, đầu tiên bạn phải có một hệ điều hành cài đặt trên đó bạn mới có thể sử dụng được các chương trình ứng dụng. Hệ điều hành là chương trình điều hành mọi hoạt động trong máy tính của bạn, mọi chương trình ứng dụng khác đều chạy trên nền của hệ điều hành này. Trang 10
  11. Trung tâm TCCN&DN Hệ điều hành Linux ___ Sau đây là những lý do cho bạn lựa chọn hệ điều hành Linux cài đặt trên máy tính của mình:  Linux là hệ điều hành mã nguồn mở, với nhiều tính năng giống các hệ điều hành khác và được cung cấp miễn phí cho người sử dụng.  Linux đầy đủ: Tất cả những gì có ở IBM, SCO, Sun, đều có ở Linux, như: C compiler, perl interpeter, shell, TCP/IP, Proxy, firewall, tài liệu hướng dẫn,  Linux rất mềm dẻo trong cấu hình, thông qua các tiện ích, dễ dàng sửa đổi ngay cả nhân. Linux là hệ điều hành linh động, tin cậy, an toàn và được tiếp tục phát triển vởi hàng ngàn lập trình viên trên toàn thế giới.  Linux được trợ giúp. Tài liệu giới thiệu Linux ngày càng nhiều, không thua kém bất cứ một hệ điều hành nào khác. Linux được nhiều tổ chức và công ty lớn trên thế giới sử dụng: IBM, HP, Cisco, Google, Amazon.com, Ngoài ra khi sử dụng hệ điều hành Linux các bạn còn có được các tính năng sau:  Tính ổn định: Linux có tính ổn định cao, đây là một trong những ưu điểm của Linux so với các hệ điều hành khác. Tính ổn định ở đây có nghĩa là nó ít bị lỗi khi sử dụng so với hầu hết các hệ điều hành khác. Người sử dụng Linux sẽ không phải lo lắng đến chuyện máy tính của mình bị hiện tượng “treo cứng” khi đang sử dụng nữa. Thông thường lý do để bạn bắt buộc phải khởi động lại hệ thống là do mất điện, nâng cấp phần cứng hoặc phần mềm. Ngay cả server Linux phục vụ những mạng lớn (hàng trăm máy trạm) cũng hoạt động rất ổn định.  Tính bảo mật: Khi làm việc trên Linux người dùng có thể yên tâm hơn về tính bảo mật của hệ điều hành. Linux là hệ điều hành đa nhiệm, đa người dùng, điều này có nghĩa là nhiều người sử dụng có thể vào phiên làm việc của mình trên cùng một máy vào tại cùng một thời điểm. Linux cung cấp các mức bảo mật khác nhau cho người sử dụng. Mỗi người sử dụng chỉ làm việc trên một không gian tài nguyên dành riêng, chỉ có người quản trị hệ thống mới có quyền thay đổi trong máy.  Tính hoàn chỉnh: Bản thân Linux đã được kèm theo các trình tiện ích cần thiết. Tất cả các trình tiện ích mà bạn mong đợi đều có sẵn ở một dạng tương đương Trang 11
  12. Trung tâm TCCN&DN Hệ điều hành Linux ___ rất giống. Trên Linux, các trình biên dịch như C, C++, các hạt nhân hay TCP/IP đều được chuẩn hoá.  Tính tương thích: Linux tương thích hầu như hoàn toàn với một số chuẩn UNIX như IEEE POSIX.1, UNIX System V và BSD UNIX. Trên Linux bạn cũng có thể tìm thấy các trình giả lập của DOS và Windows cho phép bạn có thể chạy các ứng dụng quen thuộc trên DOS và Windows. Linux cũng hỗ trợ hầu hết các phần cứng máy PC.  Hệ điều hành 32 bit đầy đủ: Ngay từ đầu Linux đã là hệ điều hành 32 bit đầy đủ. Điều đó có nghĩa là bạn không còn phải lo về các giới hạn bộ nhớ, các trình điều khiển EMM hay các bộ nhớ mở rộng, khi sử dụng Linux. Hiện nay đã có những phiên bản Linux 64 bits chạy trên máy Alpha Digital hay Ultra Sparc.  Dễ cấu hình: Bạn không còn phải bận tâm về các giới hạn 640K và tiến hành tối ưu hoá bộ nhớ mỗi lần cài đặt một trình điều khiển mới. Linux cho bạn hầu như toàn quyền điều khiển về cách làm việc của hệ thống.  Khả năng làm việc trên nhiều loại máy: Cấu hình phần cứng tối thiểu mà Linux cần chỉ là chip 80386, 2MB bộ nhớ, 10-20 MB không gian đĩa để bắt đầu. Khi bạn càng bổ sung phần cứng thì Linux chạy càng nhanh. Linux có khả năng chạy trên nhiều dòng máy khác nhau như Apple Macintosh, Sun, Dec Alpha và Power PC. I.4 Kí hiệu nhân Linux Một trong những điểm dễ nhầm lẫn của những người mới làm quen với Linux là các version của Linux. Khi bạn bắt đầu tiếp cận với Linux, thông thường bạn tìm các phiên bản Linux trên CD ROM như “Red Hat version 6.1” hay “SuSE Linux version 6.3”. Các số gắn với một phiên bản chỉ liên quan tới các lần phân phối, một phiên bản với số hiệu lớn hơn không có nghĩa là phần mềm được cập nhật mới hơn. Thông thường các nhân Linux (Linux kernel) có một số hiệu phiên bản riêng. Tại mỗi một thời điểm có hai phiên bản mới nhất – phiên bản ổn định (stable) và phiên bản phát triển (development). Phiên bản ổn định dành cho hầu hết người dùng, còn phiên bản phát triển thay đổi rất nhanh và được chạy thử bởi các nhà phát triển trên Internet. Mỗi phiên bản kernel có thêm một số hiệu thứ ba mô tả lần cập Trang 12
  13. Trung tâm TCCN&DN Hệ điều hành Linux ___ nhật cuối cùng. Chẳng hạn phiên bản Linux kernel ổn định mới nhất vào tháng 7/99 là 2.2.10 và phiên bản phát triển tương ứng là 2.3.11. Các phiên bản của hệ điều hành Linux được xác định bởi hệ thống số dạng X.YY.ZZ. - Số "X" chỉ tăng khi xảy ra những thay đổi rất quan trọng, những thay đổi làm cho phần mềm không thể hoạt động đúng đắn với những phần mềm khác. - Nếu YY là số chẵn => phiên bản ổn định. YY là số lẻ => phiên bản thử nghiệm. - Số "Z" xác định chính xác phiên bản của hạt nhân bạn dùng, nó được tăng mỗi phiên bản. Ví dụ: Kernel 2.4.2 2 là Số chính .4 là số phụ, phiên bản ổn định .2 Patch Level. I.5 Kiến trúc của Hệ điều hành Linux I.5.1 Hạt nhân (Kernel) Là trung tâm điều khiển của hệ điều hành Linux, chứa các mã nguồn điều khiển hoạt động của toàn bộ hệ thống. Hạt nhân được phát triển không ngừng, thường có 2 phiên bản mới nhất, một bản dạng phát triển mới nhất và một bản ổn định mới nhất. Kernel được thiết kế theo dạng modul, do vậy kích thước thật sự của Kernel rất nhỏ. Chúng chỉ tải những bộ phận cần thiết lên bộ nhớ, các bộ phận khác sẽ được tải nếu có yêu cầu sử dụng. Nhờ vậy so với các hệ điều hành khác Linux Trang 13
  14. Trung tâm TCCN&DN Hệ điều hành Linux ___ không sử dụng lãng phí bộ nhớ nhờ không tải mọi thứ lên mà không cần quan tâm nó có sử dụng không. Kernel được xem là trái tim của hệ điều hành Linux, ban đầu nhân được phát triển cho các CPU Intel 80386. Điểm mạnh của loại CPU này là khả năng quản lý bộ nhớ. Kernel của Linux có thể truy xuất tới toàn bộ tính năng phần cứng của máy. Yêu cầu của các chương trình cần rất nhiều bộ nhớ, trong khi hệ thống có ít bộ nhớ, hệ điều hành sử dụng không gian đĩa hoán đổi (swap space) để lưu trữ các dữ liệu xử lý của chương trình. Swap space cho phép ghi các trang của bộ nhớ xuất các vị trí dành sẵn trong đĩa và xem nó như phần mở rộng của vùng nhớ chính. Bên cạnh sử dụng swap space, Linux còn hỗ trợ các đặc tính sau: - Bảo vệ vùng nhớ giữa các tiến trình, điều này không cho phép một tiến trình làm tắt toàn bộ hệ thống. - Chỉ tải các chương trình khi có yêu cầu. I.5.2 Shell Shell cung cấp tập lệnh cho người dùng thao tác với kernel để thực hiện công việc. Shell đọc các lệnh từ người dùng và xử lý. Ngoài ra shell còn cung cấp một số đặc tính khác như: chuyển hướng xuất nhập, ngôn ngữ lệnh để tạo các tập tin lệnh tương tự tập tin bat trong DOS. Có nhiều loại shell được dùng trong Linux. Điểm quan trọng để phân biệt các shell với nhau là bộ lệnh của mỗi shell. Ví dụ, C shell thì sử dụng các lệnh tương tự ngôn ngữ C, Bourne Shell thì dùng ngôn ngữ lệnh khác. Shell sử dụng chính trong Linux là GNU Bourne Again Shell (bash). Shell này là shell phát triển từ Bourne Shell, là shell sử dụng chính trong các hệ thống Unix, với nhiều tính năng mới như: điều khiển các tiến trình, các lệnh history, tên tập tin dài, . I.5.3 Các tiện ích Các tiện ích được người dùng thường xuyên sử dụng. Nó dùng cho nhiều thứ như thao tác tập tin, đĩa, nén, sao lưu tập tin, Tiện ích trong Linux có thể là các lệnh thao tác hay các chương trình giao diện đồ họa. Hầu hết các tiện ích dùng trong Linux là sản phẩm của chương trình GNU. Linux có sẵn rất nhiều tiện ích như trình Trang 14
  15. Trung tâm TCCN&DN Hệ điều hành Linux ___ biên dịch, trình gỡ lỗi, soạn văn bản, Tiện ích có thể được sử dụng bởi người dùng hoặc hệ thống. Một số tiện ích được xem là chuẩn trong hệ thống Linux như passwd, ls, pa, vi I.5.4 Chương trình ứng dụng Khác với các tiện ích, các ứng dụng như chương trình word, hệ quản trị cơ sở dữ liệu, là các chương trình có độ phức tạp lớn và được các nhà sản xuất viết ra. I.6 Các đặc tính cơ bản của Linux Linux hỗ trợ các tính năng cơ bản thường thấy trong các hệ điều hành Unix và nhiều tính năng khác mà không hệ điều hành nào có được. Linux cung cấp môi trường phát triển một cách đầy đủ bao gồm các thư viện chuẩn, các công cụ lập trình, trình biên dịch, debug, như bạn mong đợi ở các hệ điều hành Unix khác. Hệ thống Linux trội hơn các hệ thống khác trên nhiều mặt mà người dùng quan tâm như sự phát triển tốc độ, dễ sử dụng và đặc biệt là sự phát triển và hỗ trợ mạng. Một số đặc điểm của Linux chúng ta cần quan tâm: I.6.1 Đa tiến trình Là đặc tính cho phép người dùng thực hiện nhiều tiến trình đồng thời. Ví dụ bạn vừa in, vừa soạn văn bản, vừa nghe nhạc, cùng một lúc. Máy tính sử dụng chỉ một CPU nhưng xử lý đồng thời nhiều tiến trình cùng lúc. Thực chất là tại một thời điểm CPU chỉ xử lý được một mệnh lệnh, việc thực hiện cùng lúc nhiều công việc là giả tạo bằng cách làm việc xen kẽ và chuyển đổi trong thời gian nhanh. Do đó người dùng cứ ngỡ là thực hiện đồng thời. I.6.2 Tốc độ cao Hệ điều hành Linux được biết đến như một hệ điều hành có tốc độ xử lý cao, bởi vì nó thao tác rất hiệu quả đến tài nguyên như: bộ nhớ, đĩa, I.6.3 Bộ nhớ ảo Khi hệ thống sử dụng quá nhiều chương trình lớn dẫn đến không đủ bộ nhớ chính (RAM) để hoạt động. Trong trường hợp đó, Linux dung bộ nhớ từ đĩa vào partition swap. Hệ thống sẽ đưa các chương trình hoặc dữ liệu nào chưa có yêu cầu Trang 15
  16. Trung tâm TCCN&DN Hệ điều hành Linux ___ truy xuất xuống vùng swap này, khi có nhu cầu thì hệ thống chuyển lên lại bộ nhớ chính. I.6.4 Sử dụng chung thư viện Hệ thống Linux có rất nhiều thư viện dùng chung cho nhiều ứng dụng. Điều này sẽ giúp hệ thống tiết kiệm được tài nguyên cũng như thời gian xử lý. I.6.5 Sử dụng các chương trình xử lý văn bản Chương trình xử lý văn bản là một trong những chương trình rất cần thiết đối với người sử dụng. Linux cung cấp nhiều chương trình cho phép người dùng thao tác với văn bản như vi, emacs, nroff. I.6.6 Sử dụng giao diện cửa sổ Giao diện cửa sổ dùng hệ thống X Window, có giao diện như hệ điều hành Windows. Với hệ thống này người dùng rất thuận tiện khi làm việc trên hệ thống. X Window System hay còn gọi tắt là X được phát triển tại viện Massachusetts Institute of Technology. Nó được phát triển để tạo ra môi trường làm việc không phụ thuộc phần cứng. X chạy dưới dạng client – server. Hệ thống X Window hoạt động qua hai bộ phận: - Phần server còn gọi là X server. - Phần client được gọi là X Window manager hay desktop environment. X Server sử dụng trong hầu hết các bản phân phối của Linux là Xfree86. Client sử dụng thường là KDE (K Desktop Environment) và GNOME (GNU Network Object Model Environment). Dịch vụ Samba sử dụng tài nguyên đĩa, máy in với Windows. Tên Samba xuất phát từ giao thức Server Message Block (SMB) mà Window sử dụng để chia sẻ tập tin và máy in. Samba là chương trình sử dụng giao thức SMB chạy trên Linux. Sử dụng Samba bạn có thể chia sẻ tập tin và máy in với các máy Windows I.6.7 Network Information Service (NIS) Dịch vụ NIS cho phép chia sẻ các tập tin password và group trên mạng. NIS là một hệ thống cơ sở dữ liệu dạng client – server, chứa các thông tin của người Trang 16
  17. Trung tâm TCCN&DN Hệ điều hành Linux ___ dùng và dùng để chứng thực người dùng. NIS xuất phát từ hãng Sun Microsystem với tên là Yellow Pages. I.6.8 Lập lịch hoạt động chương trình, ứng dụng Chương trình lập lịch trong Linux xác định các ứng dụng, script thực thi theo một sự sắp xếp của người dùng như: at, cron, batch. I.6.9 Các tiện ích sao lưu dữ liệu Linux cung cấp các tiện ích như tar, cpio và dd để sao lưu và backup dữ liệu. Red Hat Linux còn cung cấp tiện ích Backup and Restore System Unix (BRU) cho phép tự động backup dữ liệu theo lịch. I.6.10 Hỗ trợ nhiều ngôn ngữ lập trình Linux cung cấp một môi trường lập trình Unix đầy đủ bao gồm các thư viện chuẩn, các công cụ lập trình, trình biên dịch, chương trình debug mà bạn có thể tìm thấy trong các hệ điều hành Unix khác. Ngôn ngữ chủ yếu sử dụng trong các hệ điều hành Unix là C và C++. Linux dùng trình biên dịch cho C và C++ là gcc, chương trình biên dịch này rất mạnh, hỗ trợ nhiều tính năng. Ngoài C, Linux cũng cung cấp các trình biên dịch, thông dịch cho các ngôn ngữ khác như Pascal, Fortan, Java, I.7 Câu hỏi và bài tập Câu 1: Phiên bản chính thức đầu tiên của Linux xuất hiện đầu tiên vào năm nào? Tên tác giả đầu tiên phát triển hệ điều hành Linux? Câu 2: Trình bày quá trình phát triển của hệ điều hành Linux? Câu 3: Kể tên một vài bản phân phối của hệ điều hành Linux? Câu 4: Vì sao Linux được gọi là một hệ điều hành “mã nguồn mở”? Điều đó có ảnh hưởng như thế nào tới quá trình phát triển của Linux? Trang 17
  18. Trung tâm TCCN&DN Hệ điều hành Linux ___ Câu 5: Trình bày những lý do để lựa chọn cài đặt hệ điều hành Linux? Câu 6: Sự khác nhau giữa phiên bản phân phối của Linux và nhân Linux? Câu 7: Kiến trúc của hệ điều hành Linux gồm mấy phần? Hãy kể tên? Câu 8: Trình bày các đặc tính cơ bản của hệ điều hành Linux? Trang 18
  19. Trung tâm TCCN&DN Hệ điều hành Linux ___ CHƯƠNG II. CÀI ĐẶT HỆ ĐIỀU HÀNH LINUX Thông thường trên các đĩa của bản phân phối Linux đã có hướng dẫn ngắn gọn cách cài đặt Linux. Ngoài ra, trên Internet bạn có thể tìm thấy rất nhiều cuốn sách nói về vấn đề cài đặt hệ điều hành Linux. Và tất cả các bản phân phối lớn (Debian, Slackware, RedHat, ) đều đã có cuốn hướng dẫn cài đặt rất chi tiết, cho mọi tình huống sử dụng. Chương II sẽ giới thiệu cho các bạn cách cài đặt đơn giản nhất phiên bản Red Hat của Linux. II.1 Công tác chuẩn bị II.1.1 Yêu cầu hệ thống Linux không đòi hỏi máy có cấu hình mạnh. Tuy nhiên nếu phần cứng có cấu hình thấp quá thì có thể không chạy được X-Window hay các ứng dụng có sẵn. Cấu hình tối thiểu nên dùng: - CPU: Pentium MMX trở lên. - RAM: 64MB trở lên cho Text mode, 192MB cho Graphics mode. - Đĩa cứng: Dung lượng đĩa còn phụ thuộc vào loại cài đặt. o Custum Installation (mininum): 520MB o Server (minimum): 870MB o Personal Desktop: 1.9GB o Workstation: 2.4GB o Custum Installation (everything): 5.3GB - 2MB cho card màn hình nếu muốn sử dụng chế độ đồ họa. II.1.2 Lựa chọn phiên bản cài đặt Trước khi bạn chọn phiên bản muốn dùng, hãy đọc các mô tả cẩn thận và so sánh với nhu cầu của bạn. Mỗi phiên bản được thiết kế cho một loại người dùng riêng biệt. Vài phiên bản được tối ưu để hoạt động như server, vài phiên bản khác được dùng để chơi Trang 19
  20. Trung tâm TCCN&DN Hệ điều hành Linux ___ game, vài phiên bản khác lại được dùng cho máy để bàn và các ứng dụng văn phòng. Có một số ít phiên bản được xem là sự lựa chọn cho người dùng mới: – RedHat đặc biệt tốt cho server. – Mandrake là hệ thống để bàn xuất sắc. – SuSE cũng là hệ thống để bàn xuất sắc. Các thông tin và tài nguyên (resource) của Linux có thể tìm thấy ở khắp nơi trên Internet và hầu hết đều free. Mặt khác các gói phần mềm ứng dụng cũng được cho miễn phí. II.1.3 Lựa chọn giữa cài đặt mới hoặc nâng cấp II.1.4 Phân vùng đĩa - Điều này cho phép bạn tạo các phân vùng mới trên không gian trống của đĩa, hoặc để sử dụng các phân vùng Linux đã tồn tại. - Cấp phát không gian trao đổi thích hợp. - Xác định hệ thống file nào để sử dụng.  Lưu ý: - Cần chuẩn bị phân vùng đĩa còn trống để cài Linux. - Linux cần tối thiểu hai phân vùng là Linux Native (ext3) và Linux swap. Đơn giản, bạn có thể dùng Partition Magic để phân chia đĩa. - Một partition là Linux native ext3. Cần khoảng 2GB trở lên để cài Linux, bao gồm cả KDE và GNOME, các tiện ích đồ họa, multimedia, và lập trình. Tối thiểu bạn cần 400MB và cài toàn bộ là 4,5GB. - Một partition là Linux swap, là phân vùng trao đổi của Linux dành cho việc sử dụng bộ nhớ ảo làm không gian trao đổi. Thông thường, dung lượng bộ nhớ ảo tối ưu sẽ gấp đôi dung lượng bộ nhớ RAM của hệ thống. II.1.5 Lựa chọn phương thức cài đặt Có thể cài đặt Linux bằng một trong các cách sau: - Từ ổ đĩa CD-ROM. Trang 20
  21. Trung tâm TCCN&DN Hệ điều hành Linux ___ - Từ bản sao chép Linux trên ổ đĩa cứng hoặc USB. - Cài đặt từ server mạng, sử dụng HTTP, FTP, hoặc NFS, II.2 Quá trình cài đặt II.2.1 Quá trình cài đặt hệ điều hành Red Hat Linux 9.0  Boot từ CD-ROM (Hình 2.1) Nếu máy bạn có CD-ROM, bạn hãy khởi động máy tính, chỉnh lại BIOS thứ tự boot đầu tiên là CD-ROM và đưa đĩa cài đặt vào ổ CD. Hình 2.1  Chọn chế độ cài đặt (Hình 2.2) Chúng ta có thể chọn các chế độ: - Chương trình hệ điều hành Linux đặt dưới chế độ đồ họa (Graphical mode) -> [Enter]. - Linux text: Chương trình hệ điều hành Linux đặt dưới chế độ text (Text mode). Trang 21
  22. Trung tâm TCCN&DN Hệ điều hành Linux ___ Hình 2.2  Kiểm tra đĩa trước khi cài đặt (Hình 2.3) Hình 2.3 Chọn OK để test đĩa, hoặc chọn Skip để bỏ qua quá trình test.  Chọn ngôn ngữ hiển thị trong quá trình cài đặt (Hình 2.4) Ta chọn ngôn ngữ “English”. Sau khi chọn nhấn Next để tiếp tục. Trang 22
  23. Trung tâm TCCN&DN Hệ điều hành Linux ___ Hình 2.4  Lựa chọn Keyboard (Hình 2.5) Hình 2.5 Chọn kiểu bàn phím thích hợp với hệ thống, chọn Next.  Lựa chọn chuột (Hình 2.6) Trang 23
  24. Trung tâm TCCN&DN Hệ điều hành Linux ___ Hình 2.6 Chọn loại mouse phù hợp với mouse của mình. Khi chọn lưu ý cổng gắn mouse kà serial hay PS/2, chọn Next.  Lựa chọn kiểu cài đặt (Hình 2.7) Hình 2.7 Trang 24
  25. Trung tâm TCCN&DN Hệ điều hành Linux ___ Personal Desktop: dành cho người mới bắt đầu với Linux hoặc cho những hệ thống desktop cá nhân. Chương trình cài đặt sẽ chọn lựa những gói phần mềm cần thiết nhất cho cấu hình này. Dung lượng đĩa cần cho kiểu cài đặt này chiếm khoảng 1.5GB, bao gồm cả môi trường đồ hoạ. WorkStation: dành cho những trạm làm việc với chức năng đồ hoạ cao cấp và các công cụ phát triển. Server: cài đặt hệ thống đóng vai trò máy chủ như web server, ftp sever, SQL server, Custom: đây là lựa chọn linh hoạt cho bạn trong quá trình cài đặt. Bạn có thể chọn các gói phần mềm, các môi trường làm việc, boot loader tuỳ theo ý bạn.  Chọn cách chia partition (Hình 2.8) Hình 2.8 - Automatically partition: cho phép hệ thống tự động phân vùng ổ đĩa hợp lý để cài hệ điều hành (thông thường theo cách này thì hệ thống sẽ tạo ra hai phân vùng: /boot, /swap). - Manually partition with Disk Druid: chia partition bằng tiện ích Disk Druid. Đây là cách chia partition dưới dạng đồ họa dễ dùng. Trang 25
  26. Trung tâm TCCN&DN Hệ điều hành Linux ___ Nếu ta là người mới học cách cài đặt thì nên lựa chọn Automatically partition.  Chia partition bằng tay Hình 2.9 - Remove all Linux partitions on this system: khi ta muốn loại bỏ tất cả các Linux partition có sẵn trong hệ thống. - Keep all partitions and use existing free space: khi ta muốn giữ lại tất cả các partition có sẵn và chỉ sử dụng không gian trống còn lại để phân vùng. - Tùy theo từng yêu cầu riêng mà ta có thể lựa chọn các yêu cầu trên cho phù hợp, sau đó chọn Next. Khi ta chọn cách chia partition bằng tay ta sẽ sử dụng tiện ích Disk Druid. Disk Druid hiển thị các partition của đĩa dưới chế độ đồ họa ở phía trên. Bạn có thể chọn từng partition để thao tác. Chi tiết các partition gồm kích thước, loại hệ thống tập tin, thư mục được mount vào. - New: tạo một partition mới, chỉ định tên phân vùng (mount point), loại filesystem (ext3) và kích thước (size) tính bằng MByte (tùy chọn). Trang 26
  27. Trung tâm TCCN&DN Hệ điều hành Linux ___ - Edit: thay đổi lại các tham số của phân vùng được chọn. - Delete: xóa phân vùng được chọn. - Reset: phục hồi lại trạng thái đĩa như trước khi thao tác. - Make RAID: sử dụng với RAID (Redundant Array of Independent Disks) khi ta có ít nhất 3 đĩa cứng. Tạo ra vùng swap (Hình 2.10) Hình 2.10 Trang 27
  28. Trung tâm TCCN&DN Hệ điều hành Linux ___ Tạo partition ext3, sau khi tạo swap partition (Hình 2.11) Hình 2.11  Cấu hình Boot Loader Hình 2.12 Trang 28
  29. Trung tâm TCCN&DN Hệ điều hành Linux ___ Đây là chương trình dùng để khởi động Linux khi bạn có hơn một hệ điều hành được cài đặt trên hệ thống. Boot Loader cho phép bạn chọn các hệ điều hành để khởi động qua menu. Khi chúng ta chọn, chúng sẽ xác định các tập tin cần thiết để khởi động hệ điều hành và giao quyền điều khiển lại cho hệ điều hành. Boot Loader có thể được cài vào Master Boot Record hoặc vào sector đầu tiên của partition. Linux cho phép bạn sử dụng chương trình Boot Loader là GRUB hoặc LILO. Cả 2 Boot Loader đều có thể hỗ trợ quản lý nhiều hệ điều hành trên một hệ thống. - Bạn chọn cài Boot Loader vào Master Boot Record (MBR) khi chưa có chương trình Boot Loader nào (ví dụ như của Windows) được cài, hoặc bạn chắc chắn chương trình Boot Loader của bạn có thể khởi động được các hệ điều hành khác trong máy của mình. Khi cài lên MBR thì các chương trình Boot Loader trước đó sẽ bị thay thế bằng Boot Loader mới. - Chọn cài Boot Loader vào sector đầu tiên của partition cài đặt khi bạn đã có chương trình Boot Loader tại MBR và không muốn thay thế nó. Trong trường hợp này, chương trình Boot Loader kia nắm quyền điều khiển trước và trỏ đến chương trình Boot Loader của Linux khi có yêu cầu khởi động hệ điều hành này. - Bạn không cài chương trình Boot Loader, khi đó bạn phải sử dụng đĩa mềm boot để khởi động hệ điều hành. - Ta có thể đặt mật khẩu cho Boot Loader thông qua nút Change password. GRUB: Là boot loader mặc định, đây là chương trình rất mạnh và uyển chuyển. GRUB tự động dò các hệ điều hành hiện có trên hệ thống và thêm vào danh sách khi khởi động. Tuỳ chọn “configure advance boot loader option” cho phép bạn chọn việc cài GRUB lên đâu trong ổ cứng. Nếu chọn GRUB để khởi động hệ thống, GRUB sẽ được cài lên Master Boot Record ( /dev/hda). Trang 29
  30. Trung tâm TCCN&DN Hệ điều hành Linux ___ Nếu chọn một chương trình khác để khởi động như system commander chẳng hạn, bạn hãy chọn cài GRUB lên “first sector of boot partition”. Như vậy, system commander sẽ tự động nhận ra Linux và thêm vào mục nhập khởi động cho Linux.  Cấu hình Firewall Trong Linux có tích hợp Firewall để bảo vệ hệ thống chống lại một số truy xuất bất hợp pháp từ bên ngoài. Ta chọn Enable Firewall, sau đó chọn loại dịch vụ cần cho phép bên ngoài truy cập vào Firewall. Hình 2.13  Lựa chọn ngôn ngữ cho hệ thống (Hình 2.14) Bạn có thể cài đặt và sử dụng nhiều ngôn ngữ trong Linux. Có thể chọn ngôn ngữ mặc định (English (USA)) và các ngôn ngữ khác để sử dụng. Trang 30
  31. Trung tâm TCCN&DN Hệ điều hành Linux ___ Hình 2.14  Lựa chọn vùng định thời gian (Hình 2.15) Các vị trí chia theo châu lục. Ở Việt Nam là Asia/Saigon, ta có thể chọn mục này một cách dễ dàng thông qua việc định vị chuột tại đúng vị trí trên bản đồ. Hình 2.15 Trang 31
  32. Trung tâm TCCN&DN Hệ điều hành Linux ___  Thiết lập password cho user root (Hình 2.16) Trên Linux người quản trị thường được gọi là người dùng root. Mật khẩu của user root bắt buộc có chiều dài tối thiểu của password là 6 ký tự. Bạn nên đặt password gồm có ký tự, số và các ký tự đặc biệt để đảm bảo an toàn. Lưu ý password phân biệt chữ hoa và thường. Bạn phải đánh vào 2 lần, khi dòng chữ bên dưới xuất hiện “Root password accepted” thì được. Hình 2.16  Lựa chọn các gói cài đặt Bạn chọn các chương trình cần cài đặt, nếu chọn everything là cài tất cả các chương trình, chọn Minimal là chỉ cài một số chương trình hoặc phần mềm thông dụng. Nếu bạn nắm rõ các package cần thiết cho các chương trình mình mong muốn thì chọn Select individual packages. Trang 32
  33. Trung tâm TCCN&DN Hệ điều hành Linux ___ Hình 2.17 Ta có thể chọn Details để chọn chi tiết các thành phần trong từng phần mềm hoặc nhóm các công cụ. Hình 2.18 Trang 33
  34. Trung tâm TCCN&DN Hệ điều hành Linux ___  Quá trình cài đặt các gói (Hình 2.19) Hình 2.19  Màn hình sau khi cài đặt xong và khởi động lần đầu tiên Hình 2.20 Trang 34
  35. Trung tâm TCCN&DN Hệ điều hành Linux ___  Màn hình login vào hệ thống Hình 2.21  Màn hình của hệ điều hành Red hat linux 9.0 Hình 2.22 Trang 35
  36. Trung tâm TCCN&DN Hệ điều hành Linux ___ II.2.2 Thay đổi password cho root, GRUB  Thay đổi password cho root khi quên - Lúc khởi động vào GRUB nhấn e, để thay đổi tùy chọn khi khởi động. Hình 2.23 - Trên dòng kernel, gõ thêm Single hay 1. - Nhấn b, hệ thống sẽ khởi động vào user root. - Gõ lệnh passwd để thay đổi password. - Gõ lệnh init 6 để khởi động lại.  Đặt password cho GRUB - vi /boot/grub/grub.conf - Thêm dòng: password=[pass muốn đặt] Ví dụ ta muốn đặt password là “123456”, ta gõ lệnh password=123456. II.3 Câu hỏi và bài tập Câu 1: Hãy cài đặt hệ điều hành Red Hat Linux 9.0 trên máy tính cá nhân của mình. Trong quá trình cài đặt tạo account tttccn. Câu 2: Hãy đăng nhập vào hệ thống Linux bạn vừa cài đặt. Trang 36
  37. Trung tâm TCCN&DN Hệ điều hành Linux ___ - Làm quen với giao diện và môi trường làm việc của hệ điều hành Red Hat Linux 9.0. - Thực hiện một số thao tác như chỉnh sửa giao diện desktop, tạo thêm một số thư mục mới, - Thoát khỏi hệ thống. Câu 3: Hãy thay đổi password của người dùng root và đặt password cho GRUB. Trang 37
  38. Trung tâm TCCN&DN Hệ điều hành Linux ___ CHƯƠNG III. CHẾ ĐỘ DÒNG LỆNH TRÊN LINUX III.1 Giới thiệu về sử dụng lệnh trong Linux Như đã giới thiệu ở phần trên, Linux là một hệ điều hành đa người dùng, đa nhiệm, được phát triển bởi hàng nghìn chuyên gia tin học trên toàn thế giới nên hệ thống lệnh cũng ngày càng phong phú. Đến thời điểm hiện nay Linux có khoảng hơn một nghìn lệnh. Tuy nhiên chỉ có vài chục lệnh là thông dụng nhất đối với người dùng. Chúng ta đừng e ngại số lượng lệnh được giới thiệu chỉ chiếm một phần nhỏ trong tập hợp lệnh bởi vì đây là những lệnh thông dụng nhất và chúng cung cấp một phạm vi ứng dụng rộng lớn, đủ thỏa mãn yêu cầu của chúng ta. III.1.1. Giới thiệu Shell Cơ chế dòng lệnh là cách cơ bản nhất để tương tác với hệ thống máy tính. Shell cung cấp một giao diện giữa nhân và người sử dụng. Shell nhận lệnh từ người sử dụng, phân tích lệnh và gửi lệnh tới nhân để thực thi. Shell không chỉ có chức năng nhận và thông dịch lệnh, nó còn cung cấp một môi trường để có thể cấu hình hệ thống và lập trình. Giao diện của shell thường có một dấu nhắc mà tại đó bạn sẽ nhập lệnh vào. Giao diện này được gọi là giao diện dòng lệnh (command line interface). Có nhiều loại shell. Shell mặc định trên Linux là BASH. Trang 38
  39. Trung tâm TCCN&DN Hệ điều hành Linux ___ Shell thường kết thúc bằng: - $: là người sử dụng thông thường - #: người dùng là Root (Administrator) III.1.2 Sử dụng lệnh Cú pháp lệnh: trong một lệnh thường có 3 thành phần chính: Command {Arguments} – Command-lệnh: cho biết hệ thống cần làm gì. – Options-tùy chọn: làm như thế nào. – Arguments-tham số lệnh: nơi lệnh được áp dụng. Đôi khi không cần đến và , điều này phụ thuộc vào từng lệnh. Ví dụ về cú pháp lệnh: Xem lệnh trước: dùng phím UP và DOWN (các lệnh trước được lưu trong ~/.bash_history). Auto Complete: khả năng hoàn chỉnh lệnh hay tên file. Trang 39
  40. Trung tâm TCCN&DN Hệ điều hành Linux ___ Trên dòng lệnh, khi nhập tên lệnh hoặc tên file nhưng chưa đầy đủ bạn có thể ấn phím TAB và shell sẽ tự điền nốt phần tên còn lại. Ví dụ: Giả sử đã có file document. $ cat doc (gõ phím TAB) $ cat document (shell tự điền nốt phần còn lại) Dừng một lệnh đang thực hiện: Ctrl+C, Ctrl+Z Kết thúc phiên làm việc shell: – ^D (Ctrl+D) – exit – Logout Lưu ý: Linux phân biệt ký tự hoa - thường. Wildcard Character-Kí tự đại diện: – *: đại diện cho không hoặc nhiều kí tự bất kì. – ?: đại diện cho một kí tự duy nhất. – [ ] tương ứng một trong các ký tự bên trong ngoặc. – [!/^] không tương ứng với một trong các ký tự bên trong ngoặc. – \ loại bỏ ý nghĩa đặc biệt của các ký tự *,?,). Ví dụ mở rộng ký tự thay thế: – ls a* : liệt kê tất cả các tên bắt đầu bằng “a”. – ls a?.txt : liệt kê tất cả tên dạng a?.txt với ? là ký tự bất kỳ. – ls [aei]* : liệt kê tất cả các tên bắt đầu bằng a, e, hoặc i. – ls [a-d]*[0-9] : liệt kê tất cả tên bắt đầu từ a đến d và kết thúc từ 0 đến 9. – ls [!L-T]* : liệt kê tất cả các tên không bắt đầu từ L đến T. III.2 Các lệnh cơ bản  Tìm trợ giúp về lệnh:  Sử dụng lệnh info để xem các thông tin về lệnh. - $ info command Trang 40
  41. Trung tâm TCCN&DN Hệ điều hành Linux ___ Ví dụ ta muốn xem thông tin của lệnh date, mount tại cửa sổ lệnh ta gõ: - $ info date - $ info mount  Sử dụng lệnh man để xem các hướng dẫn về lệnh. - $ man command - $ man –k keyword  Duyệt các man page: - spacebar: chuyển sang trang kế. - b: chuyển về trang trước. - q: (quit) thoát ra khỏi lệnh. - /keyword tìm trong nội dung man page. Ví dụ: Tra cứu lệnh ls - $ man ls Để thoát khỏi chế độ tra cứu bấm phím q.  Lệnh hiển thị runlevel đang chạy #runlevel Thay đổi runlevel #init  Shutdown và reboot lại hệ thống  Lịch sử lệnh Trang 41
  42. Trung tâm TCCN&DN Hệ điều hành Linux ___ – BASH có thể lưu trữ một số lượng lớn các câu lệnh đã được thực hiện gần nhất. – Các lệnh này được đánh số từ 1 tới tối đa là 500. – Để hiển thị danh sách lệnh đó, ta dùng lệnh history. – Nếu muốn dùng lại một lệnh trong danh sách, có thể gõ số hiệu của lệnh đó ngay sau dấu !. Ví dụ: $ !25  alias: Đặt bí danh cho câu lệnh – Đôi khi một lệnh dài hoặc khó nhớ lại cần được dùng thường xuyên, trong trường hợp này bạn có thể đặt bí danh cho lệnh đó thông qua lệnh alias. – Lệnh alias không làm thay đổi tên lệnh mà chỉ đặt một tên khác cho lệnh. Có thể dùng alias để đặt bí danh cho một lệnh có kèm tùy chọn của câu lệnh đó. $ alias ‘list=ls’ $ list mydata today – Để xem tất cả các bí danh lệnh hiện có, gõ lệnh alias không có đối số  pwd: Cho biết thư mục đang làm việc Ví dụ: - [student]$ pwd - /home/student  Lệnh xem và thiết lập ngày giờ Xem ngày giờ: date [tùy chọn] [+định dạng] Thiết lập thời gian: date [tùy chọn] [MMDDhhmm[[CC]YY][.ss]] Tùy chọn như sau: Trang 42
  43. Trung tâm TCCN&DN Hệ điều hành Linux ___ -d, date = xâu-văn-bản: hiển thị thời gian dưới dạng xâu-văn-bản, mà không lấy thời gian hiện tại của hệ thống, xâu văn bản được đặt trong 2 dấu nháy kép hoặc nháy đơn. Ví dụ: hiển thị chuỗi ‘20/10/2006’ dưới dạng thời gian như sau #date –d ‘20/10/2006’ Fri Aug 10 00:00:00 EDT 2007 -f, file = Tên-File: giống như tham số -d nhưng sẽ hiển thị nhiều thời gian, ứng với mỗi dòng trong file được xem như một xâu văn bản. Ví dụ: giả sử file stringdate có nội dung như sau: 10/10/2006 20/4/2007 Dùng lệnh sau để kiểm tra kết quả: #date –f ‘stringdate’ -r, reference= tập-tin: Hiển thị thời gian sửa đổi tập-tin gần nhất. Ví dụ: xem thời gian sửa đổi tập tin stringdate: #date –r ‘stringdate’ -s, set=xâu-văn-bản: thiết lập lại thời gian theo kiểu xâu văn bản. Ví dụ: thiết lập thời gian của hệ thống là ‘09:00:00 1/1/2007’ - #date –s ‘9:00:00 1/1/2007’ - Mon Jan 1 9:00:00 EST 2007  Lệnh cal cho phép xem lịch trên hệ thống cal [tùy-chọn] [ ] [ ] Nếu không có tham số, hiển thị lịch của tháng hiện tại. Tùy-chọn: - m: chọn ngày Thứ 2 là ngày đầu tiên trong tuần (mặc định là ngày Chủ nhật). - j: hiển thị ngày trong tháng dưới dạng số ngày trong năm. - y: hiển thị lịch của năm hiện thời. Trang 43
  44. Trung tâm TCCN&DN Hệ điều hành Linux ___  Điều hướng dòng ra chuẩn STDOUT: > Bằng cách dùng toán tử >>, dữ liệu từ STDOUT sẽ được ghi thêm vào cuối file điều hướng thay vì ghi đè lên nó. Ví dụ: $ls > ketqua Kết quả của lệnh ls được ghi đè lên nội dung file ketqua $ date >> ketqua Kết quả của lệnh ls được ghi thêm vào file ketqua  Piping - Cú pháp: - Sử dụng ký tự ‘|’. - Kết quả của command1 là đầu vào của command2. Ví dụ: - ls –l|tail -3 Hiển thị 3 dòng cuối kết quả do lệnh ls –l trả về. - ls|head -2 Hiển thị 2 dòng đầu của kết quả do lệnh ls trả về. Ví dụ: kết quả của lệnh “ls –l” là đầu vào cho lệnh “grep samba” III.3 Câu hỏi và bài tập Câu 1: - Hãy cho 10 ví dụ về câu lệnh trong Linux. - Với mỗi câu lệnh hãy chỉ rõ từng thành phần trong cú pháp của một câu lệnh mà bạn đã được học. - Cho biết các câu lệnh đó dùng để làm gì? Câu 2: Trang 44
  45. Trung tâm TCCN&DN Hệ điều hành Linux ___ - Mở cửa sổ gõ lệnh (terminal window) và dùng lệnh để xem thông tin về các lệnh sau: ls, echo, whoami, cat, sort. - Sau khi xem thông tin hãy cho biết các lệnh trên được dùng để làm gì? Câu 3: Ở chế độ dòng lệnh bạn hãy cho biết thư mục bạn đang làm việc? Lịch sử các lệnh đã sử dụng và thử gọi lại 1 lệnh trước đó đã dùng. Câu 4: Dùng lệnh để xem ngày giờ của hệ thống. So sánh với ngày giờ hiện tại, nếu thấy sai hãy viết lệnh thiết lập lại ngày giờ cho đúng. Câu 5: Hãy viết các câu lệnh để: - Xem lịch của tháng 12/2010. - Xem lịch của năm hiện thời rồi lưu kết quả vào file lich2008. - Ghi tiếp vào nội dung của file lich2008 kết quả của câu lệnh echo “Bao gio thi duoc nghi tet?”. Câu 6: - Bạn thấy việc học cách sử dụng chế độ dòng lệnh để giao tiếp với hệ thống có cần thiết không khi các phiên bản hiện nay của hệ điều hành Linux đã có tiện ích đồ họa? Giải thích vì sao? Câu 7: - Hãy so sánh cơ chế dòng lệnh của hệ điều hành Linux và hệ điều hành MS- DOS. Trang 45
  46. Trung tâm TCCN&DN Hệ điều hành Linux ___ CHƯƠNG IV: QUẢN LÝ THIẾT BỊ VÀ HỆ THỐNG TẬP TIN/THƯ MỤC IV.1 Quản lý thiết bị IV.1.1 Quy tắc quản lý thiết bị Linux xây dựng cơ chế truy xuất đến tất cả các loại đĩa và thiết bị đều ở dạng tập tin (tập tin thiết bị) và lưu trong thư mục /dev. Linux quy ước đặt tên như sau: - Ổ đĩa mềm: fd - Ổ đĩa cứng vật lý thứ nhất: hda - Ổ đĩa cứng vật lý tứ hai: hdb - Nếu đĩa cứng theo tiêu chuẩn SCSI thì gọi là: sda, sdb, Các thiết bị USB, Linux xem như là thiết bị SCSI (ví dụ nếu máy có một đĩa cứng SCSI thì USB sẽ là sdb1). Các phân vùng (partitions) được đánh số sau tên đĩa. Ví dụ: hda1, hda2, sda1, sdb1 (ổ A), fd1 (ổ B) Các phân vùng chính (primary) hoặc phân vùng mở rộng (extended) được đánh từ 1 -> 4. Các phân vùng logic (nằm trong phân vùng mở rộng) đánh số từ 5 trở đi. Ví dụ phân vùng đĩa cứng IDE: Giải thích: - hda1: phân vùng chính. Trang 46
  47. Trung tâm TCCN&DN Hệ điều hành Linux ___ - hda2: phân vùng mở rộng. - hda5: phân vùng lôgic. - hda6: phân vùng lôgic. Chú ý: nếu khi cài đặt Linux mà trước đó đã cài Window, thì Linux sẽ tự động cài đặt vào các phân vùng mở rộng. IV.1.2 Cách truy xuất đĩa Cũng tương tự như Window, trong Linux cũng có khái niệm đường dẫn (path). Tuy nhiên, có 2 điểm cần lưu ý: - Thứ nhất, sử dụng ký tự sổ trái (/) làm ký tự phân cách thư mục và tập tin. - Thứ hai, không sử dụng ký tự ổ đĩa, mà dùng ký tự / ở đầu đường dẫn (thư mục gốc). Ví dụ: - /usr/local/dev - /dev/hda Khi khởi động hệ điều hành, Linux chỉ kết gắn cho phân vùng chính (nơi chứa nhân Linux) bằng ký tự “/” (thư mục gốc). Các thông tin của phân vùng khác được Linux đặt trong thư mục /dev của phân vùng chính. Như vậy mặc dù tất cả các file trong Linux đều được đặt trong cùng một cây thư mục, song chúng có thể được lưu trữ trên các bộ nhớ ngoài khác nhau như đĩa cứng hay CD-ROM. Mỗi thiết bị nhớ cũng có thể có hệ thống file (file system) khác nhau như FAT, NTFS, ext2, Để gắn một hệ thống file trên thiết bị lưu trữ vào cây thư mục chính ta dùng lệnh mount. IV.1.3 Các lệnh quản lý thiết bị ngoại vi  Lệnh mount: Ghép nối thiết bị vào cây thư mục Chú ý là thao tác mount chỉ thực hiện được nếu bạn là người dùng có quyền cao nhất (root). Trang 47
  48. Trung tâm TCCN&DN Hệ điều hành Linux ___ Cú pháp của lệnh mount như sau: #mount thiết_bị_cần_mount điểm_nối_vào_hệ_thống_file Ví dụ 1: Mount và sử dụng đĩa mềm: # mount /dev/fd0 /mnt/floppy Trong lệnh trên, hệ thống sẽ kết nối đĩa mềm fd0 vào cây thư mục tại điểm nối là /mnt/floppy. Từ đó bạn có thể vào /mnt/floppy để truy nhập nội dung ổ đĩa A. Ví dụ 2: Mount và sử dụng ổ CD: # mount /dev/cdrom /mnt/cdrom Ví dụ 3: Mount và sử dụng USB: # mount /dev/sdb1 /mnt/usb  Lệnh umount: Gỡ bỏ kết nối Để gỡ bỏ kết nối với một hệ thống file, ta dùng lệnh umount như sau: # umount thiết_bị_đã_mount điểm_nối_vào_hệ_thống_file Ví dụ: Gỡ kết nối với đĩa mềm # umount /dev/fd0 /mnt/floppy Tất cả các hệ thống file cần phải được mount trước khi truy nhập và phải được umount khi đóng hệ thống. Tuy nhiên Linux sẽ tự động mount một số thiết bị cho bạn khi khởi động và các thiết bị này cũng sẽ tự động được umount khi đóng hệ thống.  Lệnh du: xem dụng lượng đĩa đã dùng: du tênthưmục-Hoặc-têntậptin Ví dụ: để xem thông tin về dung lượng đĩa đã dùng trong thư mục ‘laptrinhc_linux’ ta gõ lệnh: #du laptrinhc_linux Các tùy-chọn: -a: liệt kê kích thước của tất cả các tập tin, thư mục trong thư mục cần coi. -b, bytes: hiển thị kích thước theo byte. Trang 48
  49. Trung tâm TCCN&DN Hệ điều hành Linux ___ -c, total: hiển thị cả tổng dung lượng được sử dụng trong hệ thống tập tin. -h, human-readable: hiển thị kích thước các tập tin kèm theo đơn vị tính (ví dụ: 1K, 234M, 2G ). -k, kilobytes: hiển thị kích thước tính theo kilobytes. -m, megabytes: tính kích thước theo megabytes. -s: đưa ra kích thước của hệ thống tập tin/thư mục mà không hiển thị kích thước của thư mục con.  Lệnh df: kiểm tra dung lượng đĩa trống df tênthưmục-Hoặc-têntậptin Ví dụ: # df /mnt/floppy Filesystem 1k-blocks Used Available Use% Mounted on /dev/fd0 1423 249 1174 18% /mnt/floppy IV.2 Hệ thống tập tin/ thư mục IV.2.1 Cấu trúc hệ thống tập tin/ thư mục Hệ thống tập tin dùng để lưu trữ các tập tin theo một cấu trúc có tổ chức. Hệ thống tập tin/thư mục được tạo trên phân vùng của Linux. Linux hỗ trợ nhiều files system: ext2, ext3, vfat, NTFS, Trong mỗi file system, việc ánh xạ từ tên qua các khối dữ liệu được thực hiện thông qua cấu trúc gọi là i-node. Cấu trúc thư mục ánh xạ tên và số i-node. Các phần tử của thư mục có dạng: Mỗi i-node mô tả một file. Mỗi i-node chứa một danh sách các khối (block) của tập tin mà nó mô tả. Trang 49
  50. Trung tâm TCCN&DN Hệ điều hành Linux ___ i-node không chứa tên tập tin. Tên tập tin ở trong cấu trúc thư mục (directory structure). Người sử dụng khi truy xuất các tập tin trong Linux bị kiểm soát bởi “quyền truy cập” (trường permission trong i-node). Linux có 4 kiểu file cơ bản: - File thông thường (program, text, library, ). - Thư mục (container). - File đặc biệt (device, socket, pipe, ). - Liên kết symbolic links (symlinks). Trong Linux một thư mục là một tập tin chứa danh sách của tất cả các tập tin và thư mục con của thư mục đó). Quy ước đặt tên file: - Tối đa 225 ký tự. - Có thể sử dụng bất kỳ ký tự nào (kể cả các ký tự đặc biệt). "very ? long - file + name.test" - File/thư mục ẩn được bắt đầu bằng một dấu chấm “.”. .bash_history .bash_profile .bashrc .desktop/ .kde/ .mozilla/ Cấu trúc cây thư mục: Trong Linux không có khái niệm ổ đĩa. Sau quá trình khởi động, toàn bộ các thư mục và tập tin được kết gắn và tạo thành một hệ thống tập tin thống nhất, bắt đầu từ gốc “/”. Trang 50
  51. Trung tâm TCCN&DN Hệ điều hành Linux ___ Các thư mục hệ thống:  Thư mục /home: thư mục dữ liệu người dùng. - Trong thư mục này có các thư mục con dành cho từng người dùng. - Mỗi người dùng được phép tạo, cập nhật, xoá dữ liệu trong thư mục của mình. - Khi bạn đăng nhập vào hệ thống thì bạn sẽ được đặt vào thư mục của bạn, thư mục này có tên chính là tên người dùng mà bạn đăng nhập.  Thư mục /bin: các lệnh cơ bản. - Chứa các lệnh và các chương trình tiện ích chuẩn, chẳng hạn như ls, cat  Thư mục /usr: ứng dụng và thư viện. Chứa các file và lệnh chuẩn sử dụng bởi hệ thống. Nó được chia thành nhiều thư mục con: - /usr/bin: chứa các lệnh và tiện ích hướng người dùng. - /usr/sbin: chứa các lệnh quản trị hệ thống. - /usr/lib: chứa các thư viện dành cho lập trình. Trang 51
  52. Trung tâm TCCN&DN Hệ điều hành Linux ___ - /usr/doc: chứa tài liệu Linux. - /usr/man: chứa các file tra cứu lệnh. - /usr/spool: chứa các file được sinh ra bởi lệnh in hoặc truyền tin qua mạng.  Thư mục /sbin: các lệnh quản trị - Chứa các lệnh quản trị dùng khi khởi động hệ thống.  Thư mục /var: dữ liệu biến động - Chứa nhiều file khác nhau, chẳng hạn như các file thư (mailbox).  Thư mục /dev: khai báo thiết bị - Chứa các giao diện cho thiết bị như terminal hay máy in.  Thư mục /etc: cấu hình hệ thống và ứng dụng - Chứa các file cấu hình hệ thống và các file hệ thống khác.  Thư mục /boot: kernel và cấu hình boot.  Thư mục /lib: thư viện dùng chung (shared lib).  Thư mục /mnt: thư mục để mount floppy, cdrom,  Thư mục /proc: thông tin process (pseudo-filesystem).  Thư mục /tmp: dữ liệu tạm. IV.2.2 Một số lệnh thao tác trên tập tin/ thư mục Đường dẫn (path) là một dãy kí tự để xác định vị trí của tập tin hoặc thư mục. Khi đăng nhập vào hệ thống Linux, mặc định được đặt trong thư mục có tên là tên tài khoản truy nhập của bạn (thư mục đăng nhập) nằm trong thư mục /home. Để biết đường dẫn tới thư mục hiện thời, ta dùng lệnh pwd. Đường dẫn tuyệt đối (Absolute Path Name): chỉ rõ file và thư mục trong mối liên hệ với toàn bộ cây thư mục. Đường dẫn tuyệt đối luôn luôn bắt đầu với thư mục gốc (/). Ví dụ: # pwd /home/cv_user Trang 52
  53. Trung tâm TCCN&DN Hệ điều hành Linux ___ # cd /etc/rc1.d  Absolute Path # pwd /etc/rc1.d Đường dẫn tương đối (Relative path name): mô tả vị trí của file và thư mục trong mối liên hệ với thư mục hiện tại. Đường dẫn tương đối không bao giờ bắt đầu với dấu “/”. Ví dụ: # pwd /home/lpiuser # cd /etc # pwd /etc # cd rc1.d  Relative path Một số đường dẫn đặc biệt: . Thư mục hiện tại Thư mục cha thư mục hiện tại ~ Thư mục chủ của người dùng (home directory) ~- Đường dẫn đầy đủ của thư mục làm việc trước ~logname Thư mục chủ của người dùng có tên là logname  Lệnh mkdir: tạo thư mục. Đối số của lệnh là tên thư mục cần tạo. Ví dụ: - Tạo thư mục hoctap trong thư mục quynh của thư mục home nằm trong thư mục gốc. $ mkdir /home/quynh/hoctap/ - Tạo thư mục week1 trong thư mục đăng nhập. $ mkdir ~/week1/ - Tạo thư mục week2 trong thư mục hiện thời. Trang 53
  54. Trung tâm TCCN&DN Hệ điều hành Linux ___ $ mkdir week2 Tùy chọn: -p tạo thư mục cha nếu chưa tồn tại. Ví dụ: $ mkdir –p /home/sinhvien/thuchanh/  Lệnh ls: hiển thị nội dung thư mục Lệnh ls dùng để hiển thị các file và thư mục con trong một thư mục nào đó. Để có sự phân biệt giữa file và thư mục, ta dùng tùy chọn -F, khi đó những file là kiểu thư mục sẽ có thêm dấu / ở ngay sau tên đó $ ls –F. Có nhiều tuỳ chọn với ls để xem các thông tin khác nhau: -a: hiển thị tất cả các file kể cả file ẩn (file hệ thống). -l: hiển thị tất cả thông tin về file. -i: hiển thị chỉ số inode của file. Ví dụ: $ ls -l datafile Kết quả của lệnh trên như sau: - r w - r - - r - -1 tinhoc 248 Jun 2 9:30 datafile  Lệnh cd: chuyển thư mục Lệnh cd cho phép thay đổi thư mục làm việc từ thư mục này sang thư mục khác. Đường dẫn có thể là tuyệt đối hoặc tương đối. Ví dụ: $ cd /home/sinhvien/thuchanh/ Sau câu lệnh cd ở trên, thư mục làm việc sẽ chuyển sang thư mục mới là /home/sinhvien/thuchanh. Lưu ý: - cd chuyển đến thư mục home (thư mục của user). - cd ~ chuyển đến thư mục home (thư mục của user). - cd chuyển đến thư mục cha. Trang 54
  55. Trung tâm TCCN&DN Hệ điều hành Linux ___ - cd ~user chuyển đến thư mục home của “user”. - cd path chuyển đến thư mục path.  Sao chép file: lệnh cp Để copy file ta dùng lệnh cp với đối số thứ nhất là file gốc cần copy (file nguồn), đối số thứ hai là file bản sao (file đích). Copy một hoặc nhiều file đến file hoặc thư mục khác. # cp [options] file1 file2 # cp [options] files directory Để tránh việc ghi đè lên tên file đích đã tồn tại, thêm tuỳ chọn –i. Khi đó shell sẽ hỏi để xác nhận sự ghi đè trước khi copy. Ví dụ: $ cp -i newdata datafile Overwrite datafile? n  chuyển file: lệnh mv Lệnh mv dùng giống như cp. Song thay vì tạo ra một bản sao mới, mv sẽ di chuyển hẳn file gốc và do vậy không còn file gốc tại nơi ban đầu. Hoặc ta có thể dùng lệnh mv để đổi tên file. Cú pháp: mv [options] source target Tùy chọn: -f: ép buộc di chuyển nếu đường dẫn đích đã tồn tại. -i: xác nhận trước khi di chuyển. Ví dụ: $ mv week1 tam Câu lệnh trên sẽ đổi tên thư mục week1 thành tam. $ mv rootdate week2 tam Câu lệnh trên di chuyển rootdate và week2 vào thư mục tam.  Xoá file: lệnh rm Trang 55
  56. Trung tâm TCCN&DN Hệ điều hành Linux ___ Lệnh rm cho phép xoá file, đối số của nó là tên các file cần xoá. Cú pháp: rm [options] files Tùy chọn: -i: xác nhận trước khi xóa. -r, -R: xóa đệ qui. -d: xóa thư mục nếu không rỗng. Ví dụ: Xoá file rootdate trong thư mục tam. $ rm tam/rootdate Xoá thư mục moi và toàn bộ nội dung bên trong. $ rm -r moi  Lệnh rmdir: xóa thư mục rỗng. Cú pháp: rmdir [option] directories Tùy chọn: -p: xóa thư mục cha.  Lệnh touch: tạo tập tin không có nội dung. Cú pháp: touch files  Lệnh wc: đếm số dòng, từ, kí tự, của một tập tin Cú pháp: wc [options] files Tùy chọn: -c: đếm số kí tự. -l: đếm số dòng. -w: đếm số từ.  Lệnh cat: Hiển thị toàn bộ nội dung của một file Cú pháp: cat [option] file Ví dụ: Hiển thị nội dung file mydata. Trang 56
  57. Trung tâm TCCN&DN Hệ điều hành Linux ___ $ cat mydata  Lệnh more: Cú pháp: more [option] file Shell cung cấp lệnh more cho phép kiểm soát, giới hạn nội dung hiển thị ra màn hình từng phần một. Xem tiếp hoặc xem lại phần nội dung phía trước một cách dễ dàng. Dùng phím Space bar để xem trang tiếp theo, phím Enter để xem dòng tiếp theo, phím b để xem lại trang trước và phím q để thoát. IV.2.3 Đặt quyền trên tập tin/ thư mục Mỗi một file và thư mục trong Linux đều chứa tập các quyền xác định tài khoản nào có thể truy nhập. Có ba kiểu quyền truy nhập trên file: - Đọc (read - r). - Ghi (write - w). - Thực thi (executable - x). Khi một file được tạo ra thì tự động người tạo có quyền đọc và ghi cho phép xem và sửa file. Có ba kiểu người dùng trên file: - Người sở hữu file (owner - u) là người tạo ra file. - Nhóm người dùng file (group - g) (thường là những người cùng nhóm với người sở hữu). - Những người dùng khác (other - o). Như vậy bạn có thể thiết lập quyền truy nhập file cho từng đối tượng cụ thể. Khi liệt kê chi tiết file bằng lệnh ls –l, ta thấy quyền trên file gồm 9 ký tự như sau: Trang 57
  58. Trung tâm TCCN&DN Hệ điều hành Linux ___ Định danh quyền truy cập: -u user: chủ sở hữu file. -g group: nhóm có user là thành viên. -o others: các user khác trên hệ thống. -a all: tất cả user (u, g và o). Tác vụ trên quyền truy cập: – “+” thêm quyền. – “-” loại bỏ quyền. – “=” gán quyền.  Đặt quyền bằng ký hiệu quyền Với ký hiệu quyền và ký hiệu người dùng ở trên, ta có thể thiết đặt quyền bằng ký hiệu quyền như sau: Cú pháp: $ chmod kiểu_người_dùng+quyền_thêm_vào tên_file $ chmod kiểu_người_dùng-quyền_bớt_đi tên_file Ví dụ: $ chmod u+x filename $ chmod o+r-wx filename  Đặt quyền tuyệt đối bằng mã nhị phân Thay vì dùng ký tự biểu thị quyền, ta có thể thể hiện quyền bằng mã quyền tuyệt đối. Cách đặt quyền tuyệt đối cho phép thay đổi tất cả các quyền cùng một lúc thay vì phải phân quyền cho từng kiểu người dùng. Quyền tuyệt đối dùng mã nhị phân để tham chiếu tới các quyền của tất cả người dùng. Do mỗi kiểu người dùng có 3 quyền lần lượt là r, w và x nên quyền tuyệt đối của một người dùng gồm 3 bit. Có thể thể hiện giá trị này ở hệ cơ số 8 như: Trang 58
  59. Trung tâm TCCN&DN Hệ điều hành Linux ___ 0 -> 000 1-> 001 2-> 010 3-> 011 4-> 100 5-> 101 6-> 110 7-> 111 Với dãy 3 bit ở trên, nếu tại vị trí có giá trị 0 thì quyền tại đó bị hạn chế, nếu có giá trị 1 thì quyền tại đó là được phép. Dãy liên tiếp gồm 9 bit hay 3 số ở hệ bát phân chính là tập quyền phân cho cả ba kiểu người dùng. Ví dụ: $ chmod 544 filename Lệnh thiết lập quyền trên filename như sau: o Người sở hữu quyền read và exec (101 = 5). o Nhóm người dùng quyền read (100 = 4). o Những người khác quyền read (100 = 4). Quyền trên thư mục: Đặt quyền cho thư mục giống như đặt quyền cho file. o Quyền read sẽ cho phép hiển thị nội dung thư mục. o Quyền executable cho phép di chuyển vào thư mục. o Quyền write cho phép tạo hay xoá các file trong thư mục. Khi bạn tạo một thư mục thì người sở hữu có tất cả các quyền trên thư mục đó. Thông thường bạn muốn cho những người dùng khác có thể hiển thị và di chuyển vào thư mục của bạn nhưng không được thay đổi nội dung thư mục, khi đó bạn đặt quyền cho những người dùng đó là read và executable. Lệnh ls -l sẽ hiển thị thông tin về tất cả các file có trong thư mục. Nhưng nếu bạn muốn chỉ hiển thị thông tin về bản thân thư mục thì dùng tùy chọn là -ld. Ví dụ: $ ls -ld thankyou drwxr-x 2 nga tinhoc 512 Feb 10 04:30 thankyou Thay đổi quyền sở hữu file: Lệnh chown cho phép chuyển quyền sở hữu một file sang cho người khác. Trang 59
  60. Trung tâm TCCN&DN Hệ điều hành Linux ___ Ví dụ: Câu lệnh sau chuyển quyền sở hữu file mydata sang cho người dùng tuan $ ls -l mydata -rw-r r 1 nga tinhoc 207 Feb 15 11:53 mydata $ chown tuan mydata $ ls -l mydata -rw-r r 1 tuan tinhoc 207 Feb 15 11:53 mydata IV.2.4 Lưu trữ và nén tập tin/ thư mục Tiện ích tar cho phép tạo ra các lưu trữ cho file và thư mục, dùng để tạo các bản backup dữ liệu. Với tar, ta có thể lưu trữ file, cập nhật lưu trữ và thêm vào các file mới. Thậm chí có thể lưu trữ cả một thư mục và tất cả các thư mục con trong nó vào một file lưu trữ, sau đó bạn có thể lấy lại chúng từ file này. Lệnh tar có nhiều tùy chọn, chẳng hạn c (create), x (extract), u (update) Cú pháp: tar [OPTIONS] [DIRECTORY/FILE] OPTIONS: c: tạo mới một archive. x: trích file từ một archive. z: nén/giải nén archive bằng gzip. j: nén/giải nén archive bằng bzip2. f: sử dụng archive được chỉ định bởi file. Ví dụ: Tạo file lưu trữ tên là myarch.tar cho thư mục mydir. $ tar –cf myarch.tar mydir/ Sau lệnh trên, ta sẽ có file myarch.tar lưu trữ toàn bộ nội dung của mydir. Ví dụ: Lấy lại nội dung lưu trữ trong myarch.tar. $ tar -xf myarch.tar Sau lệnh trên, tất cả nội dung đã lưu trữ trong myarch.tar sẽ được lấy ra. Trang 60
  61. Trung tâm TCCN&DN Hệ điều hành Linux ___ Ví dụ: Đưa thêm letters vào file lưu trữ. $ tar -rf myarch.tar letters Ví dụ: Cập nhật thư mục mydir trong myarch.tar. $ tar -uf myarch.tar mydir Ví dụ: Liệt kê nội dung chứa trong file lưu trữ myarch.tar. $ tar -tf myarch.tar Nếu muốn nén file trước khi đưa vào lưu trữ, ta đưa thêm tùy chọn z. Ví dụ: $ tar -cfz myarch.tar mydir/ Bạn cũng có thể thêm tùy chọn v để hiển thị quá trình lấy lại dữ liệu từ file lưu trữ. Nén file: gzip Để nén file, ta dùng lệnh gzip. Ví dụ: Nén file mydata. $ gzip mydata $ ls mydata.gz Để giải nén một file nén ta dùng lệnh gunzip. Ví dụ: $ gunzip mydata.gz Để xem nội dung file nén ta dùng lệnh zcat Ví dụ: $ zcat mydata.gz Ta cũng có thể nén một file lưu trữ. Ví dụ: Trang 61
  62. Trung tâm TCCN&DN Hệ điều hành Linux ___ $ gzip myarch.tar $ ls myarch.tar.gz Tuy nhiên bạn cần phân biệt việc nén file lưu trữ bằng gzip và việc nén file trước khi đưa vào lưu trữ dùng tùy chọn z trong lệnh tar. Hai cách này sẽ đưa lại hiệu quả nén khác nhau. IV.3 Câu hỏi và bài tập Câu 1: - Nêu qui tắc đặt tên partition trong Linux. - So sánh với qui tắc đặt tên của hệ điều hành Windows. Câu 2: Thực hiện thao tác mount và sử dụng ổ CD, USB trên hệ thống đã cài hệ điều hành Linux. Câu 3: Trong giao diện dòng lệnh, hãy gõ lệnh để xem dung lượng đã dùng của các thư mục /home, /dev, /lib, /home/tttccn (hoặc thư mục người dùng bạn đang sử dụng), /root, (Sử dụng thêm các tùy chọn trong câu lệnh để có kết quả hiển thị những thông tin mong muốn.) Câu 4: - inode được dùng để làm gì? - Trong cấu trúc của inode có trường nào chứa tên tập tin/thư mục không? - Hãy kể tên các trường trong cấu trúc của 1 inode. Câu 5: Hãy lấy 5 ví dụ về: - Đường dẫn tuyệt đối. - Đường dẫn tương đối. - Thư mục hệ thống. Trang 62
  63. Trung tâm TCCN&DN Hệ điều hành Linux ___ - Tập tin/thư mục ẩn. Câu 6: Đang ở thư mục root, thực hiện tạo các câu lệnh để tạo cây thư mục sau: / DHDT KHOA_CNTT KHOA_DULICH KHOA_KETOAN TT_TCCN_DN K27 ĐTVT XAYDUNG DULICH TINHOC KETOAN K10_DULICH QT_NHAHANG QT_LUUTRU NV_LETAN NV_LUHANH K10_TINHOC DOHOA QTMANG K10_DTVT K10_KETOAN 6.1 Chuyển thư mục làm việc tới /DHDT. Tạo tập tin /DHDT/kq.txt có nội dung là kết quả điều hướng của lệnh ls –l/DHDT. 6.2 Tạo thư mục HOSO trong thư mục TT_TCCN_DN. Trang 63
  64. Trung tâm TCCN&DN Hệ điều hành Linux ___ 6.3 Dùng lệnh cat hoặc vi tạo tập tin ds_lop.txt trong thư mục HOSO ở trên, có nội dung là danh sách lớp (nhập khoảng 10 tên sinh viên). 6.4 Đổi tên tập tin vừa tạo thành dslopk10.txt. 6.5 Chuyển thư mục làm việc đến thư mục HOSO. Thêm nội dung của lệnh date vào cuối tập tin dslopk10.txt. 6.6 Di chuyển tập tin kq.txt vào thư mục K27 và đổi tên thành ds.list. 6.7 Thực hiện xóa 2 thư mục KHOA_CNTT và KHOA_KETOAN. 6.8 Thực hiện di chuyển thư mục DULICH vào thư mục KHOA_DULICH. 6.9 Cho biết số dòng, số từ, số ký tự của file dslopk10.txt. 6.10 Tạo thư mục LUUTRU trong thư mục TT_TCCN_DN. 6.11 Copy 2 file dslopk10.txt và ds.list vào thư mục LUUTRU bằng một lệnh. 6.12 Nối lịch của tháng hiện tại vào tập tin ds.list ở trên. 6.13 Thay đổi quyền cho tập tin dslopk10.txt có quyền như sau rwer r0 . 6.14 Thay đổi quyền sở hữu tập tin dslopk10.txt cho người dùng tttccn. 6.15 Thực hiện nén file dslopk10.txt, nén thư mục DHDT. Câu 7. Đăng nhập bằng người dùng root và thực hiện các công việc sau bằng câu lệnh: 7.1 Tạo thư mục Baitap và chuyển thư mục làm việc tới thư mục này. 7.2 Tạo các tập tin sau trong thư mục mới tạo trên: taptin1.txt là kết quả của lệnh ls –l /dev, taptin2.txt là kết quả của lệnh ls –l /etc, taptin3.txt là kết quả của lệnh cat /etc/passd. 7.3 Nén thư mục Baitap thành tập tin Baitap_bk.tar lưu vào thư mục chủ của root. 7.4 Xem danh sách các tập tin bên trong Baitap_bk.tar. 7.5 Giải nén tập tin này vòa thư mục NOI_DUNG tạo trong /home. Trang 64
  65. Trung tâm TCCN&DN Hệ điều hành Linux ___ 7.6 Copy tập tin Baitap_bk.tar vào thư mục /home và đổi tên thành lab_bk.tar. 7.7 Nén tập tin lab_bk.tar thành dạng .gz. 7.9 Tạo thư mục LUU_TRU1 trong thư mục /home. Copy tập tin lab_bk.tar.gz vào đây. 7.10 Giải nén hai tập tin này thành dạng .tar. 7.12 Dùng lệnh tar để giải nén thành nội dung ban đầu. Trang 65
  66. Trung tâm TCCN&DN Hệ điều hành Linux ___ CHƯƠNG V. QUẢN TRỊ NGƯỜI DÙNG V.1 Thông tin của user Như đã biết, trong hệ điều hành đa người dùng, cần phân biệt những người dùng khác nhau do quyền sở hữu các tài nguyên trong hệ thống, chẳng hạn như, mỗi người dùng có quyền hạn với file, quá trình riêng của họ. Điều này vẫn rất quan trọng thậm chí cả khi máy tính chỉ có một người sử dụng tại một thời điểm. Mọi truy cập hệ thống Linux đều thông qua tài khoản người dùng. Vì thế, mỗi người sử dụng được gắn với tên duy nhất (đã được đăng ký) và tên đó được sử dụng để đăng nhập. Việc đăng nhập sẽ giúp hệ thống biết được bạn là ai và có quyền gì. Tuy nhiên một người dùng thực sự có thể có nhiều tên đăng nhập khác nhau. Tài khoản người dùng có thể hiểu là tất cả các file, các tài nguyên, và các thông tin thuộc về người dùng đó. Mỗi người sử dụng trên hệ thống được mô tả qua các thông tin sau: - username: tên người sử dụng. - password: mật khẩu (nếu có). - uid: số nhận dạng (user identify number). - gid: số của nhóm (group identify number). - comment: chú thích. - Thư mục chủ của tài khoản (home directory). - Shell đăng nhập (chương trình chạy lúc bắt đầu phiên làm việc). - Các thông tin trên được chứa trong tập tin /etc/passwd. Username và UserID Tên người dùng là chuỗi ký tự xác định duy nhất một người dùng, người dùng sử dụng tên này khi đăng nhập cũng như truy xuất tài nguyên, trong Linux tên người dùng có sự phân biệt giữa chữ hoa và thường. Thông thường, tên người dùng thường sử dụng chữ thường. Để dễ dàng trong việc quản lý người dùng, ngoài tên Trang 66
  67. Trung tâm TCCN&DN Hệ điều hành Linux ___ người dùng Linux còn sử dụng khái niệm định danh người dùng (user_ID). Mỗi người dùng có một con số định danh riêng. Linux sử dụng số định danh để kiểm soát hoạt động của người dùng. Theo qui định chung, những người dùng có định danh là 0 là người dùng quản trị (root). Các số định danh từ 1- 99 sử dụng cho các tài khoản hệ thống, định danh của người dùng bình thường sử dụng giá trị bắt đầu từ 100. Mật khẩu người dùng Mỗi người dùng có một mật khẩu riêng để sử dụng tài khoản của mình. Mọi người đều có quyền đổi mật khẩu của chính mình. Người quản trị thì có thể đổi mật khẩu của những người khác. Unix truyền thống lưu các thông tin liên quan tới mật khẩu người dùng trong tập tin /etc/passwd. Tuy nhiên, mọi người dùng đều đọc được tập tin này do một số yêu cầu cho hoạt động bình thường của hệ thống (như chuyển User ID thành tên khi hiển thị trong lệnh ls chẳng hạn) và nhìn chung các người dùng đặt mật khẩu “yếu” do đó hầu hết các phiên bản Unix mới đều lưu mật khẩu (được mã hóa) thực sự trong một tập tin khác /etc/shadow và chỉ có root được quyền đọc tập tin này. Tài khoản root Trong quá trình cài đặt Linux, trình cài đặt sẽ tạo ra một tài khoản đặc biệt với tên là root cho hệ thống. Tài khoản root còn được gọi là tài khoản quản trị hay superuser có quyền không giới hạn. Sử dụng quyền root chúng ta thấy rất thoải mái vì chúng ta có thể làm được các thao tác mà không phải lo lắng gì đết xét quyền truy cập này hay khác. Tuy nhiên, khi hệ thống bị sự cố do một lỗi lầm nào đó, chúng ta mới thấy sự nguy hiểm khi làm việc như root. Lời khuyên là không nên sử dụng tài khoản root để đăng nhập và làm việc với hệ thống và chỉ nên dùng trong những trường hợp thật cần thiết. Không phải tài khoản superuser nào cũng gọi là root, mặc dù nó được tạo mặc định là root khi cài đặt Linux. Superuser có thể có tên bất kỳ nhưng thường được dùng nhất dưới tên root. Tài khoản này được định nghĩa là tài khoản có UserID là 0, các userID được định nghĩa trong file /etc/passwd. Trang 67
  68. Trung tâm TCCN&DN Hệ điều hành Linux ___ Chú ý: - Nếu bạn đang ở User thường thì dấu nhắc tại Shell là $. - Nếu bạn đang ở Super User (root) thì dấu nhắc tại Shell là #. Các tập tin liên quan: /etc/passwd: lưu trữ thông tin của tất cả các user. /etc/shadow: lưu trữ tham số điều khiển truy xuất người dùng, mật khẩu và thông tin thời hạn của mật khẩu. /etc/group: thông tin về nhóm của người dùng. /etc/gshadow: lưu trữ password được mã hóa của nhóm. Tập tin etc/passwd: Tập tin /etc/passwd đóng một vai trò quan trọng với hệ thống Unix/Linux. Mọi người đều có thể đọc được tập tin này nhưng chỉ có root mới có quyền thay đổi nó. Tập tin /etc/passwd được lưu dưới dạng text như đại đa số các tập tin cấu hình khác của Linux. Mỗi dòng trong file này tương ứng với một user. Dòng đầu tiên của tập tin /etc/passwd mô tả thông tin cho user root (chú ý là tất cả những tài khoản có user_ID = 0 đều là root), tiếp theo là các tài khoản khác của hệ thống đây là các tài khoản không có thật và không thể login vào hệ thống), cuối cùng là các tài khoản người dùng thường. Mỗi dòng trong file tương ứng với bảy trường thông tin của một người dùng, và các trường này được ngăn cách nhau bởi dấu ‘:’. Ý nghĩa của các trường thông tin đó lần lượt như sau: Cột 1: tên người sử dụng dùng đăng nhập (thường trên 8 ký tự). Cột 2: mã liên quan đến passwd. Linux lưu mã này trong tập tin /etc/shadow chỉ có root mới có quyền đọc. Cột 3:4: user ID:group ID Cột 5: tên đầy đủ của người sử dụng. Trang 68
  69. Trung tâm TCCN&DN Hệ điều hành Linux ___ Cột 6: thư mục cá nhân, thường là /home/username (ví dụ: /home/smith). Tất cả những file cá nhân, web pages, . sẽ được lưu trữ ở đây. Cột 7: chương trình sẽ chạy đầu tiên sau khi user login (thường là shell, thường được thiết lập “/bin/bash”). Ví dụ: [srv@cap home]$ cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin: mars:x:500:500:Sao hoa :/home/mars:/bin/bash Mỗi user được lưu trong một dòng gồm 7 cột V.2 Các thao tác trên user  Tạo một user mới User sau khi tạo sẽ được lưu trữ thông tin vào file /etc/passwd và file /etc/shadow. Tùy chọn: -u UID: một ID riêng của user mới (mặc định là ID tiếp theo cho user). -g GID: nhóm chính của User (mặc định là ID của nhóm other). -G GID: một số nhóm khác (danh sách của nhóm mà user là thành viên). Trang 69
  70. Trung tâm TCCN&DN Hệ điều hành Linux ___ -c comment: mô tả cho user (mặc định là trắng). -d directory: thư mục home (mặc định /home/username). -m: tạo ra một thư mục home. -s shell: shell login (mặc định là /bin/bash). Ví dụ:  Lệnh thiết lập/thay đổi password: Ví dụ: Thay đổi password cho người dùng blobby.  Lệnh thay đổi một số thuộc tính của user Tùy chọn Ví dụ: Trang 70
  71. Trung tâm TCCN&DN Hệ điều hành Linux ___  Lệnh xóa user đã tạo: Tùy chọn: -r sẽ xóa tất cả các thư mục home của username.  Lệnh su, who Cú pháp lệnh su: su username - Cho phép đăng nhập với tư cách là người dùng khác. Cú pháp lệnh who: who [option] - Cho biết user đang sử dụng. Tùy chọn: -H, heading: hiển thị tiêu đề của các cột trong nội dung lệnh. -m: hiển thị tên máy và tên người dùng với thiết bị vào chuẩn. -q, count: hiển thị tên các người dùng đăng nhập và số người dùng đăng nhập.  Lệnh Chage Cú pháp: Thay đổi số ngày thay đổi password và ngày cuối cùng phải thay đổi password. Trang 71
  72. Trung tâm TCCN&DN Hệ điều hành Linux ___ V.3 Các thao tác trên nhóm Mỗi người dùng trong hệ thống Linux đều thuộc vào một nhóm người dùng cụ thể. Tất cả những người dùng trong cùng một nhóm có thể cùng truy nhập một trình tiện ích, hoặc đều cần truy cập một thiết bị nào đó như máy in chẳng hạn. Một người dùng cùng lúc có thể là thành viên của nhiều nhóm khác nhau, tuy nhiên tại một thời điểm, người dùng chỉ thuộc vào một nhóm cụ thể. Nhóm có thể thiết lập các quyền truy nhập để các thành viên của nhóm đó có thể truy cập thiết bị, file, hệ thống file hoặc toàn bộ máy tính mà những người dùng khác không thuộc nhóm đó không thể truy cập được. Thông tin về nhóm người dùng được lưu trong file /etc/group, file này có cách bố trí tương tự như file /etc/passwd. Mỗi dòng trong file có bốn trường được phân cách bởi dấu ‘:’. Ý nghĩa của các trường theo thứ tự xuất hiện như sau: - Tên nhóm người dùng (groupname) Trang 72
  73. Trung tâm TCCN&DN Hệ điều hành Linux ___ - Mật khẩu nhóm người dùng (passwd – được mã hóa), nếu trường này rỗng, tức là nhóm không yêu cầu mật khẩu. - Chỉ số nhóm người dùng (group id). - Danh sách các người dùng thuộc nhóm đó (users). Ví dụ: Các nhóm mặc định của hệ thống - Mọi hệ Linux đều có một số các nhóm mặc định thuộc hệ điều hành. Các nhóm này thường là bin, mail, root, uucp, sys, - Các nhóm mặc định như: root, wheel, system: thường dùng để cho phép người dùng sử dụng lệnh su để chuyển lên quyền root. - deamon: dùng để chỉ những người làm chủ thư mục spool (mail, squid, lpd, ). - kmem: dùng cho các chương trình truy cập đến kernel, bộ nhớ trực tiếp. - tty: làm chủ tất cả các file đặc biệt dùng làm việc với terminal.  Lệnh tạo nhóm mới Cú pháp lệnh: Tùy chọn: -g gid: số ID của nhóm, có giá trị là một số nguyên dương >500, lớn hơn mọi ID của nhóm khác có trong hệ thống. 0<=ID<500 là số ID được dành cho các nhóm hệ thống. Ví dụ: Trang 73
  74. Trung tâm TCCN&DN Hệ điều hành Linux ___  Lệnh thay đổi nhóm Cú pháp: Tùy chọn: – n NewName: thay đổi tên nhóm thành một tên mới. – g gid: thay đổi số ID của nhóm. Ví dụ:  Lệnh xóa nhóm Cú pháp lệnh: Xóa nhóm người dùng ra khỏi hệ thống. Ví dụ:  Thay đổi Password của nhóm Cú pháp lệnh: Ví dụ: Trang 74
  75. Trung tâm TCCN&DN Hệ điều hành Linux ___  Lệnh tạo và xóa file /etc/gshadow Lệnh tạo file /etc/gshadow Lệnh này sẽ xóa tất cả Password trong file /etc/group và lưu trữ vào file /etc/gshadow. Trường Password trong /etc/group được thay thế bằng ‘x’. Lệnh xóa file /etc/gshadow  Lệnh id và groups Cú pháp của lệnh id: - Liệt kê danh sách id của nhóm. Cú pháp của lệnh groups: - Liệt kê danh sách tên nhóm. Ví dụ: V.4 Câu hỏi và bài tập Câu 1: - Hãy kiểm tra xem hệ thống của bạn có bao nhiêu user, bao nhiêu group? Trang 75
  76. Trung tâm TCCN&DN Hệ điều hành Linux ___ - Những user nào thuộc group nào? - Kể tên các user và group của hệ thống, user và group được của người dùng bình thường? Câu 2: Đăng nhập vào người dùng root và thực hiện các công việc sau: 2.1 Xem nội dung của file /etc/passwd. Nêu ý nghĩa của thông tin được hiển thị? 2.2 Tạo 2 user mới là user1, user2. 2.3 Thiết lập hoặc thay đổi password của user1 là “tttccn”, user2 là “dhdt”. 2.4 Đổi tên đăng nhập của user1 là usermoi. 2.5 Dùng lệnh su để chuyển đổi người dùng sang user2. Xem nội dung của file /etc/shadow. 2.6 Quay về người dùng root. Xóa người dùng user2. 2.7 Xem usermoi thuộc nhóm người dùng nào? 2.8 Xem nội dung của file /etc/group. Nêu ý nghĩa của các thông tin được hiển thị. 2.9 Tạo thêm 2 nhóm: group1, group2. 2.10 Thay đổi tên nhóm group1 thành groupmoi. 2.11 Thay đổi gid của group2 bằng một số mới bất kỳ (>500). 2.12 Liệt kê danh sách các tên nhóm. 2.13 Chuyển usermoi làm thành viên của nhóm groupmoi. Trang 76
  77. Trung tâm TCCN&DN Hệ điều hành Linux ___ CHƯƠNG VI. CÁC DỊCH VỤ VÀ TIỆN ÍCH TRÊN LINUX VI.1 Trình soạn thảo văn bản VI  Giới thiệu trình soạn thảo VI - Có nhiều trình soạn thảo văn bản trong Linux: vi, emacs and xemacs, jed, joe, - Các bản phân phối của Linux và Unix đều có vi. - VI-phát âm “vee eye” là trình soạn thảo văn bản có thể tìm thấy trên hầu hết các phiên bản hệ điều hành Unix. - VI được phát triển đầu tiên ở đại học California và các phiên bản của nó được kèm theo trong hệ điều hành Unix. - VI có thể hơi khó làm quen lúc đầu sử dụng nhưng chứa nhiều đặc tính mạnh mẽ. - Khi soạn thảo với VI dữ liệu được đặt vào buffer và có thể lưu xuống đĩa hoặc bỏ qua.VI dùng rất ít tài nguyên hệ thống. Cú pháp: vi file_name  VI có 3 chế độ:  Chế độ lệnh-Command mode: - Là chế độ mặc định của trình soạn thảo vi. - Trong chế độ này người dùng có thể thực hiệc các lệnh để: o Xóa, sao chép, di chuyển văn bản. o Định vị con trỏ, tìm kiếm và thoát khỏi trình soạn thảo này.  Chế độ soạn thảo-Edit mode: cho phép soạn thảo file văn bản - Để qua chế độ edit sử dụng một trong các lệnh sau: o i: chèn văn bản trước con trỏ. o o: mở một dòng mới dưới con trỏ. o a: nối văn bản sau con trỏ. Trang 77
  78. Trung tâm TCCN&DN Hệ điều hành Linux ___  Last line mode: có các lệnh để soạn thảo văn bản nâng cao. Để chuyển qua chế độ này nhấn dấu ":" ở chế độ command. Chuyển đổi giữa 3 chế độ:  Chèn và nối văn bản:  Di chuyển vị trí con trỏ trong VI: Trang 78
  79. Trung tâm TCCN&DN Hệ điều hành Linux ___  Các lệnh về xóa văn bản: R Ghi đè và thay thế ký tự từ cursor cho đến khi nhấn ESC C Ghi đè và thay thế ký tự từ cursor cho đến cuối dòng X Xoá ký tự tại cursor dw Xoá từ bên phải cursor dd Xoá dòng tại cursor ^ Tới đầu dòng D Xóa từ cursor đến cuối dòng :n, n1 d Xoá từ dòng n đến dòng n1  Các lệnh cắt dán văn bản Yy Copy một dòng P Dán dòng đã copy vào dòng dưới cursor P Dán dòng đã copy vào dòng trên cursor :n co n1 copy từ dòng n tới dòng n và đặt sau dong n1 :n1 m n2 Chuyển từ dòng n1 tới n2  Các lệnh thay đổi văn bản:  Các lệnh tìm kiếm và thay thế văn bản: Trang 79
  80. Trung tâm TCCN&DN Hệ điều hành Linux ___  Các lệnh thoát và lưu văn bản: :w Lưu sự thay đổi :w new_file Lưu trữ tới new_file :wq[!] hoặc :x[!] hoặc :zz Lưu và thoát :q[!] Thoát mà không lưu VI.2 Sử dụng e-mail Thư điện tử hiện nay đang trở thành phương tiện chính để liên lạc trên mạng. Thư điện tử dễ sử dụng, tiện lợi và nhanh chóng. Trong phần này ta sử dụng dịch vụ sendmail của hệ thống Linux. VI.2.1 Gửi thư bằng sendmail Cú pháp: mail $mail user01 root - Tiếp theo, trên màn hình xuất hiện. Subject: - Bạn gõ vào chủ đề bức thư. Nhấn Enter, bắt đầu nhập vào nội dung thư. - Sau khi nhập vào nội dung thư, nhấn CTRL-D để gởi thư đi. - Trên màn hình xuất hiện: CC: Trang 80
  81. Trung tâm TCCN&DN Hệ điều hành Linux ___ - Nhập vào tên những người cùng nhận thư hoặc nhấn Enter để bỏ qua. VI.2.2 Nhận thư - Khi có thư đến, trên màn hình xuất hiện thông báo: You have mail - Để đọc thư, gõ vào lệnh: $mail - Trên màn hình sẽ liệt kê các bức thư theo thứ tự 1, 2, 3, Để đọc nội dung thư nào, gõ vào số thứ tự của bức thư đó. - Dấu & nhắc rằng bạn đang ở chương trình đọc thư. - Để xóa thư đang đọc, tại dấu nhắc bạn gõ: &d - Để thoát chương trình đọc thư, tại dấu nhắc gõ: &q Ví dụ một phiên gởi mail của user12: [user12@linux user12]$ mail user15 root Subject: Chao ban Thuc hanh LINUX Cc: [user12@linux user12]$ VI.2.3 Các thao tác hỗ trợ - Để hủy bỏ thư trước khi gởi, bạn nhấn CTRL-C hai lần. - Đọc nội dung một tập tin trên thư mục hiện hành vào mail: -r filename - Thay đổi chủ đề của thư: ~s - Xem tất cả các thư lưu trong hộp thư: $more mbox VI.3 Tiện ích tạo đĩa mềm boot Ta có thể sử dụng lệnh mkbootdisk để tạo đĩa mềm khởi động hệ thống. Các bước thực hiện như sau: - Đăng nhập vào hệ thống bằng user root. - Xem phiên bản kernel của Linux dùng lệnh ls /lib/modules/ hoặc lệnh uname –r (trong ví dụ này Linux kernel là 2.2.12-20). Trang 81
  82. Trung tâm TCCN&DN Hệ điều hành Linux ___ - Sử dụng lệnh /sbin/mkbootdisk 2.2.12-20 từ dấu nhắc shell. - Đưa đĩa mềm vào ổ đĩa khi được hệ thống yêu cầu (Insert a disk in /dev/fdo. Any information on the disk will be lost). VI.4 Trình tiện ích setup Là trình tiện ích hỗ trợ cài đặt thiết bị, filesystem, thiết lập cấu hình mạng, dịch vụ hệ thống, từ dấu nhắc lệnh ta enter vào lệnh setup, dialog chọn công cụ sẽ được hiển thị. Ta có thể dùng chương trình này để cài đặt cấu hình TCP/IP cho hệ thống, từ giao diện trên ta chọn item Network Configuration -> Run Tool. Sau khi ta chọn Yes để thực hiện quá trình cấu hình thích hợp. Trang 82
  83. Trung tâm TCCN&DN Hệ điều hành Linux ___ Sau đó ta chọn Ok -> Exit. Có thể dùng lệnh /etc/init.d/network restart để cập nhật lại các thông số mạng. VI.5 Trình tiện ích fdisk Là tiện ích cho phép quản lý ổ đĩa cứng như: tạo mới, xem thông tin và xóa các parttion trong hệ thống. Cú pháp lệnh: #fdisk Trong đó có thể là /dev/hda hoặc /dev/sha. Sau đây là một số lệnh fdisk cơ bản: Sau đây là một số bước để tạo mới một parttition với dung lượng 384M Bước thực hiện Giải thích #fdisk /dev/hdb Khởi tạo tiện ích fdisk để thao tác lên Parttition /dev/hdb. Command (m for help): p Liệt kê danh sách các Disk /dev/hdb: 64heads, 63sectors, 621 cylinders partition trong hệ thống. Trang 83
  84. Trung tâm TCCN&DN Hệ điều hành Linux ___ Units = cylinders ò 4032 * 512 bytes Command (m for help):n Tạo mới một primary Command action partition với kích thước e extended 384MB. p primary partition (1-4) p Partition number (1-4):1 First cylinder (1-621, default 1): Using default value 1 Last cylinder or +size or + sizeM or +sizeK (1-621, default 621): +384M Command (m for help): p Xem thông tin partition mới Device Boot Start End Blocks Id System vừa tạo. /dev/hdb1 1 196 395104 83 Linux Lưu ý: Sau khi ta dùng fdisk để tạo một partition mới thì ta phải reboot lại hệ thống và dùng lệnh: mkfs –t ext3 để định dạng lại partition đó trước khi sử dụng. VI.6 Câu hỏi và bài tập Câu 1: 1.1 Dùng lệnh vi tạo ra tập tin vanban.txt. 1.2 Thêm nội dung sau vào văn bản. Dùng các lệnh a, o, i để chèn thêm văn bản và lệnh xóa văn bản X, D, để xóa từ khi đánh sai: Trang 84
  85. Trung tâm TCCN&DN Hệ điều hành Linux ___ 1.3 Dùng lệnh :wq để lưu và thoát. 1.4 Dùng lệnh vi để tạo tập tin noivb.txt có nội dung sau: 1.5 Dùng lệnh vi để mở file vanban.txt, sau đó dùng lệnh :r noivanban.txt để nối nội dung của file noivb.txt vào sau nội dung của vanban.txt. 1.6 Dùng lệnh :set nu để hiển thị thêm số thứ tự ở đầu mỗi dòng. Câu 2: Soạn và gửi thư từ người dùng root tới một người dùng khác trong hệ thống. Câu 3: Nêu mục đích, cách thực hiện các trình tiện tích tạo đĩa mềm boot, tiện ích setup, tiện ích fdisk. Trang 85
  86. Trung tâm TCCN&DN Hệ điều hành Linux ___ TÀI LIỆU THAM KHẢO  Tài liệu chính 1. Tập bài giảng: Hệ điều hành Linux, do GVBM soạn. 2. Sách: Nhập môn Hệ điều hành Linux, NXB KH&KT.  Tài liệu tham khảo Sách: 1. Red Hat Linux 9.0, NXB Thống Kê. 2. Linux toàn tập, NXB Thống Kê. 3. 100 thủ thuật cao cấp với Linux, NXB GTVT. 4. Giáo trình lý thuyết và thực hành Linux, NXB Thống Kê. 5. Linux Junior Level Administration - LPI 101 6. Linux Junior Level Administration - LPI 102 7. Mastering™ Red Hat® Enterprise Linux 3, Michael Jang. Địa chỉ trang web: GIÁO VIÊN HƯỚNG DẪN TRỢ GIẢNG GIÁM ĐỐC TT TCCN&DN Trang 86