Khi làm việc với hệ điều hành Linux, việc hiểu rõ từng lệnh là yếu tố quan trọng để tối ưu hiệu quả công việc và khai thác tối đa sức mạnh của hệ thống. Tuy nhiên, với kho lệnh khổng lồ, việc ghi nhớ chức năng của từng lệnh là một thách thức không nhỏ, đặc biệt với những người dùng mới. Họ thường gặp khó khăn khi tiếp cận các lệnh không quen thuộc trên giao diện dòng lệnh (terminal), dẫn đến việc tra cứu mất nhiều thời gian và làm gián đoạn quy trình làm việc. Để giải quyết vấn đề này, lệnh whatis đã ra đời. Đây là một công cụ được thiết kế để cung cấp một mô tả ngắn gọn, súc tích và nhanh chóng về một lệnh hoặc chương trình bất kỳ. Bài viết này của AZWEB sẽ cùng bạn tìm hiểu sâu hơn về lệnh whatis, từ cú pháp, cách sử dụng, các ví dụ minh họa, ứng dụng thực tế, so sánh với các lệnh khác và những lưu ý quan trọng để bạn có thể tự tin làm chủ công cụ này.
Lệnh whatis – Cú pháp và cách sử dụng cơ bản
Lệnh whatis là một công cụ mạnh mẽ giúp bạn tra cứu nhanh thông tin từ cơ sở dữ liệu của các trang “man” (manual pages). Nó quét qua tên các trang hướng dẫn và trả về mô tả ngắn gọn từ mục NAME của trang đó.
Cú pháp chính của lệnh whatis
Cú pháp cơ bản của lệnh whatis rất đơn giản và dễ nhớ, giúp người dùng có thể áp dụng ngay lập tức.
Định dạng chung: whatis [tùy_chọn] [tên_lệnh]
Trong đó:
tên_lệnh: Là tên của lệnh hoặc chương trình bạn muốn tra cứu thông tin. Bạn có thể nhập một hoặc nhiều tên lệnh, cách nhau bởi dấu cách.
Các tùy chọn (options) phổ biến đi kèm:
-d,--debug: Hiển thị thông tin gỡ lỗi chi tiết. Tùy chọn này hữu ích cho các nhà phát triển hoặc quản trị viên hệ thống muốn hiểu sâu hơn về cáchwhatishoạt động.-v,--verbose: Cung cấp đầu ra chi tiết hơn, hiển thị cả những thông tin màwhatisthường bỏ qua.-r,--regex: Coitên_lệnhnhư một biểu thức chính quy (regular expression). Điều này cho phép tìm kiếm nâng cao dựa trên các mẫu phức tạp.-w,--wildcard: Cho phép sử dụng ký tự đại diện (wildcard) trongtên_lệnh, ví dụ như*hoặc?.-s list,--sections list: Chỉ tìm kiếm trong các mục (section) được chỉ định của trang man.-M path,--manpath path: Chỉ định một đường dẫn tùy chỉnh đến các trang man, thay vì sử dụng đường dẫn mặc định của hệ thống.

