内容纲要

本文来自《Linux》专栏系列


Linux 的基本操作方式是命令,而众多命令只靠死记硬背是不现实也不灵活的,所以除了使用以下常用方式:

  • 搜索引擎
  • 官网文档
  • 社区论坛

还可以使用帮助命令来了解一个命令的具体作用,主要可以使用以下四种帮助命令

  • man
  • help
  • info

man

man 即是 manual(手册) 的缩写,在 man 后加上你要查询的命令,比如

man man

查看一下 man 命令本身的帮助信息。

在帮助信息内,使用方向键或者 PgUp 键和 PgDn 键上下翻页,q 键退出。

⚠️注意:帮助信息也是可以有中文的,但是普遍的云虚拟主机一般默认英文系统,如果你有需要看中文帮助的需求可以安装中文语言包。

man 章节

在使用命令 man man 后可以看到左上角有个「MAN(1) 」这表示这是 man 的第一个篇章。

也就是说实际上使用 man 时是可以获得不同篇章的帮助,且实际上

man man
# 其实等同于
man 1 man
# 只是进一步的省略掉了

MAN 有 9 个章节,具体如下:

  1. Executable programs or shell commands – 可执行程序或 shell 命令
  2. System calls (functions provided by the kernel) – 系统调用(内核提供的函数)
  3. Library calls (functions within program libraries) – 库调用(程序库中的函数)
  4. Special files (usually found in /dev) – 特殊文件(通常位于 /dev)
  5. File formats and conventions eg /etc/passwd – 文件格式和规范,如 /etc/passwd
  6. Games – 游戏
  7. Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7) – 杂项(包括宏包和规范)
  8. System administration commands (usually only for root) – 系统管理命令(通常针对 root 用户)
  9. Kernel routines [Non standard] – 内核标准[非标准]

因为有时候命令、系统文件调用可能会有重名的情况,所以要加上章节进行区分。

以修改密码的命令 passwd 为例,它既是命令也是配置文件(/etc/passwd),所以 1 和 5 节都有关于它的内容,加上章节后就可以看到各自的帮助信息。

# 查看 passwd 命令的帮助信息
man passwd # 或者 man 1 passwd

# 查看 /etc/passwd 文件的帮助信息
man 5 passwd

查找命令章节

如果你只知道「passwd」这么一个命令名,但是不确定其是命令、文件还是其他如库调用,那么可以带上参数

man -a passwd

在打开的帮助信息的左上角显示的是「PASSWD(1)」则代表第一章,如果不是想要的结果可以按 q 退出后看到提示

--Man-- next: passwd(1ssl) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]

MAN 会找到下一条可能相关的,如果要查看按回车,或者使用 Ctrl + D 跳过继续看看接下来找到的相关,再或者按 Ctrl + C 退出。

在跳过「passwd(1ssl)」后就会看到之前示例的「passwd(5)」

查找关键词

可以使用 -k 参数加上关键词可以获取可能相关的命令

man -k passwd

返回:

chgpasswd (8)        - update group passwords in batch mode
chpasswd (8)         - update passwords in batch mode
gpasswd (1)          - administer /etc/group and /etc/gshadow
grub-mkpasswd-pbkdf2 (1) - generate hashed password for GRUB
openssl-passwd (1ssl) - compute password hashes
pam_localuser (8)    - require users to be listed in /etc/passwd
passwd (1)           - change user password
passwd (1ssl)        - compute password hashes
passwd (5)           - the password file
update-passwd (8)    - safely update /etc/passwd, /etc/shadow and /etc/group

help

Shell 自带的命令为内建命令,其他的命令为外部命令,而 help 的使用也有所区别。

区别命令为内建或外部

首先查看一个命令是内建还是外部命令使用 type 命令

# 内建命令示例
type pwd # pwd is a shell builtin
type cd # cd is a shell builtin

# 外部命令示例
type ls # ls is aliased to `ls --color=auto',这是一个别名
type mkdir # mkdir is /bin/mkdir,这是一个文件

内建命令与外部命令

# 内建命令使用 help
help cd

# 外部命令使用 --help
ls --help

info

infohelp 更详细,可以作为 help 的补充

info ls