Takže například když napíšu man ls
, Uvidím LS(1)
. Ale když napíšu man apachectl
, Uvidím APACHECTL(8)
a pokud napíšu man cd
, Skončím s cd(n)
.
Zajímalo by mě, jaký význam mají čísla v závorkách, pokud nějaká mají.
Číslo odpovídá té části manuálu, ze které tato stránka pochází; 1 jsou uživatelské příkazy, zatímco 8 je sysadmin. Manová stránka pro člověka samotného (man man
) vysvětluje to a uvádí standardní:
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.
Existují určité termíny, které mají různé stránky v různých sekcích (např. printf
, jak se příkaz objevuje v sekci 1, jako funkce stdlib
se objevuje v sekci 3); v takových případech můžete před název stránky předat číslo sekce man
a vybrat, kterou chcete, nebo použít man -a
pro zobrazení každé odpovídající stránky v řadě:
$ man 1 printf
$ man 3 printf
$ man -a printf
S těmi man -k
(ekvivalent k příkazu apropos
). Bude také provádět podřetězcové shody (např. Zobrazí sprintf
, pokud spustíte man -k printf
), takže musíte použít ^term
omezit to:
$ 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)
Historie těchto čísel sekcí sahá až do původního nix Programmer's Manual Thompsona a Ritchieho v roce 1971.
Původní sekce byly
konqueror také popisuje nestandardní sekce: (díky @ greg0ire za nápad)
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
Co to již znamená, ale také chci dodat, že každá sekce má speciální manuálovou stránku s úvodem: intro
. Například viz man 1 intro
nebo man 3 intro
a tak dále.
Z man
manpage:
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]
Pokud jde o to, proč jsou takhle oddělené - existuje nějaké překrývání. Některé stránky existují ve více než jedné sekci v závislosti na tom, co máte na mysli.
Například porovnejte man crontab
s man 5 crontab
- je pravděpodobné, že to druhé je to, co jste chtěli vyhledat.
Toto jsou čísla sekcí. Stačí zadat man man
nebo otevřete konqueror a napište man: // man a uvidíte, jaké jsou tyto sekce.
Na manuálovou stránku se často odkazuje tak, že ji připojí k části uvedené v závorkách, např .:
read(2)
Tento styl má dvě hlavní výhody:
Man stránky jsou uspořádány do sekcí, např. Oddíl 1 zahrnuje všechny manuálové stránky příkazů uživatelů, oddíl 2 všechny manuálové stránky pro systémová volání, oddíl 3 je určen pro funkce knihovny atd.
Pokud na příkazovém řádku výslovně neurčíte sekci, kterou dostanete první odpovídající stránku man, ve výchozím pořadí procházení sekcí, např .:
$ man read
zobrazí na Fedoře BASH_BUILTINS(1)
. Kde
$ man 2 read
zobrazí manuálovou stránku pro systémové volání read()
.
Pamatujte, že polohová specifikace sekce není přenosná - např. v systému Solaris byste to specifikovali takto:
$ man -s 2 read
Obvykle man man
Také uvádí některé dostupné sekce. Ale ne nutně všechno. Pro výpis všech dostupných sekcí lze uvést podadresáře všech adresářů uvedených ve výchozí cestě člověka nebo v proměnné prostředí $MANPATH
. Například v systému Fedora 23 s nainstalovanými některými vývojovými balíčky /usr/share/man
Má následující podadresáře:
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
Adresáře s předponou man
představují každou sekci - zatímco ostatní obsahují přeložené sekce. Abychom získali seznam neprázdných sekcí, bylo by možné vydat příkaz jako je tento:
$ 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
(sekce končící na p
jsou manuálové stránky POSIX)
Chcete-li zobrazit manuálovou stránku v jiném jazyce (je-li k dispozici), lze nastavit proměnnou prostředí související s jazykem, např .:
$ LC_MESSAGES=de_DE man read
Každá sekce by také měla mít úvodní stránku s názvem intro
, např. viditelné prostřednictvím:
$ man 2 intro
Definice pro SVr4 jsou:
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
Toto je skutečné číslování pro „genetický“ UNIX. POSIX nedefinuje čísla.