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

相关推荐

  • python之psutil模块

    python 安装psutil 来实现获取系统信息  # yum -y install python*pip # yum -y groupinstall “Development Tools # yum -y install python34-devel.x86_64 # pip3 install –upgrade pip # pip3 inst…

    Linux干货 2014-01-22
  • 磁盘管理、文件系统、挂载

    磁盘管理 一磁盘分区 磁盘分区有两种方式:MBR和GPT MBR:1)按照柱面进行分区;分区不超过2T 2)关于0磁道0扇区的前512bytes;其中的446bytes为boot loader;中间的64bytes装有分区表;2bytes为55AA 3)可分4个分区;3个主分区+1扩展(N个逻辑分区)扩展分区最多一个。 GPT分区:1)GUID patiti…

    Linux干货 2016-08-29
  • 运维自动化之系统安装

    自动化安装系统,cobbler的安装使用

    Linux干货 2018-01-15
  • 文件系统层次标准FHS

    FHS针对目录树架构仅定义出三层目录下应该放置哪些数据,分别是下面三个目录: /(根目录):与开机系统有关; /usr(unix software resource):与软件安装执行有关; /var(variable):与系统运作过程有关。   下面分别对上述三层目录进行详细的阐述。   (1) /(根目录)   根目录是整个系统最重要的一个目录,…

    Linux干货 2016-10-19
  • find命令归纳

    首先,find可以实现以下方式查找 文件名:-name -iname -regex 文件类型:-type TYPE:(f,d,l,s,b,c,p) 文件大小:-size [+|-]#UNIT #UNIT(k,M,G)范围(由小到大):[0,#-1](#-1,#](+#,oo) 时间戳:-{a|m|c}time -{a|m|c}min  范围(现在到…

    Linux干货 2016-04-19
  • Linux文件系统初识

    Linux文件系统初识        文件系统是一种用于向用户提供数据访问的机制,我们的硬盘,U盘等存储设备会被文件系统分割为特定大小的块,系统中的文件就被存储在数据块中,而我们平常接触到的分区,目录,文件等正是文件系统通过组织整合之后才呈现在我们面前的,我们无需去关心我们的数据到底存储在硬盘的那个…

    2017-07-15