Hướng dẫn sử dụng cơ bản
Sử dụng lệnh whatis vô cùng trực quan. Bạn chỉ cần mở terminal và gõ lệnh theo cú pháp đã nêu.
- Mở Terminal: Trên hầu hết các bản phân phối Linux, bạn có thể mở terminal bằng cách nhấn tổ hợp phím
Ctrl + Alt + Thoặc tìm trong menu ứng dụng. - Gõ lệnh: Nhập
whatistheo sau là tên lệnh bạn muốn tìm hiểu. Ví dụ, để tìm hiểu về lệnhls, bạn gõ:whatis ls - Xem kết quả: Sau khi nhấn Enter, hệ thống sẽ trả về một dòng mô tả ngắn gọn. Ví dụ:
ls (1) - list directory contents
Kết quả trả về bao gồm ba phần chính:
ls: Tên lệnh bạn đã tra cứu.(1): Số mục (section) trong tài liệu man. Mục 1 thường dành cho các lệnh người dùng thông thường. Các mục khác có thể là lời gọi hệ thống (2), thư viện hàm (3), v.v.- list directory contents: Mô tả ngắn gọn về chức năng của lệnh, trong trường hợp này là “liệt kê nội dung thư mục”.
Chỉ với một dòng lệnh đơn giản, bạn đã nắm được ngay chức năng cốt lõi của lệnh ls mà không cần phải đọc qua tài liệu dài dòng.
Ví dụ minh họa về lệnh whatis trong terminal
Lý thuyết sẽ dễ hiểu hơn khi đi kèm với các ví dụ thực tế. Hãy cùng AZWEB khám phá cách lệnh whatis hoạt động qua các tình huống cụ thể trên terminal.
Ví dụ tra cứu lệnh phổ biến
Đây là cách sử dụng cơ bản và thường xuyên nhất của whatis. Bạn có thể dùng nó để làm mới trí nhớ hoặc tìm hiểu nhanh một lệnh vừa mới gặp.
- Tra cứu lệnh
grep:whatis grep
Kết quả:grep (1) - print lines that match patterns
Giải thích: Kết quả này cho bạn biếtgreplà một lệnh thuộc mục 1, có chức năng chính là “in ra các dòng khớp với một mẫu (pattern)”. Điều này giúp bạn hiểu ngay rằnggreplà công cụ dùng để tìm kiếm văn bản. - Tra cứu lệnh
chmod:whatis chmod
Kết quả:chmod (1) - change file mode bits
Giải thích: Mô tả “thay đổi các bit chế độ của tệp” cho biết lệnhchmodđược sử dụng để thay đổi quyền truy cập (đọc, ghi, thực thi) của tệp tin và thư mục. - Tra cứu nhiều lệnh cùng lúc:
whatis cat head tail
Kết quả:cat (1) - concatenate files and print on the standard outputhead (1) - output the first part of filestail (1) - output the last part of files
Giải thích: Bạn có thể tra cứu nhiều lệnh cùng lúc bằng cách liệt kê chúng sauwhatis. Hệ thống sẽ trả về mô tả cho từng lệnh, giúp bạn so sánh nhanh chức năng của chúng.

Ví dụ sử dụng tùy chọn nâng cao
Khi bạn muốn tìm kiếm linh hoạt hơn, các tùy chọn như -w (wildcard) và -r (regex) sẽ trở nên cực kỳ hữu ích.
- Sử dụng wildcard (
-w) để tìm các lệnh có tên tương tự:
Giả sử bạn muốn tìm tất cả các lệnh bắt đầu bằng “mk”. Bạn có thể sử dụng tùy chọn-wvới ký tự*.whatis -w 'mk*'
Kết quả có thể bao gồm:mkdir (1) - make directoriesmkfifo (1) - make FIFOs (named pipes)mkfs (8) - build a Linux filesystemmksquashfs (1) - tool to create and append to squashfs filesystems
Phân tích: Tùy chọn này giúp bạn khám phá các lệnh liên quan dựa trên một tiền tố chung. Dấu nháy đơn ‘mk*‘ được khuyến khích để ngăn shell diễn giải ký tự*trước khiwhatisxử lý nó.

- Sử dụng biểu thức chính quy (
-r) để tìm kiếm phức tạp:
Tùy chọn-rmạnh hơn-wvì nó cho phép bạn sử dụng toàn bộ sức mạnh của biểu thức chính quy. Giả sử bạn muốn tìm các lệnh liên quan đếnzipnhưng không phảigzip.whatis -r '^zip'
Kết quả có thể bao gồm:zip (1) - package and compress (archive) fileszipcloak (1) - encrypt entries in a zipfilezipinfo (1) - list detailed information about a ZIP archive
Phân tích: Biểu thức^zipcó nghĩa là “bắt đầu bằng ‘zip'”. Điều này giúp lọc ra các lệnh nhưgzip,gunzipvà chỉ tập trung vào các lệnh liên quan trực tiếp đến tiện íchzip. Các ví dụ này cho thấywhatiskhông chỉ là một công cụ tra cứu đơn giản mà còn là một phương tiện khám phá hệ thống hiệu quả.
Ứng dụng thực tế của lệnh whatis trong quản trị hệ thống
Trong môi trường làm việc chuyên nghiệp, đặc biệt là đối với các quản trị viên hệ thống (sysadmin), lập trình viên và người dùng Linux chuyên sâu, thời gian là vàng bạc. Lệnh whatis trở thành một trợ thủ đắc lực, giúp tăng tốc độ làm việc và giảm thiểu sai sót.
Hỗ trợ tra cứu nhanh khi quản trị Linux
Quản trị viên hệ thống thường xuyên phải làm việc với hàng trăm, thậm chí hàng ngàn lệnh khác nhau, từ việc quản lý tệp tin, mạng, tiến trình đến bảo mật. Không ai có thể nhớ hết tất cả.
Hãy tưởng tượng một sysadmin đang phân tích một kịch bản shell (shell script) cũ do người khác viết và bắt gặp lệnh lsof. Thay vì phải mở trình duyệt, tìm kiếm trên Google và đọc qua nhiều tài liệu, họ chỉ cần gõ:whatis lsof
Kết quả lsof (8) - list open files sẽ ngay lập tức cho họ biết chức năng chính của lệnh là “liệt kê các tệp đang mở”. Thông tin này đủ để họ hiểu ngữ cảnh của dòng lệnh trong script và tiếp tục công việc phân tích. Việc này giúp giảm thiểu thời gian tra cứu từ vài phút xuống chỉ còn vài giây. Trong những tình huống cần xử lý sự cố khẩn cấp, sự chênh lệch thời gian này có thể tạo ra khác biệt lớn.

