Linux基础–命令帮助的获取及history历史命令

第一部分    Linux系统如何获取命令帮助

    1、命令类型以及简单帮助的获取

        linux系统上,基本命令分为两类,一类是内建命令,一类是外部命令。所谓内建命令,是指由linux内核自带的系统命令,而外部命令是后期一些程序软件安装过后生成的一些命令。

        <1>可以通过type命令来查看命令的类型,type的基础用法为:type COMMAND

        例如:type cd

        QQ图片20160726195914.png

        例如:type date

        QQ图片20160726200048.png

        <2>可以通过whatis COMMAND获取命令的简单功能介绍,通过which COMMAND来获取命令的完整路径信息,whereis来获取命令的全部路径信息

        11.png 

        <3>通过上述方法得到命令的相关信息后,针对内部命令,可以利用help COMMAND进行简单用法的帮助获取;针对外部命令,可以利用COMMAND –help 来获取命令的简单使用说明

        22.png

        33.png

    2、man和info的使用

        通过第一步分对命令的简单用法和简单说明信息的了解后,基本知道了一个命令的简单功能和简单的使用方法,那么对于外部命令的详细的使用方法以及完整性的说明信息就得借助man来进一步了解

        man是一种格式化输出相关帮助手册信息的工具,通过man帮助,我们可以了解到外部命令的详细说明信息,使用信息等等一些详细的说明,当然,man的功能不仅仅是输出命令的帮助信息,对于一些配置文件的信息,我们也可以通过man来获取详细的帮助,具体man的功能按章节可以分为几部分:

            1:用户命令的帮助信息章节

            2:系统调用的帮助信息章节

            3:C库调用的帮助信息章节

            4:设备文件及特殊文件的帮助信息章节

            5:配置文件的帮助信息章节

            6:游戏的帮助信息章节

            7:杂项

            8:管理类命令的帮助信息章节

            9:Linux内核API的帮助信息章节

        针对初期学习过程中,我们主要关注1、5、8章节的相关信息即可

        如何使用man来获取外部命令帮助,针对上述的已知的命令,我们可以利用whereis获取到该命令的相关章节之后直接man [章节号] COMMAND来进行相关命令的帮助信息获取

            例如:        

            111.png

            通过查看该详情页,即可获得到命令的完整性用法

        针对配置文件的帮助,可以利用man 5 FILENAME即可获取配置文件的相关帮助信息

            例如:查看fstab配置文件的帮助信息

            2.png

            通过查看详细的信息即可获取到配置文件的相关语法说明和介绍

        man在使用过程中的一些方法和技巧:

            man实际是调用less来进行文本的读取的

            可利用:

                空格键    进行向后翻一页

                b键    向前翻一页

                d键    向后翻半页

                u键    向前翻半页

                #        跳转至指定的第#行

                1G      跳转到文件首部

                G        跳转到文件尾部

                /STRING    以指定的字符搜索全文,搜索到后,可利用n键跳转到下一个匹配到的位置,N键跳转到上一个匹配到的位置

                q键    退出man手册页

    3、其他获取帮助途径介绍

        除了上述基础的一些获取命令帮助的途径和man的方式进行帮助获取外,还可以利用一个额外的帮助渠道进行命令或其他信息的获取

            1、info页面  

            2、本地文档/usr/share/doc/目录里面有关于一些软件的相关说明信息

            3、在线文档获取帮助,可到一些程序的官方站点的知识库或者获取软件的官方说明文档进行帮助的获取

            4、利用搜索引擎进行搜索

第二部分    history命令历史详解

    1、history语法:

         history [-c][-d 偏移量][n] 

          或history -anrw [文件名]

          或history -ps [参数]

             选项:

             -c 表示删除所有历史命令

             -d 数字  表示删除指定的第多少条命令

             -w 将当前内存中保留的命令历史,保存到历史命令文件中

             -r 将历史命令文件中的内容,读取到内存中

             例如:history -d 5  表示删除第5条命令

               history -d 5 10 表示删除从第5条命令开始的往后的10条命令

               history -c  表示清空所有历史命令

               history 10 表示显示最近的10条历史命令

    2、有关history命令的配置文件和环境变量:

        关于history命令的配置文件可定义在:

            全局配置文件/etc/profile        全局生效,对所有用户都有效

            局部配置文件~.bash_profile        局部生效,只对定义在该用户家目录下的用户有效

            ~.bash_history记录了该用户使用过的历史命令

        history命令的一些环境变量:

         HISTSIZE:shell进程可保留的命令历史的条数

         HISTFILE:持久保存历史命令的文件

         HISTFILESIZE:命令历史文件的大小

         HISTCONTROL:控制历史命令记录方式的环境变量

             其取值可以有4个:默认为ignoredups

             ignoredups 忽略重复且相邻的历史命令

             ignorespace  忽略以空格开头的命令

             ignoreboth  以上两个同时生效

             erasedups  去除重复的命令

             多个取值之间可以用:分割

         HISTTIMEFORMAT="%F %T"可以以指定时间显示格式,显示历史命令的执行时间

         HISTIGNORE="STRING1:STRING2。。。"表示不记录相应的命令的历史

        修改变量的值直接 HISTCONTROL='ignoreboth'  立即生效,但退出后失效,要永久有效,写入配置文件

        例如HISTTIMEFORMAT="`hostname ` %F %T "

        例如:HISTIGNORE="passwd:echo"不记录passwd命令和echo命令,但是例如echo 111这样的还是会记录,要想不记录要写成这样:

