Hướng dẫn sử dụng lệnh Linux whatis cho người mới bắt đầu (5 ví dụ)

theanh

Administrator
Nhân viên
Các trang hướng dẫn là một trong những tài nguyên hữu ích nhất khi nói đến việc hiểu các tiện ích dòng lệnh. Tuy nhiên, một trang hướng dẫn chứa rất nhiều chi tiết về lệnh. Có thể có những lúc bạn muốn biết nhanh - có thể trong một dòng nhỏ hoặc lâu hơn - công cụ dòng lệnh thực hiện chức năng gì. Vâng, bạn sẽ vui mừng khi biết rằng có một lệnh được xây dựng riêng cho mục đích này.

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 lệnh whatis 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 đã được thử nghiệm trên máy Ubuntu 18.04 LTS và Debian 10.

Lệnh whatis của Linux​

Lệnh whatis trong Linux cho phép bạn hiển thị mô tả trang hướng dẫn một dòng. Sau đây là cú pháp của nó:
Mã:
whatis [-dlv?V] [-r|-w] [-s list] [-m system[,...]] [-M path] [-L
 locale] [-C file] name ...
Và đây là cách trang hướng dẫn của công cụ giải thích về nó:
Mã:
Mỗi trang hướng dẫn đều có một mô tả ngắn có sẵn trong đó. whatis
 tìm kiếm tên trang hướng dẫn và hiển thị mô tả trang hướng dẫn của bất kỳ tên nào khớp.

 tên có thể chứa ký tự đại diện (-w) hoặc là một biểu thức chính quy (-r). Khi sử dụng các tùy chọn này, có thể cần phải trích dẫn tên hoặc thoát (\) các ký tự đặc biệt để ngăn shell diễn giải chúng.
Sau đây là một số ví dụ theo kiểu Hỏi & Đáp có thể giúp bạn hiểu rõ hơn về cách lệnh whatis hoạt động.

Câu hỏi 1. Làm thế nào để sử dụng lệnh whatis?​

Cách sử dụng cơ bản khá đơn giản. Chỉ cần truyền tên công cụ làm đầu vào và whatis sẽ tìm kiếm và hiển thị mô tả một dòng cho công cụ đó.

Sau đây là một ví dụ:
Mã:
whatis ls
Đầu ra sau được tạo ra bởi lệnh đã đề cập ở trên:
Mã:
ls (1) - liệt kê nội dung thư mục

Câu hỏi 2. Làm thế nào để lấy thông tin cho nhiều lệnh?​

Điều này cũng khá dễ - chỉ cần truyền tên công cụ làm đầu vào cho whatis. Sau đây là một ví dụ:
Mã:
whatis ls cp rm mv
Và đây là đầu ra do lệnh này tạo ra:
Mã:
ls (1) - liệt kê nội dung thư mục
cp (1) - sao chép tệp và thư mục
rm (1) - xóa tệp hoặc thư mục
mv (1) - di chuyển (đổi tên) tệp
Vì vậy, bạn có thể thấy lệnh whatis xử lý nhiều đầu vào một cách dễ dàng.

Câu hỏi 3. Chúng ta có thể sử dụng ký tự đại diện với whatis không?​

Có, có thể sử dụng ký tự đại diện với lệnh whatis. Tùy chọn dòng lệnh -w bật tính năng này.

Đây là một ví dụ;
Mã:
whatis -w 'who*'
Và sau đây là đầu ra:
Mã:
who (1) - hiển thị ai đã đăng nhập
whoami (1) - in userid hiệu lực

Câu hỏi 4. Làm thế nào để whatis tạo ra thông tin gỡ lỗi?​

Tùy chọn -d làm cho lệnh whatis tạo ra thông tin gỡ lỗi trong đầu ra. Không cần phải nói, tùy chọn này chủ yếu dành cho các nhà phát triển.

Đây là một ví dụ:
Mã:
whatis -d ls
Và sau đây là đầu ra do lệnh này tạo ra:
Mã:
Từ tệp cấu hình /etc/manpath.config:

