Linux should by a dynamic operating system with the best documentation, continually improving interfaces, and a generally world class reputation. Instead, Linux gets the progressive blindness of too many people resisting even minor changes. These continuous annoyances lead to the death of a million cuts.
MAN pages
These are the original documentation of Linux, back when online documentation was rarely heard from. The documentation continues to have a Spartan flavor, as in “We Spartans Send Our Young Alone into the Cold”. There are seldom examples, rarely useful information, no hyperlinks, and only cursory explanations. For example, I looked up the program “uname” when I was reading a script.
“uname” prints out system information. There are odd conventions as to what is printed, which are undocumented. For example, “uname -m” prints the machine name. On PCs, this machine name might be “i386, i486, i586, i686 (for Intel processors)” or “x86_64″ for AMD 64 bit processors. This information is not printed in the man pages; it’s just errata that people are supposed to know. The option “-p” to print the processor type just prints “unknown”, according to some other obscure convention. Except for SunOS 5.x where it prints the processor type. This errata is not on-line, but found in various shell scripts and dead tree books.
The manual has no particular formatting, examples, or hyperlinks. It does helpfully suggest using the newer program “info”. That program shows the man page again with no formatting, examples, or hyperlinks.
Now Linux faithful will quickly point out that this information doesn’t belong in the manual, that some manual pages have more information. For example, “man bash” gives a book of about 3200 lines covering shell programming, details about piping commands, a half dozen built-in commands, and no examples. Meanwhile, everyone else uses some sort of mark-up language, wiki, or such. In practice, most users use Internet sources for information.
Wait a minute! This simple command, “uname” is used on every system everywhere! Thousands of new people use it every day. Why could there this horrible lack of documentation on such a simple command? Why could I have picked any of a hundred commands to criticize?
Just one cut in the death of a million cuts. I am not of the Linux Spartan priesthood; I want everything to work the first time, every time, and be understandable by a five year old. If a five year old cannot understand, the five year old needs to know what is needed to understand.
4 comments ↓
I’m not sure why you are not getting what you expect from Linux but I got the following:
$ uname -p
Intel(R) Pentium(R) 4 CPU 2.80GHz
I don’t use ‘info’ at the command line, I use it in konqueror as in ‘info:grep’ as a URL. It gives me a mini table of contents with clickable links, one of which is ‘examples’. And if Linux was easy enough for a 5 year old, without coaching, then it would be a security nightmare, kind of like that other operating system that makes most of your decisions for you.
I agree that online sources are better, and that Wikipedia is likely to become the default reference. Wikipedia also handles the coaching so that a 5 year old *can* go forward. A good plan would be to release a wikipedia snapshot of the relevant commands with the release. Hmmm…
I did update Wikipedia to have the correct uname info for Ubuntu.
“Man” does not come from Linux; it’s a UNIX thing and is at *least* 30 years old. (And yes, I was using it 30 years ago.) It comes from the era of text-only, 24×80 terminals. There is a highly-structured format; it’s just that some man pages are better written than others.
As for “uname”, also available on pretty much all UNIX and UNIX-like systems, it seems to function pretty much as advertised, and the fields are more or less self-explanatory.
On my Linux system:
penguin [3] % uname -a
Linux penguin.postmodern.com 2.4.18-14 #1 Wed Sep 4 13:35:50 EDT 2002 i686 i686 i386 GNU/Linux
On my Mac:
michael-c-berchs-computer [10] % uname -a
Darwin heathrow.postmodern.com 8.10.0 Darwin Kernel Version 8.10.0: Wed May 23 16:50:59 PDT 2007; root:xnu-792.21.3~1/RELEASE_PPC Power Macintosh powerpc
uname -p work on both, as well.
I agree uname is somewhat usable with only the “–help” option, or the man or info pages which contain only the same information. Contrast this with the Wikipedia page at http://en.wikipedia.org/wiki/Uname which includes sample output for the different systems. That necessary information doesn’t have a capture method in core Unix systems.
Leave a Comment