38

When linking to man pages (example: man man), what are good target sites? Why?

I often use whatever Google finds when I search for man whatever, which in practice usually is http://linux.die.net/man/ but I think some people would prefer some other site.

I know this is quite opinion-based, but still, a choice must be made when actually adding the link, and there has to be some kind of consensus of what are good and what are less good... I wouldn't be surprised if using the wrong site might even prevent up-vote from someone who might prefer another site (or even get a down-vote, on a bad day). So it's important to know the collective opinion of the community.

10
  • 2
    I personally just use whatever Google finds, too... Well, maybe I'll pick from the first few results... Never struck me as important which one.
    – derobert
    Commented Nov 8, 2015 at 10:11
  • 4
    I try to avoid die.net because I have found it to have errors (I don't recall the details) — but I would never judge a post by which man page web site it used. Commented Nov 8, 2015 at 19:23
  • If there was a link and someone couldn't find a piece of information I would have expected to be present, I'll check the link content as part of my answer. Otherwise I'd probably ignore it and use memory or my local man pages. Commented Nov 9, 2015 at 14:40
  • 3
    If a site provided direct links to single options or sections, that would be a killer feature IMHO. Some man pages are really long.
    – Nemo
    Commented Nov 13, 2015 at 22:26
  • "linux.die.net/man but I think some people would prefer some other site" Who would prefer another site and why? What's the problem with linux.die.net that made you create this question?
    – DBedrenko
    Commented Nov 16, 2015 at 11:41
  • @NewWorld I would, since, as I said in my answer, I don't know the source of the manpages in linux.die.net. Though I haven't actually expressed that opinion before this question was posted, so I don't know what inspired OP.
    – muru
    Commented Nov 16, 2015 at 21:24
  • 1
    @NewWorld Even if the site says it is from 1996, so might be very stable, it also says it's essentially a hobby site. And as muru says, does not expose the source of the man pages. This all seems less than ideal for a good reference site (I don't personally care much, but the question isn't about my opinion).
    – hyde
    Commented Nov 16, 2015 at 21:33
  • 1
    I'd prefer just telling people to read man foo on their own system. Add a link as well if you insist, but it's more important to teach people by example that the docs are on their own system.
    – cas
    Commented Nov 17, 2015 at 5:12
  • 1
    @cas sometimes we need to quote the manpage. And when that happens, being able to access the target system's manpage without it being actually installed is useful. (I'd rather not maintain a farm of VMs.) Nearly all instances where I quote a manpage goes like so: From [`man foo`](link to foo's manpage): ... If we're looking at different manpages, then telling a user to read it without specify what to read will be fun.
    – muru
    Commented Nov 17, 2015 at 13:39
  • 2
    I avoid refering to linux.die.net, because the pages hosted there appear to be for quite old versions (2010?). More recently added features aren't described by old man pages.
    – sebasth
    Commented Jun 2, 2018 at 5:59

4 Answers 4

31
  • For Ubuntu derivatives, the canonical place is http://manpages.ubuntu.com1.
  • For Debian, it's http://manpages.debian.org.
  • For Linux system calls, and other kernel-related things, http://man7.org is apparently generated from the docs.
  • For a variety of systems, especially CentOS and a number of BSD and Unix systems, http://freebsd.org/cgi/man.cgi is an excellent resource (though it might not have the latest release's documentation for other OSes). It's also very useful for historical interest, manpages dating back to 2.8 BSD are available.
  • For GNU, the manpages supplied by the various distros are often derived from the info pages. As such, the info page can have more information than the manpage. The GNU documentation is available at http://www.gnu.org/manual/manual.html.

I'm unsure of the source or canonicity of http://linux.die.net.

I generally pick the resource most suited the question - it's important that both the asker and the answerer be on the same page w.r.t. documentation. Often, it's the case that your manpage may list features that the OP doesn't have, rendering your potential answer irrelevant.

This problem can be considerably mitigated by sticking to the POSIX manpages (with Ubuntu, that's the sections 1posix, 3posix, etc.), to get a common core feature set. However, U&L being what it is, there's still no way to be sure without looking at documentation specific to the OS mentioned in the question.


1 Ubuntu's manpage site (and I suppose other sites as well) suffers from a bug where identically named manpages aren't listed separately - so, if an utility is provided by different sources, only one of them is likely to show up.

4
  • 2
    I would add openbsd.org/cgi-bin/man.cgi for OpenBSD.
    – user90883
    Commented Nov 8, 2015 at 16:54
  • @ThomasWeinbrenner iirc the FreeBSD site also has OpenBSD and NetBSD manpages, so that's covered.
    – muru
    Commented Nov 8, 2015 at 16:55
  • 2
    FreeBSD doesn't have 5.8 and -current
    – user90883
    Commented Nov 8, 2015 at 16:57
  • 2
    +1 This is a good list. You might also want to include developer.apple.com/library/mac/documentation/Darwin/Reference/… for OSX, though currently it only seems to be for 10.9. Not sure the extent of differences to 10.11 Commented Nov 11, 2015 at 20:43
7

For general UNIX and POSIX things, OpenBSD is often regarded as having the best documentation; and FreeBSD is a great choice, too.

The quickest way to link to either is through http://mdoc.su/, which provides a semantic URL namespace for man-pages, and ensures that you get a quick and canonical URL that you don't have to look up and/or copy/paste prior to writing your answer. It's fast and open-source.


According to the [fork(2)](http://mdoc.su/o/fork.2) system call, ...

According to the fork(2) system call, ...


To use ZFS, use [`zpool`](http://mdoc.su/f/zpool) to create a `raidz` pool...

To use ZFS, use zpool to create a raidz pool...


10
  • "Link to either"? Which does it link to?
    – muru
    Commented Nov 12, 2015 at 8:51
  • 2
    @muru, what do you mean? If you use the /o/ namespace within mdoc.su, it'll link to OpenBSD; /f/ will link to FreeBSD. Stuff like /o,f/ can also be used for a Multiple Choices thingy, e.g., mdoc.su/o,f/fork.2, as well as /FreeBSD-10.2/ and stuff, e.g., mdoc.su/FreeBSD-10.2/zfs.8.
    – cnst
    Commented Nov 12, 2015 at 16:20
  • Yep, that's what I was wondering.
    – muru
    Commented Nov 12, 2015 at 16:23
  • 1
    FreeBSD documentation, especially man pages, are often wrong for Linux. Linux distros tend to use GNU versions of tools which can be very different from the FreeBSD versions. also device names etc are different. kernel options are different. /proc doesn't exist by default on FreeBSD. and much more. So if the Q is about FreeBSD then link to FreeBSD docs....but don't link to FreeBSD docs for Linux questions.
    – cas
    Commented Nov 17, 2015 at 5:15
  • @cas, Linux documentation, especially man pages, are often wrong for Linux. Noone said to link to FreeBSD for questions about Linux kernel or GNU; I was merely talking about UNIX and POSIX stuff, because, chances are, if it works on OpenBSD and FreeBSD, which are much more conservative than Linux is, than it also likely works on GNU/Linux, too.
    – cnst
    Commented Nov 17, 2015 at 23:42
  • 1
    uh, no. GNU options are different to FreeBSD options, not just a superset. GNU & FreeBSD versions of the same tools sometimes use the same option letter for completely different things, or interpreted in very different ways.
    – cas
    Commented Nov 17, 2015 at 23:46
  • @cas, no, not if it's part of POSIX.
    – cnst
    Commented Nov 17, 2015 at 23:49
  • 1
    freebsd's options aren't necessarily posix. nor are they a subset of GNU options. While GNU versions usually have more features, that's not always the case. FreeBSD's xargs, for example has a useful -J option that GNU xargs doesn't. and -J is not a posix option, it's a freebsd extension.
    – cas
    Commented Nov 17, 2015 at 23:53
  • 1
    In other words, it makes no more sense to tell a linux user "read the freebsd man page" than it does to tell a freebsd user "read the linux (or gnu) man page".
    – cas
    Commented Nov 17, 2015 at 23:54
  • Both FreeBSD and OpenBSD, mdoc.su/f,o/xargs, clearly document that their -J is not part of POSIX (look in the standard STANDARDS section of the page).
    – cnst
    Commented Nov 18, 2015 at 0:10
4
  1. Manuals that are installed on my system document the behaviour of my system.

  2. Manuals found on a web site does not document the behaviour of my system.

Therefore, I tend to say "see the manual for xxxx on your system" and then possibly link to the relevant POSIX document if the question is about a POSIX utility or interface and if the POSIX behaviour is relevant to the question (especially if the user does not say what Unix they are using).

If it's about a non-standard utility, or an extension in a particular implementation of a standard utility, I would still not link to a random manual on the net, but would ask the user to consult their own manual for particular details. That way, the user will not be confused about differences in how their utility is working compared to what the random manual on the Internet says it ought to work.

The POSIX standard is available at http://pubs.opengroup.org/onlinepubs/9699919799.2018edition/

Removing the bit after the dot at the end will always give you the most recent edition of SuSv4.

Utilities are documented under "Shell & Utilities" --> "Utilities".

2
  • Most of the time, when programming, the code needs to work on many systems, not just on current build host.
    – hyde
    Commented Jun 1, 2018 at 17:23
  • @hyde .. which is when you refer to the POSIX interface documentation, or specify the specific version of a library that your code is supposed to work with (which is installed on the build system). Referring to a random manual on the Internet might get you an obsolete version's manual.
    – Kusalananda Mod
    Commented Jun 1, 2018 at 17:27
2

Yes, Linux man-pages project is good. You can refer linuxcommand.org where you can find manpages for Fedora Core 4 by alphabetical index or function.

enter image description here

Example: manpage for man : man(1)

You can also refer ss64.com which contains some A-Z index of Bash commands.

3
  • 1
    +1 for ss64.com, but also the rest of the answer :)
    – cat
    Commented Jan 5, 2016 at 19:19
  • 2
    Linux doesn't have commands, it's just a kernel. Several commands have been ported to that kernel. For instance, there are several different implementations of a man command that have been ported to or made specifically for Linux. That link you provide documents one of them, we don't know which one, it seems to be from 1995. Commented Jan 5, 2016 at 22:29
  • @StéphaneChazelas apparently the manpages are from Fedora Core 4
    – muru
    Commented Jan 6, 2016 at 6:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .