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

相关推荐

  • sed与vim相关练习

    sed 练习 以行为单位的新增/删除功能 1将 /etc/passwd 的内容列出并且打印行号,同时,请将第 2~5 行删除! 2在第二行后(亦即是加在第三行)加上“the is xing line?”字样! 3在第二行前(亦即是加在第而行)加上“the is xing line?”字样! 4在第二行后面加入两行字,例如“the is xing line &…

    Linux干货 2016-08-10
  • N25-第六周

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;      cp /etc/rc.d/rc.sysinit /tmp     &nbsp…

    Linux干货 2017-03-08
  • DNS

    简介     DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号5…

    Linux干货 2016-11-15
  • 加密通讯过程

    一次加密通讯的过程 1、client_hello   客户端发起请求,以明文传输请求信息,包含版本信息,加密套件候选列表,压缩算法候选列表,随机数,扩展字段等信息,相关信息如下: 支持的最高TSL协议版本version,从低到高依次 SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2,当前基本不再使用低于 TLSv1 的版本 客户端支持的加密…

    Linux干货 2017-02-07
  • MBR与GPT分区结构的不同及磁盘分区命令总结

    一、MBR分区结构 主引导记录(Master Boot Record,缩写:MBR),又叫做主引导扇区,是目前比较流行的一种分区结构。磁盘的0磁道0扇区称为MBR,它的大小是512字节,这个区域被分为三个部分: 第一部分为boot loader(主引导程序),占446字节; 第二部分为Partition table(分区表),即DPT,占64字节,每个分区项…

    Linux干货 2016-08-29
  • 模拟centos6.8系统下initramfs文件和vmlinuz文件损坏恢复

    实验一:关于删除initramfs-2.6.32-642.el6.x86_64.img 文件恢复实验,实验环境centos6.8系统 1.安全起见,请先安排做快照及备份 把initramfs-2.6.32-642.el6.x86_64.img 文件复制一份/root目录下。 [root@centos6: boot]# cp -a initramfs-2.6.…

    2017-05-15