it-swarm-vi.com

Những con số trong một trang người đàn ông có ý nghĩa gì?

Vì vậy, ví dụ, khi tôi gõ man ls Tôi thấy LS(1). Nhưng nếu tôi gõ man apachectl Tôi thấy APACHECTL(8) và nếu tôi gõ man cd Tôi sẽ kết thúc với cd(n).

Tôi đang tự hỏi ý nghĩa của các số trong ngoặc là gì, nếu chúng có bất kỳ.

514
Wilduck

Số tương ứng với phần của hướng dẫn mà trang đó đến từ; 1 là các lệnh của người dùng, trong khi 8 là các thứ sysadmin. Trang người đàn ông cho chính con người (man man) giải thích nó và liệt kê những cái tiêu chuẩn:

MANUAL SECTIONS
    The standard sections of the manual include:

    1      User Commands
    2      System Calls
    3      C Library Functions
    4      Devices and Special Files
    5      File Formats and Conventions
    6      Games et. al.
    7      Miscellanea
    8      System Administration tools and Daemons

    Distributions customize the manual section to their specifics,
    which often include additional sections.

Có một số thuật ngữ nhất định có các trang khác nhau trong các phần khác nhau (ví dụ: printf như một lệnh xuất hiện trong phần 1, vì hàm stdlib xuất hiện trong phần 3); trong trường hợp như vậy, bạn có thể chuyển số phần cho man trước tên trang để chọn cái nào bạn muốn hoặc sử dụng man -a để hiển thị mọi trang phù hợp trong một hàng:

$ man 1 printf
$ man 3 printf
$ man -a printf

Bạn có thể cho biết phần nào một thuật ngữ rơi vào với man -k (tương đương với lệnh apropos). Nó cũng sẽ thực hiện khớp chuỗi con (ví dụ: nó sẽ hiển thị sprintf nếu bạn chạy man -k printf), vì vậy bạn cần sử dụng ^term để hạn chế nó:

$ man -k '^printf'
printf               (1)  - format and print data
printf               (1p)  - write formatted output
printf               (3)  - formatted output conversion
printf               (3p)  - print formatted output
printf [builtins]    (1)  - bash built-in commands, see bash(1)
524
Michael Mrozek

Lịch sử của các số phần này quay trở lại bản gốc Hướng dẫn lập trình viên Unix của Thompson và Ritchie vào năm 1971.

Các phần ban đầu là

  1. Các lệnh
  2. Các cuộc gọi hệ thống
  3. Chương trình con
  4. Tập tin đặc biệt
  5. Định dạng tệp
  6. Các chương trình do người dùng duy trì
  7. Điều khoản khác
59
KeithB

konqueror cũng mô tả các phần không chuẩn: (cảm ơn @ greg0ire cho ý tưởng)

0     Header files
0p    Header files (POSIX)
1     Executable programs or Shell commands
1p    Executable programs or Shell commands (POSIX)
2     System calls (functions provided by the kernel)
3     Library calls (functions within program libraries)
3n    Network Functions
3p    Perl Modules
4     Special files (usually found in /dev)
5     File formats and conventions eg /etc/passwd
6     Games
7     Miscellaneous  (including  macro  packages and conventions), e.g. man(7), groff(7)
8     System administration commands (usually only for root)
9     Kernel routines
l     Local documentation
n     New manpages
34
Babken Vardanyan

Điều đó có nghĩa là đã được mô tả, nhưng tôi cũng muốn thêm rằng mỗi phần có trang hướng dẫn đặc biệt với phần giới thiệu: intro. Ví dụ: xem man 1 intro hoặc là man 3 intro và như thế.

21
php-coder

Từ trang man:

The table below shows the section numbers of the manual followed by the 
types of pages they contain.

   1   Executable programs or Shell commands
   2   System calls (functions provided by the kernel)
   3   Library calls (functions within program libraries)
   4   Special files (usually found in /dev)
   5   File formats and conventions eg /etc/passwd
   6   Games
   7   Miscellaneous  (including  macro  packages and conven‐
       tions), e.g. man(7), groff(7)
   8   System administration commands (usually only for root)
   9   Kernel routines [Non standard]

