logo

Hướng dẫn sử dụng hệ điều hành Linux

Tham khảo tài liệu 'hướng dẫn sử dụng hệ điều hành linux', công nghệ thông tin, hệ điều hành phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Khoa Toán – Cơ – Tin học Hướng dẫn sử dụng hệ điều hành Linux (sử dụng Môi trường văn bản (text)) Các hệ điều hành ngày nay đều có giao diện đồ họa (graphics) nhằm giúp cho người sử dụng dễ dàng "nói chuyện" với máy một cách trực quan mà không cần hiểu những gì diễn ra sau giao diện ấy. Tuy nhiên, là sinh viên ngành Tin học, bạn không thể bằng lòng với vai trò "người sử dụng" đơn giản. Bạn hãy khám phá hệ điều hành Linux trong môi trường văn bản (text): sử dụng thành thạo nó sẽ giúp bạn có khả năng làm chủ máy tính và có thể trở thành một lập trình viên giỏi. Hướng dẫn sử dụng hệ điều hành Linux............................................................................................. 1 1 Khởi động................................................................................................................................. 1 2 Thay đổi mật khẩu ................................................................................................................... 2 3 Các lệnh Linux cơ bản............................................................................................................. 2 3.1 Tổ chức dữ liệu ................................................................................................................ 3 3.2 Chạy chương trình. Quản lí tiến trình ............................................................................ 7 3.3 Hệ thống vào/ra của Linux.............................................................................................. 9 3.4 Trao đổi với những người sử dụng khác trong mạng.................................................. 10 Phụ lục 1- Hệ thống tệp ..................................................................................................................... 11 Phụ lục 2- Sử dụng trình soạn thảo văn bản Vi................................................................................ 11 Phụ lục 3 - Biểu thức chính quy ........................................................................................................ 13 Phụ lục 4 – Cài đặt ứng dụng trong Linux........................................................................................ 15 Cài đặt các gói RPM (Red Hat Package Management):.............................................................. 15 Cài đặt các gói DEB: ..................................................................................................................... 16 Gỡ nén............................................................................................................................................. 17 Biên dịch gói chương trình nguồn ................................................................................................ 17 1 Khởi động Bật máy (công tắc phía trước) J Đối với máy chạy hệ điều hành Windows: Sau khi truy nhập vào môi trường Windows, chạy tiện ích Putty (qua nút bấm tắt trên Desktop hoặc nếu không có thì tìm trong thư mục C:\Apps\Putty). Trong cửa sổ giao diện Putty, chọn trong danh sách cấu hình kết nối tới máy chủ jupiter đã được thiết lập sẵn, kích nút Load rồi sau đó kích nút Open để kết nối. Màn hình làm việc sẽ hiện ra với yêu cầu nhập tên đăng nhập (login as). Đăng nhập vào môi trường Linux với tên và mật khẩu được cấp cho bạn. Sau khi đăng nhập, kích nút phải chuột trên phần cửa sổ làm việc này và chọn "Full screen". Đối với máy chạy hệ điều hành Linux: Sau khi máy nạp xong hệ điều hành Linux, sẽ xuất hiện màn hình cho phép đăng nhập (login). Ấn tổ hợp phím Ctrl-Alt-F1 để về màn hình đăng nhập ở chế độ văn bản. Tại dòng login gõ tên đăng nhập của bạn, ấn Enter và gõ mật khẩu được cấp cho bạn. Bộ môn Tin học 1 Khoa Toán – Cơ – Tin học 2 Thay đổi mật khẩu Sau khi bạn đăng nhập lần đầu tiên vào tài khoản máy tính của bạn, hãy ngay lập tức thay đổi mật khẩu truy nhập để bảo đảm tính an toàn cho dữ liệu của bạn từ nay về sau. Các điểm cần chú ý: - Không trao đổi mật khẩu của mình với bất kì ai. Việc chia sẻ hoặc để lộ mật khẩu cá nhân sẽ làm mất tính riêng tư của bạn và có thể gây hại đến dữ liệu trong tài khoản của bạn cũng như khiến bạn phải chịu trách nhiệm về những vấn đề hỏng hóc hệ thống máy tính vốn không phải do bạn gây ra. Bạn phải chịu hoàn toàn trách nhiệm về mọi vấn đề liên quan đến tài khoản máy tính của bạn. - Yêu cầu về mật khẩu: mật khẩu bao gồm ít nhất 6 kí tự, cần có ít nhất một kí hiệu không phải là chữ cái. Lệnh thay đổi mật khẩu: yppasswd - Sau khi bấm Enter, máy chờ nhập dữ liệu ở dòng Old password (hoặc current password). Gõ mật khẩu hiện thời của bạn và ấn Enter. - Máy hiện yêu cầu Enter new password. Gõ mật khẩu mới và ấn Enter. - Máy yêu cầu bạn gõ lại mật khẩu mới lần thứ hai để đảm bảo bạn không nhầm lẫn. Gõ lại đúng mật khẩu mới và ấn Enter. Hãy thoát khỏi hệ thống bằng lệnh: logout Mời bạn đăng nhập (login) lại bằng tên đăng nhập của bạn và mật khẩu mới. 3 Các lệnh Linux cơ bản Là sinh viên học Tin học, bạn cần học những gì? 1. Tổ chức dữ liệu của mình: § Đặt các tệp (file) chứa dữ liệu của bạn vào các thư mục (directory) thích hợp để việc tìm kiếm khi cần thiết được dễ dàng (ví dụ các tệp liên quan đến bài tập của một môn học đặt trong thư mục riêng cho môn học đó. Trong cùng một môn học có thể có nhiều loại bài tập khác nhau cũng nên được đặt vào các thư mục riêng biệt) § Sao chép dữ liệu từ nơi này sang nơi khác § Xóa bỏ những dữ liệu không cần thiết nữa § Bảo mật dữ liệu của mình (không cho người ngoài truy nhập vào các tệp dữ liệu mang tính riêng tư của mình) § v.v 2. Chạy một chương trình ứng dụng có trên máy tính 3. Quản lí các tiến trình (process) của mình trên hệ thống máy tính 4. Cài đặt một chương trình mới lên máy tính 5. Soạn thảo văn bản (tài liệu, chương trình) 6. Viết chương trình cho máy tính 7. Trao đổi với những người sử dụng mạng khác (mail, talk) 8. Tìm kiếm, thu thập, phân phát dữ liệu trong mạng máy tính (mạng nội bộ ở nơi học/làm việc, mạng toàn cầu – Internet) 9. Quản trị mạng máy tính 10. v.v. Bộ môn Tin học 2 Khoa Toán – Cơ – Tin học Các bạn sẽ có thể thực hành 1, 2, 3, 5, 6, 7 ở trường. 4, 8, 9, 10 dành cho các bạn đọc thêm và thực hành máy tính ở nhà. 3.1 Tổ chức dữ liệu Nội dung của bài thực hành này tập trung vào vấn đề tổ chức dữ liệu. Bạn cần học các lệnh cơ bản của Linux cho phép bạn thao tác với các tệp dữ liệu và tệp thư mục. Các lệnh này được dùng chung cho tất cả các phần mềm vỏ (shell) của Linux (ví dụ như sh, bash, v.v.). Cần chú ý là mỗi người sử dụng hệ thống Unix/Linux được cấp một thư mục làm việc riêng, gọi là thư mục chủ của người sử dụng. Ví dụ, một sinh viên của lớp K50 A5 với số thứ tự được cấp là 72 thì sẽ có thư mục chủ của mình là /home/students/K50A5_072/. Nói chung, bạn chỉ có quyền ghi/xoá dữ liệu trên thư mục của bạn. Dữ liệu trong các thư mục khác thông thường bạn có khả năng đọc (read) hoặc chạy (execute) nếu đó là chương trình, trừ khi người sở hữu dữ liệu cấm toàn bộ quyền truy nhập. 3.1.1 Giới thiệu lệnh Sau đây là danh sách các lệnh cơ bản sẽ thực hành: Lệnh Ý nghĩa Cú pháp Lệnh thao tác với thư mục pwd Xem đường dẫn đầy đủ của thư pwd mục làm việc hiện thời ls Xem nội dung thư mục hiện thời ls [-l|-alt] du Xem thông tin dung lượng của du [-s|-a] một thư mục cd Chuyển đến thư mục khác cd mkdir Tạo thư mục mới mkdir rmdir Xóa 1 thư mục rỗng rmdir Lệnh thao tác với tệp (tệp dữ liệu thông thường và tệp thư mục) cat Xem nội dung tệp cat more Xem nội dung tệp từng trang một more head Xem dòng đầu của tệp văn bản head tail Xem dòng cuối của tệp văn bản tail cp Sao chép tệp từ nơi này sang nơi cp khác cp –r mv Di chuyển (đổi tên) tệp/thư mục mv rm Xóa tệp/thư mục rm [-i] rm –r chmod Đặt quyền truy nhập tệp cho những chmod người dùng khác trong hệ thống (xem giải thích phân quyền ở dưới) ln Tạo tệp liên kết (link) ln [-s] find Tìm kiếm tệp find grep Tìm kiếm xâu trong tệp grep "" grep –e (xem phụ lục biểu thức chính quy) Bộ môn Tin học 3 Khoa Toán – Cơ – Tin học Phân quyền: Các hệ thống Unix/Linux cho phép phân quyền cho 3 đối tượng người sử dụng hệ thống máy tính: người sở hữu dữ liệu (user), những người thuộc cùng nhóm (group) làm việc với người sở hữu, và những người dùng khác (other). Với mỗi đối tượng có thể có ba quyền sau: quyền đọc (read), quyền ghi (write), và quyền chạy (execute - nếu là tệp chương trình). Đối của lệnh chmod được biểu diễn theo 2 cách: - Dạng số: Gồm 3 chữ số n1n2n3, trong đó ni ∈ [0, 7]. n1 thể hiện quyền truy nhập tệp/thư mục cho user, n2 thể hiện quyền cho group, và n3 thể hiện quyền cho other. 0 1 2 3 4 5 6 7 --- --x -w- -wx r-- r-x rw- rwx - Dạng chữ cái: [+ | -] § đối tượng: u (cho user), hoặc g (cho group), hoặc o (cho other), hoặc a (cho all – tất cả mọi người dùng) § +: cho quyền, -: không cho quyền § quyền: r, w, x § Ví dụ: u+x : cho user có quyền chạy chương trình. g-w : cấm những người dùng khác trong cùng nhóm (group) quyền ghi lên tệp. Sử dụng kí tự gộp *: Một số lệnh cho phép thao tác với nhiều tệp một lúc. Khi đó, tên các tệp này phải có khả năng viết gộp lại thành một tên chung. Kí tự * có ý nghĩa là "xâu kí tự bất kì", được dùng cho việc viết gộp tên tệp này. Ví dụ: *.c nghĩa là tất cả các tệp có phần đuôi của tên là .c. 3.1.2 Bài tập thực hành Yêu cầu I: Một số tệp/thư mục dành cho phần bài tập thực hành này đã được tạo sẵn, đặt trong thư mục /home/local/exercises/. Bạn được yêu cầu làm các thao tác sau: 1. Kiểm tra tên thư mục hiện thời của mình. 2. Nếu thư mục hiện thời không phải là /home/ thì chuyển về thư mục đó. 3. Sao chép thư mục /home/local/exercises/BaitapLinux/ về thư mục chủ của bạn (tức là thư mục /home/students//). 4. Chuyển về thư mục chủ của bạn. 5. Xem thư mục hiện thời, kiểm tra xem đã có thư mục BaitapLinux trong đó chưa. 6. Đổi tên thư mục BaitapLinux thành Baitap1. 7. Xem nội dung thư mục Baitap1. 8. Kiểm tra xem tệp nào trong thư mục Baitap1 là tệp chương trình chạy được (excutable). 9. Xem nội dung tệp chương trình tìm được. Đoán xem chương trình đó sẽ làm gì J 10. Chạy chương trình đó. (Bạn có đoán đúng kết quả chương trình không? J) 11. Thay đổi quyền truy nhập tệp của bạn để bạn không có quyền x (thực hiện) đối với tệp chương trình đó. 12. Chuyển vào thư mục Baitap1. 13. Xem lại nội dung thư mục Baitap1 để kiểm tra xem việc thay đổi quyền truy nhập của bạn đã được thực hiện đúng chưa. 14. Thử chạy chương trình để chắc chắn là bạn không chạy được chương trình đó nữa J 15. Xoá các tệp có tên bắt đầu bằng k49 trong thư mục Baitap1. Bộ môn Tin học 4 Khoa Toán – Cơ – Tin học 16. Xem danh sách các tệp có đuôi .tmp trong thư mục hiện thời. Ghi tên các tệp này ra giấy. 17. Tạo thư mục temp (temporory – có nghĩa là tạm thời) trong thư mục Baitap1. 18. Di chuyển tất cả các tệp có đuôi .tmp trong thư mục Baitap1 vào thư mục temp mới tạo này. 19. Chuyển vào thư mục temp. 20. Xem danh sách tệp trong thư mục hiện thời. Danh sách này có giống danh sách thu được ở bước 15 không? 21. Đổi quyền truy nhập cho tất cả các tệp có đuôi .tmp trên sao cho tất cả mọi người sử dụng hệ thống có quyền đọc và ghi đối với các tệp đó. 22. Xem lại thư mục temp để chắc chắn là bạn đã thực hiện đúng lệnh đổi quyền. 23. Nghỉ giải lao: trao đổi với bạn bên cạnh xem có khó khăn gì không J. Cách thực hiện yêu cầu I: Để thực hiện được các yêu cầu trên, bạn lần lượt thực hiện các bước sau (sau khi thực hiện xong mỗi bước, chỉ chuyển sang bước sau nếu không nhận được thông báo lỗi gì): 1. Gõ lệnh: pwd 2. Nếu kết quả ở bước 1 hiện ra trên màn hình là /home thì bạn không phải làm gì. Nếu không phải, bạn gõ lệnh: cd /home 3. Để sao chép thư mục cần có tham số -r cho lệnh cp. Bạn chọn gõ 1 trong 2 lệnh sau: cp –r /home/local/exercises/BaitapLinux /home/students/ cp –r local/exercises/BaitapLinux students/ sBạn chọn cách nào? Vì sao 2 lệnh này có tác dụng như nhau? 4. Gõ lệnh: cd students/ 5. Gõ lệnh: ls sBạn có thấy trong danh sách kết quả có tên BaitapLinux không? Bây giờ gõ tiếp lệnh sau: ls -l sBạn thấy khi bổ sung tham số -l thì kết quả hiện ra có gì khác? Hãy nhìn dòng chứa thông tin liên quan đến BaitapLinux. Các thông tin hiện ra bao gồm: . Thuộc tính kiểu tệp và phân quyền tệp được biểu diễn bằng một xâu gồm 10 kí tự (ví dụ tệp thư mục BaitapLinux có thuộc tính là drwxr-xr-x): kí tự đầu tiên là kiểu tệp (thường gặp nhất d tương ứng với tệp thư mục, - tương ứng với tệp thông thường), 9 kí tự sau là phân quyền tương ứng với 3 đối tượng (người sở hữu, người sử dụng thuộc cùng nhóm làm việc, những người sử dụng khác – xem lại giới thiệu phân quyền ở phần 3.1.1). 6. Gõ lệnh: mv BaitapLinux Baitap1 s Thực hiện lại lệnh ở bước 5 để xem có thư mục Baitap1 thay cho BaitapLinux không? 7. Ở bước 5 ta xem nội dung thư mục hiện thời nên không cần gõ tên thư mục sau lệnh ls. Bây giờ để xem thư mục Baitap1, cần gõ lệnh: ls –l Baitap1 Bộ môn Tin học 5 Khoa Toán – Cơ – Tin học 8. Tệp chương trình trong thư mục Baitap1 là tệp có thuộc tính phân quyền x cho đối tượng người sở hữu (user). Phần tiếp theo khi viết thì bạn phải gõ tên tệp này. 9. Gõ lệnh: cat Baitap1/ hoặc more Baitap1/ sVới lệnh more, nếu nội dung tệp dài quá 1 trang trong cửa sổ lệnh, cần ấn phím cách (Space) để xem tiếp trang sau. Muốn thoát khỏi lệnh more thì ấn phím Q. Đoán xem chương trình này làm gì? J (Chú ý: không phải tệp chương trình nào bạn cũng có thể "đọc hiểu" được. Chương trình bạn vừa xem là một chương trình nguồn dạng văn bản, được máy thông dịch khi chạy. Đa số các chương trình khác thì thường đã được biên dịch thành mã nhị phân – khi đó bạn không "đọc hiểu" được). 10. Chạy chương trình bằng cách gõ: Baitap1/ sKết quả chương trình có đúng như bạn đoán không? J 11. Đổi quyền truy nhập: chmod u-x Baitap1/ 12. Gõ lệnh: cd Baitap1 13. Gõ lệnh: ls –l sTệp trong danh sách có thông tin thuộc tính bắt đầu bằng –rw- không? Nếu có tức là bạn đã làm đúng ở bước 10. Nếu không, cần thực hiện lại lệnh ở bước 10 (chú ý viết đúng đường dẫn) 14. Thử chạy lại chương trình: ./ sBạn có nhận được thông báo lỗi không? 15. Xem lại khái niệm kí tự gộp * ở mục 3.1.1. Để xoá tất cả các tệp có tên bắt đầu bằng k49 thì gõ lệnh: rm –I k49* Tham số -i cho phép bạn khẳng định lại nếu bạn thực sự muốn xoá tệp nào đó. Bạn trả lời y (yes) nếu chắc chắn, n (no) nếu không. Nói chung nên có tham số này vì nếu không bạn sẽ mất hẳn dữ liệu khi trót gõ nhầm tên tệp cần xoá (trong Unix/Linux bạn không thể khôi phục dữ liệu đã xoá bằng lệnh rm). 16. Gõ lệnh: ls *.tmp Ghi danh sách tên tệp thu được ra giấy. 17. Gõ lệnh: mkdir temp sXem lại thư mục hiện thời bằng lệnh ls để kiểm tra xem đã có thư mục temp chưa. 18. Gõ lệnh: mv *.tmp temp/ 19. Gõ lệnh: cd temp 20. Gõ lệnh: ls –l 21. Xem lại khái niệm phân quyền ở mục 3.1.1. Để tất cả mọi người có quyền đọc, ghi, nhưng không có quyền thực hiện (vì các tệp này không phải là tệp chương trình), thì cả 3 đối tượng Bộ môn Tin học 6 Khoa Toán – Cơ – Tin học (user, group, other) đều có quyền rw- (biểu diễn dạng số là 6). Vậy cần gõ lệnh sau: chmod 666 *.* 22. Gõ lệnh: ls –l sNếu làm đúng thì các tệp trong danh sách đều có thông tin thuộc tính là: –rw-rw-rw- 23. Nghỉ giải lao J Mẹo nhỏ: - Dùng phím con trỏ lên ↑, xuống ↓ để lấy lại một lệnh đã thực hiện - Khi gõ tên tệp/thư mục, có thể gõ một vài chữ cái đầu rồi dùng phím Tab để nhận được hỗ trợ tự động điền tên tệp/thư mục. Như thế có 2 lợi ích: § Tiết kiệm công gõ khi tên tệp/thư mục dài § Tránh lỗi khi truy nhập tệp/thư mục do gõ nhầm tên Sửa chữa lỗi sai trong quá trình thực hành: - Trong khi làm bài thực hành, một trong các lỗi thường gặp nhất của học viên là tạo thư mục không đúng tên theo đề bài yêu cầu. Vì thế, sau mỗi lần tạo thư mục, bạn cần kiểm tra lại bằng lệnh xem nội dung thư mục. Nếu tạo sai, cần xoá đi thư mục vừa tạo (bằng lệnh hoặc rmdir hoặc rmdir ), rồi làm lại thao tác tạo thư mục. - Lỗi thường gặp khác: Không đặt khoảng cách giữa lệnh và các đối của lệnh (ví dụ thay vì làm (cp ) thì lại làm (cp). - Hãy cùng bổ sung danh sách lỗi thường gặp J Yêu cầu 2: Giáo viên hướng dẫn cho bài tập liên quan đến các lệnh trên, yêu cầu sinh viên tự thực hiện. 3.2 Chạy chương trình. Quản lí tiến trình 3.2.1 Chạy chương trình Khi bạn gõ lệnh thực hiện một thao tác tổ chức dữ liệu ở trên, thì thực ra là bạn đã chạy một chương trình tiện ích đã cài đặt trong vỏ của hệ điều hành Linux. Một cách tổng quát, để chạy một chương trình có trong một hệ thống Linux, có thể làm một trong những cách sau: - Nếu tệp chương trình nằm trong thư mục đã khai báo trong biến môi trường PATH (là biến chứa tập hợp đường dẫn tới các thư mục mà hệ thống sẽ tìm kiếm chương trình trong đó), thì chỉ cần gõ: - Nếu tệp chương trình nằm trong thư mục chưa có trong PATH, thì có thể: § Bổ sung đường dẫn đến tệp chương trình vào biến môi trường PATH, rồi chạy chương trình như ở trên. § Chuyển đến thư mục có chứa tệp chương trình, rồi gõ: ./ (dấu . biểu thị thư mục hiện thời) § Gõ tên tệp chương trình với đường dẫn đầy đủ (kể từ thư mục gốc). Chú ý: Bộ môn Tin học 7 Khoa Toán – Cơ – Tin học - Khi trong hệ thống có nhiều tệp chương trình trùng tên, thì hệ thống chạy chương trình nằm trong thư mục đầu tiên trong danh sách các thư mục trong PATH. Muốn gọi một chương trình nằm trong các thư mục đứng sau trong danh sách thì chạy phải gõ đường dẫn đầy đủ tới chương trình đó. - Tệp chương trình trong Linux không được nhận biết bằng phần đuôi tên tệp như trong Windows, mà nhận biết bằng thuộc tính x (execute) của tệp. Do đó, nếu bạn gọi một chương trình mà không thấy chương trình chạy, cần kiểm tra lại xem bạn có quyền x đối với tệp đó không. Nếu không có, và tệp chương trình đó thuộc quyền sở hữu của bạn, thì cần dùng lệnh chmod để đổi lại quyền truy nhập của bạn là x. - Đối với các chương trình hệ thống, để xem hướng dẫn sử dụng chương trình (lệnh) – bạn có thể thực hiện những cách sau: § --help § man Các lệnh trợ giúp: - Xem nội dung biến môi trường PATH hiện thời: echo $PATH sLệnh echo hiển thị xâu tham số ra màn hình. Dấu $ thêm vào trước một tên biến cho phép lấy giá trị của biến đó. Ở đây $PATH là giá trị của biến môi trường PATH. - Bổ sung một đường dẫn vào PATH: export PATH=$PATH: - Tìm kiếm một tệp chương trình trong hệ thống tệp: find / -name "" - Xác định thư mục chứa một chương trình mà đường dẫn đã có trong PATH: which Thực hành: - Xem nội dung biến môi trường PATH. - Xem các lệnh đã thực hành như more, ls, chmod, cp, mv, rm nằm trong thư mục nào. - Bổ sung thư mục Baitap1 ở bài thực hành trước vào PATH. Chạy chương trình có trong thư mục Baitap1 từ bất kì thư mục nào. - Tìm thư mục chứa chương trình có tên "gcc". 3.2.2 Quản lí tiến trình Mỗi chương trình chạy trong hệ thống tương ứng với một tiến trình (process). Bạn có thể theo dõi hoạt động của các chương trình thông qua việc quan sát trạng thái các tiến trình này. Các thông tin liên quan đến một tiến trình bao gồm: mã số tiến trình, mức độ ưu tiên, tài nguyên máy tính mà tiến trình sử dụng (bộ nhớ, CPU), v.v. Bạn cũng có thể tạm ngừng một tiến trình, cho chạy tiếp một tiến trình bị tạm ngừng hoặc ngừng hẳn một tiến trình. Các lệnh trợ giúp: - Xem thông tin liên quan đến hoạt động của các tiến trình: top - Xem các chương trình nào đang chạy trên máy: ps Bộ môn Tin học 8 Khoa Toán – Cơ – Tin học - Tạm ngừng một tiến trình: Ấn tổ hợp phím Ctrl-Z - Chạy tiếp một tiến trình đang tạm ngừng: fg - Cho một tiến trình đang tạm ngừng chạy dưới nền: bg - Ngừng một tiến trình đang thực hiện: kill - Chạy một chương trình dưới nền (background): & Các hệ thống Unix/Linux còn có cơ chế ống dẫn (pipe) cho phép các tiến trình liên lạc với nhau: đầu ra (kết quả) của tiến trình trước là đầu vào (đối) của tiến trình sau. Ví dụ, bạn hãy gõ và so sánh hai lệnh sau: 1) ls –l /usr/bin 2) ls –l /usr/bin | more (lệnh thứ 2 có nghĩa là kết quả của lệnh ls sẽ là đối của lệnh more). Thực hành: - Xem thông tin liên quan đến hoạt động của các tiến trình; - Chạy chương trình man để xem hướng dẫn sử dụng lệnh chmod. - Tạm ngừng chương trình man. - Thực hiện lệnh ps để xem danh sách các tiến trình đang hoạt động. - Gõ lệnh fg để chạy tiếp chương trình man. 3.3 Hệ thống vào/ra của Linux Trong các hệ thống Unix/Linux, tất cả mọi thiết bị đều được quản lí như các tệp. Bàn phím và màn hình cũng vậy. Khi một chương trình chạy, nó đòi hỏi một tệp vào chuẩn (stdin standard input) để lấy dữ liệu vào, một tệp ra chuẩn để in kết quả ra (stdout standard output) và một tệp lỗi chuẩn (stderr standard error output) để in lỗi (nếu có). Nếu không có chỉ thị gì khác trong chương trình, thì tệp vào chuẩn (stdin) là bàn phím, tệp ra chuẩn (stdout) cũng như tệp lỗi (stderr) là màn hình (hay cửa sổ máy trạm). Các chương trình vỏ Linux (tương ứng với các lệnh chạy ở dòng lệnh) đều sử dụng các tệp vào ra chuẩn như trên. Tuy nhiên, người sử dụng có thể làm thao tác chuyển hướng (redirect) vào ra – tức là chỉ ra tệp nào được dùng như stdin, tệp nào dùng như stdout. Để lấy dữ liệu từ một tệp làm vào chuẩn, bổ sung vào cuối lệnh (lời gọi chương trình) xâu : < tên_tệp Để đặt kết quả của chương trình vào một tệp mới, bổ sung vào cuối lệnh xâu: > tên_tệp Để đặt kết quả của chương trình vào cuối một tệp đã có, bổ sung vào cuối lệnh xâu: >> tên_tệp Để chuyển hướng kết quả ra và lỗi vào một tệp mới, bổ sung vào cuối lệnh xâu: Bộ môn Tin học 9 Khoa Toán – Cơ – Tin học >& tên_tệp Thực hành: - Gõ lệnh: ls -l /home/local - Gõ lệnh: ls -l /home/local > ~/thumuc.lst sLệnh này tạo tệp thumuc.lst trong thư mục chủ của bạn (tức là thư mục /home/students/ - cả xâu này kí hiệu bằng ~ trong Unix/Linux). - Kiểm tra lại kết quả bằng cách thực hiện lệnh: more ~/thumuc.lst - Gõ lệnh: ls -l /home/local > /dev/null sTheo bạn chuyện gì xảy ra ở lệnh trên? - Gõ lệnh: echo "Xin chao" sLệnh echo in xâu đối lên thiết bị ra chuẩn, tức là màn hình hay cửa sổ lệnh. - Gõ lệnh: echo "This is the end of the file" >> ~/thumuc.lst - Kiểm tra lại kết quả bằng cách thực hiện lệnh: more ~/thumuc.lst 3.4 Trao đổi với những người sử dụng khác trong mạng Khi làm việc trong hệ thống mạng nội bộ và truy nhập vào máy chủ, bạn có thể chia sẻ và trao đổi thông tin với những người sử dụng khác đang nối với máy chủ. Ngoài khả năng có thể chia sẻ tài nguyên chung trên mạng (tệp dữ liệu, thiết bị ngoại vi như máy in, máy scan, v.v.) – bạn còn có thể trao đổi bằng cách gửi thông điệp trực tuyến hay gửi thư điện tử. Các lệnh hỗ trợ: - Xem danh sách người sử dụng đang truy nhập máy chủ: who - Gửi thông điệp tới một người sử dụng đang kết nối tới máy chủ: write sNhững tin nhắn trực tuyến kiểu này có thể làm phiền bạn trong khi bạn đang bận làm việc. Trường hợp không muốn nhận thông điệp, bạn gõ lệnh sau: mesg n. Nếu bạn gõ lệnh gửi tin nhắn tới một người đã chặn chức năng này, bạn sẽ nhận được thông báo " has messages disabled". - Gửi thư điện tử (email) tới một người sử dụng trong mạng: mail Máy sẽ yêu cầu bạn nhập tiêu đề thư (Subject). Sau khi nhập tiêu đề và ấn Enter – bạn có thể gõ nội dung thư – và khi kết thúc nội dung, muốn gửi đi thì bạn ấn tổ hợp phím Ctrl- D. Bạn có thể nhận được đề nghị gửi đồng thời thư này tới cho người khác (Cc: carbon copy) – nếu muốn thì bạn gõ tên người sử dụng mà bạn muốn gửi, nếu không thì gõ Enter để bỏ qua. Bộ môn Tin học 10 Khoa Toán – Cơ – Tin học Phụ lục 1- Hệ thống tệp Hệ thống tệp cơ bản của Unix/Linux được tổ chức như trong bảng sau. Tên tệp Nội dung / Thư mục gốc, chứa tất cả các thư mục và tệp khác /bin Chứa các chương trình thiết yếu của hệ thống (dùng cho tất cả mọi người sử dụng máy) /boot Chứa các tệp nạp nhân của hệ điều hành (khi khởi động máy) /dev Chứa các tệp thiết bị ngoại vi /etc Chứa các tệp thông số liên quan đến quản trị hệ thống (mật khẩu, nhóm người sử dụng, v.v.) /etc/X11 chứa các tệp đựng thông số cấu hình của X /etc/opt các tệp đựng thông số của gói ứng dụng cài trong thư mục opt /home chứa các thư mục riêng của từng người sử dụng /lib chứa các thư viện chuẩn dùng chung cho các ứng dụng khác nhau của toàn hệ thống /mnt chứa các kết nối tới các vùng đĩa tạm thời (đĩa mềm, đĩa CD, USB key, v.v.) /opt chứa các gói ứng dụng bổ sung /proc chứa các tệp ảo cho phép lấy thông tin về hệ thống hay về các tiến trình (processus) đang thực hiện /root thư mục của người quản trị hệ thống root /sbin chứa các chương trình hệ thống thiết yếu (cho người quản trị hệ thống) /tmp chứa các tệp tam thời /usr hệ thống tệp bổ trợ /usr/X11R6 chứa các tệp của hệ thống X – version 11 – release 6 /usr/X386 trước đây dành cho hệ thống X – version 5. Hiện tại là liên kết ảo tới /usr/X11R6 /usr/bin chứa phần lớn các tệp chương trình và lệnh của người sử dụng /usr/include chứa các tệp header của các chương trình C và C++ /usr/lib chứa hầu hết các thư viện dùng chung của hệ thống /usr/local chứa các dữ liệu liên quan đến chương trình do người quản trị root cài trên máy đơn /usr/sbin chứa các tệp tiện ích bổ trợ cho người quản trị hệ thống /usr/share dành cho các dữ liệu dùng chung trên mọi kiến trúc máy /usr/src chứa các tệp mã nguồn /var chứa các dữ liệu hệ thống thay đổi thường xuyên như các tệp CSDL, các tệp nhật kí (log), các tệp đệm đợi in, v.v. Phụ lục 2- Sử dụng trình soạn thảo văn bản Vi (tham khảo từ www.commentcamarche.net) vi là trình soạn thảo văn bản phổ biến trong các hệ thống kiểu Unix (cùng với emacs và pico), chạy hoàn toàn trong chế độ văn bản (text), các thao tác đều được thực hiện thông qua các câu lệnh. Trong các hệ thống Linux có phiên bản miễn phí gọi là Vim (Vi improved) Trình soạn thảo này không thật tiện lợi nhưng rất hữu ích trong trường hợp không có giao diện đồ họa. Bộ môn Tin học 11 Khoa Toán – Cơ – Tin học Cú pháp chạy chương trình: vi [] Sau khi mở tệp, có thể di chuyển trong văn bản nhờ các phím mũi tên, hoặc nếu bàn phím không có các phím mũi tên thì dùng h (sang trái), j (xuống), k (lên) và l (sang phải). vi có 3 chế độ hoạt động: - Chế độ chuẩn: cho phép gõ câu lệnh thao tác - Chế độ chèn: cho phép chèn các kí tự vào vị trí hiện thời của con trỏ trong văn bản đang soạn thảo. Để chuyển sang chế độ chèn, ấn phím Insert (hoặc i). Dùng phím Esc (Escape) để quay lại chế độ chuẩn (gõ lệnh). - Chế độ thay thế: cho phép thay thế kí tự hiện thời trong văn bản bằng kí tự mới. Dùng phím Esc để quay lại chế độ chuẩn (gõ lệnh). Các lệnh cơ bản trong trình soạn thảo vi: Lệnh cơ bản Chức năng q Thoát khỏi trình soạn thảo q! Bỏ qua các thay đổi chưa lưu lên đĩa, thoát khỏi trình soạn thảo wq Lưu các thay đổi, thoát khỏi trình soạn thảo file Lưu giữ tài liệu đang soạn với vào tệp có tên là Lệnh soạn thảo Chức năng x Xóa kí tự tại vị trí hiện thời của con trỏ dd Xóa dòng văn bản chứa vị trí hiện thời của con trỏ dnd Xóa n dòng văn bản kể từ dòng chứa vị trí hiện thời của con trỏ nx Xóa n kí tự kể từ vị trí hiện thời của con trỏ n>> Dồn n dòng kể từ dòng chứa vị trí hiện thời của con trỏ sang phải 1 cột nKhoa Toán – Cơ – Tin học - Gõ /th, bấm phím Enter - Tìm xâu "th" tiếp theo: gõ phím N. Thay thế: Để thay thế một xâu kí tự trong dòng hiện thời bằng một xâu mới, trong chế độ chuẩn gõ lệnh sau: :s/// Xâu cần thay thế và xâu thay thế có thể là các biểu thức chính quy (regular expression) mô tả mẫu xâu (xem tài liệu giới thiệu Biểu thức chính quy). Muốn thực hiện thay thế trong cả văn bản, gõ lệnh: :%s/// Sao chép và cắt dán: Trình soạn thảo Vi cho phép sao chép một khối n dòng. Trong chế độ lệnh, gõ: :nyy Lệnh này sao chép n dòng trong văn bản (kể từ dòng hiện thời) vào bộ nhớ đệm. Chuyển con trỏ tới vị trí cần sao chép và gõ : :p Muốn cắt dán (di chuyển) một khối văn bản gồm n dòng, di chuyển con trỏ tới dòng đầu tiên và gõ lệnh: :ndd Chuyển con trỏ tới dòng định dán và gõ lệnh p. Phụ lục 3 - Biểu thức chính quy (tham khảo từ commentcamarche.net) Trong lập trình, khái niệm biểu thức chính quy dùng để chỉ các chuỗi kí tự ASCII cho phép mô tả các xâu kí tự có đặc điểm chung nào đó. Biểu thức chính quy đóng vai trò "mẫu" mô tả các đặc điểm chung này. Mỗi biểu thức chính quy là một xâu gồm các kí tự chuẩn thông thường và các kí tự đặc biệt. Các kí tự đặc biệt bao gồm: Kí Ý nghĩa Ví dụ hiệu biểu thức Các xâu được mô tả ^ - biểu diễn vị trí đầu xâu ^an Xâu bắt đầu bằng chữ an - đánh dấu danh sách kí tự cấm (nằm giữa cặp []) $ biểu diễn vị trí cuối xâu an$ Xâu kết thúc bằng chữ an Bộ môn Tin học 13 Khoa Toán – Cơ – Tin học () gộp các kí tự nằm giữa cặp ngoặc thành một nhóm kí tự * kí tự/nhóm kí tự xuất hiện 0 hoặc an* Xâu có chứa chữ a, theo sau bởi 0 nhiều lần hay nhiều chữ n (a, an, ann, v.v) + kí tự/nhóm kí tự xuất hiện 1 hoặc an+ Xâu có chứa chữ a, theo sau bởi ít nhiều lần nhất 1 chữ n (an, ann, annn, v.v) ? kí tự/nhóm kí tự xuất hiện 0 hoặc 1 lần and? Xâu có chứa an hoặc and {} các số tự nhiên nằm giữa 2 dấu ngoặc a(bc){2} - xâu chứa abcbc; này cho phép đưa ra giới hạn số lần a(bc){2,} - xâu chứa abcbc, hoặc abcbcbc, …, xuất hiện của một kí tự hay một nhóm abc{2,4} - xâu chứa abcc, hoặc abccc, hoặc kí tự. Có 3 dạng: {X}, {X,}, {X, Y}, abcccc trong đó X là cận dưới, Y là cận trên | toán tử HOẶC (OR) (a|the) xâu chứa a car hoặc the car car xâu chứa dãy gồm các kí tự a và b (a|b)+ . biểu diễn một kí tự bất kì ^.{3}$ xâu chứa đúng 3 kí tự bất kì [] cho phép định nghĩa một danh sách [abc] - như a|b|c các kí tự được phép hoặc bị cấm (khi [a-z] - xâu chứa 1 chữ cái thường có kí tự ^ sau dấu [). Dấu – cho phép ^[a-z] - xâu bắt đầu bằng 1 chữ cái mô tả một khoảng. ^[^a-z] - xâu không bắt đầu bằng 1 chữ cái - dùng mô tả một khoảng liên tục các kí tự (chữ cái hoặc chữ số) \ đặt trước các kí tự trùng với các kí tự \* xâu chứa dấu * đặc biệt dùng trong biểu thức chính \{ xâu chứa dấu ngoặc { quy (trừ mô tả trong danh sách giữa \\ xâu chứa dấu \ cặp ngoặc vuông []) Chú ý: - khi định nghĩa danh sách các kí tự trong cặp ngoặc [], nếu có kí tự ] thì nó phải được viết đầu tiên trong danh sách, kí tự - phải nằm cuối danh sách (hoặc đầu tiên). - ngoài ra, giữa cặp [] ta còn có thể định nghĩa các lớp kí tự thuộc kiểu nào đó (chữ số, chữ cái chữ số, v.v.) với cú pháp :: . Các lớp chủ yếu được liệt kê trong bảng dưới đây. Tên lớp Mô tả [:alnum:] kí tự chữ cái hoặc chữ số (tương đương [A-Za-z0-9] [:alpha:] kí tự chữ cái [:blank:] kí tự trắng (dấu cách hoặc dấu tab) [:ctrl:] kí tự điều khiển [:digit:] kí tự chữ số [:graph:] kí tự đồ họa [:print:] kí tự in được ra màn hình (tất cả kí tự trừ các kí tự điều khiển) [:punct:] kí tự dấu câu [:space:] kí tự cách [:upper:] kí tự in hoa [:xdigit:] kí tự biểu diễn các chữ số trong hệ thập lục phân Bộ môn Tin học 14 Khoa Toán – Cơ – Tin học Phụ lục 4 – Cài đặt ứng dụng trong Linux (tham khảo từ commentcamarche.net) Một ứng dụng có thể cài đặt trên hệ thống Linux thường được cung cấp dưới các dạng sau: - Các gói RPM: tên tệp có đuôi .rpm. Các gói này cho phép cài đặt tự động trong các phân phối Linux như RedHat hay Mandrake - Các gói DEB: tên tệp có đuôi .deb. Cho phép cài đặt tự động trong các phân phối Debian, Ubuntu. - Các tệp nén: tên tệp có đuôi .tar.gz, .gz, .tar.bz2, v.v. Trước khi cài đặt cần gỡ nén tệp. - Gói chương trình nguồn: cần phải biên dịch các tệp này để ứng dụng chạy được trên máy. Cài đặt các gói RPM (Red Hat Package Management): Danh sách lệnh: - Cài đặt một gói chương trình: rpm –ivh .rpm - Gỡ bỏ một gói chương trình: rpm –e - Cập nhật một gói chương trình: rpm –Uvh .rpm - Truy vấn thông tin liên quan đến các gói chương trình: o Xem thông tin chi tiết về một gói cụ thể: rpm -q .rpm o Xem thông tin về tất cả các gói: rpm -qa o Tìm các gói chứa 1 tệp cụ thể: rpm -f o Xem thông tin về một gói: rpm -p - Kiểm tra: xác định tính toàn vẹn của gói chương trình o Kiểm tra về 1 tệp cụ thể: rpm -Vf o Kiểm tra tất cả các gói: rpm -Va o Kiểm tra 1 gói cụ thể: rpm -Vp Bộ môn Tin học 15 Khoa Toán – Cơ – Tin học Nếu không có lỗi trong gói chương trình thì sẽ không có thông báo gì. Nếu có lỗi, trên màn hình sẽ hiện xâu kí tự cho biết các kiểu lỗi tìm được. Xâu kí tự này có thể chứa 8 kí tự sau: D (thiết bị), G (nhóm), L (liên kết ảo), M (quyền truy nhập), T (ngày tháng của tệp), S (kích thước tệp), U (người sử dụng). Ngoài ra, các môi trường đồ hoạ đều cung cấp giao diện đồ hoạ để quản lý việc cài đặt ứng dụng. Cài đặt các gói DEB: Có thể cài đặt 1 gói chương trình có đuôi .deb bằng lệnh: dpkg -i .deb Trong các hệ thống Debian có tiện ích APT (Advanced Packaging Tool) để quản lí các gói phụ thuộc và cho phép cập nhật một ứng dụng bằng cách tải cập nhật chương trình từ Internet. Tiện ích này hoạt động từ một danh sách chỉ ra vị trí chứa các gói chương trình cần cài đặt. Danh sách này lưu trong tệp: /etc/apt/sources.list. Danh sách lệnh: - Cài đặt: apt-get install [-f] Tuỳ chọn f (force) cho phép bỏ qua lỗi về phụ thuộc giữa các gói khi cài đặt. Tuỳ chọn này chỉ dùng khi thực sự hiểu chắc chắn nguồn gốc lỗi phụ thuộc này. - Mô phỏng cài đặt: Trước khi cài đặt chương trình thật sự, apt-get cho phép cài đặt mô phỏng để người sử dụng lường được trước những vấn đề có thể xảy ra sau khi cài đặt, cũng như biết được danh sách các gói phụ thuộc nếu có apt-get install -s - Gỡ bỏ một gói ứng dụng: apt-get remove [--purge] Nếu không có tuỳ chọn purge, các tệp cấu hình (nếu có) của gói ứng dụng vẫn được giữ lại. - Cập nhật danh sách các gói cần cài đặt (sau khi đã sửa trong tệp sources.list nói trên): apt-get update - Cập nhật lại các gói chương trình đã cài đặt: apt-get [-u] [dist-]upgrade Tuỳ chọn u cho phép hiển thị tên các gói được cập nhật. Tham số dòng lệnh upgrade nếu thêm dist- ở trước cho phép kiểm tra tính nhất quán giữa các gói phụ thuộc khi cập nhật một gói nào đó. - Dọn dẹp: Mỗi khi cài một ứng dụng, APT tải các gói chương trình liên quan vào một thư mục đệm và lưu giữ ở đó. Để dọn dẹp một cách an toàn các gói chương trình được sao lưu này, có thể thực hiện lệnh: apt-get clean Ngoài ra, cũng có thể xoá bỏ riêng các gói không còn được bảo trì (không còn được phân phối trên địa chỉ Internet đã cho nữa): apt-get autoclean - Truy vấn thông tin về các gói: Bộ môn Tin học 16 Khoa Toán – Cơ – Tin học o Xem danh sách các gói chứa một từ khoá cụ thể: apt-cache search o Xem thông tin về một gói cho trước: apt-cache show o Xem danh sách các gói phụ thuộc một gói nào đó: apt-cache depends o Tìm gói chứa 1 tệp cụ thể: apt-file search o Hiện danh sách các tệp trong một gói: apt-file list Trong các hệ thống Debian còn có phần mềm deborphan cho phép chỉ ra tất cả các thư viện không còn dùng trong hệ thống, để người sử dụng dễ dàng tìm được các gói có thể dọn dẹp được khỏi hệ thống. Cũng như các hệ thống khác, các môi trường đồ hoạ Debian đều cung cấp giao diện đồ hoạ để quản lý việc cài đặt ứng dụng. Gỡ nén Trong các hệ thống Unix/Linux, nhiều tệp của một chương trình có thể nhóm lại thành 1 tệp bằng tiện ích tar. Mỗi tệp có thể nén lại nhờ tiện ích gzip (cho tên tệp nén có đuôi .gz), bzip2 (cho tên tệp nén có đuôi .bz2), compress (cho tên tệp nén có đuôi .Z). Các lệnh gỡ nén như sau: - Tệp .tar: tar xvf .tar - Tệp .gz: gunzip .gz - Tệp .bz2: bzip2 -d .bz2 - Tệp .tar.gz (nhiều tệp gộp lại bằng tar rồi được nén bằng gzip): tar zxvf .tar.gz - Tệp .tar.bz2 (nhiều tệp gộp lại bằng tar rồi được nén bằng gzip): tar jxvf .tar.bz2 - Tệp .Z : uncompress .Z Biên dịch gói chương trình nguồn Phần lớn các phần mềm được cung cấp mã nguồn đều được biên dịch và cài đặt cùng một kiểu. Tuy nhiên cần đọc kĩ tệp INSTALL hoặc README để chắc chắn về cách cài đặt không có gì khác với thông lệ. Bộ môn Tin học 17 Khoa Toán – Cơ – Tin học Quy trình biên dịch và cài đặt thông thường: - Chuyển đến thư mục chứa mã nguồn chương trình - Chạy chương trình configure cho phép đặt cấu hình phù hợp với máy: ./configure - Xác định thư mục sẽ cài ứng dụng vào: ./configure --prefixe="" - Biên dịch chương trình bằng lệnh: make - Cài đặt chương trình vào thư mục đã chỉ ở trên, hoặc nếu không thì trong thư mục /usr/local/: make install - Trường hợp có lỗi trong quá trình biên dịch, trước khi biên dịch mới cần xoá bỏ các tệp makefile đã được tạo tự động khi biên dịch: make clean Bộ môn Tin học 18
DMCA.com Protection Status Copyright by webtailieu.net