Mandir bắt buộc `/usr/man'.
Mandir bắt buộc `/usr/share/man'.
Mandir bắt buộc `/usr/local/share/man'.
Đường dẫn `/bin' được ánh xạ tới mandir `/usr/share/man'.
Đường dẫn `/usr/bin' được ánh xạ tới mandir `/usr/share/man'.
Đường dẫn `/sbin' được ánh xạ tới mandir `/usr/share/man'.
Đường dẫn `/usr/sbin' được ánh xạ tới mandir `/usr/share/man'.
Đường dẫn `/usr/local/bin' được ánh xạ tới mandir `/usr/local/man'.
Đường dẫn `/usr/local/bin' được ánh xạ tới mandir `/usr/local/share/man'.
Đường dẫn `/usr/local/sbin' được ánh xạ tới mandir `/usr/local/man'.
Đường dẫn `/usr/local/sbin' được ánh xạ tới mandir `/usr/local/share/man'.
Đường dẫn `/usr/X11R6/bin' được ánh xạ tới mandir `/usr/X11R6/man'.
Đường dẫn `/usr/bin/X11' được ánh xạ tới mandir `/usr/X11R6/man'.
Đường dẫn `/usr/games' được ánh xạ tới mandir `/usr/share/man'.
Đường dẫn `/opt/bin' được ánh xạ tới mandir `/opt/man'.
Đường dẫn `/opt/sbin' được ánh xạ tới mandir `/opt/man'.
Mandir toàn cục `/usr/man', catdir `/var/cache/man/fsstnd'.
Mandir toàn cục `/usr/share/man', catdir `/var/cache/man'.
Mandir toàn cục `/usr/local/man', catdir `/var/cache/man/oldlocal'.
Mandir toàn cục `/usr/local/share/man', catdir `/var/cache/man/local'.
Mandir toàn cục `/usr/X11R6/man', catdir `/var/cache/man/X11R6'.
Mandir toàn cục `/opt/man', catdir `/var/cache/man/opt'.
Đã thêm phần `1'.
Đã thêm phần `n'.
Đã thêm phần `l'.
Đã thêm phần `8'.
Đã thêm phần `3'.
Đã thêm phần `2'.
Đã thêm phần `3posix'.
Đã thêm phần `3pm'.
Đã thêm phần `3perl'.
Đã thêm phần `3am'.
Đã thêm phần `5'.
Đã thêm phần `4'.
Đã thêm phần `9'.
Đã thêm phần `6'.
Đã thêm phần `7'.
`/usr/man' `' `1'
`/usr/share/man' `' `1'
`/usr/local/share/man' `' `1'
`/bin' `/usr/share/man' `0'
`/usr/bin' `/usr/share/man' `0'
`/sbin' `/usr/share/man' `0'
`/usr/sbin' `/usr/share/man' `0'
`/usr/local/bin' `/usr/local/man' `0'
`/usr/local/bin' `/usr/local/share/man' `0'
`/usr/local/sbin' `/usr/local/man' `0'
`/usr/local/sbin' `/usr/local/man' `0'
`/usr/local/sbin' `/usr/local/share/man' `0'
`/usr/X11R6/bin' `/usr/X11R6/man' `0'
`/usr/bin/X11' `/usr/X11R6/man' `0'
`/usr/games' `/usr/share/man' `0'
`/opt/bin' `/opt/man' `0'
`/opt/sbin' `/opt/man' `0'
`/usr/man' `/var/cache/man/fsstnd' `-1'
`/usr/share/man' `/var/cache/man' `-1'
`/usr/local/man' `/var/cache/man/oldlocal' `-1'
`/usr/local/share/man' `/var/cache/man/local' `-1'
`/usr/X11R6/man' `/var/cache/man/X11R6' `-1'
`/opt/man' `/var/cache/man/opt' `-1'
`1' `' `-5'
`n' `' `-5'
`l' `' `-5'
`8' `' `-5'
`3' `' `-5'
`2' `' `-5'
`3posix' `' `-5'
`3pm' `' `-5'
`3perl' `' `-5'
`3am' `' `-5'
`5' `' `-5'
`4' `' `-5'
`9' `' `-5'
`6' `' `-5'
`7' `' `-5'

thư mục đường dẫn /usr/local/sbin nằm trong tệp cấu hình
thêm /usr/local/man vào manpath
thêm /usr/local/share/man vào manpath

thư mục path /usr/local/bin nằm trong tệp cấu hình
/usr/local/man đã có trong manpath
/usr/local/share/man đã có trong manpath

thư mục path /usr/sbin nằm trong tệp cấu hình
thêm /usr/share/man vào manpath

thư mục path /usr/bin nằm trong tệp cấu hình
/usr/share/man đã có trong manpath

thư mục path /sbin nằm trong tệp cấu hình
/usr/share/man đã có trong manpath

thư mục path /bin nằm trong tệp cấu hình
/usr/share/man đã có trong manpath

thư mục path /usr/games nằm trong tệp cấu hình
/usr/share/man đã có trong manpath

thư mục path /usr/local/games không có trong tệp cấu hình
nhưng có thư mục con ../man, man, ../share/man hoặc share/man
/usr/local/man đã có trong manpath

thư mục đường dẫn /snap/bin không có trong tệp cấu hình
và không có thư mục con ../man, man, ../share/man hoặc share/man

thêm các thư mục man bắt buộc

cảnh báo: /usr/man: Không có tệp hoặc thư mục nào như vậy
/usr/share/man đã có trong manpath
/usr/local/share/man đã có trong manpath
add_nls_manpaths(): đang xử lý /usr/local/man:/usr/local/share/man:/usr/share/man
đang kiểm tra ngôn ngữ en_IN
đang thêm /usr/local/man vào manpathlist
đang thêm /usr/local/share/man vào manpathlist
thêm /usr/share/man vào manpathlist
thêm /usr/local/man vào manpathlist
thêm /usr/local/share/man vào manpathlist
thêm /usr/local/share/man vào manpathlist
thêm /usr/share/man vào manpathlist
Xóa mục manpath trùng lặp /usr/local/share/man (1) -> /usr/local/man (0)
Xóa mục manpath trùng lặp /usr/local/man (2) -> /usr/local/man (0)
Xóa mục manpath trùng lặp /usr/local/share/man (2) -> /usr/local/man (0)
Xóa mục manpath trùng lặp /usr/local/share/man (2) -> /usr/local/man (0)
Xóa mục manpath trùng lặp /usr/share/man (2) -> /usr/share/man (1)
đường dẫn tìm kiếm cuối cùng = /usr/local/man:/usr/share/man
đường dẫn=/usr/local/man
cảnh báo: không thể đọc cơ sở dữ liệu văn bản whatis dự phòng /usr/local/man/whatis
đường dẫn=/usr/share/man
tên: ls
giây. phần mở rộng: 1
phần: 1
comp. phần mở rộng: gz
id: A
mtime: 1516268629.000000000
con trỏ: -
bộ lọc: -
whatis: liệt kê nội dung thư mục

ls (1) - liệt kê nội dung thư mục
hashtable_free: 1 mục, 1 (100%) duy nhất

Câu hỏi 5. Whatis thực hiện tìm kiếm như thế nào?​

Sau đây là một đoạn trích có liên quan từ trang hướng dẫn:
Mã:
cơ sở dữ liệu chỉ mục được sử dụng trong quá trình tìm kiếm và được cập nhật bởi chương trình
 mandb. Tùy thuộc vào cài đặt của bạn, điều này có thể được chạy bởi
 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. Để tạo ra một văn bản kiểu cũ whatis data?
 cơ sở dữ liệu chỉ mục tương đối, hãy đưa ra lệnh:

 whatis -M manpath -w '*' | sort > manpath/whatis

 trong đó manpath là một hệ thống phân cấp trang hướng dẫn như /usr/man.

Kết luận​

Nếu bạn quá lạm dụng các công cụ dòng lệnh Linux hoặc công việc hàng ngày của bạn liên quan đến việc xử lý các trang hướng dẫn, lệnh whatis có thể là một công cụ hữu ích dành cho bạn. Chúng tôi đã thảo luận một số tùy chọn dòng lệnh whatis ở đây. Để biết thêm thông tin, hãy truy cập trang hướng dẫn của công cụ.
 
Back
Bên trên