Tự học Linux : Lệnh trợ giúp trong Linux

Như vậy là bạn đọc đã kết thúc phiên làm việc đầu tiên với HĐH Linux và tôi mong rằng bạn chưa cần trợ giúp trong một tình huống nào đó. Tác giả cũng mong cuốn sách này sẽ thực hiện vai trò trợ giúp trong thời gian đầu tiên này, nhưng có thể nó không giải quyết được tất cả những vấn đề của bạn. Vì thế tác giả sẽ đưa ra ngay lập tức những nguồn thông tin khác. Nhưng tôi sẽ phải “đi trước” kể về cách nhận thông tin trợ giúp trong giao diện đồ hoạ (X Window). Tác giả coi cách giải quyết này là đúng vì người dùng cần biết trước cách thoát khỏi những trường hợp khó khăn.

Tự học Linux : Lệnh trợ giúp trong Linux - lệnh help lệnh info lệnh man Linux trợ giúp - Phát triển website

Các nguồn thông tin trợ giúp

Nếu rơi vào tình huống mà bạn không biết phải làm gì để có được kết quả mong muốn, thì tốt nhất hãy tìm trợ giúp ở ngay trong hệ thống. Các phiên bản Linux có hàng nghìn trang tài liệu ở dạng tập tin, do đó câu trả lời cho câu hỏi của bạn đã nằm trong lòng bàn tay. Có một vài nguồn độc lập chứa thông tin về hầu hết các mặt của hệ thống Linux :

  • Các trang trợ giúp man
  • Trợ giúp siêu văn bản info
  • Tài liệu đi kèm với phần mềm
  • HOWTO và FAQ của dự án The Linux Document Project http://www.tldp.org
  • Câu lệnh locate

Cần nói ngay lập tức là phần lớn thông tin từ những nguồn này bằng tiếng Anh. Các dự án dịch chúng sang tiếng Việt còn chưa được tổ chức hoặc còn chưa được hoàn chỉnh. Do đó chúng ta sẽ xem xét từng nguồn thông tin này một cách cụ thể hơn.

Các trang trợ giúp man

Như đã nói ngắn gọn ở trên về câu lệnh man, bằng câu lệnh này người dùng trong hình huống khó khăn luôn luôn có thể tìm trợ giúp về bất kỳ câu lệnh nào của hệ thống, về định dạng tập tin, và về các gọi hệ thống (system call). Đây là cách nhận trợ giúp chính trong tất cả các hệ thống UNIX. Các trang trợ giúp man chia thành các phần sau:

