Trong Linux, nếu bạn cần trợ giúp về một lệnh, tất cả những gì bạn cần làm là mở trang hướng dẫn của lệnh đó. Nhưng nếu có tình huống phát sinh mà yêu cầu là phải nhanh chóng tìm kiếm tên và mô tả của tất cả các trang hướng dẫn có sẵn thì sao? Vâng, Linux đã hỗ trợ bạn, vì có một lệnh có tên là apropos thực hiện chính xác điều này cho bạn.
Trong hướng dẫn này, chúng ta sẽ thảo luận về những điều cơ bản của apropos bằng một số ví dụ dễ hiểu. Nhưng trước khi làm điều đó, cần đề cập rằng tất cả các ví dụ ở đây đều đã được thử nghiệm trên máy Ubuntu 16.04 LTS.
Lệnh apropos tìm kiếm tên trang hướng dẫn và mô tả cho từ khóa do người dùng cung cấp. Sau đây là cú pháp của lệnh:
Và đây là nội dung trang hướng dẫn của công cụ nói về lệnh này:
Sau đây là một số ví dụ theo kiểu Hỏi & Đáp sẽ giúp bạn hiểu rõ hơn về cách lệnh apropos hoạt động.
Ví dụ:
tạo ra kết quả sau:
Tất nhiên, bạn cũng có thể truyền nhiều từ khóa.
Ví dụ:
Sau đây là đầu ra trong trường hợp này:
Vì vậy, đây không phải là tìm kiếm chính xác. Tuy nhiên, bạn có thể buộc apropos tìm kiếm các từ khóa chính xác bằng cách sử dụng các tùy chọn dòng lệnh -e hoặc --exact.
Vì vậy, bây giờ bạn thấy rằng chỉ những mục nhập khớp chính xác với 'who' mới được hiển thị trong đầu ra.
Ví dụ, đây là đầu ra của lệnh apropos không có tùy chọn -a:
Và đây là đầu ra khi bật tùy chọn -a:
Tuy nhiên, nếu muốn, bạn có thể buộc apropos tạo ra các dòng hoàn chỉnh trong đầu ra, điều mà bạn có thể thực hiện bằng cách sử dụng tùy chọn dòng lệnh -l.
Trong hướng dẫn này, chúng ta sẽ thảo luận về những điều cơ bản của apropos bằng một số ví dụ dễ hiểu. Nhưng trước khi làm điều đó, cần đề cập rằng tất cả các ví dụ ở đây đều đã được thử nghiệm trên máy Ubuntu 16.04 LTS.
Lệnh apropos tìm kiếm tên trang hướng dẫn và mô tả cho từ khóa do người dùng cung cấp. Sau đây là cú pháp của lệnh:
Mã:
apropos [OPTIONS] keyword ...
Mã:
Mỗi trang hướng dẫn đều có một mô tả ngắn có sẵn trong đó. apropos
tìm kiếm các mô tả để tìm các trường hợp của từ khóa.
từ khóa thường là một biểu thức chính quy, như thể (-r) đã được sử dụng hoặc có thể
chứa các ký tự đại diện (-w) hoặc khớp với từ khóa chính xác (-e). Khi sử dụng các tùy chọn
này, có thể cần phải trích dẫn từ khóa hoặc thoát (\) các
ký tự đặc biệt để ngăn shell diễn giải chúng.
Các quy tắc khớp chuẩn cho phép thực hiện các phép khớp với tên trang
và ranh giới từ trong mô tả.
Cơ sở dữ liệu được apropos tìm kiếm sẽ được chương trình mandb cập nhật.
Tùy thuộc vào cài đặt của bạn, lệnh này có thể được chạy bằng một công việc cron định kỳ
hoặc có thể cần phải chạy thủ công sau khi các trang hướng dẫn mới
đã được cài đặt.
Câu hỏi 1. Làm thế nào để sử dụng apropos?
Cách sử dụng cơ bản rất đơn giản. Chỉ cần truyền từ khóa bạn muốn tìm kiếm làm đầu vào cho lệnh apropos.Ví dụ:
Mã:
apropos dmesg
Mã:
dmesg (1) - in hoặc điều khiển bộ đệm vòng nhân
Ví dụ:
Mã:
apropos dmesg whereis
Mã:
dmesg (1) - in hoặc điều khiển bộ đệm vòng nhân
whereis (1) - định vị tệp trang nhị phân, nguồn và hướng dẫn cho...
Câu 2. Làm thế nào để thực hiện tìm kiếm apropos cho các từ khóa chính xác?
Theo mặc định, đầu vào bạn truyền cho lệnh apropos không được tìm kiếm chính xác. Ví dụ, nếu bạn truyền 'who' làm đầu vào, bạn cũng sẽ thấy công cụ tạo ra các kết quả có chứa các từ như 'whoami'.Vì vậy, đây không phải là tìm kiếm chính xác. Tuy nhiên, bạn có thể buộc apropos tìm kiếm các từ khóa chính xác bằng cách sử dụng các tùy chọn dòng lệnh -e hoặc --exact.
Vì vậy, bây giờ bạn thấy rằng chỉ những mục nhập khớp chính xác với 'who' mới được hiển thị trong đầu ra.
Câu hỏi 3. Làm thế nào để apropos hiển thị các mục nhập khớp với tất cả các từ khóa?
Nếu bạn truyền nhiều từ khóa làm đầu vào cho lệnh apropos, công cụ sẽ xuất ra các mục nhập khớp/chứa ít nhất một trong các từ khóa. Tuy nhiên, nếu bạn muốn apropos chỉ tạo ra những mục khớp/chứa tất cả các từ khóa, hãy sử dụng tùy chọn dòng lệnh -a.Ví dụ, đây là đầu ra của lệnh apropos không có tùy chọn -a:
Và đây là đầu ra khi bật tùy chọn -a:
Câu hỏi 4. Làm thế nào để buộc apropos không cắt đầu ra?
Như bạn đã thấy trong đầu ra ở các câu hỏi & trả lời trước, công cụ sẽ cắt các mục nếu chúng quá dài. Ví dụ, hãy xem dòng được tô sáng trong đầu ra sau:Tuy nhiên, nếu muốn, bạn có thể buộc apropos tạo ra các dòng hoàn chỉnh trong đầu ra, điều mà bạn có thể thực hiện bằng cách sử dụng tùy chọn dòng lệnh -l.
Câu hỏi 5. Làm thế nào để diễn giải trạng thái thoát của apropos?
Lệnh apropos tạo ra bốn trạng thái thoát khác nhau: 0, 1, 2 và 16. Sau đây là ý nghĩa của từng trạng thái này:
Mã:
0 Thực thi chương trình thành công.
1 Lỗi sử dụng, cú pháp hoặc tệp cấu hình.
2 Lỗi hoạt động.
16 Không tìm thấy nội dung nào khớp với tiêu chí đã chỉ định