Linux运维之道(4)——Linux命令帮助
2016-03-24 本文已影响1489人
逃跑中计划
@(Linux)[Linux命令, 帮助获取]
在我们使用Linux操作系统的时候,经常会使用一些命令,但是由于时间长久的原因导致我们对于其使用方法的忘记。本文,就是为了解决这个问题而生的,授之以鱼不如授之以渔。
1. 内建命令和外部命令
1.1 内建命令
内部命令:
- 实际上是shell程序的一部分,其中包含的是一些比较简单的linux系统命令,这些命令由shell程序识别并在shell程序内部完成运行,通常在linux系统加载运行时shell就被加载并驻留在系统内存中。
- 内部命令是写在bashy源码里面的,其执行速度比外部命令快,因为解析内部命令shell不需要创建子进程。
- 比如:
exit
,history
,cd
,echo
等。
escape@ubuntu:~$ type cd
cd is a shell builtin
1.2 外部命令
外部命令:
- 是linux系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用内存。
- 通常外部命令的实体并不包含在shell中,但是其命令执行过程是由shell程序控制的。shell程序管理外部命令执行的路径查找、加载存放,并控制命令的执行。
- shell程序搜寻可执行程序文件的路径定义在PATH环境变量中,使用
echo $PATH
来查看。 - 外部命令是在bash之外额外安装的,通常放在固定目录下。使用
type
来查看命令属于内建命令或者外部命令,使用使用which
命令来查看,也可以使用whereis
命令来查找命令路径。 - 比如:
ls
、vi
等
escape@ubuntu:~$ type mount
mount is /bin/mount
2. 内建命令获取帮助
格式
help COMMAND
用法
escape@ubuntu:~$ help echo
echo: echo [-neE] [arg ...]
Write arguments to the standard output.
2.1 hash命令
shell搜寻到的外部命令的路径结果会缓存至kv(key-value)存储中
命令选项
-
hash -d #
删除指定命令缓存 -
hash -r
删除所有命令缓存
2.2 history命令
管理命令历史
- 登录shell时,会读取命令历史文件中记录下的命令:~/.bash_history
- 登录进shell后新执行的命令只会记录在缓存中;这些命令会用户退出时“追加”至命令历史文件中
命令选项
-
history -a
: 追加本次会话新执行的命令历史列表至历史文件中 -
history -d #
: 删除历史中指定的命令 -
history -c
: 清空命令历史
快捷操作
-
!#
: 调用历史中第#条命令 -
!string
:调用历史中最近一个以string开头的命令 -
!!
: 上一条命令
3. 外部命令获取帮助
格式
COMMAND [OPTIONS...] [ARGUMENTS...]
用法
-
COMMAND --help
orCOMMAND -h
- 使用手册:
man COMMAND
- 使用信息页:
info COMMAND
- 程序自身的帮助文档
- 程序官方文档
- 发行版的官方文档
3.1 man
手册页/usr/share/man
- man1: 用户命令
- man2: 系统调用
- man3: C库调用
- man4: 设备文件及特殊文件
- man5: 配置文件格式
- man6: 游戏
- man7: 杂项
- man8: 管理类的命令
注意有些关键在不止一个章节中存在帮助手册,要查看指定章节中的手册man # COMMAND
man命令的配置文件/etc/man.config
-
MANPATH /PATH/TO/SOMEWHERE
: 指明新的手册文件搜索位置 -
man -M /PATH/TO/SOMEWHERE COMMAND
: 到指定位置下搜索COMMAND命令的手册页并显示之
帮助手册中的段落说明
- NAME
- SYNOPSIS
- DESCRIPTION
- OPTIONS
- EXAMPLES
- AUTHOR
- REPORTING BUGS
- SEE ALSO
操作方法
-
Space
,^V
,^f
,^F
: 向文件尾翻屏 -
b
,^B
: 向文件首部翻屏 -
d
,^D
: 向文件尾部翻半屏 -
u
,^U
: 向文件首部翻半屏 -
RETURN
,^N
,e
,^E
orj
or^J
: 向文件尾部翻一行 -
y
or^Y
o^P
ork
or^K
:向文件首部翻一行 -
q
: 退出 -
#
:跳转至第#行 -
1G
: 回到文件首部 -
G
:翻至文件尾部 -
文本搜索
-
/KEYWORD
:以KEYWORD指定的字符串为关键字,从当前位置向文件尾部搜索,不区分字符大小写 -
?KEYWORD
:以KEYWORD指定的字符串为关键字,从当前位置向文件首部搜索,不区分字符大小写 -
n
: 跟搜索命令同方向,下一个 -
N
:跟搜索命令反方向,上一个
-
3.2 info
格式
info COMMAND
思维导图
![](https://img.haomeiwen.com/i1608648/0b6f56b3de3f3277.png)