Bảng 1 : Các phần chính của trợ giúp man
Phần Nội dung
0 Các tập tin header (thường nằm trong /usr/include)
1 Chương trình hoặc câu lệnh của người dùng
8 Câu lệnh dùng để quản trị hệ thống
2 Gọi hệ thống (system call, hàm do nhân cung cấp)
3 Gọi thư viện (library call, chương trình con, hàm trong thư viện của ứng dụng)
4 Thiết bị (tập tin đặc biệt, thường nằm trong /dev)
5 Định dạng tập tin và quy ước, ví dụ /etc/passwd
6 Trò chơi
7 Khác (bao gồm các gói macro và quy ước, ví dụ man(7), groff(7)
9 Nhân (kernel routines)
n các lệnh Tcl/Tk

Thứ tự liệt kê ở đây không phải là sự nhầm lẫn. Vấn đề ở chỗ các tập tin chứa thông tin của trợ giúp man nằm trong các thư mục con của thư mục /usr/share/man và khi câu lệnh man tìm kiếm thông tin cần thiết, thì nó sẽ xem các thư mục con này theo thứ tự đã chỉ ra trong bảng 1. Nếu bạn chạy lệnh :

man swapon

thì sẽ nhận được trợ giúp về câu lệnh swapon nằm trong phần 8. Vì thế nếu muốn xem trợ giúp về gọi hệ thống swapon cần chạy lệnh :

man 2 swapon

để chỉ ra số thứ tự của phần trợ giúp cần tìm kiếm thông tin.

Các trang man được xem bằng chương trình less (hoặc chương trình xác định bởi biến PAGER), do đó có khả năng xem thông tin theo từng màn hình và di chuyển màn hình này xuống dưới và lên trên và để di chuyển có thể sử dụng các phím như trong chương trình less. Những phím thường dùng nhất là :

Bảng 2 : Phím sử dụng để xem trang man
Phím Chức năng
<Q> Thoát khỏi chương trình
<Enter> Xem từng dòng
<Space> Hiển thị màn hình thông tin tiếp theo
<B> Quay lại màn hình trước
</>, dòng ký tự, <Enter> Tìm kiếm dòng ký tự chỉ ra
<N> Lặp lại tìm kiếm vừa thực hiện.

Nếu bạn không thích đọc từ màn hình mà cầm tay đọc, thì có thể in ra trang man tương ứng bằng lệnh

man tên_câu_lệnh | lpr

hoặc nếu máy in là postscript thì dùng:

man -t tên_câu_lệnh | lpr

Tuy nhiên để có thể nhận được thông tin mong muốn thì còn cần phải biết chỗ tìm thông tin đó. Trong trường hợp này có thể dùng hai câu lệnh whatis và apropos. Câu lệnh whatis tìm kiếm từ khóa đưa ra trong cơ sở dữ liệu bao gồm danh sách các câu lệnh và mô tả ngắn gọn của chúng. Lệnh này chỉ đưa ra những trùng lặp chính xác với từ khóa tìm kiếm. Câu lệnh apropos thực hiện tìm kiếm theo các phần của từ khóa. Tương tự như lệnh apropos là câu lệnh man với tham số -k. Hãy thử chạy lệnh sau:

man -k net

Cần phải nói luôn là để cho các câu lệnh man -k, whatis và apropos làm việc, thì đầu tiên cần tạo ra cơ sở dữ liệu về các câu lệnh có trên máy bằng cách chạy lệnh makewhatis. Trong trường hợp ngược lại khi tìm kiếm bạn sẽ nhận được thông báo “nothing appropriate”. Chỉ có người dùng root mới có quyền chạy câu lệnh makewhatis. Nếu bạn đọc để máy chạy cả đêm thì tốt nhất chạy câu lệnh này ở dạng công việc cho tiến trình cron.

Cuối cùng tác giả muốn nói rằng, các trang trợ giúp man không dành cho thời gian làm quen đầu tiên với Linux. Chúng dành cho những người dùng có kinh nghiệm cần có “sổ tay tra cứu” về định dạng, tuỳ chọn và cú pháp của lệnh trong quá trình làm việc để không phải nhớ một số lượng lớn những thông tin này trong đầu.

Câu lệnh info

Câu lệnh info là dạng trợ giúp thay thế và tương đương với man. Để nhận thông tin về một câu lệnh nào đó, thì cũng giống như man, cần nhập vào info cùng với một tham số là tên của câu lệnh quan tâm. Ví dụ :

info man

Thông tin màn bạn sẽ thấy trên màn hình trong phần lớn trường hợp sẽ khác với những gì mà câu lệnh man đưa ra. Và theo ý kiến của nhiều người dùng là về chiều hướng tốt hơn. Nhưng sự khác nhau cơ bản nhất ở chỗ info đưa ra thông tin dạng siêu văn bản (hypertext) giống như các trang web. Nhờ đó bạn có khả năng xem các phần khác nhau của trợ giúp mà không cần phải thoát ra khỏi chương trình xem này. Trong khi làm việc ở chế độ văn bản, bạn có thể chạy câu lệnh info trên một trong các terminal ảo (hãy nhớ đến các tổ hợp phím <Ctrl>+<Alt>+<F2>, <Ctrl>+<Alt>+<F3> v.v. . . ) để có thể chuyển sang terminal ảo đó tìm trợ giúp khi cần thiết. Trong trường hợp bạn không biết tìm thông tin cần thiết ở đâu thì có thể chuyển sang các phần khác nhau bằng các siêu liên kết (hyperlink) mà info tạo ra. Những liên kết này được đánh dấu bằng ký tự sao (*), khác với cách đánh dấu liên kết trên các trang Web nhưng vẫn giữ nguyên được sự thuận lợi. Có thể di chuyển qua các liên kết bằng phím <Tab>. Sau khi di chuyển đến liên kết mong muốn, hãy nhấn phím <Enter>. Phím <P> đưa người dùng trở lại trang vừa xem, phím <N> đưa đến trang tiếp theo, còn <U> chuyển lên trên một bậc trong cấu trúc phân bậc của các trang tài liệu này.

Ngoài ra, còn có thể chuyển theo liên kết bằng cách khác tương tự như hệ thống trình đơn. Đầu tiên cần nhấn phím <M>, sau đó nhập vào dòng Menu item: ở cuối màn hình một vài ký tự đầu tiên của tên của phần trợ giúp cần thiết. Tên của những phần trợ giúp này được hiển thị trên màn hình. Số ký tự phải đủ sao cho chỉ tương ứng với một phần trợ giúp, nếu không thì chương trình sẽ yêu cầu nhập thêm vào. Thoát ra khỏi info bằng phím <Q>.

Câu lệnh help

Như đã nhắc đến ở trên, hệ thống trợ giúp về các lệnh tích hợp của hệ vỏ bash là câu lệnh help. Nếu chạy lệnh help không có tham số thì sẽ nhận được danh sách của tất cả các lệnh tích hợp của bash. Nếu chạy help tên, trong đó tên là tên của một trong những câu lệnh nói trên, thì bạn sẽ nhận được giới thiệu ngắn gọn về cách sử dụng câu lệnh này.

Tài liệu đi kèm với bản phân phối và chương trình ứng dụng

Nếu trong quá trình cài đặt không bỏ đi những gói tài liệu, thì sau khi kết thúc bạn sẽ tìm thấy trong thư mục /usr/share/doc (hoặc /usr/doc) các thư mục con HOWTO, FAQ,. . . Những thư mục này chứa tài liệu đầy đủ về hệ thống Linux nói chung cũng như những phần riêng rẽ của nó. Những tài liệu này có ở dạng văn bản ASCII và có thể xem chúng bằng các câu lệnh more tên hoặc less tên hoặc bằng chương trình xem có trong Midnight Commander.

Phần lớn các chương trình ứng dụng có kèm theo tài liệu hướng dẫn cài đặt và sử dụng. Nếu cài đặt chương trình từ gói (package) dạng rpm (Fedora Core, SuSE, Mandriva,. . . ) thì tài liệu sẽ nằm trong thư mục con tương ứng của thư mục /usr/share/doc. Tên của những thư mục con này tương ứng với tên của chương trình và phiên bản của nó. Ví dụ, chương trình nhập tiếng Việt mà tôi đang dùng để gõ những dòng này xvnkb phiên bản 0.2.9 có thư mục con tương ứng xvnkb-0.2.9 nằm trong /usr/share/doc sau khi cài đặt.

Đôi khi để tìm tập tin trợ giúp mong muốn bạn sẽ cần đến câu lệnh locate. Câu lệnh này trong một chừng mực nào đó tương tự với các lệnh whatis và apropos. Khi chạy locate nó sẽ tìm tất cả những tập tin có tên chứa từ khóa đưa ra. Ví dụ locate net sẽ tìm tất cả những tên tập tin có tên chứa “net”. Những tập tin này có rất nhiều trên máy. Trong từ khóa (mẫu) có thể sử dụng các ký tự thay thế *, ?, []. Tuy nhiên câu lệnh locate không tìm kiếm theo các thư mục của hệ thống tập tin, mà theo cơ sở dữ liệu đặc biệt chứa tên các tập tin được tạo ra (và đôi khi cần cập nhật) bằng lệnh updatedb.

Trong một số bản phân phối locate được thay thế bởi slocate (secure lo- cate). slocate tự tạo cho mình cơ sở dữ liệu nói trên sau khi chạy với tham số tương ứng.

Câu lệnh xman

Đây là chương trình cho phép xem các trang trợ giúp man khi làm việc ở giao diện đồ hoạ (GUI). Việc tìm kiếm và hiển thị các trang trợ giúp được thực hiện bằng cách nhấn các nút và trình đơn. Còn lại (theo thông tin hiển thị) xman cũng giống như man.

Câu lệnh helptool

Sau khi chạy lệnh helptool sẽ hiện ra một cửa sổ đồ hoạ, có một ô nhập vào để người dùng đưa ra thuật ngữ đang quan tâm. Chương trình sẽ xem tất cả các tập tin tài liệu (bạn có thể cấu hình để chọn những tài liệu nào cần xem khi tìm kiếm). Sau khi hoàn thành tìm kiếm chương trình sẽ hiện ra danh sách những tập tin có chứa thuật ngữ này. Nếu nhấn chuột vào một tập tin trong danh sách thì sẽ hiện ra một cửa sổ khác nội dung của tập tin đã chọn. Khi này tập tin sẽ được hiển thị ở dạng lưu trên đĩa: trang info, trang man, v.v. . .

Sách và Internet

Tất nhiên, học Linux dễ dàng và đơn giản nhất khi có một cuốn sách tốt. Trước tiên bạn cần đọc tài liệu hướng dẫn đi kèm với bản phân phối của mình. Các bản phân phối lớn như Debian, SuSE, Fedora,. . . đều đã có những tài liệu này (rất có thể đã được dịch sang tiếng Việt). Rất tiếc người dịch chưa đọc cuốn sách tiếng Việt nào về Linux do đó không thể giới thiệu với bạn đọc. Tất nhiên nếu bạn có kết nối Internet (bây giờ không còn quá xa xỉ) và một chút tiếng Anh thì có thể tìm được câu trả lời cho mọi câu hỏi của mình. Tôi xin đưa ra một số địa chỉ sau làm bước khởi đầu cho bạn đọc trong biển thông tin vô bờ bến này.

Các trang tiếng Việt tham khảo về Linux

  • http://vnoss.org – trang web dành cho người dùng mã nguồn mở (MNM) Việt Nam. Có nhiều thông tin về Linux, tài liệu về Linux, diễn đàn cho phép bạn đặt câu hỏi của mình. Trang web do bác Nguyễn Đại Quý đang sống và làm việc tại Bỉ quản lý.
  • http://vnoss.net – tin tức về Linux và MNM.
  • http://vnlinux.org – đây là trang web dành cho nhóm người dùng Linux Việt Nam (vietlug). Bạn sẽ tìm thấy nhiều thông tin có ích ở đây và có thể đăng ký tham gia nhóm thư vietlug để đặt câu hỏi. Trang này do anh Larry Nguyễn, một Việt Kiều ở Mỹ, quản lý.
  • http://vnoss.net/dokuwiki/doku.php?id=linux:tailieutiengviet – trên trang này tổng hợp tất cả những tài liệu tiếng Việt về Linux, rất có thể bạn sẽ tìm thấy tài liệu về đề tài mình cần tìm hiểu trên trang này.
  • http://kde-vi.org – trang web của nhóm dịch giao diện KDE sang tiếng Việt.

Các trang tiếng Anh tham khảo về Linux

Tất nhiên đây không phải là danh sách đầy đủ những trang web nói về Linux. Những trang nói trên chỉ là điểm khởi đầu để từ đó bạn sẽ tìm được những trang web khác trong biển thông tin Internet. Đi đến đâu là phụ thuộc vào ý muốn của bạn.

Nếu có vấn đề trong lúc cài đặt, thì hãy hỏi dịch vụ khách hàng của phân phối đĩa. Nếu bạn mua đĩa của một công ty chuyên môn thì sẽ có địa chỉ liên lạc của dịch vụ này. Nếu bạn mua đĩa ghi lại hoặc tự ghi đĩa từ tập tin ISO nhận được qua Internet thì rất có thể lỗi cài đặt là do khi ghi đĩa gây ra.

Hãy sử dụng hộp thư điện tử. Bạn nên đăng ký với một vài nhóm thư chung (mailing list) nào đó, ví dụ mailto:[email protected]. Cách đăng ký còn phụ thuộc vào từng nhóm thư (nói chính xác hơn là phụ thuộc vào máy chủ điều khiển nhóm thư này). Nhưng hiện nay thường có hai cách đăng ký: gửi thư đến một địa chỉ xác định để yêu cầu, đăng ký qua giao diện web. Thông tin này bạn có thể tìm thấy trên trang web giới thiệu về nhóm thư chung. Tuy nhiên bạn cần biết là để đọc được tất cả thư chung thì cần rất nhiều thời gian, và còn phải đọc rất nhiều thư của những người dùng mới khác (ví dụ “Console là gì?”), hoặc thậm chí có cả những lá thư “ngớ ngẩn” (ví dụ “Hôm nay dùng Debian thật vui”) và tất nhiên là phải đọc cả những thư trả lời cho những câu hỏi này của những ai biết một chút gì đó. Do đó nếu muốn bạn có thể xem kho lưu trữ những lá thư này bằng trình duyệt, rất có thể đã có câu trả lời cho câu hỏi của bạn ở đó. Và như vậy bạn không cần phải đăng ký cũng như viết thư vào nhóm thư chung nữa.

Tất nhiên nếu không tìm thấy thì đừng ngại ngần đặt câu hỏi. Người dùng Linux hết sức vui lòng trả lời thư của bạn. Bảo đảm là bạn sẽ nhận được câu trả lời, nếu không hiểu thì còn có thể yêu cầu giải thích thêm.

Khi đặt câu hỏi có liên quan đến hệ thống Linux của bạn, cần luôn luôn thêm vào thư của mình càng nhiều chi tiết càng tốt (nhưng đừng thêm thông tin thừa) bao gồm: tên của bản phân phối (Debian, SuSE, Fedora, hay một cái nào khác), phiên bản nhân, có vấn đề với phần cứng nào (phiên bản, dòng chữ ghi trên mạch điện tử), thông báo nào hiện ra khi có vấn đề. Đừng đòi hỏi người dùng khác gửi câu trả lời thẳng đến địa chỉ của bạn, “viết thư vào nhóm thư chung là tự thể hiện, viết thư điện tử cũng là sự hỗ trợ kỹ thuật. Viết thư thì miễn phí, nhưng sự hỗ trợ kỹ thuật thì không”. Xin hãy luôn nhớ điều đó!

Leave a Comment