一、历史命令
bash提供存储历史命令的功能,下面来详细介绍一下。
1、history命令
命令格式:history [options]
options:
不带参数选项:显示所有使用过的命令;
#(数字):显示最近使用过的#条命令;
-c:清除目前shell中所有的历史命令;
-d #:清除条#条命令;
-r:将历史命令配置文件(默认~/.bash_history)中的内容读到目前的shell中;
-a [FILE]:将新增的历史命令导入到FILE中,不指定则保存到~/.bash_history中;
-w:将目前的所有的历史命令写入到历史命令配置文件中;
(1)查看最近10条历史命令方法一;
(2)查看最近10条历史命令方法二;
(3)将历史命令写入到~/.bash_history中;
先来查一下文件中的内容;
更新此文件中的内容;
从上面的结果可以看到最后面的命令已被替换成最新的了,而且我们也发现一个问题,~/.bash_history文件最多只能存储1000条记录; 其实我们可以根据需要来修改这个值。
2、历史命令的相关变量
(1)用户退出时的持久保存位置
从上面的例子可知默认的保存位置为~/.bash_history,可以通过修改环境变量HISTFILE更换;
(2)文件中可以保存的最大条目
环境变量:HISTFILESIZE
(3) 命令保存的最大条目
环境变量:HISTSIZE
(4) 命令显示控制
环境变量:HISTCONTROL
变量值的含义:
ignoredups:忽略重复的命令,连续的相同命令才会为重复
ignorespace:忽略以空白字符打头的命令
ignoreboth:以上二者同时生效
3、bash调用历史命令列表中的命令
!#:执行命令历史中的第#条命令
!!:执行上一条
!string:执行命令历史中最近一次以string开头的命令
!$:调用上一条命令最后一个参数
按ESC松开后按“.” :功能同上
二、命令别名
bash支持为命令设置别名,以达到方便输入和记忆的目的。
1、设置别名:alias命令
alias命令用法比较简单,下面直接举例说明:
使用命令设置的别名并不能永久生效,可以在~/.bashrc文件中设置别名;
2、撤消别名:unalias命令
-a:撤消所有别名
同样,命令行中并不能真正撤消别名,还需要修改配置文件;
3、当命令别名与命令本身相同,如何才能不使用别名的定义来执行命令:
原创文章,作者:petmaster,如若转载,请注明出处:http://www.178linux.com/3246
评论列表(3条)
哇哦,提升飞速啊,赞
非常仔细,练习的一些习题也看得出很有心进行。 从业务角度考虑,可以尝试实现:1. 如何实现history记录命令执行时间 2. 实在history记录永久保存
@stanley:好的,回头我搞一下这两个实际应用