Man глубже чем я думал

Почему-то я думал, что руководства по системным утилитам это простые текстовые файлики, которые лежат где-то в системе. man просто открывает эти файлы и показывает их пользователю.

А они, оказывается, создаются на лету.

MAN(1)

NAME
     man, apropos, whatis – display online manual documentation pages

man - это шелл скрипт

% which man
/usr/bin/man
% file /usr/bin/man
/usr/bin/man: POSIX shell script text executable, ASCII text
% head -n 7 /usr/bin/man
#! /bin/sh
#
# SPDX-License-Identifier: BSD-2-Clause-FreeBSD
#
#  Copyright (c) 2010 Gordon Tetlow
#  All rights reserved.
#
%

который использует (/usr/bin/man:479) утилиты

...
local _toolpath
for tool in EQN NROFF PIC TBL TROFF REFER VGRIND; do
  eval "_toolpath=\${${tool}}"
...

NROFF TROFF TROFF

nroff and the related troff were both developed from the original roff. While nroff was intended to produce output on terminals and line printers, troff was intended to produce output on typesetting systems. Both used the same underlying markup and a single source file could normally be used by nroff or troff without change. https://en.wikipedia.org/wiki/Nroff

Препроцессоры

EQN NROFF PIC TBL TROFF REFER VGRIND - системные утилиты

Формат файлов

mdoc – semantic markup language for formatting manual pages — man mdoc

% cat /usr/share/man/man1/passwd.1
.\" Copyright (c) 1990, 1993
.\"	The Regents of the University of California.  All rights reserved.
...
.\" SUCH DAMAGE.
.\"
.\"	@(#)passwd.1	8.1 (Berkeley) 6/6/93
.\"
.Dd August 18, 2008
.Dt PASSWD 1
.Os "macOS"
.Sh NAME
.Nm passwd
.Nd modify a user's password
.Sh SYNOPSIS
.Nm passwd
.Op Fl i Ar infosystem Op Fl l Ar location
.Op Fl u Ar authname
...
.Xr passwd 5 ,
.Xr pwd_mkdb 8 ,
.Xr vipw 8
.Rs
.%A Robert Morris
.%A Ken Thompson
.%T "UNIX password security"
.Re
.Sh HISTORY
A
.Nm passwd
command appeared in
.At v6 .