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

相关推荐

  • 携程全站瘫痪引发的思考

       为今年5月冠上多事之夏的名头已是无可厚非的一件事,自支付宝光纤被挖断后,携程又暴出全站瘫痪的风波,从5/28 11:00开始,直到晚上11:29分才全面恢复.互联网也是谣言四起,纷纷猜测百度腾讯谁会是下一个灾难的受害者。暂切抛开这些玩笑言论,就携程本次事情引发的思考太多,前车之鉴后事之师,如果携程的事情发生到我们身上,我们该怎么办,…

    Linux干货 2015-06-03
  • 操作系统—Systemd

    Systemd 概述:       CentOS 6和之前版本采用SysVinit的系统启动进程管理体系,一般用户都可通过在/etc/inittab文件的配置,来个性化自己的系统启动序列。但也经常会由于特殊环境的硬件等关系问题,造成其串行的启动进程控制流,因为可能任务的阻塞而影响启动过程。     &nbsp…

    Linux干货 2016-09-24
  • 1017作业

    1 生产环境发现一台服务器系统时间产生偏差,造成服务异常,请帮忙校正 ##先分析硬件时间不对还是系统时间不对,如果是系统时间不对: [root@localhost ~]# hwclock -w [root@localhost ~]#  ##如果是硬件时间不对: [root@localhost ~]#…

    Linux干货 2016-10-18
  • N25_第二周作业_leon

    第二周博客作业_leon 1.       Linux上的文件管理类命令有哪些?其常用的使用方法及其相关示例演示 常用文件管理类命令有: mkdir、touch、rmdir、cp、rm、mv   mkdir—-创建目录 -m  直接设置权限(非默认权限) -v&nbs…

    Linux干货 2016-12-23
  • ipvsadm配置命令

    Ipvsadm配置   ipvsadm/ipvs: 集群和集群之上的各RS是分开管理的; 集群定义 RS定义 ipvs:内核基本都自动编译上了 ~]# grep -i -C 10 “ipvs” /boot/config-VERSION-RELEASE.x86_64     支持的协议:…

    Linux干货 2017-05-17
  • 计算机及Linux基础介绍

    Linux及计算机基础介绍 计算机的组成及其功能 What:计算机的组成是什么? 计算机的主要部件: CPU:可分为运算器、控制器、寄存器、缓存等 存储器:比如内存。执行程序时,会将程序及相关数据加载进内存,供CPU读取 输入设备:比如:键盘。用于下达指令及输入数据。 输出设备:比如显示器。用户显示和输出指令执行的结果等 冯诺依曼体系中提出的五大部件为:运算…

    Linux干货 2016-09-19