Tăng hiệu quả học tập và làm việc với Linux
Đối với những người mới bắt đầu hành trình với Linux, whatis là một công cụ học tập tuyệt vời. Khi đọc một tài liệu hướng dẫn hoặc xem một video tutorial, nếu gặp một lệnh lạ, họ có thể dùng whatis để có cái nhìn tổng quan ngay trên terminal. Thói quen này giúp xây dựng kiến thức một cách tự nhiên và liên tục mà không làm gián đoạn luồng học tập.
Đối với người dùng có kinh nghiệm, whatis đóng vai trò như một bộ nhớ tức thời. Ví dụ, một lập trình viên có thể không thường xuyên sử dụng lệnh sed hoặc awk. Khi cần dùng lại, một cú pháp whatis sed sẽ nhanh chóng nhắc họ về chức năng “stream editor for filtering and transforming text” của lệnh. Từ đó, họ có thể tự tin chuyển sang đọc trang man sed để tìm cú pháp chi tiết hơn. Bằng cách tích hợp whatis vào quy trình làm việc hàng ngày, người dùng Linux ở mọi cấp độ đều có thể nâng cao hiệu suất, giảm sự phụ thuộc vào các công cụ bên ngoài và làm việc hiệu quả hơn ngay trong môi trường dòng lệnh.

So sánh lệnh whatis với các lệnh tra cứu khác trong Linux
Hệ điều hành Linux cung cấp một hệ sinh thái phong phú các công cụ trợ giúp, mỗi công cụ có một mục đích riêng. Để sử dụng whatis hiệu quả nhất, điều quan trọng là phải hiểu rõ vai trò của nó so với các lệnh tra cứu khác như man, apropos, và help.
Phân biệt giữa whatis và man
Đây là cặp lệnh thường bị nhầm lẫn nhất nhưng lại có mục đích hoàn toàn khác nhau. Bạn có thể hình dung whatis và man qua một phép so sánh đơn giản:
whatisgiống như tiêu đề hoặc bìa của một cuốn sách. Nó cho bạn biết tên và một dòng mô tả ngắn gọn về nội dung chính. Nó trả lời câu hỏi: “Lệnh này dùng để làm gì?”
Ví dụ:whatis cp->cp (1) - copy files and directoriesman(manual) là toàn bộ nội dung cuốn sách đó. Nó cung cấp một tài liệu hướng dẫn chi tiết, bao gồm cú pháp, tất cả các tùy chọn, ví dụ sử dụng, các tệp liên quan, tác giả và các lỗi thường gặp. Nó trả lời câu hỏi: “Làm thế nào để sử dụng lệnh này với các tùy chọn cụ thể?”
Ví dụ:man cpsẽ mở ra một tài liệu dài vài trang giải thích cặn kẽ cách dùng lệnhcp.
Quy trình làm việc hiệu quả thường là: Dùng whatis để xác định nhanh chức năng, sau đó dùng man để tìm hiểu cách sử dụng chi tiết.

