注本文为 “Linux man 手册” 相关知识点合辑。略作重排未整理去重。man 手册介绍概述man是系统的手册分页程序用于显示指定程序、工具或函数的手册页。默认按预定顺序搜索所有可用章节显示第一个匹配页面。用户可指定章节号限制搜索范围。手册构成man 手册通常包含以下章节章节名称解释NAME命令名称和简短介绍SYNOPSIS语法和使用方法CONFIGURATION配置信息DESCRIPTION命令描述OPTIONS命令选项EXIT STATUS退出状态RETURN VALUE返回值ERRORS错误信息ENVIRONMENT环境变量FILES相关文件VERSIONS版本信息CONFORMING TO遵循标准NOTES其他资料BUGSBUG 提交方式EXAMPLE示例用法AUTHORS作者信息SEE ALSO相关命令此外还有 COPYRIGHT版权信息、COLOPHON出版信息等章节。man 编号man 支持 9 个数字编号用于区分不同类型的手册数字说明1可执行程序或 Shell 命令2系统调用内核提供的函数3库调用4特殊文件通常位于 /dev 目录5文件格式和约定比如 /etc/passwd6游戏7杂项包括宏包和一些约定Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)8系统管理命令通常是 root 用户执行的命令9内核相关的文件 Kernel routines [Non standard]快捷键打开 man 手册后按 h 键可进入帮助界面查看快捷键说明j下移一行k上移一行g跳至第一行G跳至最后一行f向下翻页b向上翻页/向下搜索搭配 n 跳至下一个匹配项?向上搜索搭配 n 跳至上一个匹配项man 命令常用操作查看和搜索手册页查看特定软件包的手册页并使用grep过滤关键字manpackage|grepkeyword在系统手册页中搜索包含关键字的描述man-kkeyword搜索与关键字相关的命令名称和描述aproposkeyword显示指定命令的简要描述whatiscommand手册页中的搜索操作向前搜索/进入搜索模式输入文本后按回车开始搜索n跳至下一个匹配项。向后搜索?进入反向搜索模式输入文本后按回车开始搜索N跳至上一个匹配项。退出搜索模式Esc或Ctrl C退出搜索返回正常阅读模式。其他说明whatis command / keyword等价于man -f command / keywordapropos command / keyword等价于man -k command / keyword使用whatis和apropos命令前需以root身份运行makewhatis创建数据库。man 命令语法命令格式man[man 选项] [[章节]页…] …man -k[apropos 选项]正则表达式…man -K[man 选项] [章节]关键词…man -f[whatis 选项]页…man -l[man 选项]文件…man -w|-W[man 选项]page…示例显示ls命令的手册页manls显示章节 7 中的man宏包手册页manman.7显示所有可用的intro手册页man-aintro将bash的手册页格式化为 PostScript 并打印man-tbash|lpr-Pps搜索包含关键词printf的手册页概述man-kprintf显示smail的简短说明man-fsmail选项常规选项-C文件指定用户配置文件替代默认的~/.manpath-d打印调试信息-D恢复默认行为忽略$MANOPT中的设置–warnings[警告]启用groff的警告检查手册页源文件完整性搜索选项-f,–whatis显示手册页简短说明-k,–apropos搜索关键词对应的手册页概述-K,–global-apropos在所有手册中搜索文本-l,–local-file格式化并显示本地手册文件-w,–where打印手册页源文件位置-W,–where-cat打印预格式化 cat 文件位置格式化选项-P分页程序指定输出分页程序默认为pager-r提示设置分页程序的提示消息-7,–ascii在 7 位编码终端中使用latin1设备以ascii显示-E编码生成指定字符编码的输出环境变量MANPATH手册页搜索路径MANROFFOPT为格式化工具添加额外命令行参数MANROFFSEQ指定预处理程序集合MANSECT指定搜索的手册章节顺序MANPAGER,PAGER指定显示手册页的程序MANLESS设置less分页程序的默认提示字符串BROWSER指定用于显示 HTML 输出的浏览器默认章节搜索顺序系统默认man搜索顺序查看manman或manpath覆盖默认顺序可通过以下方式修改默认搜索顺序环境变量设置MANSECT如export MANSECT3:2:1命令行选项使用-S或--sections如man -S 3:2:1 printf配置文件在/etc/manpath.config中使用SECTION指令退出状态0成功1用法、语法或配置文件错误2操作错误3子进程返回非零状态码16至少一个页面/关键词不存在或不匹配Linux 中 man 手册的安装以及使用详解小道克已于 2023-03-14 05:44:33 修改man 手册是什么man是manual的简称中文可称为手册。man手册是 Linux 系统提供的一种帮助手册。man 手册用途当需要查看某个命令的具体参数和使用方法时无需在网上搜索只需使用man命令即可查询出所需命令的具体参数及使用方法。man 手册安装首先输入man并回车若出现下列错误请参阅解决方案This system has been minimized by removing packages and content that are not required on a systemhttps://blog.csdn.net/qq_46140800/article/details/114967350若出现以下所示内容则可继续进行下一步操作。在命令行中输入以下命令来安装man手册apt-getinstallman-db输入y进行安装等待安装完成。接下来检查是否安装完成输入命令manecho// 此处查询的是echo命令作为测试可使用不同的命令进行。如图所示若查询到echo命令的具体参数则表示安装成功。man手册的安装至此结束。man 手册如何使用以下通过举例进行讲解首先敲击命令manmkdir# man 命令的名称查看关于mkdir命令的参数及使用方法MKDIR(1)User Commands MKDIR(1)NAMEmkdir-makedirectories SYNOPSISmkdir[OPTION]... DIRECTORY... DESCRIPTION Create the DIRECTORY(ies),iftheydonot already exist. Mandatory arguments to long options are mandatoryforshort options too. -m,--modeMODEsetfilemode(asinchmod), notarwx -umask-p,--parentsno errorifexisting,makeparent directories as needed -v,--verboseprint a messageforeach created directory-ZsetSELinux security context of each created directory to the defaulttype--context[CTX]like -Z, orifCTX is specifiedthensetthe SELinux or SMACK security context to CTX--helpdisplay thishelpandexit--versionoutput version information andexitAUTHOR Written by David MacKenzie. REPORTING BUGS GNU coreutils online help:https://www.gnu.org/software/coreutils/Reportmkdirtranslation bugs tohttps://translationproject.org/team/COPYRIGHT Copyright(C)2018Free Software Foundation, Inc. License GPLv3: GNU GPL version3or laterhttps://gnu.org/licenses/gpl.html. This isfreesoftware: you arefreeto change and redistribute it. There is NO WARRANTY, to the extent permitted by law. SEE ALSOmkdir(2)Full documentation at:https://www.gnu.org/software/coreutils/mkdiror available locally via: info(coreutils) mkdir invocationman手册的目录结构名称含义NAME命令名称SYNOPSIS命令语法摘要DESCRIPTION命令的详细描述AUTHOR命令的作者REPORTING BUGS报告错误的途径COPYRIGHT版权信息SEE ALSO相关文档或命令通常在查询命令时关注的是第二项和第三项。section手册内容通常分为多个部分左上角的(1)表示该命令所属的section。man手册分为以下 9 个sectionsection序号含义1可执行文件或 Shell 命令2系统调用内核函数3库函数4特殊文件通常在/dev5文件格式如/etc/passwd6游戏7杂项包括宏包8系统管理员命令通常为root用户9内核例程非标准例程如需查看section的具体内容可以使用命令manman如上图所示mkdir命令是在可执行文件这个section的。需要知道的是如果没有指定man在哪个section中查找man将会按照默认的顺序查找这些section中的命令只返回含有该命令的第一个文档如果指定了section则只会在指定section中寻找该命令。所以有时候直接使用man而不指定section可能不会找到想要的文档。如果需要指定查询某个section中的命令可以使用以下格式man[section][command]例如man5passwd这里指定section序号 为5所以会在第五section中寻找符合要求的文档。分析具体结构依旧以mkdir为例1、NAME部分名称mkdir是命令的名称含义为make directories中文意思是创建目录。2、SYNOPSIS部分摘要命令语法mkdir[OPTION]... DIRECTORY...“OPTIONS” 左右有 “[” 和 “]”表示这些参数不是必须的但可以使用。对应的DIRECTORY两边没有 “[]”表示这是必须要加的参数。另外它们后面都有 “…”表示这些参数可以重复使用多次。3、DESCRIPTION部分描述Create the DIRECTORY (ies), if they do not already exist.如果目录不存在则创建目录。文档中有几个具体的运行命令此处不再一一列举。4、AUTHOR命令的作者。5、REPORTING BUGS已报告的错误GNU coreutils online help: https://www.gnu.org/software/coreutils/ Report mkdir translation bugs to https://translationproject.org/team/分别是在线帮助以及报告错误的网址。6、COPYRIGHT版权Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3: GNU GPL version 3 or later https://gnu.org/licenses/gpl.html. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.7、SEE ALSO查看相关信息的位置mkdir (2) Full documentation at: https://www.gnu.org/software/coreutils/mkdir or available locally via: info (coreutils) mkdir invocation在section2 中也有相关的文档。man 手册页的基本操作此处仅介绍了两个命令如需使用更多命令可以使用命令manman来查看更多man命令的参数。1. 查找信息如果已经进入文档页面那么可以使用 “/” 键进行正则表达式的搜索。如果不知道要打开的文档的名称可以使用命令man-k例如man-kmkdir2. 退出 man 手册按下键盘上的 “q” 键即可退出man手册。Linux 帮助文档选项筛选 · 终极参考手册一、非交互式文本过滤脚本/速查/快速提取1. grep 最常用筛选# 筛选短选项 (-a -b)cmd--help|grep-E^ *-[a-z]# 筛选指定多个选项cmd--help|grep-E\s(-h|--help)|(-v|--version)|(-f|--file)# 排除选项行mancmd|grep-v^[[:space:]]*-# 高亮匹配cmd--help|grep--colorauto-E(\s|^)(-o|--output)\b2. 特殊字符免转义grep -F处理* . | () []直接用固定字符串tar--help|grep-FfileARCHIVEtar--help|grep-F*.tar.gztar--help|grep-F(file|archive)3. 上下文保留选项说明# 匹配行 后2行tar--help|grep-E-A2^ *-(z|x|v|f|c)# 关键词过滤选项tar--help|grep-E^ *-.-A1|grep-B1-Fgzip二、sed 段落提取最稳的多行方案# 提取选项到下一个非空段落tar--help|sed-n/^ *-\(z\|x\|v\|f\|c\)/,/^[^[:space:]]/p# man 中提取到空行完整说明mantar|sed-n/^ *-f/,/^$/p# 清理颜色码 提取选项cmd--help|seds/\x1b\[[0-9;]*m//g|grep^ *-三、awk 结构化解析专业级# 提取选项 所有缩进说明行tar--help|awk /^ *-(c|x|f|z|v)/ { opt $0 while (getline nl nl ~ /^[[:space:]]/) opt opt nl sub(/^[[:space:]]/, , opt) print opt }# 两列格式化输出选项 描述mangrep|awk/^ *--/{printf %-20s %s\n, $1, substr($0, index($0,$2))}四、交互式阅读man lessmancmd# 搜索 /-f# 只看匹配行 -f# 下一个 n# 退出过滤 q# 直接打开定位到选项man-Pless -p ^ *-fcmd五、现代极简工具最快查用法tldrtar# 最常用直接给示例cheattar# 社区速查表navi# 交互式命令搜索在线解析https://explainshell.com六、可直接用的自动化函数放进 ~/.bashrc 永久生效extract_opt(){localcmd$1opts$2keyword${3:-}localpat^ *-(${opts///|})$cmd--help2/dev/null|sed-n/$pat/,/^[^[:space:]]/p|\awk{gsub(/^[ ]/,);print}|{[-n$keyword]grep-F$keyword||cat;}||man$cmd2/dev/null|sed-n/$pat/,/^$/p|\{[-n$keyword]grep-F$keyword||cat;}||echo未找到$cmd的$opts选项}使用示例extract_opttarzxcfv extract_opttarf*.tar.gzextract_optfindname*.txt七、系统兼容速查GNU (Ubuntu/CentOS)grep -E ^ *-xBSD (macOS)grep -E ^[[:space:]]{1,4}-x特殊字符统一用grep -F免转义八、场景选择指南快速查单个选项→grep提取多行完整说明→sed格式化输出→awk深度阅读→man less忘记用法→tldr解析复杂命令→explainshell总结这份手册是Linux命令行帮助信息提取的完整解决方案grep/sed/awk覆盖所有文本筛选场景man/less满足深度阅读tldr/cheat实现最快查用法extract_opt函数一键封装所有逻辑可直接放进环境使用你可以直接把这份文档作为工作手册、培训资料、个人速查笔记永久使用。via:Linux 中 man 手册的安装以及使用详解 - CSDN 博客小道克已于 2023-03-14 05:44:33 修改https://blog.csdn.net/qq_46140800/article/details/114966124