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 22:01
下一篇 2015-04-21 16:26

相关推荐

  • grep与基本正则表达式基本用法

    正则表达式:Regual Expression  REGEXP      由一类特殊字符及文本字符所编写的模式,其中有些字符不表示其字母意义,而是用于表示控制或通配的功能;       分两类:             &nbsp…

    Linux干货 2016-11-03
  • 第七周作业

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; ]#mke2fs -t ext4 -b 2048 -L MYDATA -m 2 O acl /dev/sda1 (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件…

    Linux干货 2017-03-11
  • Linux基础解析;echo;man;centos;runlevel;PS1;screen;shell 倒三角;date -d等命令—-fazion blog at22.July

    Linux基础解析 fazionlan blog in 178Linux.July 20nd. 内核、版本信息 # uname -a                 &n…

    Linux干货 2016-07-29
  • LINUX课堂笔记(第二周)

    2018.03.12 rpm httpd*** service httpd start ab 模仿用户访问 cat /var/log/httpd/access_log curl 访问web服务 rev 字符颠倒显示 sort  -r 执行反方向(由上至下)整理  -R 随机排序  -n 执行按数字大小整理  -f 选项忽略(fold)字符串中的字符大…

    Linux干货 2018-03-17
  • shell脚本终结篇——数组

    数组定义: 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合 数组名和索引: 索引:编号从0开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅仅是数值格式,自定义格式的数组即为关联数组,bash4.0版本之后开始支持 bash的数组支持稀疏格式(索引不连续) 声明数组: declare -a ARRAY_NAM…

    Linux干货 2016-08-24
  • 第三次 练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 ~]# who | cut -d "" -f1 |uniq root     pts/0        2016-11-13 12:17 (172.16.220.14) 2、取出最后登录到…

    Linux干货 2016-11-16

评论列表(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好的,回头我搞一下这两个实际应用