概述
history
命令可以查看已经执行过的历史命令。
语法
该命令的语法如下:
history [选项] [参数]
该命令支持的选项有:
选项 | 说明 |
---|---|
-c | 清空命令历史 |
-d offset | 删除历史中指定的第 offset 个命令 |
-a | 追加本次会话的历史缓冲区中的命令到历史文件 |
-n | 读历史文件中未读过的行到历史列表 |
-r | 读历史文件到历史缓冲区中 |
-w | 将当前历史命令缓冲区命令写入历史命令文件中 |
-p | 展开历史参数成多行,但不存在历史列表中 |
-s | 展开历史参数成一行,附加在历史列表后(伪造命令历史) |
参数可以是数字 n
,表示显示最近的 n
条历史命令。
有以下几种方式快速执行上一条命令:
- 用向上键查看上条命令,按回车执行。
- 在命令行输入
!!
并按回车执行。 - 在命令行输入
!-1
并按回车执行。 - 按快捷键
Ctrl + P
显示上条命令,并按回车执行。
使用 Ctrl + R
搜索历史命令:在命令行中按下快捷键 Ctrl + R
,终端回提示 reverse-i-search
,然后在其中输入你要搜索的命令,找到之后按回车就会执行这条命令。再按 Ctrl + G
退出搜索。
还可以关注下如下两个指令来执行历史命令中的特定指令:
!n
:执行history
命令输出对应序号n
的命令。!-n
:执行history
命令到数第n
个命令。
注:
- 登录 shell 时,会读取命令历史文件(
~/.bash_history
)中记录下的命令。- 登录进 shell 后新执行的命令只会记录在缓存中,这些命令会在用户退出时追加到命令历史文件中。
使用
查看历史命令
不加任何选项和参数,直接执行 history
查看历史命令:
查看近 n 条历史命令
可以在 history
后面直接跟数字,表示查看最近 n
条历史命令,格式如下:
# 语法
history n
# 示例,如查看最近 5 条历史命令
history 5
删除第 n
条历史命令
可以使用 -d n
选项删除第 n
条历史命令,基本语法如下:
# 语法
history -d n
# 示例,删除序号为 534 的历史命令
history -d 534
清空历史命令列表
我们可以使用 -c
选项直接清空历史命令列表,这样别人就不知道你到底执行了什么命令。