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
下一篇 2016-07-29

相关推荐

  • 第二天作业

    1、echo 查闪烁,下划,颜色    echo -e "\033[31;5;1m*******\033[0m\n \033[32;5;1m*****\033[0m\n  \033[33;5;1m***\033[0m\n   \033[34;5;1m*\033[0m" 2、scr…

    Linux干货 2016-07-26
  • N26 – 第一周作业

    一、计算机组成及其功能     如图,计算机由硬件和软件组成。其中硬件可划分为控制器、运算器、存储器,以及输入和输出设备;软件则分为直接与硬件通信的系统软件,以及运行在其上的各类应用软件。      二、Linux发行版的不同系列     …

    Linux干货 2016-12-28
  • linux发展历程简述

     linux发展历程简述 概述       本文写的linux 的发展历史,阅读本文你可以知道:           1.   linux的发音           2. &nbs…

    Linux干货 2016-10-14
  • 马哥教育网络19期+第十六周课程练习

    编译安装LNMP 一、安装Nginx: 1、解决依赖关系 编译安装nginx需要事先需要安装开发包组"Development Tools"和 "Development Libraries"。同时,还需要专门安装pcre-devel包: # yum -y ins…

    Linux干货 2016-08-22
  • 纯文本配置还是注册表

    我们知道Unix/Linux下的程序配置文件从来都是纯文本的,你可以自由地修改和查看,他们也没有什么什么XML之类的玩意(参看XML的这两篇文章:一,二),这个最重要的Unix文化(参看Unix传奇下篇)40多年来就这么沿续下来了。我很佩服Microsoft的创新能力,一会儿用INI,一会儿用注册表,一会又是用XML,这就是Windows的编程中那“强大”的…

    Linux干货 2016-08-15
  • LVS产生背景、原理及LVS-DR应用实例(二)

    六、LVS-DR应用实例          (一)基本构建思路:           Director: 通过Director实现访问调度到RS1,RS2,实现负载均衡,RS3负责动态分离。…

    Linux干货 2016-10-29