bash功能特性二 命令别名和历史命令

一、历史命令

    bash提供存储历史命令的功能,下面来详细介绍一下。

    1、history命令

        命令格式:history [options] 

            options:

                不带参数选项:显示所有使用过的命令;

                #(数字):显示最近使用过的#条命令;

                -c:清除目前shell中所有的历史命令;

                -d #:清除条#条命令;

                -r:将历史命令配置文件(默认~/.bash_history)中的内容读到目前的shell中;

                -a [FILE]:将新增的历史命令导入到FILE中,不指定则保存到~/.bash_history中;

                -w:将目前的所有的历史命令写入到历史命令配置文件中;

        (1)查看最近10条历史命令方法一;

1.png

        (2)查看最近10条历史命令方法二;

2.png

        (3)将历史命令写入到~/.bash_history中;

         先来查一下文件中的内容;

3.png

         更新此文件中的内容;

4.png          从上面的结果可以看到最后面的命令已被替换成最新的了,而且我们也发现一个问题,~/.bash_history文件最多只能存储1000条记录; 其实我们可以根据需要来修改这个值。

    2、历史命令的相关变量

        (1)用户退出时的持久保存位置

        从上面的例子可知默认的保存位置为~/.bash_history,可以通过修改环境变量HISTFILE更换;

5.png

        (2)文件中可以保存的最大条目

         环境变量:HISTFILESIZE

6.png

         (3) 命令保存的最大条目

         环境变量:HISTSIZE

7.png

         (4) 命令显示控制

         环境变量:HISTCONTROL

            变量值的含义:

                ignoredups:忽略重复的命令,连续的相同命令才会为重复

                ignorespace:忽略以空白字符打头的命令

                ignoreboth:以上二者同时生效

6.png

7.png

    3、bash调用历史命令列表中的命令

        !#:执行命令历史中的第#条命令

        !!:执行上一条

        !string:执行命令历史中最近一次以string开头的命令

        !$:调用上一条命令最后一个参数

           按ESC松开后按“.” :功能同上

8.png

二、命令别名

    bash支持为命令设置别名,以达到方便输入和记忆的目的。

    1、设置别名:alias命令

         alias命令用法比较简单,下面直接举例说明:

9.png10.png

    使用命令设置的别名并不能永久生效,可以在~/.bashrc文件中设置别名;

11.png

    2、撤消别名:unalias命令  

        -a:撤消所有别名

12.png

    同样,命令行中并不能真正撤消别名,还需要修改配置文件;

12.png1.png

    3、当命令别名与命令本身相同,如何才能不使用别名的定义来执行命令:

13.png

14.png       


原创文章,作者:petmaster,如若转载,请注明出处:http://www.178linux.com/3246

(0)
petmasterpetmaster
上一篇 2015-04-20
下一篇 2015-04-21

相关推荐

  • 20160804课堂练习

    grep正则表达式课堂练习 1、找出ifconfig命令结果中本机的所有IPv4地址 # ifconfig | head -2 | cut -dt -f2 | cut -dn -f1 | tail -1 2、  查出分区空间使用率的最大百分比值 # df | cut -c56-58 | sort -n | tail -1 3、  查出用户…

    Linux干货 2016-08-05
  • 网络管理

                                                 网络基础 一.网络的基本概念 什么是网络…

    2017-09-02
  • 马哥教育网络19期+第四周练习博客

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。  cp /etc/skel /home/tuser1  chmod -R  700 /home/tuser1 2、编辑/etc/group文件,…

    Linux干货 2016-06-19
  • Linux文件查找之find命令详解

    文件查找 文件查找就是在在文件系统上查找符合条件的文件; 文件查找分为: 实时查找:遍历所有文件进行条件匹配 非实时查找:根据所以查找 locate: 1、查询系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db 2、locate属于非实时查找,依赖于事先构建的索引; 索引的构建是在系统较为空闲时自动进行(周期性任务);管理员手…

    Linux干货 2016-08-18
  • awk简介

    Awk介绍   报告生成器,格式化文本输出 gawk:模式扫描和处理语言 基本用法: Awk [option]  ‘program’ var=value file Awk [ option]  -F    programfile var =value file   F指明分隔符 Awk [option ]   ‘BEGIN’{ACTION…}  …

    Linux干货 2018-01-02
  • 马哥教育-第一周作业

    第一部分:计算机组成及功能 电子真空管的出现促使了计算机的诞生; 根据冯●诺依曼的哲学思想,计算机的组成分为五大部分。分别为: 1.     运算器 2.     控制器 3.     存储器 4.   &nb…

    Linux干货 2016-12-04

评论列表(3条)

  • stanley
    stanley 2015-04-22 21:32

    哇哦,提升飞速啊,赞

  • stanley
    stanley 2015-04-22 21:36

    非常仔细,练习的一些习题也看得出很有心进行。 从业务角度考虑,可以尝试实现:1. 如何实现history记录命令执行时间 2. 实在history记录永久保存

    • petmaster
      petmaster 2015-04-22 22:47

      @stanley好的,回头我搞一下这两个实际应用