Linux帮助文件的使用、history变量的使用和FHS

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


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

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

wKioL1eXVFTg9IGYAAAFnV9WXuE248.png

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

wKiom1eXVFTRN74fAAAKaqGnQC0851.png

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

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

wKiom1eXVlPRRpyQAAAN95smqSc253.png

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

1: 用户命令

2: 系统调用

3: C库调用

4: 设备文件及特殊文件

5: 配置文件格式

6: 游戏

7: 杂项

8: 管理类的命令

9:Linux 内核API

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

wKiom1eXV86imlaIAAAFseIGzwY066.png

wKioL1eXWCiAnTKbAABlOm_-e90990.png

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

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

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

wKioL1eXWlmAsUalAAAF1zPkOYk300.png

wKiom1eXWlriO2xQAABT3QxTN7o263.png

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

wKioL1eXWufTpEnyAAAE9oYQuDE197.png

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

wKioL1eXW0ygq2pRAAAHUemeIek197.png

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


最后补充一下

获取帮助:

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

内置命令:     # help 命令名

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



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

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

HISTFILE: 历史命令保存的文件

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

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

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

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

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

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

wKiom1eXY9zDWpbfAADeExrcC-M566.png

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

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

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


1.修改HISTSIZE的默认值

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

wKiom1eYEPvCgGclAAAHL15D6C0729.png

修改个人环境变量

wKiom1eYEefClDTUAAAHW3OYWw8966.png

wKioL1eYEgDRI-wGAAA3ux3wulM167.png

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

wKioL1eYEz3DItlDAAAGfDTQP4o089.png

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

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

wKiom1eYFDyh3h-DAAAHdHrFq-s536.png

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

wKiom1eYFD3BUcGnAAB0ZkGE3So620.png

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

wKioL1eYFK-TOpjcAAAGfDTQP4o863.png

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

wKioL1eYFD2RU30jAABWMYbgD4Q973.png

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


2.修改HISTFILE

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

wKiom1eYIm_A8pqvAAAJQ4ZzrnY144.png

wKiom1eYIqOQ4dcNAAA1h-FA56w294.png

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

wKiom1eYIzyy8_EiAAAMRpyTp3U000.png

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

wKiom1eYIz7ztWlxAAAbxGEmbl8765.png

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



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

wKiom1eYKbXhWmoFAAAvl6N5N8g615.png

wKioL1eYKbWyfVIlAAAI5-W_ojE511.png

wKiom1eYKbbwERD2AAAep1LNsz8522.png


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

wKiom1eYK7XxoXwmAAALUIZbXpA454.png

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

wKiom1eYK7bgwfzdAABc7EvucCQ780.png

重新登陆系统查看

wKioL1eYK7bCFIRLAAALWD7UK3Y538.png

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

wKioL1eYK7nCGoP5AABijgIwArM393.png

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

wKiom1eYK7zgQGfcAAAxPxldxrU949.png

wKiom1eYM4iS7xbsAAAKcGJp-Vk805.png


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

默认是ignoredups

wKioL1eYOkDjOLLvAAAL4LNmCnw951.png

其他选项还有以下

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

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

ignoreboth:ignoredups加ignorespace

erasedups:删除重复命令

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

wKiom1eYOqPAxgZqAAApNsFpxLM757.png

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

wKiom1eYOs-itD0TAAAKvuBBUIo564.png

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

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

wKioL1eYOv3A_CCMAAC3lCcluLg775.png



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 */

原创文章,作者:~微风~,如若转载,请注明出处:http://www.178linux.com/28242