Giáo trình sử dụng quản trị và lập trình UNIX LINUX

157 1.5K 2
Giáo trình sử dụng quản trị và lập trình UNIX LINUX

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Giáo trình gồm có nội dung 1. Hệ điều hành UNIX 2. Lập trình Shell 3. Giao diện đồ họa 4. Lập trình hệ thống 5. Làm quen với Linux 6. Quản trị Linux 7. Hỗ trợ giải quyết sự cố Linux Tài liệu này nhằm phục vụ những người sử dụng, quản trị mạng và lập trình trên các máy tính có cài hệ điều hành UNIX hoặc Linux.

Lê Hồng Tiến Tổ Đào tạo SỬ DỤNG, QUẢN TRỊ LẬP TRÌNH UNIX/LINUX iii Đối tượng cách dùng iii Tóm tắt nội dung iv Chương 1. Hệ điều hành UNIX iv Chương 2. Lập trình Shell iv Chương 3. Giao diện đồ hoạ iv Chương 4. Lập trình hệ thống iv Chương 5. Làm việc trên mạng IP iv Chương 6. Làm quen cài đặt Linux iv Chương 7. Quản trị Linux v Chương 8. Hỗ trợ giải quyết sự cố trong Linux v Dành cho giảng viên v Chú ý v CHƯƠNG 1. HỆ ĐIỀU HÀNH UNIX 1 1.1 Dẫn nhập 1 1.1.1 Các họ UNIX phổ biến ở Việt Nam 1 1.1.2 Các tính chất chung 3 1.1.3 Phiên làm việc đầu tiên 5 1.2 Giao diện người sử dụng 7 1.2.1 Giao tiếp qua dòng lệnh 7 1.2.2 Giao tiếp qua cửa sổ đồ họa 9 1.3 Các tệp UNIX 12 1.3.1 Cấu trúc hệ thống tệp 12 1.3.2 Các thao tác cơ bản trên tệp bình thường 13 1.3.3 Các lệnh biên tập tệp bình thường 16 1.3.4 Cách sinh tên tệp 19 1.3.5 Quản trị luồng dữ liệu 21 1.3.6 Nội dung kích thước tệp bình thường 24 1.3.7 Các bộ lọc riêng 25 1.3.8 Hiển thị tệp dưới các dạng khác nhau 29 1.3.9 Các quyền truy cập tệp bình thường 30 1.4 Các lệnh chương trình 33 1.4.1 Cú pháp việc thực hiện các lệnh 33 1.4.2 Thời gian thực hiện lệnh 36 1.4.3 Các tiến trình 38 1.4.4 Các "job" trong C Shell 43 1.5 Sử dụng các thiết bị ngoại vi 45 1.5.1 Quản trị in ấn 45 1.5.2 Quản trị các băng từ 48 1.5.3 Quản trị các đĩa rời 50 1.5.4 Chuyển đổi tệp 50 1.6 Các nhóm lệnh tiện ích 52 Chương 2. Lập trình Shell 1 CHƯƠNG 1 CHƯƠNG 3. GIAO DIỆN ĐỒ HOẠ 1 3.1 RH Linux X Window 1 3.1.1 Chuẩn bị phần cứng 1 3.1.2 XFree86 RH Linux 9 1 3.1.3 Môi trường desktop trình quản trị cửa sổ 2 3.1.4 Các tệp cấu hình XFree86 Server 3 3.1.5 Runlevels XFree86 8 3.1.5 Fonts 10 3.1.6 Các tài nguyên khác 13 3.2 GNOME 13 3.2.1 Giới thiệu GNOME 14 3.2.2 Giao diện đồ hoạ 14 Sử dụng, quản trị lập trình UNIX/Linux i Lê Hồng Tiến Tổ Đào tạo 3.2.3 Nautilus 17 3.2.4 Cửa sổ Start Here 18 3.2.5 Cấu hình thời gian 19 3.2.6 Đĩa mềm CD-ROMs 21 3.2.7 Trình duyệt Web 22 3.2.8 Trình Email 23 3.2.9 Các ứng dụng 23 3.2.10 Log-Out 26 3.3 KDE 26 3.3.1 Giới thiệu 26 3.3.2 Tài liệu hướng dẫn 26 3.3.3 Sử dụng Desktop 27 3.3.4 Quản trị tệp 31 3.3.5 Duyệt Web bằng Konqueror 32 3.3.6 Dùng Konqueror để xem ảnh 33 3.3.7 KMail 33 3.3.8 Tuỳ biến KDE 34 3.3.9 Đăng xuất khỏi KDE 34 CHƯƠNG 4. LẬP TRÌNH HỆ THỐNG 1 4.1 MÔ HÌNH PHÂN TẦNG TRONG UNIX 1 4.2. NGÔN NGỮ C HỆ THỐNG UNIX 2 4.2.1 Sơ lược về ngôn ngữ C 2 4.2.2 Hàm system 4 4.2.3 Các tham số hàm trong C 4 4.2.4 Những lệnh gọi hệ thống 6 4.2.5 Dò lỗi 7 4.2.6 Biến errno 7 4.2.7 Xuất/nhập ỏ mức thấp 8 4.2.8 Hàm xuất/nhập nguyên thuỷ 10 4.2.9 Những hàm nguyên thuỷ quản lý tiến trình 11 4.2.10 Những hàm nguyên thuỷ quản lý tệp 13 4.3 CÔNG CỤ PHÁT TRIỂN HỆ THỐNG 15 4.3.1 Trình biên dịch gcc 15 4.3.2 Trình soạn thảo mã nguồn 16 4.3.3 Trình gỡ lỗi gdb 16 4.3.4 Makefile 17 CHƯƠNG 6. LÀM QUEN LINUX 1 6.1 NHỮNG KHÁI NIỆM CHUNG 1 6.1.1 GNU GPL 1 6.1.2 Lõi hệ điều hành Linux 1 6.1.3 Những bản phát hành Linux chủ yếu 2 6.2 CHUẨN BỊ CÀI ĐẶT LINUX 3 6.2.1 Mua Linux của Red Hat 3 6.2.2 Nếu không mua của Red Hat 4 6.2.3 Tính tương thích phần cứng 4 6.2.4 Có đủ dung lượng đĩa không? 5 6.2.5 Có thể cài từ CD-ROM? 6 6.2.6 Chọn kiểu cài đặt phù hợp 10 6.2.7 Thông tin phần cứng yêu cầu hệ thống 12 6.3 CÀI ĐẶT RED HAT LINUX 19 6.3.1 Giao diện đồ hoạ của trình cài đặt 19 6.3.2 Giao diện text của trình cài đặt 20 6.3.3 Tiến trình cài đặt 22 6.3.4 Chọn cách cài đặt 24 6.3.5 Cài đặt từ ổ đĩa CD-ROM 25 6.3.6 Cài đặt từ ổ đĩa cứng 26 6.3.7 Chuẩn bị cho việc cài đặt từ mạng 27 6.3.8 Cài đặt qua NFS 29 Sử dụng, quản trị lập trình UNIX/Linux ii Lê Hồng Tiến Tổ Đào tạo 6.3.9 Cài đặt qua FTP 30 6.3.10. Cài đặt qua HTTP 31 6.3.11. Hộp thoại Welcome 31 6.3.12. Lựa chọn ngôn ngữ 32 6.3.13. Chọn bàn phím 32 6.3.14 Chọn cấu hình chuột 33 6.3.15 Chọn nâng cấp hoặc cài đặt 35 6.3.16 Chọn kiểu cài đặt 36 Chương 7. Quản trị Linux với Webmin 1 1. Giới thiệu 1 2. Cấu trúc của Webmin 1 2.1 Module Webmin 1 2.2 Module hệ thống 2 2.3 Module server 2 2.4 Module mạng 2 2.5 Module phần cứng 3 2.6 Module bổ sung 3 3. Quản trị hệ thống Linux với Webmin 3 3.3.1 Cài đặt phần mềm webmin 3 3.1.2 Khởi động Webmin bằng lệnh 4 3.1.3 Định dạng Server 4 Chương 8. Hỗ trợ giải quyết sự cố trong Linux 8 Tài liệu tham khảo 1 SỬ DỤNG, QUẢN TRỊ LẬP TRÌNH UNIX/LINUX Đối tượng cách dùng Tài liệu này nhằm phục vụ những người sử dụng, quản trị mạng lập trình trên các máy tính có cài hệ điều hành UNIX hoặc Linux. Nó được soạn trong khuôn khổ đào tạo thuộc Đề án 112 như đề mục đã ghi rõ cho một thời gian tập huấn hạn chế khoảng 40-50 tiết, vì vậy độc giả ngoài phạm vi đó cần xem thêm các tài liệu lý thuyết hoặc thực hành đồ sộ hơn được xuất bản bằng tiếng Việt hoặc tiếng Anh, một số có nêu tên ở các mục tham khảo. Độc giả cũng nên liên tưởng đến các kiến thức thao tác học được trên một vài hệ điều hành khác (thường là Windows NT/2000) để dễ tiếp thu nhanh chóng UNIX/Linux. Các máy tính UNIX/Linux ở Việt Nam hiện nay chủ yếu tập trung trong các lĩnh vực ngân hàng, tài chính, hàng không, điện lực, bưu điện, giáo dục, khoa học Chúng có nhiều chủng loại phiên bản hệ điều hành khác nhau (Apple Mac OS X, Bull DPX, DEC Digital UNIX, HP/UX, IBM AIX, SCO Unix, SGI UNIX, Sun Solaris, ) còn được cập nhật lên đời nữa. Việc chọn một hệ UNIX chung để huấn luyện cho tất cả những người sử dụng các máy nói trên là rất khó. Tuy nhiên gần đây, hệ điều hành Linux đang được nói đến rất nhiều bắt đầu sử dụng ở nước ta. Linux có rất nhiều điểm giống các hệ UNIX vì là dẫn xuất trực tiếp từ đó kế thừa toàn bộ các phần mềm GNU. Mặt khác, các cơ sở đào tạo cũng không có đủ giấy phép sử dụng các hệ UNIX thương phẩm, Sử dụng, quản trị lập trình UNIX/Linux iii Lê Hồng Tiến Tổ Đào tạo do vậy tài liệu này dự kiến sẽ dùng các máy vi tính cá nhân (PC) chạy dưới hệ điều hành miễn phí Linux để làm phương tiện minh hoạ thực hành. Tóm tắt nội dung Tài liệu này bao gồm 8 chương, đề cập những nội dung chính như sau: Chương 1. Hệ điều hành UNIX Chương 1 chủ yếu dành cho những người muốn làm quen các hệ điều hành UNIX chính thống hoặc “thương mại”. Do yêu cầu giới hạn nên ở đây chỉ cố gắng giới thiệu sơ lược nhưng cụ thể về các họ máy UNIX đặc biệt về một số họ phổ biến ở Việt Nam. Bên cạnh đó người đọc có thể sử dụng các hướng dẫn ví dụ để bắt đầu làm việc trên máy PC được cài Linux, nếu không có một bản UNIX “thương mại”. Chương 2. Lập trình Shell Chương 2 đi sâu hơn vào thực tiễn sử dụng shell dành cho những người quản trị mạng lập trình viên UNIX hoặc Linux. Shell cung cấp một môi trường diễn dịch lệnh với tương tác trực tiếp qua những dòng văn bản. Shell có một cú pháp dễ làm chủ nhưng cho phép thực hiện hầu hết các công việc từ thông thường đến phức tạp mà chưa cần phải sử dụng đến những ngôn ngữ biên dịch như C C++, v.v. Chương 3. Giao diện đồ hoạ Chương 3 chủ yếu dành cho những người mới sử dụng lập trình trên các máy UNIX/Linux, đặc biệt những ai đã từng quen với môi trường giao diện đồ hoạ thân thiện của Mac OS MS Windows, hoặc đơn giản chỉ không muốn làm việc qua giao diện dòng lệnh. Chương 4. Lập trình hệ thống Trong chương 4, chúng ta sẽ tìm hiểu về khả năng phát triển UNIX dưới góc độ lập trình hệ thống, chủ yếu trong ngôn ngữ C, nhằm hiểu rõ hơn về bản chất của hệ điều hành UNIX cũng như cách sử dụng các công cụ cơ bản về lập trình của môi trường hệ điều hành này. Chương 5. Làm việc trên mạng IP Chương 5 dành cho tất cả người sử dụng UNIX hoặc Linux trong môi trường mạng cục bộ hoặc diện rộng, kể cả quản trị viên lập trình viên. Chương này chỉ giới thiệu vài nét sơ bộ căn bản. Tuy nhiên độc giả có thể tìm hiểu các chi tiết sâu hơn ở giáo trình về quản trị mạng. Chương 6. Làm quen cài đặt Linux Chương 6 chủ yếu dành cho những người yêu thích thực hành muốn tự tay cài đặt lên máy vi tính cá nhân PC một phiên bản Linux theo yêu cầu của riêng Sử dụng, quản trị lập trình UNIX/Linux iv Lê Hồng Tiến Tổ Đào tạo mình. Để tạo điều kiện thực hành nhanh chóng thu được các kinh nghiệm bản thân, ở đây sẽ giới thiệu các phương pháp cài đặt khá đơn giản với phiên bản Red Hat số 9 tuy còn mới nhưng đã tỏ ra ổn định. Chương 7. Quản trị Linux Chương 7 chủ yếu dành cho những người sử dụng quản trị viên máy Linux chạy dưới những phiên bản mới nhất, trong đó có thể cài một công cụ gọi là Webmin, cho phép tiến hành các công việc quản trị qua giao diện Web chuẩn, vừa nhất quán lại vừa đơn giản thuận tiện. Chương 8. Hỗ trợ giải quyết sự cố trong Linux Chương 8 chủ yếu giúp cho những người sử dụng quản trị viên Linux. Trong quá trình cài đặt sử dụng, máy tính nào cũng có thể gặp sự cố, không ít thì nhiều, kể cả máy UNIX. Mặt khác chúng ta luôn luôn cần cải tiến, hiệu chỉnh cập nhật những máy này, đặc biệt khi làm việc trong một môi trường mạng với nguy cơ đe doạ an ninh cao như Internet. Dành cho giảng viên Trong tài liệu này, các chương từ 1 đến 5 chủ yếu dành thời gian giới thiệu những nền tảng lý thuyết của môn UNIX /Linux trong khuôn khổ đề án 112. Dự kiến phần lý thuyết này cần giảng trong khoảng 16 tiết tức 40% tổng thời lượng tập huấn. Những chương khác nói về Linux sẽ chủ yếu được dùng làm tài liệu tham khảo thực hành (24 tiết tức 60% tổng thời lượng). Tuy nhiên còn tuỳ theo trình độ của từng học viên mà giảng viên có thể gia giảm tỷ lệ trên. Chú ý - Để thuận tiện hơn cho những độc giả ít thạo tiếng Anh, tài liệu này cố gắng dùng tối đa các thuật ngữ tin học bằng chữ Việt. Xin độc giả thứ lỗi nếu thấy ở đôi chỗ chúng có thể khác với những gì mình đã quen sử dụng trước đây. - Cũng bởi vì một số thuật ngữ có thể chưa thống nhất ở mức quốc gia, nên chúng thường được giải thích từ lần sử dụng đầu tiên trong tài liệu này có chua bằng tiếng Anh, trừ những lần sau đó hoặc những trường hợp mà ý nghĩa tin học của chúng giống như trong đời thường. - Mặc dù một số phiên bản mới của các hệ điều hành đã chấp nhận mã Unicode mà bộ mã Tiêu chuẩn Việt Nam TCVN 6909:2001 có tương thích, trong khi thực hành ta vẫn nên dùng các tên chữ Việt không dấu với những ký tự ASCII khả hiện (printable) để chắc chắn không bị máy tính hiểu sai, ví dụ tên có dấu như "tệp1" sẽ thay bằng "tep1", v.v Sử dụng, quản trị lập trình UNIX/Linux v Lê Hồng Tiến Tổ Đào tạo CHƯƠNG 1. HỆ ĐIỀU HÀNH UNIX 1.1 Dẫn nhập UNIX là một hệ điều hành mở, ra đời từ đầu thập niên 1970 trên các máy tính mini họ DEC PDP. Nhưng phải hơn mười năm sau, nhờ sự đóng góp bền bỉ to lớn của hai giới khoa học - công nghiệp, UNIX mới trở nên thật sự tốt có thể thay thế được hầu hết các hệ điều hành cũ, kể cả của các máy lớn (mainframe). Rất nhiều phần mềm ứng dụng trong các lĩnh vực kinh tế, giáo dục, y tế, kỹ thuật, quốc phòng, v.v. đã được viết dưới UNIX tạo ra một thị trường mới. Không may, vì lợi nhuận ngắn hạn, một số công ty đã phát triển UNIX chệch ý tưởng ban đầu, đưa ra nhiều bản phát hành “thương mại” chạy trên các máy đắt tiền đóng kín làm của riêng nên khó dùng chung tự làm cho sau này khó cạnh tranh với dòng Microsoft Windows NT/200x đẻ muộn. Tuy vậy đến nay, phần lớn các bản phát hành UNIX đều thuộc hai dòng chính thống là System V BSD với rất nhiều điểm tương đồng hoặc hội tụ, cho nên người sử dụng vẫn quen gọi gộp là UNIX. Cần nói tới một dòng các hệ điều hành gọi là “như UNIX” (UNIX-like), thường được người dùng tự cài đặt trong các máy vi tính hoặc thiết bị công nghiệp nhờ sự nhỏ gọn hoặc ổn định. Có thể kể tên rất nhiều hệ điều hành như thế, ví dụ: Minix, Xenix, FreeBSD, QNX, OS9, Linux, v.v Đặc biệt, ảnh hưởng của các bản “như UNIX” nhưng có nguồn mở đang lan tràn rất nhanh trong các công ty, trường học, viện nghiên cứu qua Internet, vượt xa UNIX “thương mại”. 1.1.1 Các họ UNIX phổ biến ở Việt Nam Cho đến nay, trong các loại UNIX du nhập nước ta, có thể những họ sau đây đã vào sớm nhất hoặc nhiều nhất: -Họ SCO UNIX, chủ yếu cài trên các máy tính kiểu PC (khoảng 1988); -Họ Sun Solaris, cài trên các máy chủ hoặc trạm làm việc sử dụng các chip thuộc nhóm Sparc (1992) trên các máy tính kiểu PC (1995); -Họ các hệ điều hành nguồn mở thuộc dòng “như UNIX”, cài trên các máy tính kiểu PC Mac (có lẽ bắt đầu vào nước ta từ 1994 bằng các bản miễn phí); -Họ IBM AIX, cài trên các máy chủ hoặc trạm làm việc sử dụng các chip thuộc nhóm PowerPC (1993). Các hệ điều hành UNIX cài đặt sẵn trên các máy cao cấp hạng lớn vừa (midrange) đã xuất hiện vài chục năm nay, nhưng thực tế chỉ được biết đến ở Việt Nam từ những năm 1990, sau khi có chính sách mở cửa. Có thể kể thêm nhiều họ UNIX khác đã đến nước ta, ví dụ: họ Apple Mac OS X sử dụng nhóm chip Motorola PowerPC (1999), DEC Digital UNIX sử dụng nhóm chip DEC Alpha (xuất hiện từ 1993, sau đó thuộc về Compaq nay chuyển sang chủ HP), HP UX sử dụng nhóm chip HP PARISC (1995), SGI sử dụng nhóm chip R5000 R10000 (1996), v.v Sử dụng, quản trị lập trình UNIX/Linux 1 Lê Hồng Tiến Tổ Đào tạo Chú ý: Cũng như nhóm chip Sun Sparc (MicroSparc, UltraSparc), mọi nhóm chip nói trên đều dùng công nghệ RISC (hay “tập lệnh giảm thiểu”) có độ dài dữ liệu 32 hoặc 64 bit, khác với nhóm chip Motorola 68xxx Intel x86 thuộc loại CISC (“tập lệnh phức tạp”) có độ dài dữ liệu 16 hoặc 32 bit. Những năm gần đây, để giảm giá, nhiều hãng sản xuất máy UNIX đã chuyển sang sử dụng các chip CISC có bổ sung công nghệ RISC như Intel Pentium (hoặc tương đương của AMD, Cyrix). Nhưng các máy chủ “nhỏ” dùng những chip đó chạy với dòng Microsoft Windows 200x, đặc biệt với dòng “như UNIX” đang tăng nhanh hơn. Các máy UNIX “thương mại” bị giảm thị phần, mặc dù sản lượng trị giá tuyệt đối vẫn ổn định do phần lớn là máy đắt tiền nhiều CPU. Theo thống kê, tốc độ tăng số lượng máy chủ toàn cầu năm 2001 là: Linux 30,1%, Windows 4,7% Unix 3,6%. IDG dự báo năm 2005 sẽ có hơn 12 triệu máy chủ Windows, hơn 10 triệu máy chủ Linux, gần 5 triệu máy chủ với những hệ điều hành “như UNIX” khác gần1 triệu máy chủ UNIX. Sau đây chúng ta sẽ giới thiệu qua về một số họ UNIX đã phổ biến ở nước ta những ứng dụng tiêu biểu của chúng. a. IBM AIX AIX được bán kèm trên những máy cao cấp của IBM (chủ yếu thuộc dòng RS/6000) của Bull (dòng Escala). Cuối những năm 1990, những máy chủ mạnh của dòng này đã có đến 8 CPU 4 GB RAM, nhờ vậy có thể phục vụ hàng nghìn máy trạm bằng những phần mềm ứng dụng lớn. IBM cũng bán những phần mềm như thế chạy dưới AIX cả Windows NT, ví dụ Websphere (quản trị cổng điện tử), Tivoli Enterprise Console (quản trị mạng), DB2 (quản trị cơ sở dữ liệu), Lotus Notes Domino (quản trị dòng công việc thư điện tử) v.v Cho đến nay hình như chưa du nhập vào Việt Nam những cấu hình mạnh nhất của các máy AIX. b. Sun Solaris Solaris hay SunOS thường được cài sẵn trên những máy cao cấp của các hãng Sun, Fujitsu ICL. Cũng như IBM, Sun vừa sản xuất máy UNIX vừa viết các phần mềm ứng dụng, ví dụ Sun Net Manager (quản trị mạng), StarOffice (tin học văn phòng) v.v Không ít sản phẩm Sun đã được một số đơn vị nhà nước, công ty ngân hàng ở Việt Nam sử dụng. Việc Sun gần đây cấp miễn phí một bản Solaris OpenOffice chạy trên các máy PC cũng có thể giúp cho UNIX vào nước ta dễ hơn. Trước kia Sun từng đứng đầu nhiều năm về UNIX “thương mại”, nhưng rồi vị trí đó đã thuộc về IBM. Hiện nay cả hai hãng này đều ủng hộ Linux. c. SCO UNIX Cuối thập niên 1980, hãng trẻ SCO đã mở đầu bằng những phiên bản Xenix “giống UNIX”, cài đặt trên những máy PC có cấu hình phần cứng hiệu năng rất khiêm tốn so với PC bây giờ. Ngay sau Xenix, SCO đã cho ra đời bản phát hành UNIX 386 thật sự cũng để cài đặt trên các máy PC. Sử dụng, quản trị lập trình UNIX/Linux 2 Lê Hồng Tiến Tổ Đào tạo Chi phí mua SCO UNIX cộng với PC thấp hơn vài lần so với mua các máy của Sun, IBM hoặc DEC, nhờ đó mà nhiều nhà tin học nước ta đã tận tay biết được khá sớm UNIX là gì. Gần đây SCO mua lại OpenLinux của Caldera, một hãng tách từ Novell, để hòng tham gia thị trường Linux đã trở nên sôi động cả về máy chủ lẫn máy trạm. Lưu ý rằng nhiều phần mềm ứng dụng viết dưới SCO UNIX có thể chạy trực tiếp dưới Linux. d. Các hệ điều hành nguồn mở Các hệ điều hành nguồn mở nói ở đây bao gồm một họ các bản phát hành miễn phí của dòng “như UNIX”. Ngoài nguồn mở cho sao chép miễn phí, chúng có một ưu điểm nữa vì hầu như đã được phát triển trên nền tất cả các loại chip thông dụng ngày nay, đặc biệt cho các máy vi tính cá nhân PC Mac. Trong họ này, phát triển nhanh nhất phổ biến nhất qua Internet là Linux, nhờ sức mạnh riêng giấy phép chung GPL. Dù mới chỉ ra đời từ khoảng 10 năm trước nhưng Linux đã vào Việt Nam rất sớm gần đây bắt đầu được lãnh đạo nước ta chú ý. Xin xem chi tiết về GPL Linux ở các chương khác. Các hệ điều hành NetBSD, FreeBSD, OpenBSD cũng được phân phối qua Internet hoặc trực tiếp từ hãng BSD (lập ra bởi Đại học Berkeley, một cái nôi của phong trào phần mềm nguồn mở). Giấy phép sử dụng chúng kém tự do hơn GPL, mặt khác những sản phẩm BSD có tiếng là ổn định nhưng khó cài đặt nếu không phải chuyên gia, vì vậy chậm thành công hơn Linux. 1.1.2 Các tính chất chung a. Tính đa nhiệm UNIX (và các dẫn xuất của nó) có khả năng đảm nhiệm nhiều tác vụ đan xen nhau cho người sử dụng cảm giác chúng được tiến hành một cách thật sự song song, vì vậy gọi là có tính đa nhiệm (multitasking). Ví dụ ta có thể cho chạy một bài toán cùng với hiển thị các thông báo lên màn hình in một loạt tệp ra máy in, đồng thời vẫn nghe nhạc v.v b. Tính đa dụng UNIX cho phép nhiều người sử dụng (user) cùng làm việc trên một máy tính qua các terminal ảo hoặc thực, nghĩa là tại chỗ hoặc từ xa qua mạng. Ngược lại, một người sử dụng cũng có thể đăng nhập vào nhiều máy trên mạng với những tư cách khác nhau, nếu được quản trị viên cấp các trương khoản (account) tương ứng. Do vậy mới nói là UNIX có tính đa dụng (multiuser). c. Tính mở Kiến trúc của UNIX (và các dẫn xuất của nó) dựa trên hai tư tưởng chủ đạo về cấu trúc phân tầng (multilayer) quan niệm hệ thống mở (open system), nhằm giải quyết các quan hệ hoặc sự phát triển theo ba chiều, đồng thời vẫn giữ được tính riêng tư trong các “hộp đen”. Đây cũng là xu hướng càng ngày càng được đón nhận khắp thế giới. Sử dụng, quản trị lập trình UNIX/Linux 3 Lê Hồng Tiến Tổ Đào tạo Phân tầng là sắp xếp cấu trúc theo hai hướng lên-xuống, cố gắng sao cho mỗi tầng trở thành một đơn thể chuyên trách hoạt động bằng cách cung cấp toàn bộ dịch vụ cho cấp trên liền kề sử dụng toàn bộ dịch vụ của cấp dưới liền kề. Làm minh bạch như vậy nhằm để tránh sự trùng lặp chức năng chồng chéo quan hệ giữa các đơn thể. Nó cũng cho phép đơn giản hoá việc cải tiến hoặc thay đổi bất kỳ thành phần nào của một hệ thống vốn lớn hơn (hoặc sẽ mở rộng hơn) theo cách hầu như độc lập với các thành phần khác, nhờ vậy tăng hiệu năng hoạt động sự ổn định hoặc an ninh của hệ thống. Nếu như chuẩn hoá được những dịch vụ nói trên định dạng được dữ liệu đầu vào/đầu ra của từng thành phần thì các phần mềm thực hiện đơn thể sẽ trở nên phổ quát dễ dàng dùng chung đối với mọi hệ thống có cấu trúc tương tự. Thực tế hệ điều hành UNIX gồm có nhiều đơn thể phần mềm bao bọc nhau như những lớp vỏ củ hành. Trong cùng là một lõi hay hạt nhân (kernel) có chức năng quản trị phân phối các tài nguyên phần cứng như chip xử lý (CPU), các cửa vào/ra dữ liệu bộ nhớ v.v Lõi cung cấp các dịch vụ cơ bản nhất cho tầng trên thông qua những yêu cầu hệ thống (system calls). Mỗi tầng trên có một chức năng độc lập, ví dụ quản trị các tệp, diễn giải các chỉ thị của người dùng, mở phiên làm việc, biên dịch chương trình v.v Chính nhờ cấu trúc phân tầng mà các chương trình mã nguồn có thể dễ dàng biên dịch lại chạy được dưới các hệ điều hành khác nhau cài đặt trên các phần cứng khác nhau. Ví dụ điển hình là các bộ trình biên dịch ngôn ngữ C Fortran nổi tiếng như gcc, g77, F2C, chạy trên hầu hết các họ máy sau đây: Bull (Escala-T, -D-PowerPC, DPX/20-690, -150), DEC (8400, 3000, 2100A, 600, PWS500-Alpha), Dell (PowerEdge, 6100, OptiPlex, 4100 Pentium), HP (K260-PA8000, 9000), SG Irix (PowerChallenge-R10000, Indigo-R4000, Indigo-R10000, O2-R5000), IBM (RS-6000-595, -580, -560, -550, -370, -355, -320, -F50, -R50, -43P), Sun (IPC, Sparcstation, Server Ultra 2, -Ultraparc), v.v. cũng như trên các máy PC dưới mọi phiên bản của xBSD Linux. Quan niệm hệ thống mở xuất phát từ thực tế khi các hệ thống khác nhau có nhu cầu trao đổi thông tin thì phải thống nhất về giao diện (mặt tiếp xúc) giao thức (quy trình kết nối) giữa chúng. Quan niệm này cấu trúc phân tầng của UNIX đặc biệt phù hợp cho các hệ thống tin học trong môi trường làm việc qua mạng, nơi tất cả phải tuân theo một bộ tiêu chuẩn chung về giao diện giao thức. Xem thêm giáo trình về mạng, mô hình OSI bộ giao thức TCP/IP. d. So sánh UNIX Windows Những bản Windows 3.x, 9.x, XP NT/2000 là những hệ điều hành của cùng một hãng Microsoft. Chúng khá giống nhau về giao diện người dùng (cửa sổ đồ hoạ chuột), tuy nhiên lại khác nhau về cấu trúc hệ thống (dựa vào DOS hoặc độc lập với DOS) tổ chức xử lý dữ liệu (độ dài 16 hoặc 32 bit, bộ mã ký tự 8 bit hoặc 16 bit, tên tệp dài giới hạn hay tuỳ ý, v.v.). Mặc dù chỉ chạy trên họ chip Intel x86 nhưng nhiều khi chúng không gọi nổi ứng dụng hoặc tiện ích của nhau, lại không dùng được chương trình của các hệ điều hành khác, làm cho việc dùng chung dữ liệu phần mềm trở nên khó khăn. Sử dụng, quản trị lập trình UNIX/Linux 4 Lê Hồng Tiến Tổ Đào tạo Những bản từ Windows 95 trở về trước chưa có tính đa nhiệm thực sự, còn những bản Windows từ 98 trở về sau thì lại chiếm quá nhiều bộ nhớ đĩa cứng. Một mặt kém nữa là những hệ điều hành Microsoft có rất nhiều kẻ hở an ninh, dễ dàng bị virus các phần mềm tin tặc khác xâm nhập, thay đổi hoặc lợi dụng thông tin, thậm chí phá hoại cả phần cứng v.v Chỉ những phiên bản Server từ Windows NT/2000 trở lên mới thực sự có đủ chức năng làm máy chủ quản trị mạng có tính đa dụng như UNIX. Trong khi đó những bản UNIX thường chạy ổn định, an toàn hơn có thể sử dụng được các ứng dụng hoặc tiện ích của nhau nếu có mã nguồn. Nói chung chúng cũng có một số các lỗi kẻ hở an ninh nhưng ít hơn Windows thường được sửa chữa nhanh. Đối với người lập trình, lợi thế nổi bật của UNIX là ít nhất chúng cũng có sẵn các bộ trình biên dịch GNU các phần mềm nguồn mở khác. 1.1.3 Phiên làm việc đầu tiên a. Terminal quản trị viên Trước khi làm việc, đầu tiên phải có một thiết bị terminal nối nó qua cổng COM hoặc qua mạng Ethernet với một máy chủ UNIX. Terminal bao gồm một bàn phím để gõ chữ một màn hình để hiện chữ, nhưng có thể thay nó bằng một máy tính PC chạy dưới hệ điều hành DOS hoặc Windows v v. với một chương trình mô phỏng terminal. Nếu ta có riêng một trạm làm việc UNIX thì chỉ việc bật điện, thông thường đó cũng là một máy tính PC nhưng được cài một hệ điều hành “như UNIX”, hoặc SCO UNIX, hoặc Sun Solaris v.v Người quản trị mạng là một chuyên gia tin học có thể làm được tất cả những việc chuẩn bị nói trên cấp cho ta một trương khoản (account), bao gồm tên đăng nhập mật khẩu của ta. b. Đăng nhập Khi bắt đầu làm việc ở chế độ dòng lệnh văn bản (text) với một máy UNIX, trên màn hình sẽ hiện ra dòng chữ mời gọi ta đăng nhập (login). Ta mở đầu phiên làm việc bằng cách trả lời máy, cụ thể là gõ vào tên đăng nhập của mình (username hay logname, phân biệt chữ hoa với chữ thường) kết thúc bằng nhấn phím<RETURN> (hoặc <Enter> trên PC): login: tên đăng nhập<RETURN> Máy sẽ hiển thị mời ta gõ vào mật khẩu của mình: password: Nếu ta gõ đúng mật khẩu thì đăng nhập thành công dấu nhắc shell hiện ra. c. Những người sử dụng Người sử dụng tối cao (superuser) của một máy UNIX thường là quản trị viên hoặc người có một trương khoản đặc biệt với tên đăng nhập duy nhất, gọi là root. Sử dụng, quản trị lập trình UNIX/Linux 5 [...]... Sử dụng, quản trị lập trình UNIX/ Linux 6 Lê Hồng Tiến Tổ Đào tạo 1.2 Giao diện người sử dụng Mục này sẽ giới thiệu sơ bộ hai chế độ làm việc của người sử dụng UNIX, đó là thông qua dòng lệnh thông qua các cửa sổ đồ hoạ Những người sử dụng giỏi thường quen giao tiếp qua dòng lệnh để có thể phát huy hết sức mạnh tổ hợp từ các lệnh tuỳ chọn của UNIX (xem tiếp mục nhỏ dưới đây chương Lập trình. .. nghĩa là ta có thể chạy đồng thời nhiều ứng dụng với nhiều cửa sổ được mở ra 2- X Client Với X Window, X Client là chương trình ứng dụng X Client chứa các mã thực hiện những lệnh mà người dùng yêu cầu: gửi thư điện tử, tính lương, quản trị cơ sở dữ liệu hay bất kỳ điều gì cần thiết để hỗ trợ X cung ứng giao diện người dùng Sử dụng, quản trị lập trình UNIX/ Linux 10 Lê Hồng Tiến Tổ Đào tạo Yêu cầu... 2>> " để tạo ra một tệp mới hoặc ghi thông báo lỗi vào cuối một tệp cũ cùng tên: % cat tệp_ strange 2>> tệp_old Ghi chú: Trong Bourne shell < tức là 1> 1>> Sử dụng, quản trị lập trình UNIX/ Linux 23 Lê Hồng Tiến Tổ Đào tạo +Trong C shell: Trong C shell không có ký hiệu riêng để chỉnh hướng báo lỗi, chỉ có >& >>& để chỉnh hướng nó cùng với luồng dữ liệu thông... UNIX phân biệt những người sử dụng nó thành hai lớp người được hưởng các quyền truy cập khác nhau đối với mỗi tệp tồn tại trong hệ thống: - người sử dụng tối cao (superuser), - người sử dụng bình thường (user) 1- Người sử dụng tối cao Superuser được hưởng mọi thứ quyền truy cập đối với mỗi tệp đang tồn tại, dù là của mình hay của những người sử dụng bình thường khác Superuser có thể Sử dụng, quản trị. .. của các trạm làm việc UNIX Đó là một trong nhiều lý do giải thích tại sao X Window được cung cấp miễn phí trên Internet Được sử dụng miễn phí, X Window phát huy tính liên tác (interoperability), vốn là nền tảng của các hệ mở Sử dụng, quản trị lập trình UNIX/ Linux 11 Lê Hồng Tiến Tổ Đào tạo 1.3 Các tệp UNIX Mục này sẽ mô tả cấu trúc hệ thống tệp với những thành phần chủ yếu những thao tác cơ bản... muốn tạo ra một hệ thống cửa sổ duy nhất nhằm giảm bớt khó khăn khi dùng giao diện qua dòng lệnh trên các máy chủ máy trạm làm việc dưới UNIX Năm 1987, họ thành lập một tổ chức mang tên X Consortium để khuếch trương chuẩn hoá hệ thống X Window Sử dụng, quản trị lập trình UNIX/ Linux 9 Lê Hồng Tiến Tổ Đào tạo X Window thực chất là một tập hợp các thành phần kết hợp với nhau, bao gồm: - Hệ thống... Lệnh sẽ đếm hiển thị số dòng, số từ số ký tự (kể cả ký tự điều khiển) của một tệp, nếu chỉ đếm một thứ thì dùng tuỳ chọn -l, -w, hoặc -c: % wc tệp Lệnh này có thể áp dụng cho nhiều tệp ta sẽ có tổng số: % wc tệp1 tệp2 tệpn Sử dụng, quản trị lập trình UNIX/ Linux 24 Lê Hồng Tiến Tổ Đào tạo b Kích cỡ tệp 1- Lệnh sum Lệnh sum sẽ tính checksum của một tệp kích cỡ tính bằng số block của nó:... tên mặc định sẽ là xaa, xab, xzz: % split –5000 tệp_to Nếu không đặt n rõ ràng thì giá trị mặc định sẽ là 1000: % split tệp 1.3.7 Các bộ lọc riêng a Lệnh tr 1- Lệnh tr tổng quát Sử dụng, quản trị lập trình UNIX/ Linux 25 Lê Hồng Tiến Tổ Đào tạo Lệnh tr nhập dữ liệu vào từ bàn phím (sau trước ^D) thay đổi các dữ liệu đó theo quy luật chuyển dịch các ký tự ở chuỗi_1 thành các ký tự... (regular) mọi tuỳ chọn của fgrep đều áp dụng cho grep, trừ -f 2- Biểu thức regular của grep Biểu thức hợp quy là một chuỗi ký tự bao gồm cả các ký tự đặc biệt được xử lý theo cách riêng của lệnh grep Sử dụng, quản trị lập trình UNIX/ Linux 27 Lê Hồng Tiến Tổ Đào tạo Lưu ý rằng lệnh tự xử lý các ký tự đặc biệt trong biểu thức hợp quy chứ không nhờ shell như trong trường hợp có các siêu ký tự Trong UNIX. .. tự diễn dịch chúng Nếu toàn bộ thông tin sinh ra bởi các siêu ký tự sinh tên tệp là rỗng thì ta nhận được thông báo sau: No match Sử dụng, quản trị lập trình UNIX/ Linux 19 Lê Hồng Tiến Tổ Đào tạo Nói chung siêu ký tự là những ký tự đặc biệt có một ý nghĩa riêng nào đó cho shell chỉ cho shell Nhưng có những ký tự khác không thuộc loại sinh tên tệp, ví dụ các dấu chỉnh hướng như > < Dưới UNIX . 1 SỬ DỤNG, QUẢN TRỊ VÀ LẬP TRÌNH UNIX/ LINUX Đối tượng và cách dùng Tài liệu này nhằm phục vụ những người sử dụng, quản trị mạng và lập trình trên các máy tính có cài hệ điều hành UNIX hoặc Linux. . Sử dụng, quản trị và lập trình UNIX/ Linux 5 Lê Hồng Tiến Tổ Đào tạo Người sử dụng bình thường (user) là ta và những người được quản trị viên cấp cho các trương khoản bình thường. Bản thân quản. và nay chuyển sang chủ HP), HP UX sử dụng nhóm chip HP PARISC (1995), SGI sử dụng nhóm chip R5000 và R10000 (1996), v.v Sử dụng, quản trị và lập trình UNIX/ Linux 1 Lê Hồng Tiến Tổ Đào tạo Chú

Ngày đăng: 14/06/2014, 11:39

Từ khóa liên quan

Mục lục

  • SỬ DỤNG, QUẢN TRỊ VÀ LẬP TRÌNH UNIX/LINUX

    • Đối tượng và cách dùng

    • Tóm tắt nội dung

      • Chương 1. Hệ điều hành UNIX

      • Chương 2. Lập trình Shell

      • Chương 3. Giao diện đồ hoạ

      • Chương 4. Lập trình hệ thống

      • Chương 5. Làm việc trên mạng IP

      • Chương 6. Làm quen và cài đặt Linux

      • Chương 7. Quản trị Linux

      • Chương 8. Hỗ trợ giải quyết sự cố trong Linux

      • Dành cho giảng viên

      • Chú ý

      • CHƯƠNG 1. HỆ ĐIỀU HÀNH UNIX

        • 1.1 Dẫn nhập

          • 1.1.1 Các họ UNIX phổ biến ở Việt Nam

            • a. IBM AIX

            • b. Sun Solaris

            • c. SCO UNIX

            • d. Các hệ điều hành nguồn mở

            • 1.1.2 Các tính chất chung

              • a. Tính đa nhiệm

              • b. Tính đa dụng

              • c. Tính mở

              • d. So sánh UNIX và Windows

              • 1.1.3 Phiên làm việc đầu tiên

                • a. Terminal và quản trị viên

Tài liệu cùng người dùng

Tài liệu liên quan