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.
Và đây là cách trang hướng dẫn của công cụ giải thích về nó:
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.
Sau đây là một ví dụ:
Đầu ra sau được tạo ra bởi lệnh đã đề cập ở trên:
Và đây là đầu ra do lệnh này tạo ra:
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.
Đây là một ví dụ;
Và sau đây là đầu ra:
Đây là một ví dụ:
Và sau đây là đầu ra do lệnh này tạo ra:
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 ...
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.
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
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
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
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*'
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
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.