HISTIGNORE="passwd:echo*"

   3、有关history命令常用的快捷键:

        调用命令历史中的命令:

        !数字  再次执行命令历史中的第几条命令

        !! 再次执行上一条命令

        !STRING  再次执行历史命令中最近一个以STRING开头的命令

        !?STRING  执行最近一条命令中包含关键字的命令

        !-1  表示执行倒数第一条命令

        ctrl+r  搜索历史命令关键字

        ctrl+P 执行最后一条历史命令

            

        调用历史命令中的参数:

        ESC  .执行最后一条命令中的最后一条参数

        !$  直接执行最后一条命令的最后一个参数

        !^  直接执行最后一条命令的第一个参数

        !:#   直接执行最后一条命令的第#个参数

        !*  直接执行最后一条命令的全部参数

    

        !n:$  直接执行第n条历史命令的最后一个参数

        !n:^  直接执行第n条历史命令的第一个参数

        !n:#   直接执行第n条历史命令的第#个参数

        !n:*  直接执行第n条历史命令的全部参数

    

        !STING:^ 从历史命令中搜索以STRING开头的命令,并获取其第一个参数

        !STRING:$  从历史命令中搜索以STRING开头的命令,并获取其最后一个参数

        !STING:n   从历史命令中搜索以STRING开头的命令,并获取其第n个参数

        !STING:*   从历史命令中搜索以STRING开头的命令,并获取其所有参数

第三部分    课后练习

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

        ll -d .*

        ls -a /PATH |grep "^\..*"

    

    2、只显示某目录下的目录列表

        ll /PATH |grep "^d.*"

        

原创文章,作者:M20-1倪文超,如若转载,请注明出处:http://www.178linux.com/26145

(2)
M20-1倪文超M20-1倪文超
上一篇 2016-07-27 21:57
下一篇 2016-07-29 09:28

相关推荐

  • N29第一周作业:初识Linux系统

    1、描述计算机的组成及其功能。
    2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
    4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
    6、请罗列Linux发行版的基础目录名称命名法则及功用规定

    2018-03-04
  • 文本处理三剑客之Gawk ✧

        AWK可以说是一种语言,他有着自己的语法,可以实现函数定义,变量赋值,条件选择(循环,判断,选择)…总之是值得深入研究一下的。     AWK的起源:是个报告生成器,可以格式化文本输出内容,它的命名是由Aho,Weinberger,Kernighan三位作者首…

    Linux干货 2016-09-21
  • 搜索引擎的技术架构

    1. 搜索引擎的分类 搜索引擎按其工作方式主要可分为三种: 分别是全文搜索引擎(Full Text Search Engine) 目录索引类搜索引擎(Search Index/Directory) 元搜索引擎(Meta Search Engine)。 ■ 全文搜索引擎  全文搜索引擎是名副其实的搜索引擎,国外具代表性的有Google、Fast/Al…

    Linux干货 2015-11-18
  • 磁盘管理

    磁盘管理

    Linux干货 2017-10-27
  • Linux 第五天: (08月01日) 练习和作业

    Linux 第五天: (08月01日) 练习和作业         创建用户gentoo, 附加组为bin和root, 默认shell为/bin/csh, 注释信息为"Gentoo Distribution" useradd -G bin,root -c "Gentoo Distribut…

    Linux干货 2016-08-08
  • 程序包管理

    什么是程序包管理器?     顾名思义,就是将编译好的应用程序的各组成文件打包成一个或多个程序包文件,从而更方便地实现程序包的安装、升级、卸载还有查询等管理操作。 那么一个程序包又由哪些部分组成呢? 程序包的组成清单:   文件清单(每个程序包都单独实现):       安装或卸载时运行的脚本,有如下四类:     preinstall : 安装过程开始之前…

    Linux干货 2016-12-16