Skip to content

Commit 32192f6

Browse files
committed
📝 Writing docs.
1 parent f3e89e7 commit 32192f6

22 files changed

Lines changed: 449 additions & 306 deletions
Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
---
2+
title: 查看 Linux 命令帮助信息
3+
date: 2018/09/26
4+
categories:
5+
- linux
6+
tags:
7+
- linux
8+
- command
9+
---
10+
11+
# 查看 Linux 命令帮助信息
12+
13+
> Linux 中有非常多的命令,想全部背下来是很困难的事。所以,我认为学习 Linux 的第一步,就是了解如何快速检索命令说明。
14+
>
15+
> 关键词:`help`, `whatis`, `info`, `which`, `man`
16+
17+
<!-- TOC depthFrom:2 depthTo:3 -->
18+
19+
- [查看 Linux 命令帮助信息的要点](#查看-linux-命令帮助信息的要点)
20+
- [命令概述](#命令概述)
21+
- [查看 Shell 内部命令 - help](#查看-shell-内部命令---help)
22+
- [查看命令的简要说明 - whatis](#查看命令的简要说明---whatis)
23+
- [查看命令的详细说明 - info](#查看命令的详细说明---info)
24+
- [查找命令的绝对路径 - which](#查找命令的绝对路径---which)
25+
- [查看命令的帮助手册 - man](#查看命令的帮助手册---man)
26+
- [参考资料](#参考资料)
27+
28+
<!-- /TOC -->
29+
30+
## 查看 Linux 命令帮助信息的要点
31+
32+
- 查看 Shell 内部命令的帮助信息 - 使用 `help`
33+
- 查看命令的简要说明 - 使用 `whatis`
34+
- 查看命令的详细说明 - 使用 `info`
35+
- 查看命令的位置 - 使用 `which`
36+
- 查看命令的帮助手册(包含说明、用法等信息) - 使用 `man`
37+
- 只记得部分命令关键字 - 使用 `man -k`
38+
39+
> 注:推荐一些 Linux 命令中文手册:
40+
>
41+
> - [Linux 命令大全](http://man.linuxde.net/)
42+
> - [linux-command](https://github.com/jaywcjlove/linux-command)
43+
44+
## 命令概述
45+
46+
### 查看 Shell 内部命令 - help
47+
48+
> help 命令用于查看 Shell 内部命令的帮助信息。而对于外部命令的帮助信息只能使用 man 或者 info 命令查看。
49+
>
50+
> 参考:http://man.linuxde.net/help
51+
52+
### 查看命令的简要说明 - whatis
53+
54+
> whatis 用于查询一个命令执行什么功能。
55+
>
56+
> 参考:http://man.linuxde.net/whatis
57+
58+
示例:
59+
60+
```sh
61+
# 查看 man 命令的简要说明
62+
$ whatis man
63+
64+
# 查看以 loca 开拓的命令的简要说明
65+
$ whatis -w "loca*"
66+
```
67+
68+
### 查看命令的详细说明 - info
69+
70+
> info 是 Linux 下 info 格式的帮助指令。
71+
>
72+
> 参考:http://man.linuxde.net/info
73+
74+
示例:
75+
76+
```sh
77+
# 查看 man 命令的详细说明
78+
$ info man
79+
```
80+
81+
### 查找命令的绝对路径 - which
82+
83+
> which 命令用于查找并显示给定命令的绝对路径,环境变量 PATH 中保存了查找命令时需要遍历的目录。which 指令会在环境变量$PATH 设置的目录里查找符合条件的文件。也就是说,使用 which 命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
84+
>
85+
> 参考:http://man.linuxde.net/which
86+
87+
示例:
88+
89+
```sh
90+
which pwd # 查找命令的路径
91+
```
92+
93+
说明:which 是根据使用者所配置的 PATH 变量内的目录去搜寻可运行档的!所以,不同的 PATH 配置内容所找到的命令当然不一样的!
94+
95+
```sh
96+
[root@localhost ~]# which cd
97+
cd: shell built-in command
98+
```
99+
100+
cd 这个常用的命令竟然找不到啊!为什么呢?这是因为 cd 是 bash 内建的命令!但是 which 默认是找 PATH 内所规范的目录,所以当然一定找不到的!
101+
102+
### 查看命令的帮助手册 - man
103+
104+
> man 命令是 Linux 下的帮助指令,通过 man 指令可以查看 Linux 中的指令帮助、配置文件帮助和编程帮助等信息。
105+
>
106+
> 参考:http://man.linuxde.net/man
107+
108+
示例:
109+
110+
```sh
111+
$ man date # 查看 date 命令的帮助手册
112+
$ man 3 printf # 查看 printf 命令的帮助手册中的第 3 类
113+
$ man -k keyword # 根据命令中部分关键字来查询命令
114+
```
115+
116+
#### man 要点
117+
118+
在 man 的帮助手册中,可以使用 page up 和 page down 来上下翻页。
119+
120+
man 的帮助手册中,将帮助文档分为了 9 个类别,对于有的关键字可能存在多个类别中, 我们就需要指定特定的类别来查看;(一般我们查询 bash 命令,归类在 1 类中)。
121+
122+
man 页面的分类(常用的是分类 1 和分类 3):
123+
124+
1. 可执行程序或 shell 命令
125+
2. 系统调用(内核提供的函数)
126+
3. 库调用(程序库中的函数)
127+
4. 特殊文件(通常位于 /dev)
128+
5. 文件格式和规范,如 /etc/passwd
129+
6. 游戏
130+
7. 杂项(包括宏包和规范,如 man(7),groff(7))
131+
8. 系统管理命令(通常只针对 root 用户)
132+
9. 内核例程 [非标准]
133+
134+
前面说到使用 whatis 会显示命令所在的具体的文档类别,我们学习如何使用它
135+
136+
```sh
137+
$ whatis printf
138+
printf (1) - format and print data
139+
printf (1p) - write formatted output
140+
printf (3) - formatted output conversion
141+
printf (3p) - print formatted output
142+
printf [builtins](1) - bash built-in commands, see bash(1)
143+
```
144+
145+
我们看到 printf 在分类 1 和分类 3 中都有;分类 1 中的页面是命令操作及可执行文件的帮助;而 3 是常用函数库说明;如果我们想看的是 C 语言中 printf 的用法,可以指定查看分类 3 的帮助:
146+
147+
```sh
148+
$ man 3 printf
149+
```
150+
151+
## 参考资料
152+
153+
https://linuxtools-rst.readthedocs.io/zh_CN/latest/base/01_use_man.html

0 commit comments

Comments
 (0)