So sánh với lệnh apropos và help
apropos và help là hai công cụ tra cứu hữu ích khác, nhưng chúng phục vụ các nhu cầu khác nhau.
whatisvs.apropos:whatistìm kiếm chính xác tên lệnh mà bạn cung cấp.apropostìm kiếm một từ khóa trong cả tên và phần mô tả của tất cả các trang man.aproposgiống nhưwhatisnhưng mạnh mẽ hơn trong việc khám phá. Thực tế, lệnhapropos keywordthường tương đương vớiman -k keyword.
Ví dụ:whatis copycó thể không trả về kết quả nào. Nhưngapropos copysẽ tìm tất cả các lệnh có từ “copy” trong mô tả của chúng và có thể trả vềcp,scp,rsync,dd,… Điều này làm choapropostrở thành công cụ lý tưởng khi bạn biết mình muốn làm gì nhưng không biết lệnh cụ thể là gì.whatisvs.help:whatis,man, vàaproposhoạt động với các chương trình thực thi độc lập trên hệ thống (ví dụ:/bin/ls,/usr/bin/grep).helplà một lệnh nội bộ của shell (shell builtin). Nó chỉ cung cấp thông tin cho các lệnh được tích hợp sẵn trong shell mà bạn đang sử dụng (như Bash). Các lệnh này không phải là các tệp thực thi riêng lẻ.
Ví dụ:cd(thay đổi thư mục) là một lệnh builtin. Nếu bạn gõwhatis cdhoặcman cd, bạn có thể không nhận được kết quả mong muốn. Nhưng nếu bạn gõhelp cd, shell sẽ cung cấp ngay lập tức một hướng dẫn ngắn gọn về cách sử dụng lệnhcd.
Tóm lại, hãy sử dụng:
whatis: Khi bạn biết tên lệnh và chỉ cần một mô tả nhanh.man: Khi bạn cần hướng dẫn sử dụng chi tiết về một lệnh.apropos: Khi bạn không biết tên lệnh nhưng biết chức năng bạn muốn thực hiện.help: Khi bạn cần trợ giúp về các lệnh nội bộ của shell nhưcd,echo,alias,export.
Các vấn đề thường gặp và cách xử lý
Mặc dù lệnh whatis rất hữu ích, đôi khi người dùng có thể gặp phải một số sự cố. May mắn là hầu hết các vấn đề này đều có nguyên nhân rõ ràng và cách khắc phục đơn giản.
“Nothing appropriate” khi tra cứu lệnh
Đây là lỗi phổ biến nhất khi sử dụng whatis. Bạn gõ một lệnh hợp lệ như whatis ls nhưng lại nhận được thông báo ls: nothing appropriate..
- Nguyên nhân: Lỗi này xảy ra vì
whatiskhông tìm thấy thông tin trong cơ sở dữ liệu của nó. Cơ sở dữ liệu này (thường được gọi làmandbhoặcwhatis database) được tạo ra bằng cách quét qua tất cả các trang man trên hệ thống của bạn. Nguyên nhân có thể là:- Cơ sở dữ liệu chưa bao giờ được tạo.
- Cơ sở dữ liệu đã cũ và chưa được cập nhật sau khi cài đặt phần mềm mới.
- Cơ sở dữ liệu bị hỏng.
- Cách sửa: Bạn cần phải tạo hoặc cập nhật lại cơ sở dữ liệu này. Hầu hết các bản phân phối Linux hiện đại đều sử dụng lệnh
mandb. Bạn cần chạy lệnh này với quyền quản trị viên (root/sudo).sudo mandb
Trên một số hệ thống cũ hơn, bạn có thể cần dùng lệnhmakewhatis:sudo makewhatis
Lệnh này sẽ quét qua các thư mục chứa trang man và xây dựng lại chỉ mục tìm kiếm chowhatisvàapropos. Sau khi chạy xong, hãy thử lại lệnhwhatiscủa bạn, nó sẽ hoạt động bình thường.

Lệnh whatis không hoạt động trên một số hệ thống
Trong một số trường hợp, bạn gõ whatis và nhận được lỗi “command not found”.
- Nguyên nhân: Điều này thường xảy ra trên các hệ thống được cài đặt tối giản (minimal installation), chẳng hạn như một số phiên bản máy chủ hoặc trong các môi trường container như Docker. Để tiết kiệm dung lượng, các bản phân phối này có thể không cài đặt gói chứa tài liệu hướng dẫn (
man pages) và các công cụ liên quan theo mặc định. Lệnhwhatislà một phần của góiman-db. - Hướng dẫn cài đặt và kiểm tra:
1. Kiểm tra: Đầu tiên, hãy xác nhận xem góiman-dbđã được cài đặt hay chưa.
2. Cài đặt: Nếu gói bị thiếu, bạn có thể cài đặt nó bằng trình quản lý gói của hệ thống.- Trên các hệ thống dựa trên Debian/Ubuntu:
sudo apt-get updatesudo apt-get install man-db - Trên các hệ thống dựa trên RHEL/CentOS/Fedora:
sudo yum install man-db
hoặcsudo dnf install man-db
Sau khi cài đặt xong, gói này thường sẽ tự động chạy
mandbđể xây dựng cơ sở dữ liệu lần đầu. Bây giờ, bạn có thể sử dụngwhatisnhư mong đợi. - Trên các hệ thống dựa trên Debian/Ubuntu:

