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

相关推荐

  • 磁盘管理、文件系统管理

    磁盘管理、文件系统管理 磁盘管理 磁盘设备 机械硬盘(非固态) I/O Ports —– I/O 设备地址 块设备:Block 存取单位“块”;(磁盘) 字符设备:char 存取单位“字符”;(键盘) 设备文件:关联一个设备驱动程序,进而能够跟与之对应的硬件设备进行通信; – 设备号码: 主设备号 major number…

    Linux干货 2016-07-22
  • 运维的危险命令,用了必死(1)

    Linux命令行佷有用、很高效,也很有趣,但有时候也很危险,尤其是在你不确定你自己在正在做什么时候。这篇文章并不打算引来你对Linux或linux 命令行的愤怒。我们只是想让你意识到在你运行某些命令时应该三思而后行。(译注:当然,以下命令通常都是在root权限下才能将愚蠢发挥到无可救药;在普通用户身份下,破坏的只是自己的一亩三分地。)

    2017-11-16
  • M22 Centos6上编译安装httpd2.4并实现HTTPS浏览

    随着网络技术的发展,人们对信息安全越来越重视,传统的http浏览互联网的方式由于未经加密,其安全性广为人们诟病,https协议作为加密的互联网解决方案解决了这一问题。下面我就简要说明下如何实现通过https发布web页面的。   实验目的: 模拟Centos6上安装httpd2.4,并实现https加密访问主页 实验器材: Centos6.8虚拟机…

    Linux干货 2017-04-20
  • bash脚本作业

    1、每隔3秒钟到系统上获取已经登录的用户的信息;如果发现用户hacker登录,则将登录时间和主机记录于日志/var/log/login.log中,并提示该用户退出系统。 2、随机生成10以内的数字,实现猜字游戏,提示比较大或小,相等则退出。 1、求100以内所有正整数之和 2、通过ping命令探测172.16.250.1-254范围内的所有主机的在线状态,…

    Linux干货 2016-08-19
  • N25期第四周作业

    1.复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 cp -r /etc/skel /home/tuser1 chmod -R go= /home/tuser1 2.编辑/etc/group文件,添加组hadoop echo “hadoop:x:1080” >> /…

    Linux干货 2016-12-26
  • 利用varnish构建httpd缓存服务器

    varnish如何存储缓存对象:     file: 单个文件;不支持持久机制;     malloc: 缓存在内存中;     persistent:基于文件的持久存储;(此方式不建议使用) vcl:配置缓存系统的缓存机制;【线程中缓存功…

    Linux干货 2016-06-20

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