Về lý do tại sao chúng tách biệt như vậy - có một số chồng chéo. Một số trang nhất định tồn tại trong nhiều phần tùy thuộc vào ý của bạn.

Chẳng hạn, so sánh man crontab với man 5 crontab - rất có thể cái sau là thứ bạn muốn tìm.

16
Shadur

Đây là số phần. Chỉ loại man man hoặc mở konqueror và gõ man: // man và bạn sẽ thấy những phần này là gì.

8
greg0ire

Thông thường, một trang man được tham chiếu thông qua việc thêm vào nó với phần được đặt trong ngoặc đơn, ví dụ:

read(2)

Phong cách này có hai ưu điểm chính:

  • ngay lập tức rõ ràng rằng bạn tham chiếu một trang người đàn ông - tức là bạn có thể viết một cái gì đó như 'cf đọc (3) 'thay vì' cf trang 3 phần của người đọc
  • nếu nhiều phần chứa các trang man có cùng tên, việc chỉ định phần đó chính xác hơn

Các trang man được tổ chức theo từng phần, ví dụ: Phần 1 bao gồm tất cả các trang man lệnh người dùng, Phần 2 tất cả các trang man cho các cuộc gọi hệ thống, Phần 3 dành cho các chức năng thư viện, v.v.

Trên dòng lệnh, nếu bạn không chỉ định rõ ràng phần bạn nhận được trang man khớp đầu tiên, theo thứ tự truyền tải phần mặc định, ví dụ:

$ man read

hiển thị BASH_BUILTINS(1) trên Fedora. Ở đâu

$ man 2 read

hiển thị trang man cho cuộc gọi hệ thống read().

Lưu ý rằng đặc điểm kỹ thuật vị trí của phần này không khả dụng - ví dụ: trên Solaris bạn sẽ chỉ định nó như thế này:

$ man -s 2 read

Thông thường, man man Cũng liệt kê một số phần có sẵn. Nhưng không nhất thiết là tất cả. Để liệt kê tất cả các phần có sẵn, người ta có thể liệt kê các thư mục con của tất cả các thư mục được liệt kê trong đường dẫn man mặc định hoặc biến môi trường $MANPATH. Ví dụ: trên hệ thống Fedora 23 với một số gói phát triển được cài đặt /usr/share/man Có các thư mục con sau:

cs  es  id  man0p  man2   man3x  man5x  man7x  man9x  pt_BR  sk  zh_CN
da  fr  it  man1   man2x  man4   man6   man8   mann   pt_PT  sv  zh_TW
de  hr  ja  man1p  man3   man4x  man6x  man8x  pl     ro     tr
en  hu  ko  man1x  man3p  man5   man7   man9   pt     ru     zh

Các thư mục có tiền tố man đại diện cho từng phần - trong khi các thư mục khác chứa các phần được dịch. Do đó, để có được danh sách các phần không trống, người ta có thể ra lệnh như thế này:

$ find /usr/share/man -type f  | sed '[email protected]^.*/man\(..*\)/.*[email protected]\[email protected]' \
    | sort -u | column
0p  1p  3   4   6   8
1   2   3p  5   7

(các phần kết thúc bằng p là các trang man POSIX)

Để xem trang man bằng ngôn ngữ khác (nếu có), người ta có thể đặt biến môi trường liên quan đến ngôn ngữ, ví dụ:

$ LC_MESSAGES=de_DE man read

Ngoài ra, mỗi phần nên có một trang giới thiệu có tên intro, ví dụ: có thể xem qua:

$ man 2 intro
7
maxschlepzig

Các định nghĩa cho SVr4 là:

1 User Commands
2 System Calls
3 library Functions
4 File Formats
5 Standards, Environment and Macros (e.g. man(5))
6 Games and Demos
7 Device and Network Interfaces, Special Files
8 Maintenance Procedures
9 Kernel and Driver entry points and structures

Đây là cách đánh số thực tế cho một UNIX "di truyền". POSIX không xác định số.

4
schily