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

(0)
~微风~~微风~
上一篇 2016-08-04
下一篇 2016-08-04

相关推荐

  • Centos 7 DNS配置及理论详解

    DNS是什么及BIND讲解内容 域名系统(英文:Domain Name System,缩写:DNS)是internet的一项服务。它作为将域名和IP地址相互映射服务,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。讲解内容:    DNS名称解析方…

    Linux干货 2016-04-25
  • HAProxy服务配置

    HAProxy 是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件。 相较与 Nginx,HAProxy 更专注与反向代理,因此它可以支持更多的选项,更精细的控制,更多的健康状态检测机制和负载均衡算法。 四层和七层负载均衡的区别: 四层: 通过分析IP层及TCP/UDP层的流量实现的基于“IP+端口”的负载均衡。 七层: …

    Linux干货 2017-05-19
  • ansible之Playbook中tags使用

    示例:httpd.yml– hosts: websrvsremote_user: roottasks:– name: Install httpdyum: name=httpd state=present – name: Install configure filecopy: src=files/httpd.conf des…

    Linux干货 2018-01-14
  • ./././

    ./././

    Linux干货 2016-08-04
  • 马哥教育网络20期+第二周练习博客

    1、 Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 ls 使用方式:ls [OPTION]… [DIR]… 常用选项: -a:显示所有档案及目录;  -A:显示除影藏文件“.”和“..”以外的所有文件列表; -C:多列显示输出结果。这是默认选项;  -l:与“-C”选项功能相反,所有输出…

    Linux干货 2016-06-23
  • 管理磁盘分区之fdisk详解

    Mozatr的不定期更新,处于学习阶段的Mozart,愿不断分享,不断进步。 此次分享一个重要的管理分区命令:fdisk ,我们一一阐述。 (一)分区 首先我们了解下什么是分区,分区是将一个硬盘驱动器分成若干个逻辑驱动器,分区是把硬盘连续的区块当做一个独立的磁盘使用。分区表是一个硬盘分区的索引,分区的信息都会写进分区表。 分区的优点:  &nbsp…

    Linux干货 2017-08-19