怎样利用帮助文件来查询想要了解的信息?


这里以通过查找帮助文件来修改登陆信息为例子,

登陆的时候,我们可以看到CentOS的的版本和内核信息,

7.26_Linux帮助文件的使用、history变量的使用和FHS_帮助使用

当我们查看该相关文件的时候,会发现,里面的文档和显示的不一致,由此可以了解到,该文档是调用某些参数来实现显示CentOS的版本和内核信息。

7.26_Linux帮助文件的使用、history变量的使用和FHS_linux_02

这个时候,我们该怎样去查看issue文档的相关信息?

首先我们可以查看一下通过whatis issue的命令来查找到一些issue的信息

7.26_Linux帮助文件的使用、history变量的使用和FHS_帮助使用_03

看到这里,我们可以想起之前man命令手册的9个章节的内容,包括

1: 用户命令

2: 系统调用

3: C库调用

4: 设备文件及特殊文件

5: 配置文件格式

6: 游戏

7: 杂项

8: 管理类的命令

9:Linux 内核API

看到这里,我们可以想到,issue帮助文件是属于第5个章节的配置文件格式的手册,然后,我们可以查看之前获取到的信息来用man命令查看issue的信息。

7.26_Linux帮助文件的使用、history变量的使用和FHS_history_04

7.26_Linux帮助文件的使用、history变量的使用和FHS_history_05

打开issue的相关文档,我们可以看到关于issue文档里面关于那些显示参数的信息根本就没有

但是我们可以看到上面有一个SEE ALSO,参考motd(5), agetty(8), mingetty(8)这三个文档

通过查看这3个文档,我们发现在mingetty(8)这个文档里面可以看到一些相关的信息

7.26_Linux帮助文件的使用、history变量的使用和FHS_linux_06

7.26_Linux帮助文件的使用、history变量的使用和FHS_linux_07

现在,我们参考帮助文档来,修改一下/etc/issue文档里面的参数信息看看效果    

7.26_Linux帮助文件的使用、history变量的使用和FHS_history_08

原有的参数上面,我们又增加\l \n \t三个参数

7.26_Linux帮助文件的使用、history变量的使用和FHS_帮助使用_09

修改完,然后退出系统重新登陆,我们可以发现,登陆信息里面多了第三行的信息,至此,查找帮助信息已经帮助我们解决这个问题。


最后补充一下

获取帮助:

查看命令类型:  # type 命令名

内置命令:     # help 命令名

外部命令:     # 命令 --help    有使用手册



命令历史相关的环境变量的修改方法

HISTSIZE:历史命令中可以保存的个数

HISTFILE: 历史命令保存的文件

HISTFILESIZE:历史文件中可以保存的命令个数

HISTCONTROL:控制命令历史的生成机制

        ignoredups:忽略记录重复的命令,连续的相同命令

        ignorespace:以空格开头的命令不会被记录

        ignoreboth:同时具有上面两种特性

这些信息的相关资料,我们可以在bash帮助文档里面通过查找关键字信息查看

7.26_Linux帮助文件的使用、history变量的使用和FHS_history_10

环境变量,分为个人环境变量和全局环境变量

个人环境变量:只影响当前系统个人用户的配置文件

全局环境变量:影响当前系统所有用户的配置文件


1.修改HISTSIZE的默认值

首先我们查看HISTSIZE的默认值,这个值的作用是限制内存和配置文件中可以保存命令历史记录的最大值,默认是1000。bash帮助文档里面显示写500,是因为该文档还没有更新过来。

7.26_Linux帮助文件的使用、history变量的使用和FHS_linux_11

修改个人环境变量

7.26_Linux帮助文件的使用、history变量的使用和FHS_帮助使用_12

7.26_Linux帮助文件的使用、history变量的使用和FHS_history_13

修改完毕以后,退出当前账号再重新登陆看看HISTSIZE的值有没有发生变化

7.26_Linux帮助文件的使用、history变量的使用和FHS_history_14

可以看到HISTSIZE的值已经发生了变化

接下来,我们测试一下,配置全局环境变量

7.26_Linux帮助文件的使用、history变量的使用和FHS_history_15

把全局变量的HISTSIZE=1000修改成15

7.26_Linux帮助文件的使用、history变量的使用和FHS_linux_16

修改完保存退出再重新登陆看看

7.26_Linux帮助文件的使用、history变量的使用和FHS_linux_17

我们发现,这里的值,还是原来设置个人配置的500的值,说明,个人环境配置的优先级是比全局变量的优先级要高,如果我们要全局配置的设置生效的话,那么删掉个人配置里面的HISTSIZE=500,然后退出重新登陆看看效果。这里再补充一下,修改完配置必须要退出重新登陆,否则设置不会生效。

