名称
man格式并显示在线手册页
manpath - 确定手册页的用户搜索路径
概要
man [ -acdfFhkKtwW ] [ --path ] [ -m system ] [ -p string ] [ -C config_file ] [ -M pathlist ] [ -P pager ] [ -S section_list ] [ section ] name ...
描述
man 格式并显示在线手册页。 如果您指定部分 , man只会查看手册的该部分。 名称通常是手册页的名称,通常是命令,函数或文件的名称。 但是,如果名称包含斜线( / ),则man会将其解释为文件规范,以便您可以执行man ./foo.5甚至man /cd/foo/bar.1.gz 。
请参阅下面的说明,了解手动页面文件的位置。
OPTIONS
-C config_file
指定要使用的配置文件; 默认是/etc/man.config 。 (见man.conf (5)。)
-M路径
指定要搜索手册页的目录列表。 用冒号分隔目录。 空列表与没有指定-M完全相同。 请参阅手册页的搜索路径 。
-P寻呼机
指定使用哪个寻呼机。 此选项覆盖MANPAGER环境变量,该变量又覆盖PAGER变量。 默认情况下, man使用/ usr / bin / less -isr 。
-S section_list
列表是以冒号分隔的手动部分列表进行搜索。 该选项覆盖MANSECT环境变量。
-一个
默认情况下, man会在显示找到的第一个手册页后退出。 使用此选项将强制man显示所有与名称匹配的手册页,而不仅仅是第一个。
-C
重新设置源手册页的格式,即使存在最新的猫页面 。 如果猫页面被格式化为列数不同的屏幕,或者预格式化的页面已损坏,则这可能很有意义。
-d
不要实际显示手册页,但要打印调试信息的gobs。
-D
显示和打印调试信息。
-F
等同于whatis 。
-F或--preformat
仅格式 - 不显示。
-H
打印单行帮助信息并退出。
-k
相当于apropos 。
-K
在* all *手册页中搜索指定的字符串。 警告:这可能非常慢! 它有助于指定一个部分。 (只是给出一个粗略的想法,在我的机器上,每500页手册大约需要一分钟。)
-m系统
根据给定的系统名称指定一组备用手册页进行搜索。
-p字符串
指定要在nroff或troff之前运行的预处理器序列。 并非所有的安装都会有一套完整的预处理器。 一些预处理器和用来指定它们的字母是:eqn(e),grap(g),pic(p),tbl(t),vgrind(v),refer(r)。 该选项将覆盖MANROFFSEQ环境变量。
-t
使用/ usr / bin / groff -Tps -mandoc来格式化手册页,将输出传递给stdout。 在打印之前, / usr / bin / groff -Tps -mandoc的输出可能需要通过某个过滤器或另一个过滤器。
-w或--path
不要实际显示手册页,但要打印将要格式化或显示的文件的位置。 如果没有给出参数:display(在stdout上)由man查找手册页的目录列表。 如果人行道与人有联系,那么“人行道”就相当于“人行道”。
-W
像-w一样,但是每行打印一个文件名,没有附加信息。 这在shell命令中很有用,比如man-aW man | xargs ls -l
CAT页面
人会尝试保存格式化的手册页,以便在下次需要这些页面时节省格式化时间。 传统上,DIR / manX中的页面的格式化版本保存在DIR / catX中,但是可以在/etc/man.config中指定从man目录到cat目录的其他映射。 当所需的猫目录不存在时,不会保存猫页 。 当它们被格式化为不同于80的行长度时,不会保存猫页面。当man.conf包含行NOCACHE时,不会保存猫页面。
有可能让男人对一个用户男人很感兴趣。 然后,如果一个猫目录拥有所有者man和模式0755(只能由man写),并且cat文件拥有所有者man和模式0644或0444(只能由人写入,或者根本不可写),所以普通用户不能更改cat页面或将其他文件放在cat目录中。 如果man不是suid,那么如果所有用户都应该能够离开cat页面,cat目录应该有模式0777。
即使最近的猫页面存在,选项-c也会强制重新格式化一个页面。
手动页面的搜索路径
man基于调用选项和环境变量, /etc/man.config配置文件以及一些内置约定和启发式方法,使用复杂的方法查找手册页文件。
首先,当man的名称参数包含一个斜杠( / )时, man认为它本身就是一个文件规范,并且不涉及搜索。
但是,在名称不包含斜线的正常情况下, man会在各种目录中搜索可能是指定主题的手册页的文件。
如果指定-M 路径列表选项,则路径列表是由人类搜索的目录的冒号分隔列表。
如果您不指定-M但设置了MANPATH环境变量,那么该变量的值就是man搜索的目录列表。
如果您没有使用-M或MANPATH指定显式路径列表,则man会根据配置文件/etc/man.config的内容开发自己的路径列表。 配置文件中的MANPATH语句标识要包含在搜索路径中的特定目录。
此外,根据您的命令搜索路径(即PATH环境变量), MANPATH_MAP语句会添加到搜索路径中。 对于可能位于命令搜索路径中的每个目录, MANPATH_MAP语句指定应添加到手动页面文件搜索路径的目录。 man查看PATH变量并将相应的目录添加到手册页文件搜索路径。 因此,通过正确使用MANPATH_MAP ,当您发出命令man xyz时,如果您发出命令xyz ,您将获得将运行的程序的手册页。
另外,对于没有 MANPATH_MAP语句的命令搜索路径中的每个目录(我们将其称为“命令目录”), man会自动查找手册页目录“nearby”,即作为子目录命令目录本身或命令目录的父目录中。
您可以通过在/etc/man.config中包含NOAUTOPATH语句来禁用自动“附近”搜索。
在上述搜索路径的每个目录中, man搜索名为topic的文件。 部分 ,在部分编号上有一个可选的后缀,可能还有一个压缩后缀。 如果没有找到这样的文件,它会查找名为man N或cat N的任何子目录,其中N是手动节号。 如果该文件位于cat N子目录中, man会认为它是一个格式化的手册页文件(cat page)。 否则, 人认为它是未格式化的。 在任何一种情况下,如果文件名有一个已知的压缩后缀(如.gz ), man会认为它已被压缩。
如果您想查看man (或如果)会找到特定主题的手册页,请使用--path ( -w )选项。
重要提示:使用man 命令 ( %man )查看特定计算机上的命令使用方式。