Giáo trình Hệ điều hành Linux - Trình độ: Cao đẳng

pdf 103 trang Gia Huy 16/05/2022 3130
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Hệ điều hành Linux - Trình độ: Cao đẳng", để 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:

  • pdfgiao_trinh_he_dieu_hanh_linux_trinh_do_cao_dang.pdf

Nội dung text: Giáo trình Hệ điều hành Linux - Trình độ: Cao đẳng

  1. UỶ BAN NHÂN DÂN TỈNH HẢI PHÒNG TRƯỜNG CĐCN HẢI PHÒNG GIÁO TRÌNH Tên môn học: Hệ điều hành Linux NGHỀ: CÔNG NGHỆ THÔNG TIN (ƯDPM) TRÌNH ĐỘ CAO ĐẲNG HẢI PHÒNG
  2. TUYÊN BỐ BẢN QUYỀN Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể được phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo. Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cấm. LỜI GIỚI THIỆU ”Hệ điều hành Linux” là môn học bắt buộc trong các trường nghề. Tuỳ thuộc vào đối tượng người học và cấp bậc học mà trang bị cho học sinh, sinh viên những kiến thức cơ bản nhất. Để thống nhất chương trình và nội dung giảng dạy trong các nhà trường chúng tôi biên soạn cuốn giáo trình: Hệ điều hành Linux. Giáo trình được biên soạn phù hợp với các nghề trong các trường đào tạo nghề phục vụ theo yêu cầu của thực tế xã hội hiện nay. Tài liệu tham khảo để biên soạn gồm: [1]. Nguyễn Minh Hoàng. Linux – Giáo trình Lý thuyết và Thực hành. Nhà xuất bản Lao động và Xã hội, 2002. [2]. Ellen Siever, Aaron Weber, Stephen Figgins, Robert Love, Arnold Robbins. Linux in a Nutshell. O'Reilly Media, Inc.; 5 edition (July 27, 2005) [3]. Cameron Newham. Learning the bash Shell. O'Reilly Media, Inc.; 3 edition (March 29, 2005) Kết hợp với kiến thức mới có liên quan môn học và những vấn đề thực tế thường gặp trong sản xuất, đời sống để giáo trình có tính thực tế cao, giúp cho người học dễ hiểu, dễ dàng lĩnh hội được kiến thức môn học. Trong quá trình biên soạn giáo trình kinh nghiệm còn hạn chế, chúng tôi rất mong nhận được ý kiến đóng góp của bạn đọc để lần hiệu đính sau được hoàn chỉnh hơn. Tổ bộ môn Kỹ thuật hệ thống và mạng máy tính
  3. Mục lục Chương 1: Giới thiệu hệ thống Linux 7 1. Lịch sử phát triển 7 2. Đặc điểm của Unix, phần mềm nguồn mở 8 3. Hệ điều hành Linux và các bản phân phối 9 Chương 2: Thao tác với hệ thống 23 1. Tiến trình khởi động Linux 23 2. Thủ tục đăng nhập và các lệnh thoát khỏi hệ thống 25 3. Một số lệnh hệ thống 26 CHƯƠNG 3: HỆ THỐNG TỆP 31 1. Tổng quan về hệ thống tệp 31 2. Quyền truy nhập thư mục và tệp 34 3. Thao tác với thư mục 38 CHƯƠNG 4: QUẢN TRỊ TIẾN TRÌNH 40 1. Khái niệm tiến trình 40 2. Các thuộc tính của tiến trình 40 3. Chuyển đổi trạng thái của tiến trình, lệnh ps, lệnh kill, đổi hướng vào ra của tiến trình 42 CHƯƠNG 5. QUẢN TRỊ TÀI KHOẢN NGƯỜI DÙNG 46 1. Quản lý người dùng 46 2. Quản lý nhóm người dùng 47 3. Quyền của người dùng 48 CHƯƠNG 6: TRÌNH TIỆN ÍCH 51 1. Các trình tiện ích soạn thảo văn bản 51 2. Các tiên ích hệ thống (tạo đĩa khởi động, setup, fdisk, mc, ). 53 Chương 7: Lập trình Shell 60 1. Kịch bản và ngôn ngữ kịch bản 60 2. Cơ chế mở rộng lệnh (expansion) 61 3. Các cấu trúc lệnh điều khiển (if, for, while, ), 65 PHẦN THỰC HÀNH 68 THỰC HÀNH: CÀI ĐẶT HỆ ĐIỀU HÀNH LINUX 68 THỰC HÀNH: CÁC THAO TÁC VỚI TẬP TIN (Ca 1) 73 THỰC HÀNH: QUẢN LÝ TIẾN TRÌNH 79 THỰC HÀNH: SỬ DỤNG CÁC TRÌNH TIỆN ÍCH (CA 1) 85 THỰC HÀNH: LẬP TRÌNH SHELL (CA 1) 90
  4. HỆ ĐIỀU HÀNH LINUX I. Vị trí, tính chất của mô đun: - Vị trí: Là mô đun cơ sở chuyên ngành. Môn học cần được bố trí học sau môn Tin đại cương. - Tính chất: Là mô đun trong chương trình đào tạo nghề Công nghệ thông tin. II. Mục tiêu mô đun: - Về kiến thức: Trình bày được các khái niệm cơ bản về hệ điều hành Linux; Trình bày được các điểm khác nhau giữa hệ điều hành Linux và hệ điều hành Windows; Trình bày được các ưu nhược điểm khi sử dụng hệ điều hành Linux. - Về kỹ năng: Cài đặt được hệ điều hành Linux; Cấu hình được các thông số cơ bản của hệ điều hành Linux; Thực hiện được các thao tác trên tập tin; Quản lý được tiến trình và người sử dụng trên hệ điều hành Linux; Lập trình cơ bản bằng ngôn ngữ shell trên Linux. - Về năng lực tự chủ và trách nhiệm: Cẩn thận, tỉ mỉ, tuân thủ nội qui vệ sinh và an toàn phòng thực hành; Tích cực vận dụng các kiến thức đã học về hệ điều hành Linux vào thực tiễn. III. Nội dung mô đun: 1 Nội dung tổng quát và phân bổ thời gian: Số T Nội dung T Chương 1: Giới thiệu hệ thống Linux 1. Lịch sử phát triển 2. Đặc điểm của Unix, phần mềm nguồn mở 1 3. Hệ điều hành Linux và các bản phân phối 4.Cài đặt Linux Thực hành: Cài đặt hệ điều hành Linux Chương 2: Thao tác với hệ thống 1. Tiến trình khởi động Linux 2 2. Thủ tục đăng nhập và các lệnh thoát khỏi hệ thống 3. Một số lệnh hệ thống 4. Thực hành: Sử dụng một số lệnh cơ bản
  5. Chương 3: Hệ thống tệp 1. Tổng quan về hệ thống tệp 2. Quyền truy nhập thư mục và tệp 3 3. Thao tác với thư mục 4. Các lệnh làm việc với tệp 5. Sao lưu và nén dữ liệu Thực hành: Các thao tác với tập tin Chương 4. Quản trị tiến trình 1. Khái niệm tiến trình 2. Các thuộc tính của tiến trình 4 3. Chuyển đổi trạng thái của tiến trình, lệnh ps, lệnh kill, đổi hướng vào ra của tiến trình Thực hành: Quản lý tiến trình Chương 5. Quản trị tài khoản người dùng 1. Quản lý người dùng 5 2. Quản lý nhóm người dùng 3. Quyền của người dùng Thực hành: Quản trị tài khoản người dùng Chương 6: Trình tiện ích 1. Các trình tiện ích soạn thảo văn bản 6 2. Các tiên ích hệ thống (tạo đĩa khởi động, setup, fdisk, mc, ). 3. Các tiên ích mạng (tcpdump, iptraf, lynx, ) Thực hành: Sử dụng các trình tiện ích Chương 7: Lập trình Shell 1. Kịch bản và ngôn ngữ kịch bản 2. Cơ chế mở rộng lệnh (expansion) 7 3. Các cấu trúc lệnh điều khiển (if, for, while, ), 4. Câu lệnh test, expr, Thực hành lập trình shell
  6. Chương 1: Giới thiệu hệ thống Linux Mục tiêu: Kiến thức: - Trình bày được lịch sử phát triển của hệ điều hành Linux; - Trình bày được các bản phân phối của hệ điều hành Linux. Kỹ năng: Cài đặt được hệ điều hành Linux. Thái độ: - Cẩn thận, tỉ mỉ, tuân thủ nội qui vệ sinh và an toàn phòng thực hành; - Tích cực vận dụng kiến thức đã học vào thực tế. Nội dung: 1. Lịch sử phát triển Linux là tên gọi của một hệ điều hành máy tính và cũng là tên hạt nhân của hệ điều hành. Nó có lẽ là một ví dụ nổi tiếng nhất của phần mềm tự do và của việc phát triển mã nguồn mở. Phiên bản Linux đầu tiên do Linus Torvalds viết vào năm 1991, lúc ông còn là một sinh viên của Đại học Helsinki tại Phần Lan. Ông làm việc một cách hăng say trong vòng 3 năm liên tục và cho ra đời phiên bản Linux 1.0 vào năm 1994. Bộ phận chủ yếu này được phát triển và tung ra trên thị trường dưới bản quyền GNU General Public License. Do đó mà bất cứ ai cũng có thể tải và xem mã nguồn của Linux. Một cách chính xác, thuật ngữ "Linux" được sử dụng để chỉ Nhân Linux, nhưng tên này được sử dụng một cách rộng rãi để miêu tả tổng thể một hệ điều hành tương tự Unix (còn được biết đến dưới tên GNU/Linux) được tạo ra bởi việc đóng gói nhân Linux cùng với các thư viện và công cụ GNU, cũng như là các bản phân phối Linux. Thực tế thì đó là tập hợp một số lượng lớn các phần mềm như máy chủ web, các ngôn ngữ lập trình, các hệ quản trị cơ sở dữ liệu, các môi trường desktop như GNOME và KDE, và các ứng dụng thích hợp cho công việc văn phòng như OpenOffice, LibreOffice. Khởi đầu, Linux được phát triển cho dòng vi xử lý 386, hiện tại hệ điều hành này hỗ trợ một số lượng lớn các kiến trúc vi xử lý, và được sử dụng trong nhiều ứng dụng khác nhau từ máy tính cá nhân cho tới các siêu máy tính và các thiết bị nhúng ví dụ như các máy điện thoại di động. Ban đầu, Linux được phát triển và sử dụng bởi những người say mê. Tuy nhiên, hiện nay Linux đã có được sự hỗ trợ bởi các công ty lớn như IBM và Hewlett- Packard, đồng thời nó cũng bắt kịp được các phiên bản Unix độc quyền và thậm chí là một thách thức đối với sự thống trị của Microsoft Windows trong một số lĩnh vực. Sở dĩ Linux đạt được những thành công một cách nhanh chóng là nhờ vào các đặc tính nổi bật so với các hệ thống khác: chi phí phần cứng thấp, tốc độ cao (khi so sánh với các phiên bản Unix độc quyền) và khả năng bảo mật tốt, độ tin cậy cao (khi so sánh với Windows) cũng như là các đặc điểm về giá thành rẻ,
  7. không bị phụ thuộc vào nhà cung cấp. Một đặc tính nổi trội của nó là được phát triển bởi một mô hình phát triển phần mềm nguồn mở hiệu quả. Tuy nhiên, hiện tại số lượng phần cứng được hỗ trợ bởi Linux vẫn còn rất khiêm tốn so với Windows vì các trình điều khiển thiết bị tương thích với Windows nhiều hơn là Linux. Nhưng trong tương lai số lượng phần cứng được hỗ trợ cho Linux sẽ tăng lên. 2. Đặc điểm của Unix, phần mềm nguồn mở Đặc điểm của Unix: Unix hay UNIX là một hệ điều hành máy tính viết vào những năm 1960 và 1970 do một số nhân viên của công ty AT&T Bell Labs bao gồm Ken Thompson, Dennis Ritchie và Douglas McIlroy.[1] Từ góc nhìn người dùng chuyên nghiệp và lập trình viên, hệ thống Unix có đặc điểm là thiết kế theo module, đôi khi còn được gọi là triết lý Unix, nghĩa là hệ điều hành cung cấp một tập hợp các công cụ đơn giản, và mỗi công cụ chỉ thực hiện những chức năng giới hạn và được định nghĩa rõ ràng,[2] với hệ thống file hợp nhất là phương tiện chính để giao tiếp[1] và phần lập trình vỏ và ngôn ngữ lệnh kết hợp các công cụ để thực hiện các chức năng phức tạp. Ngày nay hệ điều hành Unix được phân ra thành nhiều nhánh khác nhau, nhánh của AT&T, nhánh của một số nhà phân phối thương mại và nhánh của những tổ chức phi lợi nhuận. Unix có thể chạy trên nhiều loại máy tính khác nhau, từ những máy tính cá nhân cho đến các máy chủ dịch vụ. Nó là một hệ điều hành đa nhiệm (có thể cùng lúc thực hiện nhiều nhiệm vụ) hỗ trợ một cách lý tưởng đối với các ứng dụng nhiều người dùng. Unix được viết bằng ngôn ngữ lập trình C, một ngôn ngữ rất mạnh và mềm dẻo. Unix hỗ trợ các ứng dụng mạng và hỗ trợ nhiều môi trường lập trình khác nhau. Với hàng trăm lệnh và một số lượng rất lớn các tùy chọn, Unix thực sự là một khó khăn đối với người mới bắt đầu. Với sự phát triển của các shell Unix hệ điều hành này đã trở nên phổ dụng hơn trong lĩnh vực điện toán. Vì Bell Laboratories bị cấm không cho phép tiếp thị Unix vì lệnh chống độc quyền đối với AT&T nên Unix đã được cung cấp miễn phí cho các trường đại học trên toàn Bắc Mỹ từ năm 1976. Năm 1979 Đại học California tại Berkeley đã xây dựng một phiên bản của Unix dùng cho các máy tính VAX. Sau khi đã được ưa thích trong các lĩnh vực công nghệ, AT&T đã giành được quyền tiếp thị đối với Unix và đã cho ra đời System V vào năm 1983. Cho đên nay Unix vẫn được sử dụng rất rộng rãi trong thị trường dành cho máy chủ. Đã có nhiều phiên bản phát triển khác nhau, trong đó có Linux.
  8. Unix là một trong những hệ điều hành 64 bit đầu tiên. Hiện nay Unix được sử dụng bởi nhiều công ty tập đoàn lớn trên thế giới vì mức độ bảo mật của nó tương đối cao. Phần mềm nguồn mở: Phần mềm nguồn mở là phần mềm với mã nguồn được công bố và sử dụng một giấy phép nguồn mở. Giấy phép này cho phép bất cứ ai cũng có thể nghiên cứu, thay đổi và cải tiến phần mềm, và phân phối phần mềm ở dạng chưa thay đổi hoặc đã thay đổi. Năm 1998 một nhóm người chủ trương rằng thuật ngữ phần mềm tự do nên được thay thế bằng phần mềm nguồn mở vì thuật ngữ này ít mơ hồ hơn và dễ sử dụng hơn cho giới doanh nghiệp. Định nghĩa Nguồn mở của Tổ chức Sáng kiến Nguồn mở (Open Source Initiative - OSI) thể hiện một triết lý nguồn mở và xác định ranh giới về việc sử dụng, thay đổi và tái phân phối phần mềm nguồn mở. Giấy phép phần mềmcung cấp cho người dùng các quyền vốn bị cấm bởi bản quyền, gồm các quyền về sử dụng, thay đổi và tái phân phối. Một vài giấy phép phần mềm nguồn mở đã được thẩm định thuộc giới hạn của Định nghĩa Nguồn mở. Ví dụ nổi bật nhất là Giấy phép Công cộng GNU (GPL). Trong khi nguồn mở cho phép công chúng truy cập vào nguồn của một sản phẩm, giấy phép nguồn mở cho phép tác giả điều chỉnh cách truy cập đó. Thuật ngữ "phần mềm nguồn mở" có nghĩa gần tương đương với "mã nguồn mở" nhưng với độ bao hàm cao hơn. Phần mềm nguồn mở thì có hệ quả là mã nguồn mở, nhưng điều ngược lại thì không đúng (ví dụ một phần mềm có mã nguồn mở nhưng giấy phép "đóng" - hệ quả của tình huống này là người dùng được truy cập vào mã nguồn nhưng có thể bị ngăn cấm quyền sao chép, chỉnh sửa, phân phối lại ). Ngày nay có rất nhiều dạng mở (không đóng) bao gồm: phần cứng, phần mềm nguồn mở, tài liệu/ học liệu mở, thiết kế mở Phần mềm nguồn mở ngày nay phát triển với tốc độ khá cao, cho thấy nó có nhiều động lực hơn so với mã đóng. Không nghi ngờ ngày nay sự phát triển lĩnh vực công nghệ thông tin có thể nói tới nguồn mở như cái gì đó năng động nhất. Tốc độ phát triển của nó có thể nói đến từng giờ một. Ở Việt Nam, phần mềm tự do nguồn mở là thuật ngữ được khuyến khích sử dụng, thay thế cho hai thuật ngữ là phần mềm tự do và phần mềm nguồn mở. 3. Hệ điều hành Linux và các bản phân phối Thành phần cấu thành lên một HĐH hoàn chỉnh được mô tả trong hình sau:
  9. Trong cùng là phần cứng máy tính, ba lớp ngoài lần lượt từ bên trong có kernel (hạt nhân), hệ vỏ (shell) và ngoài cùng là lớp ứng dụng (Application Software). Phần nhân đảm nhiệm quản lý tài nguyên phần cứng, cung cấp giao diện cho các phần mềm lớp vỏ (shell) như vi (editor), bash (một loại shell) Sau đó đến lượt mình thì lớp shell sẽ cung cấp tiện ích và giao diện cho các phần mềm mức trên là các phần mềm ứng dụng: Mail, FTP Trên thực tế là mọi thao tác trên Windows quen thuộc đều có thể dịch thành các lệnh, ví dụ như lệnh tạo shortcut (link file) có thể dùng lệnh sau: 1 C:\WINDOWS\EXPLORER.EXE /n,/e,c:\ Như vậy các bạn nên hiểu hệ điều hành Linux là sự kết hợp của hạt nhân linux với các phần mềm GNU. Hiện nay linux được cài đặt trên rất nhiều thiết bị từ máy tính đến máy chủ, điện thoại hay các hệ thống ảo hóa, hệ nhúng Tính mềm dẻo của nó cho phép nó có thể tùy biến để chạy trên rất nhiều phần cứng, nó đã trở thành một nền tảng chứ không đơn thuần là một HĐH nữa. Các bản phân phối linux (distro) phổ biến nhất là Debian, Fedora, Ubuntu, Android Ubuntu Đầu tiên trong danh sách ta phải kể đến phiên bản Ubuntu, một trong những phiên bản hệ điều hành Linux được yêu thích nhất, nó ra đời nhằm phục vụ những người dùng quen với giao diện đồ họa trực quan tương đồng với Windows, giúp người dùng sử dụng và vận hành nó một cách dễ dàng hơn.
  10. Những giao diện của nó mang nhưng nét mới dành cho người dùng, mượt mà và đẹp mắt hơn so với những gì Windows mang lại. Ngoài ra, Ubuntu còn sở hữu các cơ chế cài đặt đơn giản, không bao gồm nhiều các codec độc quyền mặc định, tuy nhiên bạn vẫn có nhiều lựa chọn ở quá trình cài đặt đơn giản bằng cách nhấp chuột vào những bước tương tự như trên Windows, cùng với đó là việc liên tục được nhà phát triển cập nhật, giúp nó có tính bảo mật và hiệu quả hơn. OpenSUSE 13.2 Tiếp theo là một trong những phiên bản dựa trên cấu trúc RPM phổ biến nhất hiện nay, đó là OpenSUSE. Nó được xây dựng trên tiêu chí tất cả trong một, bao gồm trình quản lý thông minh YaST, giúp người dùng quản lý các trình đơn xử lý phần mềm cài đặt, cũng như cấu hình hệ thống và quản trị hệ thống. Do đó nó là một trong những phiên bản thường xuyên được sử dụng trên các máy tính server và KDE.
  11. Ngoài ra, nó còn sở hữu trình cài đặt đơn giản, cùng với các tùy chọn nâng cao, chẳng hạn như việc thiết lập máy in hay cấu hình LDAP một cách dễ dàng, giúp cho người dùng có nhiều giải pháp hơn với nó. Fedora Fedora được biết đến như là một trong những phiên bản Linux lâu đời nhất, khi mà nó được ra mắt lần đầu vào những năm 1990 với sự hợp tác của Red Hat Linux. Các phiên bản Fedora này cung cấp một hệ thống phần mềm hoàn toàn miễn phí và có truyền thống là một hệ điều hành back dành cho Ubuntu. Nó tập trung nhiều vào việc cung cấp giải pháp dành cho những máy trạm và máy database dành cho doanh nghiệp vừa và nhỏ.
  12. Ngoài ra, nó còn sở hữu các công cụ quản lý phầm mềm khá hữu dụng, cùng các trình quản lý Synaptic Package. Cùng với đó, Fedora được xây dựng với 3 phiên bản chính, bao gồm Cloud, Server và Workstation. Linux Mint Mint đang được biến đến như là một trong những phiên bản distro Linux được sử dụng rộng rãi và phổ biến nhất hiện nay. Nó cũng được phát triển dựa trên Ubuntu, cùng với giao diện được thiết kế riêng có tên Unity. Linux Mint cung cấp cho người dùng 2 môi trường làm việc riêng biệt Gnome-based, bao gồm Mate và Cinnamon. Trong đó, Mate cung cấp khả năng làm việc tương đồng với
  13. những chiếc máy tính để bàn đơn thuần. Còn với Cinnamon, nó cung cấp đến khả năng làm việc mạnh mẽ, do đó nó hay được sử dụng dành cho những chiếc máy tính trạm, server hay database. 4.Cài đặt Linux Cài đặt và cấu hình Ubuntu Desktop: Như các bước thiết lập bình thường, chúng ta tạo mới 1 máy ảo trên VMware bằng cách nhấn Ctrl + N hoặc menu File > New Virtual Machine: Chọn chế độ Custom (advance) Next để tiếp tục, tại phần chọn hệ điều hành cài đặt, các bạn trỏ đến file iso của Ubuntu Desktop được tải về máy tính ở bước trên:
  14. Điền một số thông tin để tiếp tục: Lưu ý rằng ở ô User name các bạn phải để tên chữ thường nhé (không được có chữ hoa) và số. Tiếp theo, chọn thư mục lưu trữ file máy ảo của Ubuntu (thay đổi ở dòng Location):
  15. Thiết lập bộ vi xử lý - CPU cho máy ảo, bao gồm số nhân (Processors) và sỗ lõi trên từng nhân (cores per processor). Tùy cấu hình máy thật mà bạn chia sẻ sao cho hợp lý, tất nhiên chia 2 nhân 2 lõi sẽ nhanh hơn so với 1 nhân 1 lõi: Thiết lập chia sẻ RAM, hình mũi tên nhỏ màu xanh lá cây là mức RAM chia sẻ ở mức đề nghị (ở đây là 1GB), màu vàng là tối thiểu (512MB), còn màu xanh nhạt là tối đa (khoảng 6GB):
  16. Cấu hình mạng giữa máy ảo và máy thật (thông thường các bạn cứ chọn NAT nhé): Các thiết lập tiếp theo, các bạn cứ giữ nguyên Default và Next. Tại đây là bước đặt dung lượng ổ cứng cho máy ảo, tùy vào dung lượng còn trống của ổ cứng đặt máy ảo mà chia sẻ sao cho hợp lý:
  17. Lưu file *.vmdk vào cùng thư mục đặt máy ảo ở bước trên: Xem lại tất cả các cấu hình, thiết lập của máy ảo rồi nhấn Finish để bắt đầu cài đặt:
  18. Sau khi bật máy ảo lên, màn hình cài đặt Ubuntu sẽ trông giống như hình dưới: Quá trình này sẽ diễn ra khoảng 10 - 20 phút, vì trong lúc này Ubuntu sẽ tự động tải thêm những gói dữ liệu cần thiết khác để cào đặt:
  19. Trong lúc chờ đợi, các bạn có thể: Ghé thăm trang gamevui để tận hưởng các trò chơi Flash cũng như HTML5 mới nhất. Mua sắm tại siêu thị trực tuyến META.vn Truy cập và ủng hộ Fanpage của Quản Trị Mạng Truy cập bằng tài khoản và mật khẩu chúng ta thiết lập ở bước trên (khi cấu hình máy ảo):
  20. Khác với các phiên bản cũ, sau màn hình khởi động này là Ubuntu đã tự động cài vào hệ thống cho chúng ta (quá trình copy file bên trên diễn ra gần 20 phút). Và đây là thành quả của chúng ta: Về mặt cơ bản, Ubuntu đã có sẵn những ứng dụng cơ bản và cần thiết như:
  21. Trình duyệt Mozilla Firefox Email Client là Thunderbird Bộ ứng dụng văn phòng của Libre Office Game bài Solitaire
  22. Chương 2: Thao tác với hệ thống Kiến thức: - Trình bày được tiến trình khởi động của hệ điều hành Linux; - Trình bày được các lệnh cơ bản của hệ điều hành Linux. Kỹ năng: - Đăng nhập và thoát khỏi hệ thống bằng các lệnh; - Sử dụng các lệnh trên hệ điều hành. Thái độ: - Cẩn thận, tỉ mỉ, tuân thủ nội qui vệ sinh và an toàn phòng thực hành; - Tích cực vận dụng kiến thức đã học vào thực tế. Nội dung: 1. Tiến trình khởi động Linux (1) Power-on: BIOS (một phần mềm được cài đặt sẵn (embedded) vào các chíp PROM, EPROM hay bộ nhớ flash nằm trên bo mạch chủ) là chương trình được chạy đầu tiên khi bạn nhấn nút nguồn hoặc nút reset trên máy tính của mình. BIOS thực hiện một công việc gọi là POST (Power-on Self-test) nhằm kiểm tra thông số và trạng thái của các phần cứng máy tính khác như bộ nhớ, CPU, thiết bị lưu trữ, card mạng Đồng thời, BIOS cũng cho phép bạn thay đổi các thiết lập, cấu hình của nó (tùy từng máy mà bạn nhấn phím F2, Delete, F10, để vào giao diện cài đặt cho BIOS). Nếu quá trình POST kết thúc thành công (tức, các phần cứng ở trạng thái tốt, BIOS không phát hiện ra các trục trặc nào), thì sau đó BIOS sẽ cố gắng tìm kiếm và khởi chạy (boot) một hệ điều hành được chứa trong các thiết bị lưu trữ như ổ cứng, CD/DVD, USB . Thứ tự tìm kiếm có thể được thay đổi bởi người dùng. (2) Master Boot Record (MBR): Sector đầu tiên (được đánh số 0) của một thiết bị lưu trữ dữ liệu được gọi là MBR, thường sector 0 này có kích thước là 512-byte. Sau khi BIOS xác định được thiết bị lưu trữ nào sẽ được ưu tiên để tìm kiếm đầu tiên thì thực chất BIOS sẽ đọc trong MBR của thiết bị này để nạp vào bộ nhớ một chương trình rất nhỏ (dưới 512-byte). Chương trình nhỏ này sẽ định vị và khởi động boot loader – đây là chương trình chịu trách nhiệm cho việc tìm và nạp nhân (kernel) của hệ điều hành. Chú ý, hệ điều hành sẽ được nạp bởi boot loader không nhất thiết phải nằm chung thiết bị lưu trữ với boot loader đó (những năm trước đây có thể bạn đã từng nghe tới đĩa mềm khởi động, thực ra chúng chỉ chứa boot loader mà thôi.) (3) Boot loader: Có 2 bootloader phổ biến trên Linux là GRUB và LILO (tiền thân của GRUB). Cả 2 chương trình này đều có chung mục đích: cho phép bạn lựa chọn một trong các hệ điều hành có trên máy tính để khởi động, sau đó chúng sẽ nạp kernel của hệ điều hành đó vào bộ nhớ và chuyển quyền điều khiển máy tính cho kernel này. GRUB hay LILO đều có thể khởi động cho cả Linux và Windows, nhưng ngược lại các bootloader trên Windows như (NTLDR, BOOTMGR) thì không hỗ trợ
  23. khởi động cho các hệ điều hành Linux. Trong thế giới Linux, các bootloader cũng có thể nạp thêm các ramdisk hoặc các INITRD, lát nữa chúng ta sẽ nói thêm về chúng. (4) Linux kernel được nạp và khởi chạy: bootloader nạp một phiên bản dạng nén của Linux kernel, và ngay lập tức nó tự giải nén và tự cài đặt mình lên đỉnh bộ nhớ hệ thống – nơi mà nó sẽ nằm ở đó cho tới khi bạn tắt máy. (5) Các script trong (các) INITRD được thực thi: Tại bước 3, tôi đã đề cập tới các ram disk nhưng đã không giải thích nó là gì. Giờ thì tôi sẽ giải thích nó. Một vấn đề mà những người viết các bản Linux đa mục đích phải đối mặt là: không thể nào đoán trước được chính xác cấu trúc máy tính của người sẽ sử dụng bản Linux của họ Máy tính của người dùng có những thành phần linh kiện nào? Các INITRD cung cấp một giải pháp: một tập các chương trình nhỏ sẽ được thực thi khi kernel vừa mới được khởi chạy. Các chương trình nhỏ này sẽ dò quét phần cứng của hệ thống và xác định xem kernel cần được hỗ trợ thêm những gì để có thể quản lý được các phần cứng đó. Chương trình INITRD có thể nạp thêm vào kernel các module bổ trợ. Khi chương trình INITRD kết thúc thì quá trình khởi động Linux sẽ tiếp diễn. (6) Chương trình init được thực thi: Khi kernel được khởi chạy xong, nó triệu gọi duy nhất một chương trình tên là init. Tiến trình này có PID (process ID) =1, init là cha của tất cả các tiến trình khác mà có trên hệ thống Linux này. Do tính chất cực kỳ quan trọng này mà init sẽ không bao giờ bị chết (khi sử dụng lệnh kill) và không được phép chết! Sau đó, init sẽ xem trong file /etc/inittab để biết được nó cần làm gì tiếp theo như: dựa vào runlevel mặc định để thực thi các script khởi động (initscript) tương ứng trong thư mục /etc/rc.d. Nhân đây, một trong các vấn đề phổ biến thường xảy ra với một hệ thống Linux mới cài đặt (hoặc mới được cập nhật) là kernel không thể tìm thấy init. Một thông báo khó hiểu được đưa ra là kernel panic – not syncing. Nguyên nhân chủ yếu là sự thiết sót tham số root= khi bạn cấu hình cho bootloader. Kernel cũng có thể “than phiền” với ai đó mà cố gắng để tiêu diệt tiến trình init. (7) Các initscript được thực thi dựa trên runlevel được chọn: Nếu bạn kiểm tra trong file /etc/inittab, bạn sẽ thấy nó bao gồm hầu hết các đặc tả, chỉ dẫn để chạy các chương trình nào đó. Các script có tên bắt đầu bằng ký tự S sẽ được thực thi, bằng cách này, init sẽ khởi động tất cả các hệ thống con (subsystem) hoặc các dịch vụ (deamon) để tạo thành một hệ thống Linux hoạt động hoàn chỉnh. Tại thời điểm này, về cơ bản Linux đã khởi động xong, init cũng hoàn thành vai trò của mình: tạm thời nó sẽ “ngủ” (ở trạng thái chờ đợi) cho tới khi có chương trình nào đó bị chết hoặc cần được khởi động lại. Tất cả các hoạt động của hệ thống bây giờ sẽ được thực hiện bởi các deamon khác nhau. (8) Đăng nhập với giao diện đồ họa: Subsystem cuối cùng được init khởi động lên là X Window (còn có các tên gọi khác là X.Org, Xorg, hay đơn giản là X), đây là một hệ thống cung cấp giao diện
  24. đồ họa người dùng (GUI) của Linux. Một thành phần của X được gọi là XDM đưa ra cho bạn màn hình đăng nhập dạng GUI. Tuy nhiên, do XDM chưa thực sự thân thiện với người dùng nên hiện nay XDM được thay thế bằng GDM (nằm trong gói GNOME), KDM (nằm trong gói KDE) hoặc Entrance (nằm trong gói Enlightenment). (9) Khi bạn hoặc ai đó đăng nhập thành công vào hệ thống: một chương trình shell (có thể là bash, sh, csh ) sẽ được bắt đầu. Tất cả các chương trình mà bạn chạy và mọi thao tác khác mà bạn thực hiện trong suốt phiên làm việc sẽ được thực hiện bởi shell đó hoặc bởi chương trình khác mà được shell khởi động. Khi bạn đăng xuất, shell đó và tất cả các tiến trình con của nó sẽ bị kết thúc. Sau đó init (hoặc XDM/GDM/KDM/Entrance) sẽ “thức tỉnh” và bắt đầu một lời nhắc nhở đăng nhập mới. Toàn bộ quá trình khởi động của máy Linux được minh họa như hình dưới đây 2. Thủ tục đăng nhập và các lệnh thoát khỏi hệ thống Đăng nhập hệ thống: Root[may1/root]# (dấu nhắc hệthống) Các lệnh thoát khỏi hệ thống: •Bấm Ctrl + Alt + Del •Gõ lệnh shutdown shutdown [Tùy chọn] [cảnh báo] -k: Không tắt máy thực sự mà chỉ gửi cảnh báo; -r: Khởi động lại máy sau khi shutdown; -h: Tắt máy thực sự; -f: Khởi động lại nhanh, bỏ qua việc kiểm tra đĩa cứng; -F: Khởi động lại và có kiểm tra đĩa cứng;
  25. -c: Bỏ qua không thực hiện lệnh shutdown. đặt theo 2 cách: dạng tuyệt đối hh:mm, dạng tương đối + , n là số phút. nh báo: là các thông báo trước khi thực hiện lệnh shutdown. •Lệnh halt -w: Không tắt máy thực sự nhưng vẫn ghi các thông tin vào tệp /var/log/wtmp; -d: Không ghi các thông tin vào tệp /var/log/wtmp; -f: Thực hiện tắt máy ngay mà không thực hiện lần lượt việc dừng các dịch vụ trên hệ thống; -i: Thực hiện dừng tất cả các dịch vụ trên hệ thống trước khi tắt máy. Chương 2: Thao tác với hệ thống Mục tiêu: Kiến thức: - Trình bày được tiến trình khởi động của hệ điều hành Linux; - Trình bày được các lệnh cơ bản của hệ điều hành Linux. Kỹ năng: Sử dụng các lệnh trên hệ điều hành. Thái độ: - Cẩn thận, tỉ mỉ, tuân thủ nội qui vệ sinh và an toàn phòng thực hành; - Tích cực vận dụng kiến thức đã học vào thực tế. Nội dung: 3. Một số lệnh hệ thống Hiển thị tiến trình trong hệ thống Linux Một trong những công việc cần thiết khi quản trị hệ thống Linux đó là kiểm soát các tiến trình hiện đang chạy. Khi đã biết được những tiến trình nào đang chạy bạn có thể tắt những tiến trình gây giảm tốc độ của hệ thống. Ngoài ra, thông tin về những tiến trình hệ thống cho chúng ta biết nên tắt nhưng tiến trình làm cho hệ thống vận hành không ổn định. Do đó việc biết được những tiến trình nào đang chạy trên hệ thống rất quan trọng. Linux hỗ trợ nhiều phương pháp kiểm tra tiến trình, một trong số đó là sử dụng lệnh ps. Khi sử dụng lệnh này mọi thông tin về những tiến trình đang chạy sẽ được hiển thị. Bạn chỉ cần nhập cú pháp lệnh sau vào cửa sổ terminal: # ps aux | less Ngoài ra lệnh này có thể sử dụng kết hợp với một số tham số khác như: # ps –A: Kiểm tra mọi tiến trình trong hệ thống. # ps -U root -u root –N: Kiểm tra mọi tiến trình ngoại trừ những tiến trình hệ thống. # ps -u username: Kiểm tra những tiến trình được thực hiện bởi một người dùng nhất định.
  26. Hoặc bạn có thể sử dụng lệnh # top để xem những tiến trình đang chạy trên hệ thống trong thời gian thực. Kiểm tra thông tin Socket và thông tin mạng TCP/UDP Sau khi cấu hình những dịch vụ mạng của hệ thống Linux, bạn cần phải giữ lại tab của các cổng đang thực sự nhận tín hiệu trên giao diện mạng của hệ thống. Điều này rất quan trọng vì hệ thống có thể bị xâm nhập qua các cổng mở. Có một số công cụ quản lý Linux thông báo cho bạn biết thông tin của những cổng mởvà truy cập vào những cổng đang mở trên mạng. Một trong những phương pháp đơn giản và tin cậy nhất đó là sử dụng lệnh ss để kiểm tra thông tin Socket, ngoài ra lệnh này còn có thể hiển thị nhiều thông tin TCP và thông tin trạng thái hơn các công cụ khác. Lệnh ss này cung cấp thông tin về: Mọi Socket TCP. Mọi Socket UDP. Mọi kết nối ssh/ftp/http/https. Mọi tiến trình cục bộ được kết nối tới máy chủ X. Mọi Socket TCP trong trạng thái FIN-WAIT-1. Dưới đây là một số lệnh ss: # ss –s: Hiển thị tổng số Socket. # ss -1: Hiển thị mọi cổng mở. # ss –pl: Kiểm tra tên tiến trình sử dụng Socket mở sử dụng lệnh sau: # ss -lp | grep: Kiểm tra người dùng đang làm việc với Socket mở. # ss -t –a: Hiển thị mọi Socket TCP. # ss -u –a: Hiển thị mọi Socket UDP. Theo dõi Average CPU Load và Disk Activity Nếu là một quản trị viên hệ thống Linux, bạn cần phải biết phương pháp duy trì một sự cân bằng hợp lý trong quá trình tải đầu vào và đầu ra giữa các ổ đĩa vật lý. Bạn có thể thay đổi cấu hình hệ thống để thực hiện tác vụ này. Tuy nhiên có một phương pháp đơn giản hơn rất nhiều đó là sử dụng lệnh isostat để quản lý hệ thống thiết bị tải đầu vào và đầu ra trong Linux bằng cách theo dõi thời gian hoạt động và tốc độ truyền trung bình của những thiết bị này. Lệnh này sẽ thông báo thông tin của CPU (Central Processing Unit), thông tin đầu vào và đầu ra cho những thiết bị, phân vùng và hệ thống file mạng (NFS). Để lấy thông tin thư mục NFS bạn hãy sử dụng lệnh sau: # iostat –n Kiểm tra Memory Map của các tiến trình trong Linux Khi làm việc trong hệ thống Linux có thể bạn cần kiểm tra dung lượng bộ nhớ sử dụng trong hệ thống. Linux tích hợp nhiều lệnh cho phép kiểm tra dung lượng bộ nhớ chiếm dụng. Trong đó có một lệnh đơn giản giúp hiển thị thông tin tổng dung lượng đã chiếm dụng và chưa chiếm dụng của bộ nhớ vật lý và tổng dung lượng bộ nhớ đó là lệnh free. Sau khi chạy lệnh này bạn sẽ thấy tổng dung lượng đã chiếm dụng và chưa chiếm dụng của bộ nhớ vật lý và tổng dung lượng bộ nhớ trong hệ thống. Ngoài ra nó còn hiển thị thông tin bộ nhớ đệm mà các nhân sử dụng. Kiểm tra thời gian vận hành của hệ thống Bạn có muốn biết máy chủ đã vận hành bao lâu? Nếu muốn bạn chỉ cần sử dụng
  27. lênh uptime để kiểm tra thời gian mà hệ thống đã vận hành. Lệnh đơn giản này không chỉ cho bạn biết thời gian hệ thống vận hành mà còn cho biết lượng người dùng đã đăng nhập vào hệ thống trong một khoảng thời gian trước đó. Kiểm tra người dùng đăng nhập Ngoài những công cụ quản lý Linux, bạn có thể sử dụng một lệnh để kiểm tra những người dùng nào đã thực hiên đăng nhập vào hệ thống và những gì họ đã thực hiện. Lệnh này sẽ hiển thị thời gian hiện tại, thời gian hệ thống đã vận hành, lượng người dùng đã đăng nhập. Ngoài ra lệnh này cũng hiển thị lượng tải trung bình trong mỗi 1, 5 và 15 phút. Lệnh này rất hữu dụng với những Admin hệ thống muốn sử dụng thông tin tải trung bình để hoạch định dung lượng. Để kiểm tra ai đã đăng nhập vào hệ thống và những tác vụ họ đã thực hiện bạn chỉ cần chạy lệnh sau: # w username Kiểm soát hành vi hệ thống, phần cứng và thông tin hệ thống trong Linux Với nhiều người dùng Linux, kiểm soát hệ thống là một tác vụ phức tạp. Hầu hết các bản phân phối Linux tích hợp khá nhiều công cụ kiểm soát. Những công cụ kiểm soát này cung cấp các phương pháp có thể được áp dụng để kiểm tra thông tin hành vi hệ thống. Việc kiểm soát hệ thống cho phép người dùng theo dõi nguyên nhân khả năng thực thi của hệ thống bị cản trở. Một trong những tác vụ cần thiết của quá trình kiểm soát hệ thống là tra cứu thông tin về hành vi hệ thống, phần cứng và thông tin bộ nhớ. Có một lệnh đơn giản giúp hiển thị thông tin về tiến trình, bộ nhớ, trang ghi, nhóm IO, lỗi và hành vi CPU đó là lệnh vmstat. Bạn chỉ cần nhập lệnh sau vào cửa sổ terminal: # vmstat 3 Ngoài ra bạn có thể sử dụng lệnh # vmstat –m để kiểm tra thông tin bộ nhớ, và lệnh # vmstat –a để hiển thị thông tin trang nhớ đang hoạt động và không hoạt động. Kiểm tra thông tin phần cứng của hệ thống Linux Với một số người dùng Linux thì việc kiểm tra thông tin phần cứng thật không dễ dàng. Linux là một hệ thống phức tạp nhưng nó lại tích hợp một số công cụ giúp lấy thông tin chi tiết của phần cứng, chẳng hạn chúng ta có thể sử dụng một lệnh khá đơn giản để kiểm tra thông tin đĩa cứng trên hệ thống đó là lệnh hdparm. Lệnh này cung cấp một giao diện dòng lệnh để thực hiện quản lý nhiều loại đĩa cứng được hệ thống phụ điều khiển thiết bị ATA/IDE của Linux hỗ trợ. Nó cung cấp một lệnh giúp hiển thị thông tin xác minh như dung lượng, thông tin chi tiết, trực tiếp từ ổ đĩa. Thông tin này được lưu dưới một định dạng mở rộng mới. Bạn chỉ cần đăng nhập dưới quyền root user và sử dụng lệnh sau: # hdparm -I /dev/sda Hoặc dùng lệnh: $ sudo hdparm -I /dev/sda Khi đó thông tin về đĩa cứng của hệ thống sẽ lập tức hiển thị. Một số lệnh khác : - pwd: đưa ra ngoài màn hình thư mục đang hoạt động (ví dụ: /etc/ssh).
  28. - cd: thay đổi thư mục (ví dụ: cd – ra một cấp thư mục hiện tại; cd vidu – vào thư mục /vidu). - ls: đưa ra danh sách nội dung thư mục. - mkdir: tạo thư mục mới (mkdir tên_thumuc). - touch: tạo file mới (touch ten_file). - rmdir: bỏ một thư mục (rmdir ten_thumuc). - cp: copy file hoặc thư mục (cp file_nguồn file_đích). - mv: di chuyển file hoặc thư mục; cũng được dùng để đặt lại tên file hoặc thư mục (mv vị_trí_cũ vị_trí_mới hoặc mv tên_cũ tên_mới). - rm: loại bỏ file (rm tên_file). Để tìm kiếm file, bạn có thể dùng: - find : dùng cho các tên file. - grep : để tìm nội dung trong file Để xem một file, bạn có thể dùng: - more : hiển thị file theo từng trang. - cat : hiển thị tất cả file. - head : hiển thị các dòng đầu tiên. - tail : hiển thị các dòng cuối cùng (có thể hữu ích trong những trường hợp như khi bạn muốn xem thông tin cuối cùng của một file hệ thống). Để chính sửa file, bạn phải sử dụng trình soạn thảo tích hợp sẵn trên dòng lệnh. Thông thường, đây là vi và được dùng với cú pháp: vi .Để giải nén một lưu trữ (thông thường có đuôi tar.gz), bạn phải dùng lệnh tar với cú pháp tar -xvf . Để in một file, dùng lệnh lpr . Chú ý là bạn phải có một số daemon hoạt động để quản lý máy in. Thông thường đây là các cup (chủ yếu là UNIX Printing System) có thể sử dụng cho tất cả các phân phối chính. Để loại bỏ file khỏi hàng đợi ở máy in (bạn có thể lên danh sách hàng đợi bằng lệnh lpq), sử dụng câu lệnhlprm . Để lắp hoặc gỡ bỏ thiết bị (thêm vào hệ thống file với vai trò như một phương tiện được phép sử dụng), dùng: - mount /dev/cdrom /media/: lắp ổ CD-ROM. - mount /dev/cdrom /media/: gỡ ổ DC-ROM. Các thiết bị này thường được cài và cho phép sử dụng một cách tự động. Nhưng có thể một ngày đẹp trời nào đó bạn lại phải tự mình thực hiện công việc này khi có lỗi xảy ra. Đừng lo lắng! Để tạo một phân vùng (ít sử dụng ) Đầu tiên, tạo một thư mục trong /mnt (mkdir /dev/ổ_đĩa_mới). Sau đó sử dụng lệnh mount (mount /dev/source /dev/ ổ_đĩa_mới), trong đó/dev/source là thiết bị (tức phân vùng) bạn muốn lắp thêm vào hệ thống file. Nếu muốn kết nối tới một host từ xa, sử dụng lệnh ssh. Cú pháp là ssh . Quản lý hệ thống: - ps: hiển thị các chương trình hiện thời đang chạy (rất hữu ích: ps là cái nhìn toàn bộ về tất cả các chương trình). Trong danh sách đưa ra khi thực hiện lệnh ps, bạn sẽ thấy có số PID (Process
  29. identification – nhân dạng tiến trình). Con số này sẽ được hỏi đến khi muốn ngừng một dịch vụ hay ứng dụng, dùng lệnh kill . - top: hoạt động khá giống như Task Manager trong Windows. Nó đưa ra thông tin về tất cả tài nguyên hệ thống, các tiến trình đang chạy, tốc độ load trung bình Lệnh top -d thiết lập khoảng thời gian làm tươi lại hệ thống. Bạn có thể đặt bất kỳ giá trị nào, từ .1 (tức 10 mili giây) tới 100 (tức 100 giây) hoặc thậm chí lớn hơn. - uptime: thể hiện thời gian của hệ thống và tốc độ load trung bình trong khoảng thời gian đó, trước đây là 5 phút và 15 phút. Thông thường tốc độ load trung bình được tính toán theo phần trăm tài nguyên hệ thống (vi xử lý, RAM, ổ cứng vào/ra, tốc độ load mạng) được dùng tại một thời điểm. Nếu tốc độ được tính toán là 0.37, tức có 37% tài nguyên được sử dụng. Giá trị lớn hơn như 2.35 nghĩa là hệ thống phải đợi một số dữ liệu, khi đó nó sẽ tính toán nhanh hơn 235% mà không gặp phải vấn đề gì. Nhưng giữa các phân phối có thể khác nhau một chút. - free: hiển thị thông tin trên bộ nhớ hệ thống. - ifconfig : để xem thông tin chi tiết về các giao diện mạng; thông thường giao diện mạng ethernet có tên là eth(). Bạn có thể cài đặt các thiết lập mạng như địa chỉ IP hoặc bằng cách dùng lệnh này (xem man ifconfig). Nếu có điều gì đó chưa chính xác, bạn có thể stop hoặc start (tức ngừng hoặc khởi_động) giao diện bằng cách dùng lệnh ifconfig up/down. - passwd: cho phép bạn thay đổi mật khẩu (passwd người_dùng_sở_hữu_mật_khẩu hoặc tên người dùng khác nếu bạn đăng nhập hệ thống với vai trò root). - useradd: cho phép bạn thêm người dùng mới (xem man useradd). - rlogin: dùng để điều khiển hoặc thao tác lệnh trên một máy khác - exit : thoát khỏi hệ thống (Bourne-Shell) - logout: thoát khỏi hệ thống C-Shell - id : chỉ danh của người sử dụng - logname: tên người sử dụng login - man : giúp đỡ - newgrp: chuyển người sử dụng sang một nhóm mới - psswd: thay đổi password của người sử dụng - set : xác định các biến môi trường - tty : đặt các thông số terminal - uname: tên của hệ thống (host) - who : cho biết những ai đang thâm nhập hệ thống Dù ở phân phối nào, bạn cũng có thể dùng phím TAB để tự động hoàn chỉnh một lệnh hoặc tên file. Điều này rất hữu ích khi bạn quen với các lệnh. Bạn cũng có thể sử dụng các phím lên, xuống để cuộn xem các lệnh đã nhập. Bạn có thể dùng lệnh đa dòng trên một dòng. Ví dụ như, nếu muốn tạo ba thư mục chỉ trên một dòng, cú pháp có thể là: mkdir thư_mục_1 ; mkdir thư_mục_2 ; mkdir thư_mục_3. Một điều thú vị khác nữa là các lệnh dạng pipe. Bạn có thể xuất một lệnh thông
  30. qua lệnh khác. Ví dụ: man mkdir | tailsẽ đưa ra thông tin các dòng cuối cùng trong trang xem “thủ công” của lệnh mkdir. Nếu lúc nào đó được yêu cầu phải đăng nhập với tài khoản gốc (tức “siêu” admin của hệ thống), bạn có thể đăng nhập tạm thời bằng cách dùng lệnh su. Tham số -1 (su-1) dùng để thay đổi thư mục chủ và cho các lệnh đã hoặc đang dùng. Chú ý là bạn cũng sẽ được nhắc một mật khẩu. Để thoát hay đóng shell, gõ exit hoặc logout. CHƯƠNG 3: HỆ THỐNG TỆP Mục tiêu: Kiến thức: Trình bày được các lý thuyết tổng quan về hệ thống tệp trên hệ điều hành Linux. Kỹ năng: - Phân quyền truy nhập thư mục và tệp; - Thực hiện được các thao tác trên tệp. Thái độ: - Cẩn thận, tỉ mỉ, tuân thủ nội qui vệ sinh và an toàn phòng thực hành; - Tích cực vận dụng kiến thức đã học vào thực tế. Nội dung: 1. Tổng quan về hệ thống tệp Hệ thống tập tin của Linux và Unix được tổ chức theo một hệ thống phân bậc tương tự cấu trúc của một cây phân cấp. Bậc cao nhất của hệ thống tập tin là thư mục gốc, được ký hiệu bằng gạch chéo “/” (root directory). Đối với các hệ điều hành Unix và Linux tất các thiết bị kết nối vào máy tính đều được nhận dạng như các tập tin, kể cả những linh kiện như ổ đĩa cứng, các phân vùng đĩa cứng và các ổ USB. Điều này có nghĩa là tất cả các tập tin và thư mục đều nằm dưới thư mục gốc, ngay cả những tập tin biểu tượng cho các ổ đĩa cứng. Ví dụ, /home/nttvinh/nguyen/scnp.odt chỉ toàn bộ đường dẫn đến tập tin scnp.odt có trong thư mục nttvinh là thư mục phụ nằm trong thư mục home, ngay dưới thư mục gốc(/). Nằm dưới thư mục gốc (/) có một loạt các thư mục quan trọng của hệ thống tập tin được công nhận ở tất cả các bản phân phối Linux khác nhau. Dưới đây là danh sách các thư mục thông thường được nhìn thấy dưới thư mục gốc (/):
  31. / – Root - Mở từng tập tin và thư mục từ thư mục Root. - Chỉ có Root user mới có quyền viết dưới thư mục này. - Lưu ý rằng /root là thư mục gốc của Root user. /bin – User Binaries - Chứa các tập tin thực thi nhị phân (binary executables). - Lệnh Linux phổ biến sử dụng ở chế độ Singer-user mode nằm trong thư mục này. - Tất cả user trên hệ thống nằm tại thư mục này đều có thể sử dụng lệnh. - Ví dụ: ps, ls, ping, grep, cp. /sbin – System Binaries - Cũng giống như /bin, /sbin cũng chứa tập tin thực thi nhị phân (binary executables).
  32. - Lệnh Linux nằm trong thư mục này được sử dụng bởi Admin hệ thống, nhằm mục đích duy trì hệ thống. - Ví dụ: iptables, reboot, fdisk, ifconfig, swapon. /etc – Configuration Files - Chứa cấu hình các tập tin cấu hình của hệ thống, các tập tin lệnh để khởi động các dịch vụ của hệ thống - Ngoài ra /etc còn chứa shell scripts startup và shutdown, sử dụng để chạy/ngừng các chương trình cá nhân. - Ví dụ: /etc/resolv.conf, /etc/logrotate.conf. /dev – Files device - Chứa các tập tin để nhận biết cho các thiết bị của hệ thống (device files). - Bao gồm thiết bị đầu cuối, USB hoặc các thiết bị được gắn trên hệ thống. - Ví dụ: /dev/tty1, /dev/usbmon0 /proc – Process Information - Chưa các thông tin về System Process. - Đây là hệ thống tập tin giả có chứa thông tin về các quá trình đang chạy. chẳng hạn như thư mục /proc/{pid} có chứa thông tin về quá trình đặc biệt của pid. - Đây là một hệ thống tập tin ảo có thông tin về tài nguyên hệ thống. Chẳng hạn như /proc/uptime. /var – Variable Files - Var là viết tắt của variable file, lưu lại tập tin ghi các số liệu biến đổi (variable files). - Nội dung các tập tin được dự kiến sẽ tăng lên tại thư mục này. - Bao gồm: hệ thống tập tin log (/var/log), các gói và các file dữ liệu (/var/lib), email (/var/mail), print queues (/var/spool); lock files (/var/lock); các file tạm thời cần khi reboot (/var/tmp). /tmp – Temporary Files (các tập tin tạm thời) - Thư mục chứa các tập tin tạm thời được tạo bởi hệ thống và user. - Các tập tin tạo thư mục này được xóa khi hệ thống được khởi động lại (reboot). /usr – User Programs - Chứa các ứng dụng, thư viện, tài liệu và mã nguồn các chương trình thứ cấp. - /usr/bin chứa các tập tin của các ứng dụng chính đã được cài đặt cho user. Nếu bạn không tìm thấy user binary tại thư mục /bin, bạn có thể tìm tại thư mục /usr/bin. Ví dụ như at, awk, cc, less, scp. - /usr/sbin có chứa các tập tin ứng dụng cho Admin hệ thống. Nếu không tìm thấy hệ nhị phân tại /sbin, bạn có thể tìm tại /usr/sbin. Chẳng hạn như atd, cron, sshd, useradd, userdel. - /usr/lib chứa thư viện /usr/bin và /usr/sbin. - /usr/local chứa các chương trình user mà bạn cài đặt từ nguồn. Chẳng hạn khi bạn cài đặt apache từ nguồn, apache nằm dưới /usr/local/apache2. /home – thư mục Home - Thư mục chính lưu trữ các tập tin cá nhân của tất cả user. - Ví dụ: /home/john, /home/nikita. /boot – Boot Loader Files - Chứa các tập tin cấu hình cho quá trình khởi động hệ thống.
  33. - Các file Kernel initrd, vmlinux, grub nằm trong /boot. - Ví dụ: nitrd.img-2.6.32-24-generic, vmlinuz-2.6.32-24-generic. /lib – System Libraries - Chứa các file thư viện hỗ trợ các thư mục nằm dưới /bin và /sbin. - Tên file thư viện có thể là ld* hoặc lib*.so.*. - Ví dụ: ld-2.11.1.so, libncurses.so.5.7. /opt – Optional add-on Applications - Opt là viết tắt của Optional (tùy chọn). - Chứa các ứng dụng add-on từ các nhà cung cấp. - Ứng dụng add-on được cài đặt dưới thư mục /opt/ hoặc thư mục /opt/ sub. /mnt – Mount Directory - Gắn kết các thư mục hệ thống tạm thời (thư mục Temporary) nơi Sysadmins có thể gắn kết các file hệ thống. /media – Removable Media Devices - Gắn kết các thư mục Temporary (thư mục tạm thời) được hệ thống tạo ra khi một thiết bị lưu động (removable media) được cắm vào như đĩa CDs, máy ảnh kỹ thuật số - Ví dụ: /media/cdrom for CD-ROM; /media/floppy for floppy drives; /media/cdrecorder for CD writer. /srv – Service Data - Svr viết tắt của service. - Chứa các service của máy chủ cụ thể liên quan đến dữ liệu. - Ví dụ: /srv/cvs chứa dữ liệu liên quan đến CVS. 2. Quyền truy nhập thư mục và tệp Tất cả các tập tin của một hệ thống tâp tin Linux được gắn các quyền truy cập khác nhau theo từng người dùng của hệ thống, liên quan đến các phép đọc, viết và thực hiện. Người quản trị hệ thống (super user "root") có phép truy cập bất kỳ
  34. tập tin của hệ thống. Mỗi tập tin là sở hữu của một người nhất định và được gắn những hạn chế truy cập tùy theo người dùng và được gắn một nhóm người dùng. Vậy mỗi tập tin được bảo đảm an toàn bởi 3 bộ quyền truy cập được gắn theo 3 nhóm người dùng như sau, theo thứ tự từ cao đến thấp: user (người dùng) những quyền truy cập của nhóm này áp dụng cho người sở hữu tập tin, group (nhóm người dùng) những quyền truy cập của nhóm này áp dụng cho nhóm đã được gắn với tập tin, other (những người khác) những quyền truy cập của nhóm này áp dụng cho tất cả những người còn lại. Mỗi bộ quyền truy cập sẽ xác định cụ thể các quyền truy cập thực tế đối với các tập tin và các thư mục như sau: read (đọc) quyền xem nội dung tập tin hoặc mở tập tin quyền xem nội dung của tập tin thư mục write (ghi, viết) quyền ghi và sửa lại nội dung tập tin hoặc xoá tập tin quyền sửa lại nội dung của tập tin thư mục execute (thực thi) quyền này được gắn với các tập tin lệnh, nhóm người dùng đã nhận được quyền này có thể thực hiện các tập tin lệnh, quyền vào các thư mục. Các quyền trên hệ thống Linux có thể được mô tả qua các số từ 0 đến 7 trong hệ thập phân. Ví dụ một user hay group có quyền R (read), W (write), E (execute) đối với 1 file/folder thì được kí hiệu là 1, ngược lại là 0 nếu không có quyền tương ứng (-). Và với phép chuyển từ số nhị phân sang thập phân chúng ta có bảng giá trị sau: Vậy nếu một user/group có quyền đối với file/folder nào đó thì tương ứng với xác lập 111 ở hệ nhị phân hay 7 trong hệ thập phân, vậy quyền 777 là cho phép RWE đối với tất cả.
  35. Người dùng và nhóm người dùng Muốn bổ sung thêm người dùng, hoặc nhóm người dùng, cho hệ thống, bạn có thể dùng chương trình Users And Groups, trong thực đơn System - > Administration -> Users and Groups. Để bổ sung một người dùng mới, ấn chuột vào Add user, điền các thông tin cần thiết rồi ấn chuột vào nút ghi OK. Để chỉnh lại các thuộc tính của từng người dùng, bạn có thể ấn chuột vào nút ghi Properties có trong cửa sổ chính của Users. Để bổ sung một nhóm người dùng mới, chọn tab Groups tab và ấn chuột vào Add group. Xác định tên của nhóm mới và nếu muốn có thể thay đổi số ấn định cho nhóm (Group ID). Nếu bạn định dùng một số Group ID đã dùng rồi, hệ thống sẽ có thông báo. Để bổ sung người dùng cho nhóm vừa mới được tạo ra, chỉ cần chọn một người dùng từ danh sách bên trái và ấn vào nút ghi Add. Muốn loại trừ một người dùng ra khỏi một nhóm cũng đơn giản bằng việc bổ sung: sau khi đã chọn tên người dùng trong cửa sổ bên phải, ấn chuột vào nút đã ghi. Remove. Khi nào xong, ấn vào nút OK để kết thúc và thực sự tạo ra nhóm người dùng mới, cùng những người dùng thuộc nhóm đó. Muốn sửa lại các thuộc tính của một nhóm người dùng, chọn tên của một nhóm trong cửa sổ Groups và ấn chuột vào nút đã ghi Properties. Để xoá hoàn toàn một người dùng, hoặc một nhóm người dùng, từ hệ thống, chọn tên người dùng hoặc tên nhóm người dùng muốn xoá và ấn chuột vào nút đã ghi Delete. Tương tự hệ thống Windows, khi cài đặt Linux (FC Core) sẽ tạo ra một tài khoản có quyền quản trị hệ thống và có thể dùng để tạo ra các tài khoản khác, đây là tài khoản cao cấp nhất có tên gọi là root. Để cấp quyền truy cập hệ thống chúng ta cần tạo ra các tài khoản người dùng, và mỗi tài khoản người dùng được gán một UID. Các tài khoản có chung thuộc tính sẽ được xếp vào các nhóm như trên hệ thống Windows và mỗi nhóm sẽ có các GID riêng. Trên hệ thống Linux chúng ta có thể xem các User hiện có thông qua nội dung của tập tin /etc/passwd như hình dưới đây:
  36. Trong tập tin passwd này chúng ta thấy có nhiều record với các filed khác nhau như: User Account Name: login name của tài khoản người dùng. Password: login password của tài khoản người dùng. Nếu chỉ thấy kí tự x trong ô này thì mật mã đã được mã hóa và bảo vệ trong tập tin shadow password. User ID: số hiệu của user (UID) Group ID: số hiệu Grioup mà người dùng này là thành viên (GID). Full Name: tên đầy đủ của người dùng. Home Directory: thư mục chủ của người dùng sau khi đăng nhập. Shell: trình diễn dịch lệnh, ví dụ bash. Khi một tài khoản mới được tạo nó sẽ được gán 1 UID, bắt đầu từ 500 trở đi và tăng dần khi các tài khoản mới được tạo ra. Cũng như trên hệ điều hành Windows, sau khi cài đặt một số tài khoản và group mặc định sẽ được tạo như:
  37. Các default user Các default group 3. Thao tác với thư mục LỆNH LINUX MỤC ĐÍCH / MIÊU TẢ umount Ngược với lệnh mount ở trên mkdir Tạo một thư mục, ví dụ: mkdir tenthumuc rmdir Xóa một thư mục (chỉ xóa được file rỗng), muốn xóa thư mục không rỗng, các bạn dùng lệnh sau: rm -rf mv Đổi tên hay di chuyển file hoặc folder rm Xóa file cp Copy một hay nhiều file đến folder mới, ví dụ: cp taptinnguon taptindich
  38. chmod Phân quyền file, folder, cấu trúc: chmod quyen tentaptin ,ví dụ: chown -hR user:user folder/ : Đổi owner cho folder hay file. wget Download file. find Tìm kiếm file, ví dụ: – find /etc -name inittab: tìm file có tên inittab trong /etc – grep chuoi tentaptin: tìm kiếm chuoi trong tập tin tentaptin 4. Các lệnh làm việc với tệp LỆNH LINUX MỤC ĐÍCH / MIÊU TẢ wc Đếm số dòng, số kí tự trong file cat Xem nội dung file more Xem nội dung tập tin theo trang less Xem nội dung tập tin theo dòng vi Khởi động trình soạn thảo văn bản vi tail Xem nội dung tập tin (mặc định xem 10 dòng cuối, muốn xem 100 dòng cuối thì dùng lệnh sau: tail 100 tenfile) head Xem nội dung tập tin (mặc định xem 10 dòng đầu, muốn xem 100 dòng đầu thì dùng lệnh sau: head 100 tenfile) ln existingfile new-link Tạo một đường dẫn tới một tập tin (liên kết cứng) 5. Sao lưu và nén dữ liệu LỆNH LINUX MỤC ĐÍCH / MIÊU TẢ tar -cvf Nén file/thư mục sang định dạng .tar tar -xvf Giải nén file .tar gzip Chuyển file .tar sang .tar.gz gunzip Chuyển file .tar.gz về .tar tar -xzf Giải nén file .tar.gz, ví dụ: tar -xvf archive.tar tar -zxvf Giải nén file .tar.bz2 tar -jxvf Giải nén file .tar.gz2 ln existingfile new-link Tạo một đường dẫn tới một tập tin (liên kết cứng) tar -cvzpf Nén một folder, ví dụ: tar -cvzpf archive.tgz /home/example/public_html/folder tar -tzf backup.tar.gz Liệt kê file nén gz unzip Giải nén file .zip
  39. CHƯƠNG 4: QUẢN TRỊ TIẾN TRÌNH MỤC TIÊU CỦA BÀI Sau khi học xong bài này người học có khả năng Kiến thức: Trình bày được khái niệm, các thuộc tính tiến trình trên hệ điều hành Linux. Kỹ năng: Chuyển đổi trạng thái của tiến trình, lệnh ps, lệnh kill, đổi hướng vào ra của tiến trình. Thái độ: - Cẩn thận, tỉ mỉ, tuân thủ nội qui vệ sinh và an toàn phòng thực hành; - Tích cực vận dụng kiến thức đã học vào thực tế. 1. Khái niệm tiến trình Chương trình (program) là một file thực thi trong hệ thống, ví dụ: /sbin/shutdown . Tiến trình (process) là một chương trình đã được nạp vào bộ nhớ và được cấp CPU để hoạt động . Ta mở nhiều cửa sổ terminal để thử nghiệm các lệnh, mỗi cửa sổ là một tiến trình . Tiến trình đôi khi được gọi là tác vụ (task) . Khi khởi chạy, mỗi tiến trình được cấp một chỉ số PID (process id) duy nhất. Hệ thống dùng PID để quản lý tiến trình Tiến trình cũng có phân quyền sở hữu và truy cập (như với tập tin) . Linux cho phép nhiều tiến trình chạy cùng lúc . Nhân linux có một module riêng lập lịch phân phối CPU cho từng tiến trình để đảm bảo các tiến trình đều được hoạt động hợp lý . Mỗi tiến trình có một chỉ số ưu tiên (priority) tương ứng . Chỉ số ưu tiên càng thấp thì hệ thống càng ưu tiên phân phối nhiều thời gian sử dụng CPU cho tiến trình đó . Có thể chỉnh lại chỉ số ưu tiên này bằng lệnh nice hoặc renice 2. Các thuộc tính của tiến trình
  40. Thuộc tính của tiến trình • Có số nhận dạng (pid) • Có chủ sở hữu uid và nhóm của chủ sở hữu gid • Có tiến trình cha ppid • init là tiến trình được khởi động đầu tiên – Pid = 1 – Là cha ông (tổ tiên) của tất cả các tiến trình khác • Có thư mục làm việc và môi trường làm việc thừa kế từ tiến trình cha Một tiến trình có thể yêu cầu hệ thống khởi chạy một tiến trình khác (ví dụ: trình duyệt có thể tạo một process riêng khi người dùng mở một link) . Khi đó tiến trình được tạo ra gọi là child process . Tiến trình ban đầu được gọi là parent process . Một tiến trình con đang chạy nhưng tiến trình cha của nó đã kết thúc thì được gọi là orphan process . Một tiến trình đã hoàn tất nhưng vì một lý do gì đó vẫn được giữ trong bộ nhớ thì được gọi là zombie process hoặc defunct process Các tiến trình nhận tương tác từ người dùng thì hoạt động ở chế độ mặt trước (foreground) . Các tiến trình không nhận tương tác thì hoạt động ở chế độ nền (background) . Các tiến trình thường chuyển qua chuyển lại giữa hai trạng thái này trong quá trình hoạt động, việc chuyển trạng thái có thể thực hiện do người dùng, do lệnh từ shell hoặc do lập trình . Tiến trình ở chế độ mặt trước thường nhận được nhiều CPU hơn một chút so với chế độ nền Hệ thống linux có một số các tiến trình đặc biệt gọi là các daemon process . Thường cung cấp các chức năng quan trọng của hệ thống, đặc biệt là các dịch vụ mạng . Thường thuộc về quyền root
  41. . Thường không gắn với shell cụ thể nào, không truy xuất vào/ra bàn phím, màn hình . Khi sử dụng câu lệnh liệt kê tiến trình sẽ thấy kí hiệu ? ở trường TTY . Đa số daemon process không chiếm CPU, chúng chỉ hoạt động khi có yêu cầu 3. Chuyển đổi trạng thái của tiến trình, lệnh ps, lệnh kill, đổi hướng vào ra của tiến trình Lệnh liệt kê các tiến trình: Liệt kê các tiến trình: “ps” Cú pháp: ps [options] Một số tùy chọn: . a tất cả proc của các user khác . x các proc không gắn với terminal (daemon) . u user-format . l long-format . w wide output . -U user xem proc của một user cụ thể ps aux ps aux | grep httpd $ ps PID TTY TIME CMD 728 pts/3 00:00:00 bash 1010 pts/3 00:00:00 ps $ ps -auw USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 728 0.0 0.6 3528 1604 pts/3 S 21:08 0:00 /bin/bash root 1161 0.0 0.3 3548 860 pts/3 R 22:29 0:00 ps auw Trạng thái (cột STAT): R Đang thi hành S Đang bị đóng Z Ngừng thi hành W Không đủ bộ nhớ cho tiến trình thi hành Thông tin chi tiết: “top”
  42. . Liên tục hiển thị thông tin về các tiến trình . Cú pháp: top [options] . Một số tùy chọn: -d delay Khoảng thời gian trễ giữa hai lần cập nhật -p [pid] Chỉ theo dõi tiến trình có mã là pid . Một số phím lệnh trong sử dụng trong top: q Thoát khỏi lệnh top space Cập nhật thông tin tiến trình ngay lập tức k Ngừng một tiến trình f Lựa chọn thông tin tiến trình Thông tin chi tiết: “top” . Đây là công cụ mà quản trị hệ thống linux nào cũng cần biết và sử dụng thành thạo . Cung cấp thông tin về tiến trình, có thể thực hiện luôn các thao tác với tiến trình (ví dụ: kết thúc tiến trình, thay đổi mức độ ưu tiên, ) . Cung cấp các chỉ số quan trọng của hệ thống: . Thời gian hiện tại, thời gian từ lần khởi động mới nhất
  43. . Mức độ tải CPU trung bình trong 1, 5, 15 phút gần đây . Mức độ chiếm dụng CPU hiện tại . Các chỉ số quan trọng của từng tiến trình Ngừng tiến trình: “kill” . Cú pháp: kill [-s signal] pid kill -l [signal] . Một số signal: 1)SIGHUP 2)SIGINT 3)SIGQUIT 4)SIGILL 5)SIGTRAP 6)SIGABRT 7)SIGBUS 8)SIGFPE 9)SIGKILL 10)SIGUSR1 11)SIGSEGV 12)SIGUSR2 13)SIGPIPE 14)SIGALRM 15)SIGTERM 16)SIGSTKFLT 17)SIGCHLD 18)SIGCONT 19)SIGSTOP 20)SIGTSTP 21)SIGTTIN
  44. Ngừng tiến trình với tên: “killall” . Cú pháp: killall [-s signal] name . Quyền hủy tiến trình (cả kill và killall) thuộc về người sở hữu tiến trình hoặc quyền root . Lệnh killall kết thúc mọi tiến trình cùng tên, vì thế cẩn thận khi sử dụng lệnh này . Tiến trình xử lý web bị lỗi, nếu hủy bằng killall có thể dẫn đến hủy mọi giao dịch web đang thực hiện . Ví dụ: killal -HUP syslogd killall -9 man 45
  45. CHƯƠNG 5. QUẢN TRỊ TÀI KHOẢN NGƯỜI DÙNG Mục tiêu: Kiến thức: Trình bày được kiến thức về người dùng, nhóm người dùng trên hệ điều hành Linux. Kỹ năng: - Thao tác quản lý người dùng, nhóm người dùng trên hệ điều hành Linux; - Phân quyền người dùng trên hệ điều hành Linux. Thái độ: - Cẩn thận, tỉ mỉ, tuân thủ nội qui vệ sinh và an toàn phòng thực hành; - Tích cực vận dụng kiến thức đã học vào thực tế. Nội dung: 1. Quản lý người dùng User là người có thể truy cập đến hệ thống. User có username và password. Có hai loại user: super user và regular user. Mỗi user còn có một định danh riêng gọi là UID. Định danh của người dùng bình thường sử dụng giá trị bắt đầu từ 500. . Tạo User: Cú pháp: #useradd [option] -c “Thông tin người dùng” -d -m : Tạo thư mục cá nhân nếu chưa tồn tại -g Ví dụ: #useradd –c “Nguyen Van A – Server Admin” –g serveradmin vana . Thay đổi thông tin cá nhân: Cú pháp: #usermod [option] Những option tương tự Useradd Ví dụ: #usermod –g kinhdoanh vana //chuyển vana từ nhóm server admin sang nhóm kinh doanh. . Xóa người dùng 46
  46. Cúpháp : #userdel [option] Vídụ : #userdel –r vana . Khóa/Mở khóa người dùng passwd –l / passwd –u usermod –L / usermod –U Trong /etc/shadow có thể khóa tài khoản bằng cách thay từ khóa x bằng từ khóa *. 2. Quản lý nhóm người dùng Group là tập hợp nhiều user lại. Mỗi user luôn là thành viên của một group. Khi tạo một user thì mặc định một group được tạo ra. Mỗi group còn có một định danh riêng gọi là GID. Định danh của group thường sử dụng giá trị bắt đầu từ 500. . Tạo nhóm: Cú pháp: #groupadd Ví dụ: #groupadd serveradmin . Xóa nhóm Cú pháp: #groupdel Ví dụ: #groupdel . Xem thông tin về User và Group Cú pháp: #id Ví dụ: #id -g vana //xem GroupID của user vana Cú pháp: #groups Ví dụ: #groups vana //xem tên nhóm của user vana Những file liên quan đến User và Group #/etc/passwd Mỗi dòng trong tập tin gồm có 7 trường, được phân cách bởi dấu hai chấm. #/etc/group Mỗi dòng trong tập tin gồm có 4 trường, được phân cách bởi dấu hai chấm. #/etc/shadow 47
  47. Lưu mật khẩu đã được mã hóa và chỉ có user root mới được quyền đọc. 3. Quyền của người dùng Trong Linux có 3 dạng đối tượng : . Owner (người sở hữu). . Group owner (nhóm sở hữu). . Other users (những người khác). Các quyền hạn : . Read – r – 4 : cho phép đọc nội dung. . Write – w – 2 : dùng để tạo, thay đổi hay xóa. . Execute – x – 1 : thực thi chương trình. Vídụ : Với lệnh ls –l ta thấy : [root@task ~]# ls -l total 32 -rw . 1 root root 1416 Jan 10 14:06 anaconda-ks.cfg -rw-r r . 1 root root 15522 Jan 10 14:06 install.log -rw-r r . 1 root root 5337 Jan 10 14:06 install.log.syslog drwxr-xr-x 6 root root 4096 Feb 9 10:02 softs Ngoài ra, chúng ta có thể dùng số. Vídụ : quyền r, w, x : 4+2+1 = 7 Tổ hợp 3 quyền trên có giá trị từ 0 đến 7. Các lệnh liên quan đến quyền hạn . Lệnh Chmod : dùng để cấp quyền hạn. Cú pháp : #chmod Ví dụ: #chmod 644 baitap.txt //cấp quyền cho owner có thể ghi các nhóm các chỉ có quyền đọc với file taptin.txt . Lệnh Chown : dùng thay đổi người sở hữu. Cú pháp : #chown . Lệnh Chgrp : dùng thay đổi nhóm sở hữu. Cú pháp : #chgrp * Quyền hạn1. Sơ lựơc về quyền 48
  48. Trên Linux, quyền trên files hoặc thư mục được ghi vào trong inode của file hoặc thư mục đó. Để dễ quản lý, Linux xem mọi thứ như là file. Để xem quyền, chúng ta có thể sử dụng lệnh “ls -l” như trong hình sau: Cột đầu tiên trong kết quả của lệnh ls -l thể hiện cho quyền hạn. Phần này bao gồm 10 bit: – bit 1: thể hiện kiểu file (vd: “-” file thường, “d” thư mục, ) – 9 bit còn lại chia làm 3 nhóm, mỗi nhóm có 3 bit: +owner: Quyền của user mà owner của file này. +group: Quyền của những users thuộc group mà owner của file này. +other: Quyền của tất cả các user khác trên máy. Trong mỗi nhóm (3 bit) thể hiện cho các quyền đọc (r), ghi (w), thực thi (x). Nếu nơi nào không có quyền sẽ được ghi là denied (-). Ký file thư mục hiệu – Không có quyền Không có quyền r Có thể đọc file, ví dụ Có thể xem nội dung dùng lệnh cat, more, . trong thư mục, ví dụ dùng lệnh ls. w Có thể thêm, bớt nội Có thể tạo thêm hoặc dung trong file. xóa đi file hoặc thư mục con của thư mục 49
  49. này. x Có thể thực thi file này, Có thể “đứng” trong chỉ dùng trong trường thư mục được, vi dụ hợp đây là program hoặc cd vào thư mục này. script. 50
  50. CHƯƠNG 6: TRÌNH TIỆN ÍCH Mục tiêu: Kiến thức: Trình bày được các tiện ích hay sử dụng trên hệ điều hành Linux. Kỹ năng: Sử dụng thành thạo các trình tiện ích trên hệ điều hành Linux. Thái độ: - Cẩn thận, tỉ mỉ, tuân thủ nội qui vệ sinh và an toàn phòng thực hành; - Tích cực vận dụng kiến thức đã học vào thực tế. Nội dung: 1. Các trình tiện ích soạn thảo văn bản Sử dụng trình soạn thảo “vi” trong linux GIT – Linux là một hệ điều hành được điều khiển đa phần qua môi trường dòng lệnh (console), thêm vào đó, các file cấu hình dịch vụ trên Linux thường được chỉnh sửa bởi trình editor là vi (hay vim, bản cải thiện của vi). Nếu bạn là người thường xuyên quản trị server linux qua console, thì vi là trình tiện ích hay sử dụng nhất. Do vậy, học cách sử dụng vi là một yêu cầu tối thiểu và cần thiết cho một người sử dụng linux. Cơ bản - Sử dụng vi kèm theo tên file(s) muốn edit: vi one.txt two.txt etc.txt - Có 2 mode: command mode và insert mode. Khi bắt đầu sử dụng lệnh vi, vi mặc định ở command mode. Hoặc ấn Esc để chuyển sang command mode khi người dùng đang ở insert mode. Các lệnh edit cơ bản - Ấn phím lệnh i hoặc a từ chế độ command mode để chuyển sang insert mode. i để thêm ký tự trước con trỏ, a để thêm ký tự sau con trỏ. - Sử dụng lệnh h j k l hoặc các phím mũi tên tương ứng để di chuyển con trỏ sang trái, xuống, lên, sang phải. - Sử dụng x xóa 1 ký tự, dw xóa 1 từ, dd xóa cả 1 dòng. - Sử dụng số N đi trước phím lệnh để lặp lại N lần tác dụng của lệnh. Ví dụ, 3dw sẽ xóa 3 từ tính từ vị trí con trỏ. - Sử dụng u ( = undo )để khôi phục lại những thay đổi trước đó. - Sử dụng ZZ hay :wq lưu lại tất cả thay đổi và thoát. - Sử dụng :q! thoát ra không lưu lại bất kỳ thay đổi nào. Cắt và dán - yy sao chép dòng hiện tại vào buffer, Nyy sao chép N dòng. - p ( P ) dán nội dung từ buffer vào dưới ( trên ) dòng hiện tại 51
  51. Nhảy đến hàng hay cột - Gõ một số N trước ký tự G để đi đến dòng thứ N, vd 23G sẽ nhảy đến dòng 23. - Gõ một số N trước ký tự | (pipe) để nhảy đến cột thứ N. Sử dụng . để lặp lại action gần - Ví dụ người dùng gõ i để insert dòng chữ “hello world”, sau đó chuyển sang chế độ command mode bằng phím Esc, nhảy xuống dòng và gõ . , dòng chữ “hello world” sẽ hiện ra. Tìm kiếm - Sử dụng / (?) đi theo sau là từ muốn tìm để tìm kiếm từ trong phần văn bản sau ( trước ) con trỏ. ví dụ /foobar hay ?foobar. - Sau khi kết quả tìm kiếm đầu tiên hiện ra, sử dụng n để tìm kiếm tiếp trong phần văn bản còn lại sau con trỏ, N để tìm kiếm ngược trở lại đầu văn bản trước con trỏ. Các lệnh colon ( đi sau dấu : ) - :%s/foo/bar/g tìm sự xuất hiện của “foo” trong toàn bộ file và thay thế bằng “bar”, /foo/bar/g chỉ thay thế ở dòng hiện tại. - et nu hiển thị số dòng trước mỗi dòng, et nonu để bỏ hiển thị số dòng. - :1,8d xóa từ dòng 1 cho đến dòng 8 trong file. - Sử dụng ma để đánh dấu dòng hiện tại là a ( có thể là bất cứ ký tự nào từ a-z ). Sau đó dùng ‘a để nhảy đến dòng đã được dánh dấu là a từ bất cứ đâu. Có thể sử dụng với colon, :’a,’b d xóa tất cả các dòng bắt đầu từ dòng được đánh dấu là a cho đến dòng được đánh dấu là b, hoặc ngược lại. - :w newfile.txt để save nội dung của file hiện tại vào một file mới là newfile.txt ( tựa “save as” bên Win Word ). - :8,16 co 32 để copy dòng 8 đến 16 đến điểm sau dòng 32. - :3,16 m 32 để chuyển rời dòng 8 đến 16 đến điểm sau dòng 32. - Nếu dùng vi để mở nhiều file ( vi file1 file2 file3 ), có thể sử dụng :n để nhảy đến file tiếp theo và :rew để nhảy quay ngược lại đến file đầu tiên, :args để hiện thị tất cả các file đang được mở. Vi for Smarties - Sử dụng G để nhảy đến dòng cuối cùng của file. - Khi xóa nhiều dòng, di chuyển con chuột đến dòng đầu tiên, gõ ma để đánh dấu, sau di đến dòng cuối cùng và gõ d’a để xóa những dòng đó. - $ để nhảy xuống cuối dòng, :$ để nhảy đến dòng cuối của file. - 0 để nhảy đến đầu dòng, :0 để nhảy tới dòng đầu tiên của file. - d$ xóa từ vị trí con trỏ hiện tại đến cuối dòng. - :10,$ d xóa từ dòng 10 cho đến dòng cuối cùng của file, hoặc ngược lại. - :10,20 m 0 chuyển rời dòng 10 đến 20 lên trên dòng đầu tiên của file. Shell - Sử dụng :!command để thi hành lệnh command trong môi trường vi. Trên đây là giới thiệu cách sử dụng vi một cách cơ bản và đủ dùng cho mọi đối 52
  52. tượng người sử dụng linux. Người dùng muốn tham khảo thêm có thể lên website của vim tại 2. Các tiên ích hệ thống (tạo đĩa khởi động, setup, fdisk, mc, ). Fdisk là một tiện ích text-based được sử dụng để xem và quản lý các phân vùng ổ cứng trên Linux. Nó là một trong những công cụ mạnh mẽ nhất mà bạn có thể dùng để quản lý phân vùng ổ cứng, nhưng nó cũng gây không ít khó khăn cho những người mới dùng Linux. Hướng dẫn này sẽ giúp bạn đi qua những điểm cơ bản nhất của lệnh fdisk để quản lý một bảng phân vùng. Sau khi sử dụng lệnh fdisk, bạn phải sử dụng thêm lệnh mkfs để định dạng phân vùng mới. Chúng ta sẽ làm việc với Terminal. Danh sách phân vùng Sử dụng câu lệnh sudo fdisk -l để liệt kê danh sách phân vùng có sẵn của hệ thống (bạn sẽ được nhắc nhập mật khẩu của root). Ngoài ra, để chỉ định phân vùng của từng ổ đĩa, bạn có thể thêm tên của ổ đĩa vào sau câu lệnh trên. Ví dụ sau sẽ hiển thị danh sách phân vùng của ổ đĩa đầu tiên: sudo fdisk -l /dev/sda Bước vào chế độ gõ lệnh Để làm việc trên các phân vùng ổ đĩa, bạn cần phải vào chế độ gõ lệnh (command mode). Bạn cần phải nhập tên ổ đĩa sau câu lệnh fdisk (tên thiết bị có thể được lấy từ câu lệnh ở trên). Ví dụ, câu lệnh sau sẽ cho phép ta vào command mode của ổ đĩa đầu tiên (/dev/sda): sudo fdisk /dev/sda 53
  53. Không chỉnh sửa các phân vùng trong khi chúng đang được sử dụng. Để làm được điều này, hãy khởi động từ Live CD. Sử dụng chế độ dòng lệnh Trong chế độ dòng lệnh, bạn sẽ sử dụng các lệnh 1 chữ cái để xác định hành động cần thực hiện. Gõ “m” và ấn Enter để xem danh sách các lệnh sẵn có. Xem bảng phân vùng Sử dụng lệnh “p” để xem danh sách bảng phân vùng. 54
  54. Xóa một phân vùng Để xóa một phân vùng, sử dụng lệnh “d“. Bạn sẽ được hỏi lựa chọn phân vùng để xóa. Danh sách phân vùng có thể được xem ở lệnh “p“. Ví dụ, tôi muốn xóa phân vùng /dev/sda5, thì gõ vào số 5. Sau khi thực hiện xóa, bạn có thể dùng lệnh “p” để xem lại danh sách phân vùng. Mọi thay đổi chỉ có hiệu lực khi bạn gõ lệnh “w“. Tạo một phân vùng Đẻ tạo mới một phân vùng, gõ lệnh “n“. Bạn sẽ có hai tùy chọn, tạo phân vùng logic (gõ “l“) hoặc phân vùng primary (gõ “p“). Lưu ý rằng, một ổ đĩa chỉ có tối đa 4 phân vùng primary. 55
  55. Tiếp theo, xác định sector mà bạn muốn bắt đầu phân vùng. Ấn Enter để chấp nhận thiết lập mặc định. Cuối cùng, xác định sector cuối của phân vùng. Ấn Enter để chấp nhật sử dụng hết phần ổ đĩa còn trống. Thay vì chỉ định sector, bạn có thể chỉ định kích thước, chữ viết tắt tương ứng: K – Kilobyte, M – Megabyte và G – Gigabyte. Ví dụ, gõ “+5G” cho phân vùng với kích thước 5 Gigabyte. Nếu bạn không gõ đơn vị sau dấu “+”, fdisk sẽ lựa chọn sector làm đơn vị. Ví dụ, nếu bạn gõ “+10000”, fdisk sẽ cộng thêm 10000 sector để làm điểm kết thúc của phân vùng. ID hệ thống Có một thắc mắc là lệnh “n” vừa gõ ở trên có khôi phục lại phân vùng swap tôi đã xóa ở trên (/dev/sda5)? Dùng lệnh “p“, tôi xem được /dev/sda5 là một phân vùng “Linux” chứ không phải “Linux Swap” như trước đó. Nếu muốn thay đổi loại của phân vùng, bạn gõ “t” và chỉ định số thứ tự của phân vùng đó. Bạn sẽ được yêu cầu nhập vào mã hexa của loại tương ứng. Nếu không rành về điều này, gõ “L” để tra danh sách mã hexa tương ứng. 56
  56. Ở đây, ta thấy tương ứng với Linux swap là mã 82, gõ vào số 82, kết quả sẽ như sau: Điều này không định dạng phân vùng đã chọn. Bạn sẽ phải làm điều này bằng lệnh mkfs. Ghi lại những thay đổi Gõ “w” để ghi lại những thay đổi vào đĩa. Gõ “q” để thoát mà không lưu lại. Định dạng một phân vùng Bạn phải định dạng (format) phân vùng trước khi sử dụng. Bạn có thể làm điểu này với lệnh mkfs thích hợp. Ví dụ, câu lệnh sau sẽ định dạng phân vùng thứ 5 của ổ đĩa đầu tiên với hệ thống tệp tin Ext4: sudo mkfs.ext4 /dev/sda5 57
  57. Sử dụng lệnh mkswap để định dạng phân vùng như là phân vùng swap. sudo mkswap /dev/sda5 Fdisk bao gồm rất nhiều câu lệnh nâng cao khác, đẻ biết thêm thông tin về lệnh fdisk, sử dụng câu lệnh man fdisk để tham khảo trang chính của fdisk. 3. Các tiên ích mạng (tcpdump, iptraf, lynx, ) tcpdump là gì? tcpdump: là công cụ được phát triển nhằm mục đích phân tích các gói dữ liệu mạng theo dòng lệnh. Nó cho phép khách hàng chặn và hiển thị các gói tin được truyền đi hoặc được nhận trên một mạng mà máy tính có tham gia. Có thể lưu ra file và đọc bằng công cụ đồ họa Wireshark. Bài viết về Wireshark Sử dụng tcpdump Cài đặt Để sử dụng được lệnh tcpdump trên Linux, chúng ta phải cài một gói với tên tương tự. Ở Ubuntu, ta dùng lệnh sudo apt-get install tcpdump -y Với CentOS yum install tcpdump -y Một vài lệnh cơ bản a. Xem các Interface đang hoạt động tcpdump -D b. Bắt gói tin trên Interface tcpdump -i Ví dụ, bắt gói tin trên card enp0s3 58
  58. Bấm tổ hợp phím Ctrl + C để dừng. Sau khi ta dừng, sẽ hiện ra một bảng với các thông số: Packet capture: số lượng gói tin bắt được và xử lý. Packet received by filter: số lượng gói tin được nhận bởi bộ lọc. Packet dropped by kernel: số lượng packet đã bị dropped bởi cơ chế bắt gói tin của hệ điều hành. 59
  59. Chương 7: Lập trình Shell Mục tiêu: Kiến thức: - Trình bày được các đặc điểm của kịch bản và ngôn ngữ kịch bản trên Linux. - Nêu được cơ chế mở rộng lệnh (expansion) trên hệ điều hành Linux. Kỹ năng: Tạo được file shell trên hệ điều hành Linux. Thái độ: - Cẩn thận, tỉ mỉ, tuân thủ nội qui vệ sinh và an toàn phòng thực hành; - Tích cực vận dụng kiến thức đã học vào thực tế. Nội dung: 1. Kịch bản và ngôn ngữ kịch bản Hệ điều hành Linux hiện nay đang rất phổ biến với các bản phân phối như OS, Ubuntu, Fedora hay Redhat. Nhưng nếu chỉ sử dụng với các ứng dụng đơn thuần, chúng ta sẽ không khai thác được sức mạnh thực sự bên trong Linux. Lập trình kịch bản là một điểm mạnh vượt trội của Linux so với Window. Lập trình kịch bản được hiểu như là chúng ta có một file data đầu vào chúng ta cần thao tác trên các data đó như tìm kiếm, sao chép, hoặc sử đổi, một chương trình kịch bản sẽ giúp chúng ta làm việc đó rất dễ dàng và mạnh mẽ. Vậy chúng ta làm thế nào để tạo ra một chương trình kịch bản làm việc tốt trên Linux?, đó chính là mục đích giới thiệu với các bạn tài liệu này. Tài liệu bao gồm nhiều phần bắt đầu từ cơ bản tới nâng cao. Phần I bao gồm các khái niệm cơ bản về Bash shell, môi trường lập trình cũng như các ví dụ đơn giản. Phần II giới thiệu về SED, đây là công cụ mạnh mẽ để chỉnh sửa và thao tác trên file văn bản. Phần III giới thiệu về AWK, đây là công cụ rất mạnh mẽ trong lập trình kịch bản, nó có thể thao tác trên văn bản, trích xuất dữ liệu và xử lý dữ liệu bao gồm cả các phép tính toán học. Phần IV sẽ giới thiệu nâng cao những gì bạn có thể làm đối với một chương trình kịch bản. Vì tôi không phải chuyên gia trong lĩnh vực Linux, do đó tôi dùng các chương trình kịch bản như các công cụ hỗ trợ cho công việc chính của tôi là nghiên cứu về Vật lý. Vì vậy tôi nghĩ rằng song song với việc chúng ta sử dụng các ngôn như cao cấp khác như C, Fortran, việc sử dụng kết hợp với các chương trình kịch bản sẽ giúp mọi thứ giản tiện hơn rất nhiều. Và hơn tất cả, hi vọng tài liệu này sẽ bổ ích với các bạn. Khái niệm cơ bản của một Shell script là một danh sách các lệnh, mà được liệt kê theo thứ tự thi hành. Một Shell script tốt sẽ có các lời bình (comment), đứng trước bởi dấu #, miêu tả các bước. Có các kiểm tra điều kiện, như giá trị A lớn hơn giá trị B, các loop cho phép chúng ta xử lý một lượng lớn dữ liệu, các file để đọc và lưu giữ dữ liệu và các biến để đọc và lưu giữ liệu, và script có thể bao gồm các hàm. Shell script và các hàm đều được thông dịch. Điều này có nghĩa là chúng không được biên dịch. Chúng ta chuẩn bị viết nhiều script trong các phần hướng dẫn tiếp theo. Nó có thể là một file văn bản đơn giản trong đó chúng ta đặt tất cả các lệnh và một số 60
  60. cấu trúc cần thiết mà nói cho môi trường Shell về cái gì được làm và khi nào được thực hiện. 2. Cơ chế mở rộng lệnh (expansion) Mỗi thời điểm bạn gõ một lệnh và nhấn Enter, bash biểu diễn vài xử lý trên các ký tự của bạn trước khi trả về kết qủa. Tiến trình tạo điều này xảy ra gọi là expansion. Với expansion, bạn gõ một cái gì đó rồi được mở rộng thành một cái gì đó khác trước khi Shell xử lý. Để minh họa, mình nói sơ qua về lệnh echo. echo là một lệnh dạng built-in trên Shell, biểu diễn một tác vụ đơn giản như in ra một đoạn text trên Terminal: echo cũng có thể kết hợp với các wildcards để hiệu qủa hơn, ví dụ: Pathname Expansion Như ví dụ ở trên, việc dùng các wildcards được gọi là expansion tên đường dẫn hay expansion pathname. Ví dụ, liệt kê danh sách tên các thư mục trong thư mục hiện hành bằng ls: Hay in ra các thứ (file/folder) kết thúc bằng “s” có trong thư mục hiện hành (Chú ý là chỉ trong thư mục hiện hành, nếu muốn in ra trong thư mục con của nó, bạn dùng lệnh cd tới thư mục con của nó), hoặc các file/folder bắt đầu bằng ký tự in hoa: Bạn có thể thử thêm với một số wildcards khác! Bài viết về các lệnh điều hướng trên Shell, các bạn có thấy qua các ví dụ của mình có dùng cd ~/Downloads hoặc cd ~/Desktop, thì giờ bạn sẽ hiểu rõ “~” là phím tắt của cái gì: 61
  61. Như trên ví dụ, “~” tượng trưng cho thư mục /home/user trên Linux, trường hợp của mình là /home/ptv. Arithmetic Expansion Bạn có thể in ra kết quả của một biểu thức số học bằng cách sử dụng echo kèm theo cú pháp: $((expression)), ví dụ: ví dụ khác: 62
  62. Toán tử “ ” trên Shell là phép lũy thừa, các bạn lưu ý. Thêm các ví dụ khác: Brace Expansion Dấu ngoặc nhọn { } trên Shell có nhiều công dụng trên Shell, ví dụ, bạn có thể in ra nhiều đoạn text với các thành phần chứa trong dấu ngoặc nhọn: 63
  63. Parameter Expansion Trên Linux Shell có hai loại biến, đó là biến hệ thống và biến người dùng tự định nghĩa. Biến hệ thống do Linux tạo ra, được viết hoa ví dụ: USER, HOME, còn biến tự định nghĩa do người dùng đặt ra, viết thường ví dụ name, age, . Các bạn ghi nhớ chỗ này, sau này phần viết script chúng ta sẽ sử dụng biến khá nhiều. Ví dụ, chúng ta in ra gía trị của biến với echo $ten_bien: Lưu ý ở đây age là tên biến do mình đặt tên, USER, HOME là các biến hệ thống của Linux, để xem tên biến hệ thống của Linux, chúng ta dùng lệnh sau: 1 printenv | less 64
  64. CHƯƠNG 7: LẬP TRÌNH SHELL Mục tiêu: Kiến thức: - Trình bày được các đặc điểm của kịch bản và ngôn ngữ kịch bản trên Linux. - Nêu cơ chế mở rộng (expansion) trong Linux. - Trình bày được khái niệm, các câu lệnh shell sử dụng trên hệ điều hành Linux. Kỹ năng: Lập trình chương trình sử dụng ngôn ngữ shell trên hệ điều hành Linux. Thái độ: - Cẩn thận, tỉ mỉ, tuân thủ nội qui vệ sinh và an toàn phòng thực hành; - Tích cực vận dụng kiến thức đã học vào thực tế. Nội dung: 3. Các cấu trúc lệnh điều khiển (if, for, while, ), Lệnh if elif fi là một mẫu lệnh điều khiển nâng cao mà cho phép Shell đưa ra quyết định chính xác theo một số các điều kiện. Cú pháp trong Unix/Linux if [ bieuThuc 1 ] then cac lenh de thuc thi neu bieuThuc 1 la true elif [ bieuThuc 2 ] then cac lenh de thuc thi neu bieuThuc 2 la true elif [ bieuThuc 3 ] then cac lenh de thuc thi neu bieuThuc 3 la true else cac lenh de thuc thi neu khong co bieuThuc nao la true fi Không có gì đặc biệt về đoạn code này. Nó là một chuỗi các lệnh if, mà mỗi lệnh if là một phần của mệnh đề else của lệnh trước. Ở đây, các lệnh được thực thi dựa trên cơ sở điều kiện true, nếu không có điều kiện nào là true, thì khi đó khối else được thực hiện. Cú pháp: for { tên biến } in { danh sách } do # Khối lệnh # Thực hiện từng mục trong danh sách cho đến cho đến hết # (Và lặp lại tất cả các lệnh nằm trong "do" và "done") done Ví dụ: Soạn tệp tin for.sh có nội dung như sau: for i in 1 2 3 4 5 do 65
  65. echo "Đây là lần thứ $i." done Thêm thuộc tính thi hành cho tệp tin. $ chmod +x for.sh $ ./for.sh #sẽ in ra: Đây là lần thứ 1. Đây là lần thứ 5. Cú pháp: while [ Biểu thức điều kiện ] do Lệnh 1 Lệnh 2 done Biểu thức điều kiện dùng giống như của lệnh "if". Để có được thông tin chi tiết hơn hãy xem lệnh "man test". Bạn có thể tổ hợp chúng lại với nhau bằng phép Logic && và ||. Vòng lặp này thực hiện việc kiểm tra điều kiện trước khi thực hiện, và lặp đi lặp lại khối lệnh nằm trong do và done trong khi biểu thức điều kiện còn đúng. Ví dụ sau sẽ tính tổng các số do người dùng nhập vào, in kết quả ra khi người dùng nhập vào số âm: #!/bin/sh echo "Nhập vào các số cần tính tổng, kết thúc bằng số âm" sum=0 read i while [ $i -ge 0 ] # nếu i >= 0 do sum=`expr $sum + $i` read i # nhận giá trị từ người dùng done echo "Tổng là: $sum." 4. Câu lệnh test, expr, Lệnh test hoặc cấu trúc [ biểu thức ] dùng để kiểm tra 1 biểu thức trả về 0, ngược lại là số thức là đúng hay sai, nếu đúng khác 0 Cú pháp : test biểu thức HOẶC [ biểu thức ] Ví dụ : Test biểu thức If test “$1” –gt 0 Then echo “$1 lớn hơn 0” fi if [ “$1” –gt 0 ] 66
  66. then echo “$1 lớn hơn 0” fi Biểu thức kiểm tra làm việc với : (1). Số nguyên (2). Những kiểu file (3). Chuỗi Toán tử trong shell script:Ý nghĩa:Số học:Lệnh test:[ biểu thức ] -eq: So sánh bằng : 5 == 6 : If test 5 –eq 6 : If [5 –eq 6 ] -ne: Không bằng : 5!=6 : If test 5 –ne 6 : If [ 5 –ne 6 ] -lt : Nhỏ hơn : 5 6 : If test 5 –gt 6 : If [ 5 –gt 6 ] -ge : Lớn hơn hoặc bằng : 5>=6 : If test 5 –ge 6 : If [ 5 –ge 6 ] Câu lệnh expr cho phép tính toán từ command line. Ví dụ: $ expr 1 + 3 4 Lưu ý, phải có khoảng trắng giữa toán tử và toán hạng. Nếu ở trên đổi thành 1+3 hoặc 1+ 3 hoặc 1 +3, thì đều cho kết quả hoặc có thông báo sai. Các phép toán như cộng, trừ, nhân, chia có thể đc sử dụng. Nhưng có một điểm cần lưu ý với phép toán nhân(*). Trong linux, ký tự * là một ký tự khá đặc biệt, nó là ký tự đại diện cho toàn bộ một nhóm ký tự, đối tượng nào đó. Nếu sử dụng phép toán a * b trong shell, sẽ có thông báo lỗi. Thay vào đó ta phải sử dụng cú pháp: a \* b. Khi đó, phép toán sẽ đc thực hiện. 67
  67. PHẦN THỰC HÀNH THỰC HÀNH: CÀI ĐẶT HỆ ĐIỀU HÀNH LINUX MỤC TIÊU CỦA BÀI: Sau khi học xong bài này người học có khả năng: Kiến thức: - Trình bày được lịch sử phát triển của hệ điều hành Linux; - Trình bày được các bản phân phối của hệ điều hành Linux. Kỹ năng: Cài đặt được hệ điều hành Linux. Thái độ: - Cẩn thận, tỉ mỉ, tuân thủ nội qui vệ sinh và an toàn phòng thực hành; - Tích cực vận dụng kiến thức đã học vào thực tế. NỘI DUNG BÀI HỌC I. Hướng dẫn ban đầu 1. Chuẩn bị Thiết bị: Máy tính 2. Sơ đồ, bản vẽ 3. Trình tự thực hiện Xem bảng trình tự thực hiện đi kèm. 4. An toàn lao động - Mặc đồ bảo hộ khi vào phòng thực hành. - Tránh cháy chập điện trong quá trình thực hành. - Lưu bài trong quá trình thực hành tránh mất bài. 5. Thao tác mẫu Theo dõi giáo viên làm mẫu và thực hiện các thao tác mẫu khi giáo viên yêu cầu. 6. Sai hỏng thường gặp Xem bảng sai hỏng thường gặp đi kèm. 7. Phân công vị trí luyện tập Sinh viên luyện tập các bài tập do giáo viên giao theo cá nhân hoặc nhóm 2 SV. II. Hướng dẫn thường xuyên . 68
  68. BẢNG TRÌNH TỰ THỰC HIỆN Yêu Dụng cụ, cầu kĩ Các bước thực STT Thao tác thiết bị, thuật, hiện vật tư an toàn 1 Chuẩn bị file Chuẩn bị USB hoặc DVD cài Máy tính, Hiển cài đặt Ubuntu đặt Ubuntu và khởi động lại máy phần mềm thị tính. Vmware giao workstation diện cài đặt của Ubuntu 2 Giao diện chọn Chọn ngôn ngữ để sử dụng trong Máy tính, phần mềm ngôn ngữ cài hệ điều hành Vmware đặt Ubuntu. workstation 3 Tại giao Chọn 1 trong 2 tùy chọn: Máy tính, Chọn 1 phần mềm diện Installation 1. Replace an existing operating trong 2 Vmware system with Ubuntu. Type workstation tùy 2. Something else (advanced) chọn phù hợp với mục đích sử dụng 4 Phân vùng cho Tạo các phân vùng Swap, / và Máy tính, Tạo phần mềm Ubuntu /Home thành Vmware công 69
  69. workstation các phân vùng Swap, / và /Home 5 Hoàn thiện cài - Bỏ đĩa DVD hoặc Usb cài đặt. Máy tính, phần mềm đặt - Hoàn thiện các mục tùy chọn Vmware workstation BẢNG SAI HỎNG THƯỜNG GẶP TT Sai lầm Nguyên nhân Biện pháp phòng tránh Mất dữ liệu trong Chọn tùy chọn Tạo phân vùng cho ubuntu máy tính Replace an existing operating system 1 with Ubuntu trong trường hợp máy tính chưa cài Ubuntu THỰC HÀNH: SỬ DỤNG MỘT SỐ LỆNH CƠ BẢN MỤC TIÊU CỦA BÀI: Sau khi học xong bài này người học có khả năng: Kiến thức: - Trình bày được tiến trình khởi động của hệ điều hành Linux; - Trình bày được các lệnh cơ bản của hệ điều hành Linux. Kỹ năng: 70
  70. - Đăng nhập và thoát khỏi hệ thống bằng các lệnh; - Sử dụng các lệnh trên hệ điều hành. Thái độ: - Cẩn thận, tỉ mỉ, tuân thủ nội qui vệ sinh và an toàn phòng thực hành; - Tích cực vận dụng kiến thức đã học vào thực tế. NỘI DUNG BÀI HỌC I. Hướng dẫn ban đầu 1. Chuẩn bị Thiết bị: Máy tính 2. Sơ đồ, bản vẽ 3. Trình tự thực hiện Xem bảng trình tự thực hiện đi kèm. 4. An toàn lao động - Mặc đồ bảo hộ khi vào phòng thực hành. - Tránh cháy chập điện trong quá trình thực hành. - Lưu bài trong quá trình thực hành tránh mất bài. 5. Thao tác mẫu Theo dõi giáo viên làm mẫu và thực hiện các thao tác mẫu khi giáo viên yêu cầu. 6. Sai hỏng thường gặp Xem bảng sai hỏng thường gặp đi kèm. 7. Phân công vị trí luyện tập Sinh viên luyện tập các bài tập do giáo viên giao theo cá nhân hoặc nhóm 2 SV. II. Hướng dẫn thường xuyên . 71
  71. BẢNG TRÌNH TỰ THỰC HIỆN Dụng cụ, Yêu cầu Các bước STT Thao tác thiết bị, kĩ thuật, thực hiện vật tư an toàn 1 Đăng nhập Chọn tài khoản -> Nhập mật khẩu. Máy tính, Hiển thị hệ điều phần mềm giao hành Vmware diện hệ Ubuntu workstation điều hành Ubuntu 2 Bật cửa sổ Chọn mục Center application -> Máy tính, Hiển thị Terminal Tìm kiếm phần mềm Terminal phần mềm giao Vmware diện workstation phần mềm Terminal 3 Thực hiện Gõ lệnh -> lựa chọn các tùy chọn Máy tính, Thực phần mềm các lệnh cơ của lệnh theo gợi ý. hiện Vmware bản trên hệ workstation thành điều hành công các ubuntu câu lệnh 4 Xem cú Dùng lệnh man [lệnh cần tra cứu] Máy tính, Hiển thị phần mềm pháp, gợi ý thông tin Vmware của các câu workstation các câu lệnh. lệnh và tùy chọn của câu lệnh đó. 5 Tắt máy ảo Gõ lệnh sudo shutdown –h now Máy tính, phần mềm 72
  72. Vmware workstation BẢNG SAI HỎNG THƯỜNG GẶP TT Sai lầm Nguyên nhân Biện pháp phòng tránh Không thực hiện Gõ sai cú pháp, thiếu Xem hướng dẫn sử dụng 1 được câu lệnh tùy chọn câu lệnh ở tài liệu, hoặc dùng câu lệnh man. Báo không tìm thấy Gõ sai đường dẫn Dùng câu lệnh pwd kiểm tra 2 đường dẫn đến thư mục muốn đường dẫn của thư mục hiện làm việc tại. Báo không có quyền Những câu lệnh hệ Dùng lệnh sudo trước các 3 thực thi lệnh thống phải có quyền câu lệnh thay đổi hệ thống. của tài khoản root THỰC HÀNH: CÁC THAO TÁC VỚI TẬP TIN (Ca 1) MỤC TIÊU CỦA BÀI: Sau khi học xong bài này người học có khả năng: Kiến thức: - Trình bày được các lý thuyết tổng quan về hệ thống tệp trên hệ điều hành Linux. - Trình bày được cú pháp các câu lệnh làm việc với hệ thống tệp. Kỹ năng: - Tạo, sửa, xóa thành thạo thư mục, file trong hệ điều hành Ubuntu; - Thực hiện được các thao tác trên tệp. Thái độ: 73
  73. - Cẩn thận, tỉ mỉ, tuân thủ nội qui vệ sinh và an toàn phòng thực hành; - Tích cực vận dụng kiến thức đã học vào thực tế. NỘI DUNG BÀI HỌC I. Hướng dẫn ban đầu 1. Chuẩn bị Thiết bị: Máy tính 2. Sơ đồ, bản vẽ 3. Trình tự thực hiện Xem bảng trình tự thực hiện đi kèm. 4. An toàn lao động - Mặc đồ bảo hộ khi vào phòng thực hành. - Tránh cháy chập điện trong quá trình thực hành. - Lưu bài trong quá trình thực hành tránh mất bài. 5. Thao tác mẫu Theo dõi giáo viên làm mẫu và thực hiện các thao tác mẫu khi giáo viên yêu cầu. 6. Sai hỏng thường gặp Xem bảng sai hỏng thường gặp đi kèm. 7. Phân công vị trí luyện tập Sinh viên luyện tập các bài tập do giáo viên giao theo cá nhân hoặc nhóm 2 SV. II. Hướng dẫn thường xuyên . 74
  74. BẢNG TRÌNH TỰ THỰC HIỆN Dụng cụ, Yêu cầu Các bước STT Thao tác thiết bị, kĩ thuật, thực hiện vật tư an toàn 1 Đăng nhập Chọn tài khoản -> Nhập mật khẩu. Máy tính, Hiển thị hệ điều phần mềm giao hành Vmware diện hệ Ubuntu workstation điều hành Ubuntu 2 Bật cửa sổ Chọn mục Center application -> Máy tính, Hiển thị Terminal Tìm kiếm phần mềm Terminal phần mềm giao Vmware diện workstation phần mềm Terminal 3 Tạo thư Gõ câu lệnh mkdir tên thư mục Máy tính, Chọn phần mềm mục (hoặc mkdir đường dẫn thư mục đúng Vmware muốn tạo) workstation đường dẫn, tạo được thư mục. 4 Di chuyển, Gõ lệnh mv để di chuyển, đổi tên Máy tính, Di phần mềm đổi tên thư thư mục chuyển Vmware mục workstation thư mục đến đúng đường dẫn 75
  75. 5 Xóa thư - Gõ câu lệnh rmdir xóa thư mục Máy tính, Xóa phần mềm mục rỗng. thành Vmware - Gõ lệnh rm tùy chọn –f để xóa workstation công thư thư mục không rỗng mục BẢNG SAI HỎNG THƯỜNG GẶP TT Sai lầm Nguyên nhân Biện pháp phòng tránh Không xóa được thư Thư mục không rỗng Chọn đúng tùy chọn. 1 mục không chọn tùy chọn để xóa. Báo không tìm thấy Gõ sai đường dẫn Dùng câu lệnh pwd kiểm tra 2 đường dẫn đến thư mục muốn đường dẫn của thư mục hiện làm việc tại. Không đổi được tên Đặt tên có các ký tự Tên thư mục, file chỉ có chữ 3 thư mục đặc biệt cái, dấu _ THỰC HÀNH: CÁC THAO TÁC VỚI TẬP TIN (Ca 2) MỤC TIÊU CỦA BÀI: Sau khi học xong bài này người học có khả năng: Kiến thức: - Trình bày được các lý thuyết tổng quan về hệ thống tệp trên hệ điều hành Linux. - Trình bày được cú pháp các câu lệnh làm việc với hệ thống tệp. Kỹ năng: - Phân quyền truy nhập thư mục và tệp; - Thực hiện được các thao tác trên tệp. 76
  76. Thái độ: - Cẩn thận, tỉ mỉ, tuân thủ nội qui vệ sinh và an toàn phòng thực hành; - Tích cực vận dụng kiến thức đã học vào thực tế. NỘI DUNG BÀI HỌC I. Hướng dẫn ban đầu 1. Chuẩn bị Thiết bị: Máy tính 2. Sơ đồ, bản vẽ 3. Trình tự thực hiện Xem bảng trình tự thực hiện đi kèm. 4. An toàn lao động - Mặc đồ bảo hộ khi vào phòng thực hành. - Tránh cháy chập điện trong quá trình thực hành. - Lưu bài trong quá trình thực hành tránh mất bài. 5. Thao tác mẫu Theo dõi giáo viên làm mẫu và thực hiện các thao tác mẫu khi giáo viên yêu cầu. 6. Sai hỏng thường gặp Xem bảng sai hỏng thường gặp đi kèm. 7. Phân công vị trí luyện tập Sinh viên luyện tập các bài tập do giáo viên giao theo cá nhân hoặc nhóm 2 SV. II. Hướng dẫn thường xuyên . 77
  77. BẢNG TRÌNH TỰ THỰC HIỆN Dụng cụ, Yêu cầu Các bước STT Thao tác thiết bị, kĩ thuật, thực hiện vật tư an toàn 1 Đăng nhập Chọn tài khoản -> Nhập mật khẩu. Máy tính, Hiển thị hệ điều phần mềm giao diện hành Vmware hệ điều Ubuntu workstation hành Ubuntu 2 Bật cửa sổ Chọn mục Center application -> Máy tính, Hiển thị Terminal Tìm kiếm phần mềm Terminal phần mềm giao diện Vmware phần workstation mềm Terminal 3 Tạo, xóa Gõ lệnh rm, touch Máy tính, Chọn phần mềm file đúng Vmware workstation đường dẫn, tạo, xóa file được thư mục. 4 Coppy file, Gõ lệnh cp để coppy file, thư mục Máy tính, Coppy phần mềm thư mục toàn bộ Vmware workstation các file trong thư mục đến đích thành công 78
  78. 5 Phân quyền Dùng lênh chmod phân quyền cho Máy tính, Phân đầy phần mềm cho file và các file và thư mục (quyền đọc, đủ quyền Vmware thư mục sửa, xóa ) workstation cho người tạo, nhóm, người dùng khác BẢNG SAI HỎNG THƯỜNG GẶP TT Sai lầm Nguyên nhân Biện pháp phòng tránh Không xóa được thư Thư mục không rỗng Chọn đúng tùy chọn. 1 mục không chọn tùy chọn để xóa. Báo không tìm thấy Gõ sai đường dẫn Dùng câu lệnh pwd kiểm tra 2 đường dẫn đến thư mục muốn đường dẫn của thư mục hiện làm việc tại. Không đổi được tên Đặt tên có các ký tự Tên thư mục, file chỉ có chữ 3 thư mục đặc biệt cái, dấu _ THỰC HÀNH: QUẢN LÝ TIẾN TRÌNH MỤC TIÊU CỦA BÀI: Sau khi học xong bài này người học có khả năng: Kiến thức: Trình bày được khái niệm, các thuộc tính tiến trình trên hệ điều hành Linux. 79
  79. Kỹ năng: Chuyển đổi trạng thái của tiến trình, lệnh ps, lệnh kill, đổi hướng vào ra của tiến trình. Thái độ: - Cẩn thận, tỉ mỉ, tuân thủ nội qui vệ sinh và an toàn phòng thực hành; - Tích cực vận dụng kiến thức đã học vào thực tế. NỘI DUNG BÀI HỌC I. Hướng dẫn ban đầu 1. Chuẩn bị Thiết bị: Máy tính 2. Sơ đồ, bản vẽ 3. Trình tự thực hiện Xem bảng trình tự thực hiện đi kèm. 4. An toàn lao động - Mặc đồ bảo hộ khi vào phòng thực hành. - Tránh cháy chập điện trong quá trình thực hành. - Lưu bài trong quá trình thực hành tránh mất bài. 5. Thao tác mẫu Theo dõi giáo viên làm mẫu và thực hiện các thao tác mẫu khi giáo viên yêu cầu. 6. Sai hỏng thường gặp Xem bảng sai hỏng thường gặp đi kèm. 7. Phân công vị trí luyện tập Sinh viên luyện tập các bài tập do giáo viên giao theo cá nhân hoặc nhóm 2 SV. II. Hướng dẫn thường xuyên BẢNG TRÌNH TỰ THỰC HIỆN 80
  80. Dụng cụ, Yêu cầu Các bước STT Thao tác thiết bị, kĩ thuật, thực hiện vật tư an toàn 1 Đăng nhập Chọn tài khoản -> Nhập mật khẩu. Máy tính, Hiển thị hệ điều phần mềm giao hành Vmware diện hệ Ubuntu workstation điều hành Ubuntu 2 Bật cửa sổ Chọn mục Center application -> Máy tính, Hiển thị Terminal Tìm kiếm phần mềm Terminal phần mềm giao Vmware diện workstation phần mềm Terminal 3 Hiển thị các Gõ lệnh ps hoặc lệnh top để hiển Máy tính, Hiển thị phần mềm tiến trình thị các tiến trình trong máy tính. thông tin Vmware trong máy workstation các tiến trình 4 Tùy chọn Dùng tùy chọn - f để lựa chọn các Máy tính, Hiển thị phần mềm hiển thị các thông tin cần thiết để hiển thị. được các Vmware thông tin workstation thông tin (đối với theo tùy lệnh top) chỉnh 5 Thay đổi Dùng các ký tự >> hoặc > để thay Máy tính, Đầu vào, phần mềm hướng vào đổi đầu ra đầu vào của các tiến đầu ra trình. Vmware ra của các workstation của các tiến trình tiến trình được 81
  81. thay đổi. 6 Dừng các Gõ lệnh kill pid để kết thúc một Máy tính, Tắt được phần mềm tiến trình tiến trình. các tiến Vmware workstation trình, các phần mềm đang hoạt động. BẢNG SAI HỎNG THƯỜNG GẶP TT Sai lầm Nguyên nhân Biện pháp phòng tránh Gõ sai pid của tiến Pid của tiến trình Tìm kiếm pid của tiến trình 1 trình thay đổi khi bật lại dựa vào lệnh pgrep chương trình THỰC HÀNH: QUẢN TRỊ TÀI KHOẢN NGƯỜI DÙNG MỤC TIÊU CỦA BÀI: Sau khi học xong bài này người học có khả năng: Kiến thức: Trình bày được kiến thức về người dùng, nhóm người dùng trên hệ điều hành Linux. Kỹ năng: - Thao tác quản lý người dùng, nhóm người dùng trên hệ điều hành Linux; - Phân quyền người dùng trên hệ điều hành Linux. Thái độ: - Cẩn thận, tỉ mỉ, tuân thủ nội qui vệ sinh và an toàn phòng thực hành; - Tích cực vận dụng kiến thức đã học vào thực tế. 82
  82. NỘI DUNG BÀI HỌC I. Hướng dẫn ban đầu 1. Chuẩn bị Thiết bị: Máy tính 2. Sơ đồ, bản vẽ 3. Trình tự thực hiện Xem bảng trình tự thực hiện đi kèm. 4. An toàn lao động - Mặc đồ bảo hộ khi vào phòng thực hành. - Tránh cháy chập điện trong quá trình thực hành. - Lưu bài trong quá trình thực hành tránh mất bài. 5. Thao tác mẫu Theo dõi giáo viên làm mẫu và thực hiện các thao tác mẫu khi giáo viên yêu cầu. 6. Sai hỏng thường gặp Xem bảng sai hỏng thường gặp đi kèm. 7. Phân công vị trí luyện tập Sinh viên luyện tập các bài tập do giáo viên giao theo cá nhân hoặc nhóm 2 SV. II. Hướng dẫn thường xuyên BẢNG TRÌNH TỰ THỰC HIỆN Dụng cụ, Yêu cầu Các bước STT Thao tác thiết bị, kĩ thuật, thực hiện vật tư an toàn 1 Đăng nhập Chọn tài khoản -> Nhập mật khẩu. Máy tính, Hiển thị hệ điều phần mềm giao diện 83
  83. hành Vmware hệ điều Ubuntu workstation hành Ubuntu 2 Bật cửa sổ Chọn mục Center application -> Máy tính, Hiển thị Terminal Tìm kiếm phần mềm Terminal phần mềm giao diện Vmware phần mềm workstation Terminal 3 Tạo tài Gõ câu lệnh adduser tên tài khoản Máy tính, Tạo thành phần mềm khoản mới -> điền các thông tin của người công Vmware người dùng dùng, password workstation người dùng với các thông tin 4 Tạo tài Gõ câu lệnh groupadd tên nhóm Máy tính, Tạo thành phần mềm khoản nhóm người dùng mới. công Vmware người dùng workstation nhóm người dùng 5 Add người Gõ câu lệnh usermod tên nhóm Máy tính, User được phần mềm dùng vào người dùng tên người dùng. thêm vào Vmware nhóm workstation nhóm người dùng 6 Xóa người Gõ lệnh userdel, groupdel để xóa Máy tính, Xóa thành phần mềm dùng, nhóm người dùng, nhóm người dùng công Vmware người dùng workstation người dùng, nhóm người 84
  84. dùng BẢNG SAI HỎNG THƯỜNG GẶP TT Sai lầm Nguyên nhân Biện pháp phòng tránh Không tạo được tài Chưa đăng nhập Dùng lệnh sudo –i để đăng 1 khoản người dùng, quyền root trong hệ nhập quyền root nhóm điều hành Không add được user Nhóm chưa được tạo Kiểm tra trước khi add user 2 vào nhóm thành công vào nhóm ở file /etc/group Tài khoản tạo được Gõ sai câu lệnh để Gõ đúng câu lệnh để tạo 3 nhưng không đăng tạo adduser thành adduser nhập được useradd THỰC HÀNH: SỬ DỤNG CÁC TRÌNH TIỆN ÍCH (CA 1) MỤC TIÊU CỦA BÀI: Sau khi học xong bài này người học có khả năng: Kiến thức: Trình bày được các tiện ích hay sử dụng trên hệ điều hành Linux. Kỹ năng: Sử dụng thành thạo các trình tiện ích VI trên hệ điều hành Linux. Thái độ: - Cẩn thận, tỉ mỉ, tuân thủ nội qui vệ sinh và an toàn phòng thực hành; - Tích cực vận dụng kiến thức đã học vào thực tế. NỘI DUNG BÀI HỌC I. Hướng dẫn ban đầu 1. Chuẩn bị Thiết bị: Máy tính 2. Sơ đồ, bản vẽ 3. Trình tự thực hiện 85
  85. Xem bảng trình tự thực hiện đi kèm. 4. An toàn lao động - Mặc đồ bảo hộ khi vào phòng thực hành. - Tránh cháy chập điện trong quá trình thực hành. - Lưu bài trong quá trình thực hành tránh mất bài. 5. Thao tác mẫu Theo dõi giáo viên làm mẫu và thực hiện các thao tác mẫu khi giáo viên yêu cầu. 6. Sai hỏng thường gặp Xem bảng sai hỏng thường gặp đi kèm. 7. Phân công vị trí luyện tập Sinh viên luyện tập các bài tập do giáo viên giao theo cá nhân hoặc nhóm 2 SV. II. Hướng dẫn thường xuyên BẢNG TRÌNH TỰ THỰC HIỆN Dụng cụ, Yêu cầu Các bước STT Thao tác thiết bị, kĩ thuật, thực hiện vật tư an toàn 1 Đăng nhập Chọn tài khoản -> Nhập mật khẩu. Máy tính, Hiển thị hệ điều phần mềm giao diện hành Vmware hệ điều Ubuntu workstation hành Ubuntu 2 Bật cửa sổ Chọn mục Center application -> Máy tính, Hiển thị 86
  86. Terminal Tìm kiếm phần mềm Terminal phần mềm giao diện Vmware phần mềm workstation Terminal 3 Tạo file Gõ lệnh touch để tạo file mới Máy tính, Tạo thành phần mềm soạn thảo công mới Vmware mới workstation 1 file để soạn thảo 4 Mở file Gõ lệnh vi tên file Máy tính, Bật thành phần mềm bằng phần công file Vmware mềm soạn workstation thảo vi 5 Soạn thảo Dùng phím ESC và phím i hoặc a Máy tính, Thực hiện phần mềm và chỉnh để chuyển giữa chế độ dòng lệnh và soạn thảo chế độ insert để soạn thảo và chỉnh Vmware sửa file workstation được theo sửa nội dung của file yêu cầu 6 Lưu và tắt Chuyển sang chế độ command của Máy tính, Tắt và lưu phần mềm file đang bật trình soạn thảo bằng phím ESC -> file thành Vmware gõ lệnh :wq -> Enter workstation công BẢNG SAI HỎNG THƯỜNG GẶP TT Sai lầm Nguyên nhân Biện pháp phòng tránh Không chỉnh sửa, Chưa chuyển chế độ Dùng phím ESC và phím i dùng câu lệnh được dòng lệnh và chế độ hoặc a để chuyển giữa chế 1 file insert để soạn thảo và độ chỉnh sửa nội dung của file 87
  87. THỰC HÀNH: SỬ DỤNG CÁC TRÌNH TIỆN ÍCH (CA 2) MỤC TIÊU CỦA BÀI: Sau khi học xong bài này người học có khả năng: Kiến thức: Trình bày được các tiện ích hay sử dụng trên hệ điều hành Linux. Kỹ năng: Sử dụng thành thạo các trình tiện ích fdisk trên hệ điều hành Linux. Thái độ: - Cẩn thận, tỉ mỉ, tuân thủ nội qui vệ sinh và an toàn phòng thực hành; - Tích cực vận dụng kiến thức đã học vào thực tế. NỘI DUNG BÀI HỌC I. Hướng dẫn ban đầu 1. Chuẩn bị Thiết bị: Máy tính 2. Sơ đồ, bản vẽ 3. Trình tự thực hiện Xem bảng trình tự thực hiện đi kèm. 4. An toàn lao động - Mặc đồ bảo hộ khi vào phòng thực hành. - Tránh cháy chập điện trong quá trình thực hành. - Lưu bài trong quá trình thực hành tránh mất bài. 5. Thao tác mẫu Theo dõi giáo viên làm mẫu và thực hiện các thao tác mẫu khi giáo viên yêu cầu. 6. Sai hỏng thường gặp Xem bảng sai hỏng thường gặp đi kèm. 7. Phân công vị trí luyện tập Sinh viên luyện tập các bài tập do giáo viên giao theo cá nhân hoặc nhóm 2 SV. II. Hướng dẫn thường xuyên 88
  88. BẢNG TRÌNH TỰ THỰC HIỆN Dụng cụ, Yêu cầu Các bước STT Thao tác thiết bị, kĩ thuật, thực hiện vật tư an toàn 1 Đăng nhập Chọn tài khoản -> Nhập mật khẩu. Máy tính, Hiển thị hệ điều phần mềm giao diện hành Vmware hệ điều Ubuntu workstation hành Ubuntu 2 Bật cửa sổ Chọn mục Center application -> Máy tính, Hiển thị Terminal Tìm kiếm phần mềm Terminal phần mềm giao diện Vmware phần mềm workstation Terminal 3 Liệt kê danh Sử dụng câu lệnh sudo fdisk -l Máy tính, phần mềm sách phân Vmware vùng workstation 4 Chọn tên ổ Sử dụng câu lệnh sudo fdisk Máy tính, /dev/sda phần mềm đĩa cần làm Vmware việc workstation 5 Xác định Gõ “m” và ấn Enter để xem danh Máy tính, Hiển thị ra phần mềm các tùy sách các lệnh sẵn có các tùy Vmware chọn trên ổ workstation chọn. đĩa 89
  89. 6 Ghi lại Gõ “w” để ghi lại những thay đổi Máy tính, những thay vào đĩa. phần mềm đổi Gõ “q” để thoát mà không lưu lại. Vmware workstation BẢNG SAI HỎNG THƯỜNG GẶP TT Sai lầm Nguyên nhân Biện pháp phòng tránh Không tạo được Tạo quá 4 phân vùng Liệt kê danh sách các phân thêm phân vùng primary trong ổ đĩa vùng, kiểm tra số lượng 1 primary phân vùng primary trong ổ đĩa Không chọn dung Ấn phím Enter khi 2 lượng khi tạo phân được hỏi dung lượng vùng mới cho phân vùng. THỰC HÀNH: LẬP TRÌNH SHELL (CA 1) MỤC TIÊU CỦA BÀI: Sau khi học xong bài này người học có khả năng: Kiến thức: Trình bày được khái niệm, các câu lệnh shell sử dụng trên hệ điều hành Linux. Kỹ năng: - Tạo file shell script. - Sử dụng các lệnh cơ bản: if, elif, case, read để giải quyết các bài toán cơ bản. Thái độ: 90
  90. - Cẩn thận, tỉ mỉ, tuân thủ nội qui vệ sinh và an toàn phòng thực hành; - Tích cực vận dụng kiến thức đã học vào thực tế. NỘI DUNG BÀI HỌC I. Hướng dẫn ban đầu 1. Chuẩn bị Thiết bị: Máy tính 2. Sơ đồ, bản vẽ 3. Trình tự thực hiện Xem bảng trình tự thực hiện đi kèm. 4. An toàn lao động - Mặc đồ bảo hộ khi vào phòng thực hành. - Tránh cháy chập điện trong quá trình thực hành. - Lưu bài trong quá trình thực hành tránh mất bài. 5. Thao tác mẫu Theo dõi giáo viên làm mẫu và thực hiện các thao tác mẫu khi giáo viên yêu cầu. 6. Sai hỏng thường gặp Xem bảng sai hỏng thường gặp đi kèm. 7. Phân công vị trí luyện tập Sinh viên luyện tập các bài tập do giáo viên giao theo cá nhân hoặc nhóm 2 SV. II. Hướng dẫn thường xuyên BẢNG TRÌNH TỰ THỰC HIỆN STT Các bước Thao tác Dụng cụ, Yêu cầu 91
  91. thực hiện thiết bị, kĩ thuật, vật tư an toàn 1 Đăng nhập Chọn tài khoản -> Nhập mật khẩu. Máy tính, Hiển thị hệ điều phần mềm giao diện hành Vmware hệ điều Ubuntu workstation hành Ubuntu 2 Bật cửa sổ Chọn mục Center application -> Máy tính, Hiển thị Terminal Tìm kiếm phần mềm Terminal phần mềm giao diện Vmware phần mềm workstation Terminal 3 Xác định Vẽ lưu đồ để giải quyết bài toán Máy tính, Đưa ra phần mềm thuật toán được thuật Vmware giải quyết workstation toán để bài toán giải quyết bài toán 4 Tạo file Gõ lệnh touch để tạo file mới -> Gõ Máy tính, Tạo thành phần mềm shell và lệnh vi tên file công mới Vmware soạn thảo workstation 1 file để soạn thảo 5 Phân quyền Gõ lệnh chmod 755 tên file đề phân Máy tính, Người phần mềm thực thi cho quyền thực thi cho file shell dùng có Vmware file shell workstation quyền thực thi file shell đó 6 Chạy thực Gõ lệnh ./tên file Máy tính, Chạy phần mềm thi cho file chương Vmware shell trình và 92