帮助系统

Linux提供了多层次的帮助系统,从简短的命令提示到详细的手册页面,满足不同场景的需求。

man 手册页

man(manual)是Linux最核心的帮助系统,用于查看命令、函数、配置文件等的详细手册。

基本用法

man [选项] [章节] 页面名
 
# 常用示例
man ls                    # 查看ls命令手册
man 5 passwd              # 查看passwd文件格式(第5章)
man 2 open                # 查看open系统调用(第2章)
man -k password           # 关键字搜索(等同于apropos)
man -f ls                 # 精确匹配(等同于whatis)

常用选项

选项说明
-k关键字搜索手册页(等同于 apropos
-f精确匹配命令名(等同于 whatis
-a显示所有匹配的手册页(逐个浏览)
-w显示手册页文件路径
-P指定分页程序

手册章节

手册页按内容类型分为9个章节:

章节内容类型示例
1可执行程序或shell命令man 1 ls
2系统调用(内核提供的函数)man 2 open
3库调用(C库函数)man 3 printf
4特殊文件(通常在/dev)man 4 null
5文件格式与约定man 5 passwd
6游戏man 6 fortune
7概览、约定及杂项man 7 regex
8超级用户和管理员命令man 8 fdisk
9内核例程man 9 intro

手册页结构

手册页内部按固定格式组织:

小节说明
NAME命令名称和简短描述
SYNOPSIS命令语法格式
DESCRIPTION详细功能描述
OPTIONS所有选项说明
ARGUMENTS参数说明
EXAMPLES使用示例
FILES相关文件
ENVIRONMENT环境变量
EXIT STATUS退出状态码
NOTES注意事项
BUGS已知问题
SEE ALSO相关命令
AUTHOR作者信息

阅读技巧

# 导航快捷键
空格键     # 下一页
b          # 上一页
/keyword   # 向下搜索
?keyword   # 向上搜索
n          # 下一个匹配
N          # 上一个匹配
q          # 退出
h          # 帮助
 
# 搜索技巧
man -k "copy file"        # 搜索描述包含"copy file"的命令
man -k "^copy"            # 正则:以copy开头
apropos "list"            # 同 man -k

info 信息页

info 是GNU项目的帮助系统,提供比man更详细的文档,支持超链接导航。

# 基本用法
info                      # 进入info主菜单
info bash                 # 查看bash信息页
info coreutils            # 查看coreutils文档
info --help               # 显示info帮助
 
# pinfo(彩色版本的info)
pinfo bash                # 更友好的界面

info导航快捷键

快捷键功能
n下一个节点
p上一个节点
u上级节点
m选择菜单项
l返回上一个位置
t返回顶级节点
q退出
h帮助

—help 快速帮助

大多数命令支持 --help-h 选项,显示简明的使用说明。

# 常用格式
command --help
command -h
 
# 示例
ls --help                 # 显示ls选项概览
grep --help               # 显示grep用法
tar --help | head -20     # 查看前20行帮助
 
# 注意:内置命令需要用help
help cd                   # bash内置命令
help echo                 # 查看echo帮助

help(bash内置)

# bash内置命令的帮助
help                      # 显示所有内置命令
help cd                   # cd命令帮助
help echo                 # echo命令帮助
help -m cd                # man风格格式输出

whatis & apropos 快速查询

whatis - 一行描述

whatis 显示命令的简短描述(来自手册页的NAME部分)。

whatis ls                 # ls (1) - list directory contents
whatis passwd             # 显示所有章节的passwd
whatis -l passwd          # 详细列出所有匹配
 
# 等同于
man -f ls

apropos - 关键字搜索

apropos 搜索手册页的名称和描述,适合不知道确切命令名时使用。

apropos "copy"            # 搜索与copy相关的命令
apropos "network"         # 搜索网络相关命令
apropos "file list"       # 多关键字搜索
apropos -e "ls"           # 精确匹配
 
# 等同于
man -k "copy"

数据库维护

# 更新whatis/apropos数据库
sudo mandb                # 更新手册数据库
sudo makewhatis           # 旧版命令

type & which 命令定位

type - 命令类型

type ls                   # ls is aliased to `ls --color=auto'
type cd                   # cd is a shell builtin
type grep                 # grep is /usr/bin/grep
type -a echo              # 显示所有匹配(内置+外部)
type -t ls                # 只显示类型:alias/builtin/file/function

which - 命令路径

which ls                  # /usr/bin/ls
which python              # /usr/bin/python
which -a python           # 显示所有匹配路径

whereis - 相关文件

whereis ls                # 显示二进制、源码、手册页位置
# ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
 
whereis -b ls             # 只找二进制
whereis -m ls             # 只找手册页

/usr/share/doc 文档目录

系统级文档存放在 /usr/share/doc 目录,每个软件包有独立子目录。

# 查看文档
ls /usr/share/doc/        # 列出所有软件文档
ls /usr/share/doc/bash/   # bash的文档
 
# 常见文件
README                    # 软件介绍
changelog                 # 版本更新历史
copyright                 # 版权信息
examples/                 # 示例文件
TODO                      # 待办事项

在线帮助资源

# tldr - 简化版手册(需安装)
tldr ls                   # 显示ls常用示例
tldr tar                  # tar常用用法
 
# cheat - 速查表(需安装)
cheat tar                 # tar命令速查

在线资源


💡 帮助系统使用建议:

  • 快速查看选项 → command --help
  • 详细学习命令 → man command
  • 忘记命令名 → apropos keyword
  • 确认命令位置 → type commandwhich command
  • 学习复杂工具 → info command/usr/share/doc/

🔗 相关笔记: 01_Linux概述 01_目录结构