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

相关推荐

  • linux文件管理

    目录创建删除,软硬链接的区别和注意,file命令的使用,工作中遇到一些情况的处理方法

    2017-11-18
  • 用户和组相关的配置文件总结

    前言: 在用户管理,组管理过程中,最基本的四个文件就是/etc下面的passwd,shadow,group,gshadow。他们记录了与用户和组相关的信息。是学习和深入了解用户,组的基本。 除了这些基本的配置文件 还有与初始化相关的配置文件。定义用户添加时初始状态的配置文件/etc/default/useradd。 以及用户家目录的内容文件参考目录/etc/…

    Linux干货 2016-10-24
  • 马哥教育网络班21期+第5周作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行(以/boot/grub2/grub.cfg代替); [root@localhost ~]# grep '^[[:space:]]\+' /boot/grub2/grub.cfg    load_e…

    Linux干货 2016-08-08
  • 9 grep & egrep & 正则表达式

    grep grep = Global search REgular expression and Print out the line 语法及用途 grep [OPTIONS] PATTERN [FILE…] 根据用户指定的“…

    Linux干货 2016-08-10
  • diy自己的linux

    准备一台liunx的机器,我用的是liunx虚拟机,Centos6.8的镜像。 单独加载一块硬盘,我加载了一块20G的硬盘,然后用fdisk /dev/sdb进行分区,sdb1用来作为将来系统的/boot分区,所有100M就可以了,sdb2用来作为将来系统的/分区,我给了10G。然后将两个分区格式化为ext4系统。 mkdir /mnt/boot mkdir…

    Linux干货 2016-09-13
  • 磁盘分区管理之磁盘基础知识1

    1、磁盘基础知识 1.1 磁头 磁头是利用气流漂浮在盘片上,并没有接触到盘片,因而可以在各轨间高速来回移动,但如果磁头距离盘片太高,读取的信号就会太弱;太低又会磨到盘片表面,所以盘片表面必须相当光滑平整,任何异物和尘埃均会使得磁头摩擦到表面而造成数据永久性损坏。 硬盘读写磁头为了能在磁盘表面高速来回移动读取数据,则需漂浮在磁盘表面上,但是不能接触,接触就会造…

    Linux干货 2016-09-07

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