学 Linux 命令需要买书?看这篇就够了
在学习或者忘记 Linux 的某一个命令时,我一般不会直接去翻书或百度。今天分享一下我学习 Linux 命令的神技:向命令求命令。
当你遇到不会的命令时,不妨先先走以下流程:(本文以ifconfig为例进行演示)
1. 查看命令类型
查看该命令是内建命令还是外部命令
type ifconfig
-
内建命令实际上是 shell 程序的一部分,其中包含的是一些比较简单的 Linux 系统命令,这些命令是写在 bash 源码的 builtins 里面的,由 shell 程序识别并在 shell 程序内部完成运行,通常在 Linux 系统加载运行时 shell 就被加载并驻留在系统内存中。而且解析内部命令 shell 不需要创建子进程,因此其执行速度比外部命令快。比如:history、cd、exit 等等。 -
外部命令是 Linux 系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调入内存。虽然其不包含在 shell 中,但是其命令执行过程是由 shell 程序控制的。外部命令是在 Bash 之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin等等。比如:ls、vi、ifconfig 等。
type
命令即可
2. 使用帮助命令(择一即可)
man
,实在找不到了再用
info
。
2.1 使用 help 命令
# 只能用于内建命令,不能用于外部命令help xxx# 用于外部命令xxx --help
2.2 使用 man 查看帮助手册
man ifconfig
j
、
k
或
上下方向键
上下滚动页面,也可使用
b
或
空格键
上下翻页。还可以使用
/
查找关键词,比如我要查找
network
这个词,输入
/network
回车即可高亮显示它,然后按
n
可以切换到下一个 network ,
shift+n
切换到上一个 network 所在处,最后按
q
可以退出
man
手册。
man ls
即可查看
1)手册名称与所在章节,如上图最上方的 LS(1),其中 LS 表示手册名称,(1)表示该手册位于第一章节。2)NAME(名称):该命令或函数的名称,接着是一行简介。3)SYNOPSIS(概要):对于命令,正式的描述它如何运行,以及需要什么样的命令行参数。对于函数,介绍函数所需的参数,以及哪个头文件包含该函数的定义。4)DESCRIPTION(说明):命令或函数功能的文本描述。5)EXAMPLES(示例):常用的一些示例。6)SEE ALSO(参见):相关命令或函数的列表。除以上内容外,不同命令存在其它部分内容,但这些部分没有得到跨手册页的标准化。常见的例子有:OPTIONS(选项)、EXIT STATUS(退出状态)、ENVIRONMENT(环境)、BUGS(程序漏洞)、FILES(文件)、AUTHOR(作者)、REPORTING BUGS(已知漏洞)、HISTORY(历史)、COPYRIGHT(版权)等。
说明1 Standard commands (标准命令)2 System calls (系统调用)3 Library functions (库函数)4 Special devices (设备说明)5 File formats (文件格式)6 Games and toys (游戏和娱乐)7 Miscellaneous (杂项)8 Administrative Commands (管理员命令)9 其他(Linux特定的), 用来存放内核例行程序的文档。
man xx
时出现
-bash: man: command not found
说明 man 没安装,执行
yum install man man-pages -y
安装即可(man-page 是一个帮助文档的包,建议也装上,比较全)。
2.3 使用 info 命令
info ifconfig
man 和 info 就像两个集合,它们有一个交集部分,但与 man 相比,info 工具可显示更完整的 GNU 工具信息。若 man 页包含的某个工具的概要信息在 info 中也有介绍,那么 man 页中会有“请参考 info 页更详细内容”的字样。
2.4 doc
/usr/share/doc
存放着软件的一整套说明文件,这个我没看过,有兴趣的朋友可以研究一下。
【往期分享】
大数据编程
专注技术分享!
