MAN(1)
๐ MAN(1) โจ Manual pager utils โจ MAN(1)
๐ธ NAME ๐ธ
okay so the name of this thing is man, and it's basically your gateway to the system reference manuals ๐ bestie, it's literally an interface to all the official docs ๐
๐ SYNOPSIS ๐
man [man options] [[section] page ...] ...
man -k [apropos options] regexp ...
man -K [man options] [section] term ...
man -f [whatis options] page ...
man -l [man options] file ...
man -w|-W [man options] page ...
๐ฆ DESCRIPTION ๐ฆ
okay so man is the system's manual pager ๐
You give it a page argument, which is usually the name of a program, utility, or function, and it goes and finds the manual page for that thing and shows it to you. โจ
You can also give it a section, if you want. That tells man to only look in that one section of the manual ๐ง Without one, it searches all the available sections following a pre-defined order (see DEFAULTS ๐) and shows you only the first page it finds. Even if the page exists in several sections, you only get one, so no double-dipping ๐
The table below shows the section numbers of the manual and the types of pages they hold. Lowkey the most useful thing to memorise ๐
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, e.g./etc/passwd๐ซถ6โ Games ๐ฎ7โ Miscellaneous (including macro packages and conventions), e.g.man(7),groff(7),man-pages(7)๐8โ System administration commands (usually only for root) ๐9โ Kernel routines [Non standard] ๐
A manual page is made up of several sections, kind of like a playlist of info ๐
Conventional section names include NAME, SYNOPSIS, CONFIGURATION, DESCRIPTION, OPTIONS, EXIT STATUS, RETURN VALUE, ERRORS, ENVIRONMENT, FILES, VERSIONS, STANDARDS, NOTES, BUGS, EXAMPLE, AUTHORS, and SEE ALSO โจ
The following conventions apply to the SYNOPSIS section, and you can use them as a guide in other sections too ๐
- bold text โ type exactly as shown.
- italic text โ replace with the appropriate argument.
[-abc]โ any or all arguments within[ ]are optional.-a|-bโ options delimited by|cannot be used together.argument ...โ argument is repeatable.[expression] ...โ the entire expression within[ ]is repeatable.
Exact rendering may vary depending on the output device. For instance, man will usually not be able to render italics when running in a terminal, and will typically use underlined or coloured text instead ๐ธ
The command or function illustration is a pattern that should match all possible invocations. In some cases it is advisable to illustrate several exclusive invocations, as is shown in the SYNOPSIS section of this manual page ๐ฆ
๐ EXAMPLES ๐
bestie, this is the fun part ๐คฉ here are the examples, served fresh:
man ls
Display the manual page for the item (program) ls. ๐
man man.7
Display the manual page for macro package man from section 7. (This is an alternative spelling of "man 7 man".) โจ
man 'man(7)'
Display the manual page for macro package man from section 7. (This is another alternative spelling of "man 7 man". It may be more convenient when copying and pasting cross-references to manual pages. Note that the parentheses must normally be quoted to protect them from the shell.) ๐ง
man -a intro
Display, in succession, all of the available intro manual pages contained within the manual. It is possible to quit between successive displays or skip any of them. ๐
man -t bash | lpr -Pps
Format the manual page for bash into the default troff or groff format and pipe it to the printer named ps. The default output for groff is usually PostScript. man --help should advise as to which processor is bound to the -t option. ๐จ๏ธ
man -l -Tdvi ./foo.1x.gz > ./foo.1x.dvi
This command will decompress and format the nroff source manual page ./foo.1x.gz into a device independent (dvi) file. The redirection is necessary, as the -T flag causes output to be directed to stdout with no pager. The output could be viewed with a program such as xdvi, or further processed into PostScript using a program such as dvips. ๐
man -k printf
Search the short descriptions and manual page names for the keyword printf as a regular expression. Print out any matches. Equivalent to apropos printf. ๐ฅ
man -f smail
Look up the manual pages referenced by smail and print out the short descriptions of any found. Equivalent to whatis smail. ๐ซถ
๐ง OVERVIEW ๐ง
okay so there are so many options available to man, giving you as much flexibility as possible ๐ You can change the search path, section order, output processor, and other behaviours and operations detailed below. Main character energy ๐
If they're set, various environment variables get interrogated to determine how man operates ๐ธ You can set the "catch-all" variable $MANOPT to any string in command line format, with one exception: any spaces used as part of an option's argument must be escaped (preceded by a backslash) ๐ man will parse $MANOPT before parsing its own command line. Options that require an argument will be overridden by the same options found on the command line. To reset all of the options set in $MANOPT, -D can be specified as the initial command line option. This lets man "forget" about the options specified in $MANOPT, although they must still have been valid when set โจ
Manual pages are normally stored in nroff(1) format under a directory such as /usr/share/man. In some installations there may also be preformatted cat pages to improve performance. See manpath(5) for details of where these files are stored ๐
This package supports manual pages in multiple languages, controlled by your locale ๐ If your system didn't set this up for you automatically, you may need to set $LC_MESSAGES, $LANG, or another system-dependent environment variable to indicate your preferred locale. This is usually specified in the POSIX format:
<language>[_<territory>[.<character-set>[,<version>]]]
If the desired page is available in your locale, it will be displayed in lieu of the standard (usually American English) page ๐
If you find that the translations supplied with this package aren't available in your native language, and you'd like to supply them, please contact the maintainer, who will be coordinating that activity ๐ซถ
Individual manual pages are normally written and maintained by the maintainers of the program, function, or other topic they document, and they are not included with this package. If you find that a manual page is missing or inadequate, please report that to the maintainers of the package in question ๐
For information regarding other features and extensions available with this manual pager, please read the documents supplied with the package ๐ฆ
๐ DEFAULTS ๐
The order of sections to search may be overridden by the environment variable $MANSECT, or by the SECTION directive in /etc/manpath.config. By default it is as follows:
1 n l 8 3 0 2 3type 3posix 3pm 3perl 3am 5 4 9 6 7
The formatted manual page is displayed using a pager. This can be specified in a number of ways, or else it will fall back to a default (see option -P for details) ๐
The filters are deciphered by a number of means. Firstly, the command line option -p or the environment variable $MANROFFSEQ is interrogated. If -p was not used and the environment variable was not set, the initial line of the nroff file is parsed for a preprocessor string. To contain a valid preprocessor string, the first line must resemble:
'\" <string>
where string can be any combination of letters described by option -p below โจ
If none of the above methods provide any filter information, a default set is used ๐ธ
A formatting pipeline is formed from the filters and the primary formatter (nroff, or [tg]roff with -t) and executed. Alternatively, if an executable program mandb_nfmt (or mandb_tfmt with -t) exists in the man tree root, it is executed instead. It gets passed the manual source file, the preprocessor string, and optionally the device specified with -T or -E as arguments ๐ง
๐ OPTIONS ๐
okay bestie, listen up ๐ Non-argument options that are duplicated, either on the command line, in $MANOPT, or both, are totally harmless ๐ซถ For options that do require an argument, each duplication will override the previous argument value.
๐ General options ๐
-C file,--config-file=fileโ Use this user configuration file rather than the default of~/.manpath. ๐-d,--debugโ Print debugging information. ๐-D,--defaultโ This option is normally issued as the very first option, and it resetsman's behaviour to its default. Its whole job is to reset those options that may have been set in$MANOPT. Any options that follow-Dwill have their usual effect. ๐--warnings[=warnings]โ Enable warnings fromgroff. This can be used to perform sanity checks on the source text of manual pages.warningsis a comma-separated list of warning names; if it isn't supplied, the default is"mac". To disable agroffwarning, prefix it with"!": for example,--warnings=mac,!breakenables warnings in the"mac"category and disables warnings in the"break"category. See the โWarningsโ node ininfo grofffor a list of available warning names. โ ๏ธ
๐ฅ Main modes of operation ๐ฅ
-f,--whatisโ Approximately equivalent towhatis. Displays a short description from the manual page, if one is available. Seewhatis(1)for details. โจ-k,--aproposโ Approximately equivalent toapropos. Searches the short manual page descriptions for keywords and displays any matches. Seeapropos(1)for details. ๐-K,--global-aproposโ Searches for text in all manual pages. This is a brute-force search and is likely to take some time, so if you can, specify a section to reduce the number of pages that need to be searched. Search terms may be simple strings (the default), or regular expressions if the--regexoption is used. ๐
heads up bestie: this searches the sources of the manual pages, not the rendered text. That means it may include false positives due to things like comments in source files, or false negatives due to things like hyphens being written as "\-" in source files. Searching the rendered text would be much slower ๐
-l,--local-fileโ Activate "local" mode. Format and display local manual files instead of searching through the system's manual collection ๐ง Each manual page argument will be interpreted as annroffsource file in the correct format. No cat file is produced. If'-'is listed as one of the arguments, input will be taken from stdin ๐ฅ
Okay so the -l business from before is still going, and it's giving "fallback" ๐ฆ
If this option isn't used, man will also fall back to treating page arguments as local file names whenever the argument contains a / character ๐๏ธ bestie, that slash is basically a neon sign saying "this is a path on the file system" โจ
-w,--where,--path,--locationโ okay so this one doesn't actually show you the page ๐ it just prints the location of the source nroff file that would've been formatted. If you also throw in-a, it prints the locations of all source files that match your search ๐๐-W,--where-cat,--location-catโ same energy as-w, but for the preformatted cat file that would've been displayed ๐ With-ayou get the locations of every preformatted cat file that matches ๐ธ- Now the combo moment ๐ซถ If you use
-wand-Wtogether, you get both the source file and the cat file, separated by a space. And if you use all of-w,-W, and-aat once, it does this for each possible match. Iconic, honestly ๐ -c,--catmanโ not for general use, bestie ๐ โโ๏ธ This one's only meant for thecatmanprogram, so please don't go poking it for fun ๐-R encoding,--recode=encodingโ instead of formatting the page the usual way, this outputs its source converted to the encoding you specify ๐ If you already know the source file's encoding, you can usemanconv(1)directly. BUT this option is the move if you want to convert a bunch of pages to one encoding without stating each one's encoding, as long as they're already installed in something shaped like a manual page hierarchy โจ- Quick heads up ๐
For converting multiple manual pages,
man-recode(1)is the better pick. It has an interface built for bulk conversion, so it can be way faster ๐๏ธ๐จ
๐ฆ Finding manual pages ๐ฆ
-L locale,--locale=localeโ normallymanfigures out your current locale by calling the C functionsetlocale(3), which checks various environment variables (possibly including$LC_MESSAGESand$LANG) ๐ If you want to temporarily override that, pass a locale string straight tomanwith this option. It won't kick in until the page search actually begins, though ๐ And output like the help message always shows up in the locale that was figured out at the start ๐-m system[,...],--systems=system[,...]โ if your system can access other operating systems' manual pages, this is how you reach them ๐ง To search NewOS's manual page collection, use-m NewOS. You can list several operating system names separated by commas, and to include a search of the native operating system's pages, add the system namemanto the argument string ๐ซถ This option overrides the$SYSTEMenvironment variable, so it wins that fight ๐-M path,--manpath=pathโ lets you pick an alternate manpath to use ๐บ๏ธ By default,manuses manpath-derived code to figure out which path to search. This option overrides the$MANPATHenvironment variable AND makes-mget ignored. Rude, but effective ๐
A path given as a manpath has to be the root of a manual page hierarchy that's structured into sections, just like the man-db manual describes (look for "The manual page system") ๐ Want to view pages that live outside those hierarchies? Check out the -l option โจ
-S list,-s list,--sections=listโ the list is a colon- or comma-separated list of sections that decides which manual sections get searched and in what order ๐ This overrides the$MANSECTenvironment variable. (The-sspelling is only there for compatibility with System V, so it's a bit of a throwback ๐ฐ๏ธ)-e sub-extension,--extension=sub-extensionโ okay this one has a whole story ๐ Some systems stuff big packages of manual pages, like the ones that come with the Tcl package, into the main hierarchy. So to avoid two pages sharing a name likeexit(3), the Tcl pages were usually all dumped into sectionl. Unfortunate, honestly ๐ญ Now it's possible to put them in the correct section and give them a specific "extension", likeexit(3tcl). By default,manshowsexit(3)in preference toexit(3tcl). So to get the Tcl one without needing to know which section it lives in, givemana sub-extension string for the package. Using the example above,-e tclrestricts the search to pages with an extension of*tcl๐-i,--ignore-caseโ ignores case when searching for pages. This is the default, so you're already doing it ๐ธ-I,--match-caseโ searches case-sensitively ๐ค--regexโ shows all pages where any part of the name or the description matches each page argument as a regular expression, same asapropos(1)๐ Since there's usually no reasonable way to pick a "best" page for a regex search, this option implies-a๐ซถ--wildcardโ same vibe as--regex, but uses shell-style wildcards, same asapropos(1) --wildcard๐ง The page argument has to match the entire name or description, or match on word boundaries in the description. And just like--regex, this one implies-abecause there's no obvious "best" page for a wildcard either ๐--names-onlyโ if you're using--regexor--wildcard, this matches only page names and skips descriptions, same aswhatis(1)โจ Otherwise it does nothing, so don't stress ๐-a,--allโ by default,manexits after showing the most suitable page it finds ๐ With this option, it shows all the manual pages whose names match your search criteria ๐-u,--updateโ makesmanupdate its database caches of installed manual pages ๐ ๏ธ This is only needed in rare situations, and it's usually better to runmandb(8)instead ๐--no-subpagesโ okay this is a lowkey clever one ๐ง By default,mantreats a pair of manual page names on the command line as equivalent to a single page name containing a hyphen or an underscore. This is for programs with a bunch of subcommands, so each one can have its own page that you look up with the same syntax you'd use to run the subcommand itself. For example:
$ man -aw git diff
/usr/share/man/man1/git-diff.1.gz
To turn that behaviour off, use --no-subpages ๐
โโ๏ธ
$ man -aw --no-subpages git diff
/usr/share/man/man1/git.1.gz
/usr/share/man/man3/Git.3pm.gz
/usr/share/man/man1/diff.1.gz
๐ Controlling formatted output ๐
-P pager,--pager=pagerโ picks the output pager ๐ By default,manusespager, but falls back tocatifpagerisn't found or isn't executable ๐ฑ This option overrides the$MANPAGERenvironment variable, which in turn overrides the$PAGERenvironment variable. It's not used with-for-k๐
The value can be a simple command name or a command with arguments, and it can use shell quoting (backslashes, single quotes, or double quotes) โจ BUT it can't use pipes to connect multiple commands. If you need that, make a wrapper script instead. The script can take the file to display either as an argument or on standard input ๐ซถ
-r prompt,--prompt=promptโ if you're using a recent version oflessas your pager,manwill try to set its prompt and some sensible options for you ๐ธ The default prompt looks like this:
Manual page name(sec) line x
Where name is the manual page name, sec is the section it was found under, and x is the current line number ๐ข This is achieved by using the $LESS environment variable ๐
Supplying -r with a string overrides that default ๐ The string can include the text $MAN_PN, which gets expanded to the name of the current manual page, plus its section name wrapped in ( and ). The string used to make the default could be written like this:
\ Manual\ page\ \$MAN_PN\ ?ltline\ %lt?L/%L.:
byte\ %bB?s/%s..?\ (END):?pB\ %pB\\%..
(press h for help or q to quit)
It's split into three lines here just for readability โจ For what it all means, see the less(1) manual page ๐ The prompt string gets evaluated by the shell first, so all double quotes, backquotes and backslashes in the prompt must be escaped with a preceding backslash ๐ The prompt string may end in an escaped $, which can be followed by more options for less. By default, man sets the -ix8 options ๐
The $MANLESS environment variable (described below) can set a default prompt string if you don't supply one on the command line. Choose wisely, bestie ๐
-7,--asciiโ when you're viewing a pureascii(7)manual page on a 7-bit terminal or terminal emulator, some characters might not display correctly when using thelatin1(7)device description with GNU nroff ๐ญ This option lets pure ascii pages display in ascii with thelatin1device. It won't translate any latin1 text, though ๐ โโ๏ธ Here's the table of translations it performs. Some parts might only display properly with GNU nroff'slatin1(7)device:
Description Octal latin1 ascii
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
continuation hyphen 255 โ -
bullet (middle dot) 267 โข o
acute accent 264 ยด '
multiplication sign 327 ร x
If the latin1 column displays correctly, your terminal is probably set up for latin1 characters and you don't need this option ๐ If the latin1 and ascii columns are identical, then you're either reading this page using this option, or man didn't format it with the latin1 device description ๐ค And if the latin1 column is missing or corrupt, you might need to view manual pages with this option ๐ฅบ
This option is ignored when you use -t, -H, -T, or -Z, and it might be totally useless for nroff unless it's GNU's ๐โจ
-E encoding,--encoding=encoding: okay so this one makes output for a character encoding that isn't the default ๐ For backward compatibility, encoding can be an nroff device likeascii,latin1, orutf8, or a real character encoding likeUTF-8. Both work bestie ๐ซถ--no-hyphenation,--nh: so normally nroff will hyphenate words at line breaks, even words with no hyphens in them, if it needs to so the line doesn't look gappy ๐ This option turns that off, so words only get hyphenated if they already have hyphens in them ๐ฆ
If you're writing a manual page and just want to stop nroff from hyphenating a word in a weird spot, don't use this flag ๐
โโ๏ธ Check the nroff docs instead. For example, you can put "\%" inside a word to say where it's allowed to break, or put "\%" at the start of a word so it never gets hyphenated ๐
--no-justification,--nj: normally nroff pushes text out to both margins so it's perfectly lined up on both sides ๐ This option turns off full justification and keeps only the left margin lined up, which is what people call "ragged-right" text ๐
Same deal as before: if you only want certain paragraphs to stop being justified, skip this flag and read the nroff docs. You can use the .na, .nf, .fi, and .ad requests to turn adjusting and filling off temporarily โจ
-p string,--preprocessor=string: this sets which preprocessors run before nroff or troff/groff ๐ง Not every setup has the full set, so don't be shocked if some are missing. The ones you might see, with their letters, are: eqn (e), grap (g), pic (p), tbl (t), vgrind (v), and refer (r) ๐ This option overrides the$MANROFFSEQenvironment variable, andzsoelimalways runs first no matter what ๐-t,--troff: formats the manual page withgroff -mandocand sends it to stdout ๐จ๏ธ You don't need this flag if you're already using-H,-T, or-Z๐-T[device],--troff-device[=device]: changes groff's output (or possibly troff's) so it's suitable for a device that isn't the default ๐ฑ It implies-t. Some examples as of groff 1.23.0 are dvi, latin1, pdf, ps, utf8, X75, and X100 ๐-H[browser],--html[=browser]: makes groff produce HTML and then shows it in a web browser ๐ The browser gets picked by the optional browser argument if you give one, otherwise by the$BROWSERenvironment variable, and if that's unset, by a compile-time default (usually lynx). This option implies-tand only works with GNU troff ๐ฆ-X[dpi],--gxditview[=dpi]: shows groff's output in a graphical window using the gxditview program ๐ช The dpi (dots per inch) can be 75, 75-12, 100, or 100-12, and it defaults to 75. The-12versions use a 12-point base font. This option implies-Twith the X75, X75-12, X100, or X100-12 device, depending on what you pick ๐ฅ-Z,--ditroff: groff runs troff, then uses a suitable post-processor to make output for the device you chose ๐ซง If groff-mandocis groff, this option gets passed along to groff and stops the post-processor from running. It implies-t๐
๐ฌ Getting help
-?,--help: prints a help message and exits ๐โโ๏ธ--usage: prints a short usage message and exits ๐-V,--version: displays version info ๐ท๏ธ
๐ฆ EXIT STATUS ๐ฆ
0: everything went perfectly, successful program execution ๐ฅณ1: usage, syntax, or configuration file error ๐2: operational error ๐ฌ3: a child process returned a non-zero exit status ๐16: at least one of the pages, files, or keywords didn't exist or didn't get matched ๐ซ
๐ ENVIRONMENT ๐
MANPATH: if$MANPATHis set, its value is the path man searches for manual pages ๐บ๏ธ See the SEARCH PATH section of manpath(5) for the default behaviour and the full details on how this variable is handled ๐MANROFFOPT: every time man calls the formatter (nroff, troff, or groff), it adds the contents of$MANROFFOPTto the formatter's command line โ๏ธ For example,MANROFFOPT=-P-itells the formatter to use italic text (only some terminals support that) instead of underlined text ๐ธMANROFFSEQ: if$MANROFFSEQis set, its value decides which preprocessors each manual page goes through ๐งฉ The default preprocessor list depends on the system ๐ฅ๏ธMANSECT: if$MANSECTis set, its value is a colon-delimited list of sections, and it decides which manual sections get searched and in what order ๐ The default is"1 n l 8 3 0 2 3type 3posix 3pm 3perl 3am 5 4 9 6 7", unless the SECTION directive in/etc/manpath.configoverrides it ๐ซถMANPAGER,PAGER: if$MANPAGERor$PAGERis set ($MANPAGERwins if both are), its value is the program used to display the manual page ๐ By default it's pager, and it falls back to cat if pager isn't found or isn't executable ๐
The value can be a plain command name or a command with arguments, and it can use shell quoting (backslashes, single quotes, or double quotes) ๐งต It can't use pipes to connect multiple commands. If you need that, use a wrapper script instead, which can take the file to display either as an argument or on standard input ๐
MANLESS: if$MANLESSis set, its value becomes the default prompt string for the less pager, just as if you'd passed it with the-roption, so any$MAN_PNtext gets expanded the same way ๐ช For example, if you want the prompt to be โmy prompt stringโ no matter what, set$MANLESSto-Psmy prompt string๐ Using the-roption overrides this environment variable ๐BROWSER: if$BROWSERis set, its value is a colon-delimited list of commands. Each one gets tried in turn to start a web browser forman --html๐ In each command,%sgets replaced by a filename holding the HTML output from groff,%%gets replaced by a single percent sign (%), and%cgets replaced by a colon (:) ๐ซงSYSTEM: if$SYSTEMis set, it does the exact same thing as if you'd passed it as the argument to the-moption ๐งMANOPT: if$MANOPTis set, it gets parsed before man's command line and should look kind of similar to it ๐ All the other man-specific environment variables can be written as command line options, so they're all candidates to go into$MANOPT, which means they'll probably become obsolete ๐ N.B. every space that's meant to be part of an option's argument must be escaped ๐จMANWIDTH: if$MANWIDTHis set, its value is the line length manual pages get formatted to ๐ If it isn't set, pages get formatted to a line length that suits your current terminal, using$COLUMNS, plus ioctl(2) if it's available, and falling back to 80 characters if neither works ๐ป Cat pages only get saved when the default formatting can be used, which is when the terminal line length is between 66 and 80 characters ๐งMAN_KEEP_FORMATTING: normally, when output isn't going to a terminal (like a file or a pipe), formatting characters get tossed so the result is easy to read without special tools ๐งน But if$MAN_KEEP_FORMATTINGis set to any non-empty value, those formatting characters stay put. This can be handy for wrappers around man that know how to interpret them ๐MAN_KEEP_STDERR: normally, when output is going to a terminal (usually a pager), any error output from the command that makes the formatted pages gets thrown away so it doesn't mess up the pager's display ๐ Programs like groff often spit out minor complaints about typography, like poor alignment, which look messy next to the page. But some people want to see them anyway, so if$MAN_KEEP_STDERRis set to any non-empty value, error output shows up as usual ๐MAN_DISABLE_SECCOMP: on Linux, man normally puts subprocesses that handle untrusted data inside a seccomp(2) sandbox ๐ก๏ธ That makes it way safer to run complex parsing code over random manual pages. If this breaks for some reason that has nothing to do with the page's content, you can set$MAN_DISABLE_SECCOMPto any non-empty value to turn the sandbox off ๐PIPELINE_DEBUG: if$PIPELINE_DEBUGis set to"1", man prints debugging messages to standard error describing every subprocess it runs ๐LANG,LC_MESSAGES: depending on the system and implementation, either or both of$LANGand$LC_MESSAGESget checked for the current message locale ๐ man shows its messages in that locale if it's available. See setlocale(3) for the precise details ๐งโโ๏ธ
๐ FILES ๐
/etc/manpath.config: the man-db configuration file ๐๏ธ/usr/share/man: a global manual page hierarchy ๐ธ
๐ STANDARDS ๐
POSIX.1-2001, POSIX.1-2008, and POSIX.1-2017 โจ
๐ SEE ALSO ๐
apropos(1), groff(1), less(1), manpath(1), nroff(1), troff(1), whatis(1), zsoelim(1), manpath(5), man(7), catman(8), mandb(8) ๐
Documentation for some packages may also be available in other formats, like info(1) or HTML ๐ซถ
๐ฐ๏ธ HISTORY ๐ฐ๏ธ
okay so this is the lore ๐ of how man-db came to be, and it's kinda iconic ngl ๐
1990, 1991 โ it was originally written by John W. Eaton, email jwe@che.utexas.edu. the OG ๐ซถ
Dec 23 1992: Rik Faith (faith@cs.unc.edu) applied bug fixes that Willem Kasdorp (wkasdo@nikhefk.nikef.nl) had supplied. literally a team effort ๐ฅน
30th April 1994 โ 23rd February 2000: Wilf. (G.Wilford@ee.surrey.ac.uk) kept developing and maintaining this package, with some dedicated people helping out. such a ride-or-die era โจ
30th October 1996 โ 30th March 2001: Fabrizio Polacco (<fpolacco@debian.org>) maintained and enhanced this package for the Debian project, with help from the whole community. the glow-up is real ๐
31st March 2001 โ present day: Colin Watson (<cjwatson@debian.org>) is now the one developing and maintaining man-db. current queen of the codebase ๐
๐ BUGS ๐
if something's acting up, you can spill the tea at these places bestie ๐ซ
ok that's the whole page!! thanks for hanging with me through all of it ๐ซถ๐ stay curious, stay caffeinated, and keep being the most iconic Unix girlie in the group chat ๐ ๐ฆ version 2.13.1, last updated 2025-05-02 ๐โจ
๐ฆ where this page comes from
- debian trixie: man-db 2.13.1-1 ยท GPL-2.0-or-later
- ubuntu questing: man-db 2.13.1-1 ยท GPL-2.0-or-later
- ubuntu resolute: man-db 2.13.1-1build1 ยท GPL-2.0-or-later
- ubuntu stonking: man-db 2.13.1-1build1 ยท GPL-2.0-or-later
- Copyright (C) 1994, 1995, Graeme W. Wilford. (Wilf.)
- Copyright (C) 2001-2019 Colin Watson
- ๐ girlified by anthropic/claude-haiku-5.5 on : a language model's rewrite of the original, under its terms