2 Red Hat Enterprise Linux 获取帮助

Linux 7 Base NO.2
大家好!《从命令行管理文件》这一节,延迟到下次发表,不好心思!
本节将详情在Linux中如何获取相应的帮助
linux中 提供了两种命令
shell 内部命令,shell内部本身提供的命令
shell 外部命令,shell本身不提供,但它是通过shell调用
注意:shell内部命令和外部命令获取帮助的方法不一样
举例说明如何区分shell内部命令和外部命令:
使用whereis命令查看echo命令的绝对路径为/usr/bin/echo
将echo命令剪切移动到tmp目录下,再次尝试执行echo命令,成功执行
使用type命令查看echo命令的类型为“内部命令”,所以,才执行成功
接下来,
按照1和2两个步骤操作ls这个命令,查看ls命令的绝对路径并将其剪切移动到tmp目录下,再次尝试执行ls命令,结果显示命令未找到,可见,ls这个命令为“外部命令”。
请注意:在Linux中,百分之九十左右的命令都为“外部命令”
既然ls这个命令只是移动了位置,为什么系统会找不到命令呢?
这就涉及到PATH,其就跟WINDOWS中的环境变量中的Path差不多,只需在PATH中定义好该命令的路径就可
使用echo $PATH可以看到PATH中没有tmp目录,将其加入后,再次执行ls命令,执行成功。。。

补充知识点:
whereis 可用于查看命令绝对路径和该命令帮助绝对路径
mv 可用于文件的剪切
1 help(用得比较少)
外部命令使用–help获取帮助,如ls –help
内部命令无法使用–help获取帮助,需要将help放在前面如help echo
eg:

外部命令使用help获取帮助示例

内部命令使用help获取帮助示例
补充知识点:
使用help获取帮助时,一次性显示太多不易查看,可以使用命令组合,如加入管道
[root@desktop0 ~]# ls –help | less
该命令再查看帮助时,可以翻页进行查看(按空格键),也可以一行一行进行查看(按回车键),退出按字母Q
2 man [章节] 命令(用得较多,肯定要会使用)
man手册总共有9个章节,实际上使用的只有8个章节
1 Executable programs or shell commands 查看普通命令的帮助
2 System calls (functions provided by the kernel) 系统调用,开发人员使用
3 Library calls (functions within program libraries) 库的调用
4 Special files (usually found in /dev) 特殊文件 如,块文件,字符文件
5 File formats and conventions eg /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) 系统管理的命令
9 Kernel routines [Non standard] 从企业版Linux7开始内核的主版本号变成3之后,就不在使用
使用最多的章节是 1 5 8
eg:
执行man ls,可以看到“LS(1)”为章节1

执行man rpm,可以看到“RPM(8)”为章节8

注意:man命令后面的章节可加可不加,如man ls 和 man 1 ls
man手册中,会形容命令是干嘛用的,命令所使用的语法以及相关的参数选项
使用man命令进行获取帮助时,可以使用查找功能,快速查找到我们需要的信息,操作如下:
比方,我想查看-a,直接输入/-a回车就可
man手册中,小写n为往下查找,大写的N为往上查找,字母Q为退出

直接输入/-a

敲回车后的结果
如下,通过whereis命令可以查看到ls命令的man手册路径,可以看到有两个man手册,分别在/usr/share/man/man1和/usr/share/man/man1p目录下
通常情况下,我们使用man ls命令默认是调用/usr/share/man/man1这个目录的,假如我们使用man ls无法找到我们需要的帮助,可以使用man 1p ls来获取帮助,1p获取到的帮助相对来说,是较为详细的,因而可以使用whereis来查看命令有哪些man手册可以取得帮助

man命令常用的两个选项
-a的使用,-a表示–all的意思,会显示所有章节的信息
如下的命令,敲回车之后,获取到的帮助为章节1,假如我们找不到我们想要的信息,按字母Q退出,再按回车就可进入到章节1p中

图为按字母Q后的结果,再按回车就可进入到章节1p
-k的使用,按照关键字查看帮助
如下命令,查看关键字passwd的帮助,会将与passwd相关字眼的man手册查找出来

3 通过软件包获取帮助(用的非常多)
1)这里以安装vsftp这个软件包来说明,先使用以下命令安装好
[root@desktop0 ~]# yum install vsftpd -y
rpm 软件包:在红帽的Linux中,软件包都为RPM包
执行以下命令,可以查看到该软件包的所有文档及帮助
[root@desktop0 ~]# rpm -qd vsftpd 很常用
-q:查询 (query) -d:文档 (document)
2)针对一个配置文件查找帮助——以修改网络配置文件进行说明
网络配置文件目录如下,/etc/sysconfig/network-scripts/ifcfg-eth0
当我们在修改网络配置文件时,不知道怎样修改,怎样办,可以使用下面的命令获取相应的文件帮助
[root@desktop0 ~]# rpm -qf /etc/sysconfig/network-scripts/ifcfg-eth0 可以查询出该文件是由哪个软件包产生的
file /etc/sysconfig/network-scripts/ifcfg-eth0 is not owned by any package
以上可以看到,因为是系统内核文件,查不出任何软件包
这时,可以返回上一层目录,进行查找,如下
[root@desktop0 ~]# rpm -qf /etc/sysconfig/network-scripts/
initscripts-9.49.17-1.el7.x86_64
接下来,即可以查找到相关网络配置文件的帮助了^-^

到这里,我们一般会在doc里面查找,如下图,使用正则表达式进行查询 grep -ri IPADDR *

总结:
使用rpm -qf /etc/sysconfig/network-scripts/ifcfg-eth0 查询文件对应的软件包,假如查找不到,返回上一级目录进行查找rpm -qf /etc/sysconfig/network-scripts/;查找到对应的软件包后,使用rpm -qd initscripts-9.49.30-1.el7.x86_64查找帮助文档;最后,使用正则表达式进行查找需要的信息 grep -ri IPADDR *
4 使用命令sosreport 收集日志文件和配置文件
假如系统出现问题,搞不清楚,可以使用命令sosreport进行日志和配置文件的收集,为一个压缩包
假如购买了红帽的服务,可以将其给到红帽进行分析
注:该命令在执行时,一直回车就可。不会收集敏感的信息,如密码文件
最后,给大家推荐一个网站 tldp.org【可以查询命令的帮助,甚至如何写内核】

网址:tldp.org
下一节升级中……
从命令行管理文件
请持续关注……
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 2 Red Hat Enterprise Linux 获取帮助