如果你经常使用Linux命令行,那么使用history(历史)命令可以有效地提升你的效率。本文将通过实例的方式向你介绍history命令的15中用法
1、使用HISTTIMEFORMAT 显示时间戳
当你从命令行执行 history 命令后,通常只会显示已执行命令的序号和命令本身。如果你想要查看命令的时间戳,那么可以执行:
# export HISTTIMEFORMAT='%F %T'
# history | more
2、使用 Ctrl + R 搜索历史
Ctrl + R 是我们经常使用的一个快捷键。此快捷键让你对命令历史进行搜索,对于想要重复执行某个命令的时候非常有用。当找到命令后,通常再按回车键就可以执行该命令。如果想对找到的命令进行调整再执行,则可以按一下左或右方向键
3、快速重复执行上一条命令
有4中方法可以重复执行上一条命令
1、使用上方向键,并回车执行
2、按!!
并回车执行
3、输入!-1
并回车执行
4、按Ctrl + P
并回车执行
4、从命令历史中执行一个指定的命令
在下面的历史中如果你想要重复执行第 1011 条命令,那么可以执行
!1011
5、通过指定关键字来执行以前的命令
在下面的例子,输入 !ech 并回车,将执行以 ech 打头的命令:
6、使用HISTSIZE 控制历史命令记录的总行数
将下面的两行内容追加到.bash_profile
文件并重新登入 bash shell ,命令历史的记录数将变成300条
# vim ~/.bash_profile
HISTSIZE=300
HISTFILESIZE=300
7、使用HISTCONTROL 从命令历史中删除连续重复的命令
# export HISTCONTROL=ignoredups
8、使用HISTCONTROL 清楚整个命令历史中重复的条目
# export HISTCONTROL=erasedups
9使用HISTCONTROL 强制 history 不记录特定的命令
将HISTCONTROL 设置为 ignorespase ,并在不想被记住的命令前面输入一个空格
# export HISTCONTROL=erasedups
10、使用 -c
选项清楚所有的命令历史
# history -c
11、命令替换
!$
将为当前的命令获得上一条命令的参数(!!:$
也可以达到同样的效果)
!^
获得上一条命令的第一项参数
12、为特定的命令指定特定的参数
在下面的例子,
!cp:2
从命令历史中搜索以cp
开头的命令,并获取它的第二项参数
13、**使用 HISTSIZE 禁用 history **
如果你想禁用 history ,可以将HISTSIZE 设置为 0
# export HISTSIZE =0
14、使用 HISTIGNORE 忽略历史中的特定命令
下面的例子中将忽略 pwd、ls、ls -ltr
命令:
# export HISTIGNORE="pwd:ls:ls -ltr:"