Giải mã ý nghĩa của con số trong tiêu đề trang Man Linux

06 tháng 4, 2026·2 phút đọc

Bạn có bao giờ tự hỏi ý nghĩa của con số trong tiêu đề các trang Man Linux như sleep(3) hay read(2) không? Con số này thực chất đánh dấu phân mục của tài liệu hướng dẫn, giúp phân biệt giữa lệnh hệ thống, lời gọi hàm kernel, hay thư viện. Bài viết này sẽ giải thích chi tiết về cách phân loại này và cách sử dụng nó hiệu quả trong lập trình Linux.

Giải mã ý nghĩa của con số trong tiêu đề trang Man Linux

Nếu bạn là lập trình viên làm việc với hệ thống Linux, chắc hẳn bạn đã từng phải "đọc dở nằm" qua các trang tài liệu hướng dẫn (man pages). Dù là trực tiếp trên dòng lệnh hay thông qua các trang web hữu ích như man7.org, chúng ta thường thấy các ký hiệu như sleep(3) hay read(2). Một câu hỏi thú vị nảy sinh: "Con số trong ngoặc đơn kia có ý nghĩa gì?"

Bản thân tôi từng nhìn thấy chúng hàng ngày nhưng chưa bao giờ thực sự tìm hiểu kỹ. Mọi thứ chỉ thay đổi khi tôi nhận được một nhận xét xét duyệt (review comment) trên một Pull Request gần đây. Đồng nghiệp của tôi đã chỉ ra lỗi trong đoạn ghi chú của tôi:

// Behaves like man 2 basename

Điểm mấu chốt ở đây là basename thực chất không phải là một system call (lời gọi hệ thống), nên việc ghi man 2 là sai lầm.

Ý nghĩa các con số trong Man pages

Quy tắc này được giải thích rõ ràng ngay trong trang hướng dẫn của chính lệnh man (bạn có thể xem bằng lệnh man man). Các con số đại diện cho các phân mục (sections) khác nhau của tài liệu hướng dẫn thủ công:

  • 1: Các chương trình thực thi hoặc lệnh shell.
  • 2: Các cuộc gọi hệ thống (system calls) - các chức năng do hạt nhân (kernel) cung cấp.
  • 3: Các cuộc gọi thư viện (library calls) - các chức năng nằm trong các thư viện chương trình.

(Còn có các số phân mục ít phổ biến hơn).

basename là một hàm thư viện chuẩn của C (libc), nó thuộc phân mục 3. Do đó, đoạn ghi chú chính xác phải là: // behaves like man 3 basename.

"Vì vậy, đồng nghiệp của tôi đã đúng và đoạn mã nên đọc là behaves like man 3 basename vì basename(3) là một lời gọi thư viện libc."

Các hậu tố chữ mở rộng

Ngoài các con số cơ bản này, hệ thống tài liệu man còn linh hoạt hơn với các hậu tố chữ cái. Chúng được đính kèm sau số để chỉ định các chuẩn hoặc giao diện cụ thể:

  • Chữ cái p chỉ các trang tuân thủ chuẩn POSIX, ví dụ free(3p).
  • Chữ cái x chỉ tài liệu liên quan đến hệ thống X Window, ví dụ ncurses(3x).

Tuy hơi xấu hổ khi thừa nhận là đã dùng Linux bao năm nay mà giờ mới ngộ ra điều này, nhưng việc nắm vững kiến thức nền tảng này giúp chúng ta sử dụng tài liệu chính xác hơn rất nhiều trong quá trình phát triển phần mềm.

Bài viết được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