Template:Man
The Single UNIX Specification, Version 5 from The Open Group
– Reference,To be used for inserting manual page links into articles on Unix topics.
Usage
Examples
In Out {{man|3|printf}}
The Single UNIX Specification, Version 5 from The Open Group – System Interfaces Reference,{{man|3|printf|||inline}}
{{man|3|printf|FreeBSD}}
FreeBSD Library Functions Manual –{{man|3|printf||formatted output conversion}}
The Single UNIX Specification, Version 5 from The Open Group : formatted output conversion – System Interfaces Reference,
Parameters
- Manual section
- Manual page name
- Source (the name of a subpage in the Template:Man namespace e.g. FreeBSD. Leave blank for the current default.)
- Page description
- Style parameter; currently
inline
omits the attribution.
Available sources
Please add to this table as you write new sources!s you write new sources!
Source Example → Result default[a] {{man|1|ls}}
→ – Shell and Utilities Reference, The Single UNIX Specification, Version 5 from The Open Groupdie.net {{man|1|ls|die.net}}
→ – Linux User Commands ManualVersion 6 Unix {{man|1|ls|v6}}
→ – Version 6 Unix Programmer's ManualVersion 7 Unix {{man|1|ls|v7}}
→ – Version 7 Unix Programmer's ManualVersion 8 Unix {{man|1|ls|v8}}
→ – Version 8 Unix Programmer's Manual4.2BSD {{man|1|ls|4.2BSD}}
→ – 4.2BSD General Commands Manual4.3BSD {{man|1|ls|4.3BSD}}
→ – 4.3BSD General Commands Manual4.3BSD-Reno {{man|1|ls|4.3BSD-Reno}}
→ – BSD General Commands Manual4.4BSD-Lite2 {{man|1|ls|4.4BSD-Lite2}}
→ – BSD General Commands Manual9front {{man|1|ls|9front}}
→ – 9front manual pageDarwin {{man|1|ls|Darwin}}
→ – Darwin and macOS General Commands ManualDebian {{man|1|ls|Debian}}
→ – Debian General Commands Manualman.cx {{man|8|iptables|man.cx}}
→ – man.cx Maintenance Commands ManualDragonFly BSD {{man|1|ls|DragonFly BSD}}
→ – DragonFly BSD General Commands ManualFreeBSD {{man|1|ls|FreeBSD}}
→ – FreeBSD General Commands ManualHP-UX {{man|1|ls|HP-UX}}
→ – HP-UX 11i User Commands ManualInferno {{man|1|ls|Inferno}}
→ – Inferno General commands ManualIRIX {{man|1|ls|IRIX}}
→ – IRIX 6.5 User Commands ManualLinux[b] {{man|7|epoll|Linux}}
→ – Linux Programmer's Manual – Overview, Conventions and MiscellaneaManKier[b] {{man|1|ls|ManKier}}
→ – Linux General Commands ManualMirOS BSD {{man|1|ls|MirOS BSD}}
→ – MirOS BSD i386 General Commands ManualNetBSD {{man|1|ls|NetBSD}}
→ – NetBSD General Commands ManualOpenBSD {{man|1|ls|OpenBSD}}
→ – OpenBSD General Commands ManualOpenSolaris {{man|1|ls|OpenSolaris}}
→ – illumos and OpenSolaris User Commands Reference Manual from latest Sun based OpenSolarisperldoc[c] {{man|1|perlrun|perldoc}}
→ – Perl Programming DocumentationPlan 9 {{man|1|ls|Plan 9}}
→ – Plan 9 Programmer's Manual, Volume 1Solaris {{man|1|ls|Solaris}}
→ – Solaris 11.4 User Commands Reference ManualSUS[d] {{man|cu|ls|SUS}}
→ – Shell and Utilities Reference, The Single UNIX Specification, Version 5 from The Open GroupSUS6[d] {{man|sh|putmsg|SUS6}}
→ – System Interfaces Reference, The Single UNIX Specification, Version 3 from The Open Group
- ^ Redirects to the current default.
- ^ a b This covers all sections, including section 1 of the Linux user's manual and sections 2, 3, 4, 5, 6, 7, and 8 of the Linux programmer's manual.
- ^ This is the official documentation included with Perl. It does not contain general manual pages.
- ^ a b The SUS pages use a non-numerical chapter system. A simple mapping is in place for human comfort.
General recommendations
For most articles, it is preferable to cite SUS (if present) for standard, the FreeBSD page for history, and the Linux page for a relatively widespread form. Add other OS pages as needed.
There are several sources for Linux manual pages. Just use "Linux" which points to manned.org, which has up-to-date manpages collected from several Linux distributions (as well as FreeBSD); it will, by default, "try to get the latest and most-close-to-upstream version of a man page", which "will fetch the man page from any of the available systems".[1] Do not go for die.net unless it's the only place where a page can be found, as the formatting is horrible and the pages are old.
Other sources
Occasionally you will come across manual pages for which writing a source is overkill. In this case you can use Template:man/format directly with a URL for formatting:
In Out {{man/format|1|dbx|http://.../dbx.1.html|source-level debugging tool|[[Sun Studio]] Developer's Manual}}
Sun Studio Developer's Manual : source-level debugging tool –
The interface of Template:man/format is therefore externally visible and needs to be kept constant.
Hacking
Writing sources
A source takes three parameters:
- Manual section
- Manual page name
- Output selector:
attrib
for attributionurl
for URL to pagedisplay_section
for section to display in parentheses.
See Template:Man/die.net for an example; see Template:Man/FreeBSD for a demonstration of varying the attribution by manual section.
Internals
Template:man handles choosing the default source and calling it for URL and attribution; the default source is Template:man/default, which is a template redirect currently to Template:man/SUS. Template:man/format actually formats the link and descriptions into a nice-looking link+auxilia in Unix style.
References
To be used for inserting manual page links into articles on Unix topics.
Parameter | Description | Type | Status | |
---|---|---|---|---|
Manual section | 1 | The section of the manual. e.g. if the manual page is 'ls(1)', the section is 1.
| String | required |
Manual page name | 2 | The name of the page you are referring to
| String | required |
Source | 3 | The name of a subpage in the 'Template:Man' namespace.
| String | suggested |
Page description | 4 | Will appear after the link to the man page | Content | optional |
Style parameter | 5 | Currently "inline" omits the attribution
| String | optional |