记录一下如何在Ubuntu系统中管理命令行历史。
使用history命令
命令说明
history命令用于管理命令行历史;-
语法说明:
history [-c] [-d offset] [n] history -anrw [filename] history -ps arg [arg...]
常用语法
-
显示带行号的命令历史列表:
history -
显示最近的
n条命令(在zsh中会显示从第n条开始的所有命令):history n -
以不同格式显示带时间戳的历史记录(仅在zsh中可用):
history -d|f|i|E -
清除命令历史列表:
history -c -
用当前bash的历史记录覆盖历史文件(通常与
history -c结合使用以彻底清除历史):history -w -
删除指定偏移量
offset处的历史记录条目:history -d offset -
将一条命令添加到历史记录中,但不运行:
history -s command -
通过在命令前添加一个空格,来运行命令且不将其添加到历史记录中:
<space>command
扩展用法
-
以root权限运行上一条命令(
!!会被替换为上一条命令):sudo !! -
使用上一条命令的最后一个参数来运行一条新命令:
command !$ -
使用上一条命令的第一个参数来运行一条新命令:
command !^ -
运行历史记录中的第
n条命令:!n -
运行历史记录中的倒数第
n条命令:!-n -
运行最近一条包含字符串
string的命令:!?string? -
重新运行上一条命令,但将其中的字符串
string1替换为字符串string2:^string1^string2^ -
执行一次历史扩展,但只打印将要运行的命令,并不运行:
!-n:p