style/commandsinternal and interactive commands


.Ic command 
.Cm command


Many programs, languages, and file formats support various forms of commands, reserved words, and keywords. For these, choosing the right macro may sometimes seem tricky.
The two main choices are Cm and Ic. The basic difference is that Ic is better suited to commands that are typed stand-alone, while Cm is better suited to sub-commands that can only be typed after a main command or that are passed as arguments to a main command. So Ic often and Cm rarely occurs at the beginning of an instruction. Both can occur at the interactive prompt of a command interpreter, in an instruction line of an interpreted script, or in a configuration instruction in a configuration file.
If a command is completely stand-alone and not internal to any program, language, or configuration file format, neither Cm nor Ic is adequate. If such a stand-alone command is the topic of the current manual page, use Nm; if it is documented in another manual page, use Xr; otherwise, if it is not documented, for example because it is only available in foreign or historical operating systems, use Sy.


For the usage of Cm:
.Nm cvs Cm update 
.Nm mt Cm rewind 
.Nm openssl Cm genrsa
For the usage of Ic:
.Ic nextfile (in awk(1)) 
.Ic setenv (in csh(1)) 
.Ic prompt Cm off (in ftp(1)) 
.Ic chroot Ar directory (in httpd.conf(5)) 
.Ic output Cm width Ar columns (in man.conf(5)) 
.Ic server Ar address Cm rtable Ar table-id (in ntpd.conf(5))
Note that Cm is also used for fixed arguments of commands, like the off in the ftp(1) prompt example above, not just for sub-commands.
For stand-alone commands:
Modern operating systems no longer support the 
.Sy goto 
utility program that 
.At v2 
introduced as a tool for 
.Xr sh 1 


The MACRO REFERENCE section in the mdoc(7) manual.
September 2, 2015