7.26_Linux帮助文件的使用、history变量的使用和FHS_history_18

可以发现,全局配置的设置已经生效,HISTSIZE修改完成。


2.修改HISTFILE

修改HISTFILE的作用是修改默认保存历史记录的文件,默认为~/.bash_history

7.26_Linux帮助文件的使用、history变量的使用和FHS_history_19

7.26_Linux帮助文件的使用、history变量的使用和FHS_linux_20

修改完以后保存退出,然后重新登陆系统看看,可以看见默认的HISTFILE已经改变

7.26_Linux帮助文件的使用、history变量的使用和FHS_帮助使用_21

然后查看一下家目录下面的这个文件,发现里面有曾经输入过的命令历史,表示修改这个变量成功

7.26_Linux帮助文件的使用、history变量的使用和FHS_history_22

经过实验,该配置文件也可以在全局变量环境中修改,用来作用所有用户。



3.修改HISTFILESIZE,这个是设置$HISTFILE文件可以保存历史记录的数量,但是并不限制内存的保存历史记录的数量,使用方法也是修改个人或者全局配置文件。

7.26_Linux帮助文件的使用、history变量的使用和FHS_history_23

7.26_Linux帮助文件的使用、history变量的使用和FHS_帮助使用_24

7.26_Linux帮助文件的使用、history变量的使用和FHS_linux_25


4.修改HISTTIMEFORMAT,此数值可以使历史记录数据显示时间等参数,默认是空

7.26_Linux帮助文件的使用、history变量的使用和FHS_帮助使用_26

在全局配置文件或者个人配置文件中配置

7.26_Linux帮助文件的使用、history变量的使用和FHS_帮助使用_27

重新登陆系统查看

7.26_Linux帮助文件的使用、history变量的使用和FHS_linux_28

可以发现history记录多了时间和日期,

7.26_Linux帮助文件的使用、history变量的使用和FHS_history_29

我们再查看一下记录命令历史的文件,可以看见里面有一堆奇怪的数字,这个是从UNIX元年开始计算的秒数

7.26_Linux帮助文件的使用、history变量的使用和FHS_帮助使用_30

7.26_Linux帮助文件的使用、history变量的使用和FHS_帮助使用_31


5.修改HISTIGNORE属性,此属性是控制命令历史的记录方式

默认是ignoredups

7.26_Linux帮助文件的使用、history变量的使用和FHS_linux_32

其他选项还有以下

ignoredups:忽略重复的命令;连续且相同方为“重复”

ignorespace:忽略所有以空白开头的命令

ignoreboth:ignoredups加ignorespace

erasedups:删除重复命令

增加环境变量参数,以ignorespace为例子,其他都是这个方法

7.26_Linux帮助文件的使用、history变量的使用和FHS_history_33

修完完保存退出重新登陆查看,发现变量已经改变

7.26_Linux帮助文件的使用、history变量的使用和FHS_帮助使用_34

测试一下,输入“空格+ll”查看当前目录,再输入history查看当前命令历史,发现没有ll,

修改参数成功,其他选项命令也是如此修改,功能效果就不再详述。

7.26_Linux帮助文件的使用、history变量的使用和FHS_history_35



FHS:Filesystem Hierarchy Standard(文件系统与目录结构)

必须目录

/bin                   所有用户的二进制程序文件、基本命令目录

/boot                 引导文件,内核文件存放目录

/sbin                 管理员的二进制程序文件、管理类基本命令目录

/dev                  硬件设备和逻辑硬件设备

                块设备block随机访问,有缓存,

                逻辑设备character顺序访问,没有缓存

                /dev/null /dev/zero空设备

/etc                配置文件目录

/lib                   程序依赖的库目录

/media              移动设备的挂载点

/mnt          手工设备的挂载点

/opt         第三方程序安装目录(现在第三方软件很少放在这个目录了)

/srv         各种服务可能用到的数据

/tmp         临时目录,权限比较宽松

/usr          第二层分层目录,centos7的/bin目录和centos6的/usr/bin是同一个目录

        centos7的/sbin目录和centos6的/usr/sbin是同一个目录

/var                  可变数据目录,如日志文件、邮件等。   

特殊目录

/home普通用户的家目录

/root                  root用户的家目录

/lib64         64位系统的程序依赖的库目录

其他目录

/run          centos7 移动设备的挂载点

/proc         内存数据,进程和内核信息目录

/sys         硬件设备,硬件信息挂载光盘

/misc                centos6才有,自动挂载光盘的目录


习题


今天17:30自动关机

#shutdown -h 17:30

只显示某目录下面的隐藏文件   

#ls -ldA .*

只显示某目录下面的目录列表   

#ls -ld */