Các lưu ý và best practices khi sử dụng lệnh whatis
Để khai thác tối đa sức mạnh của whatis và biến nó thành một công cụ không thể thiếu trong quy trình làm việc của bạn, hãy ghi nhớ một vài lưu ý và thực hành tốt nhất sau đây.
- Thường xuyên cập nhật dữ liệu man database:
Như đã đề cập,whatisphụ thuộc hoàn toàn vào cơ sở dữ liệu được xây dựng từ các trang man. Bất cứ khi nào bạn cài đặt một phần mềm mới từ trình quản lý gói hoặc biên dịch từ mã nguồn, hệ thống sẽ có thêm các trang man mới. Để đảm bảowhatiscó thể tìm thấy các lệnh mới này, hãy tạo thói quen chạysudo mandbđịnh kỳ, hoặc ít nhất là sau mỗi lần cài đặt các công cụ dòng lệnh quan trọng. Điều này giữ cho kết quả tra cứu của bạn luôn mới và chính xác. - Kết hợp sử dụng với man và apropos:
Đừng coiwhatislà một công cụ đơn lẻ. Hãy xem nó là bước đầu tiên trong một chu trình tra cứu thông tin hiệu quả.- Bắt đầu với
whatis: Khi gặp lệnh lạ, dùngwhatis ten_lenhđể có cái nhìn tổng quan. - Mở rộng với
apropos: Nếu không biết tên lệnh chính xác, dùngapropos 'tu_khoa_chuc_nang'để khám phá các lệnh liên quan. - Đi sâu với
man: Khi đã xác định được đúng lệnh, dùngman ten_lenhđể đọc tài liệu chi tiết về cách sử dụng, các tùy chọn và ví dụ.
Sự kết hợp này tạo thành một bộ ba công cụ mạnh mẽ giúp bạn làm chủ dòng lệnh.
- Bắt đầu với
- Không dùng whatis để thay thế tài liệu chi tiết:
Lưu ý quan trọng nhất là phải hiểu rõ giới hạn củawhatis. Nó chỉ cung cấp một dòng mô tả duy nhất được trích từ phần NAME của trang man. Nó không cho bạn biết về cú pháp, các tùy chọn, các trường hợp sử dụng phức tạp hay cách xử lý lỗi. Việc chỉ dựa vàowhatismà không đọc tài liệu chi tiết có thể dẫn đến việc sử dụng lệnh sai và gây ra hậu quả không mong muốn, đặc biệt với các lệnh có khả năng thay đổi hệ thống nhưrm,dd, hayfdisk. Luôn luôn coiwhatislà một công cụ tham khảo nhanh, một tấm bản đồ chỉ dẫn, chứ không phải là đích đến cuối cùng.
Kết luận
Qua bài viết chi tiết này, chúng ta đã cùng nhau khám phá lệnh whatis – một công cụ nhỏ gọn nhưng vô cùng quyền năng trong kho tàng lệnh của Linux. Từ cú pháp đơn giản, các ví dụ trực quan đến ứng dụng thực tiễn trong công việc quản trị hệ thống, whatis đã chứng tỏ vai trò quan trọng của mình như một trợ lý thông tin nhanh nhạy, giúp người dùng ở mọi cấp độ tiết kiệm thời gian và nâng cao hiệu suất làm việc. Nó không chỉ giúp giải đáp thắc mắc “lệnh này để làm gì?” trong tích tắc mà còn khuyến khích sự tò mò, khám phá hệ thống ngay tại cửa sổ terminal.
AZWEB khuyến khích bạn hãy mở ngay terminal và bắt đầu thực hành sử dụng whatis. Hãy thử tra cứu những lệnh bạn đã biết để xem mô tả của chúng và thử cả những lệnh bạn chưa từng nghe tới. Bằng cách tích hợp whatis cùng với man và apropos vào quy trình làm việc hàng ngày, bạn sẽ xây dựng được một nền tảng kiến thức vững chắc và trở nên tự tin hơn khi đối mặt với bất kỳ thách thức nào trên Linux. Việc làm chủ những công cụ cơ bản này chính là chìa khóa để khai phá toàn bộ tiềm năng của một trong những hệ điều hành mạnh mẽ nhất thế giới.