如何搜索Shell命令历史记录
时间:2020-01-09 10:42:23 来源:igfitidea点击:
问题描述:如何在bash shell下搜索旧的命令历史记录?
如何显示或者修改以前的命令?
解决方法:如果用户启用了,几乎所有最新的shell都允许您搜索命令历史记录。
使用历史记录命令可显示具有行号的历史记录列表。
用*列出的行已被用户修改。
shell历史记录搜索命令
在shell提示符下输入历史记录:
$ history
要搜索特定命令,请执行:
$ history | grep command-name $ history | egrep -i 'scp|ssh|ftp'
Emacs线路编辑模式命令历史记录搜索
要获取包含字符串的先前命令,请按[CTRL] + [r],然后按搜索字符串:
(reverse-i-search):
要获取上一个命令,请按[CTRL] + [p]。
您也可以使用向上箭头键。
CTRL-p
要获取下一个命令,请按[CTRL] + [n]。
您也可以使用向下箭头键。
CTRL-n
fc命令
fc代表find命令或者fix命令。
例如,列出最后10个命令,请执行:
$ fc -l 10
要列出命令130到150,请执行:
$ fc -l 130 150
要列出自上一个以ssh开头的命令以来的所有命令,请执行:
$ fc -l ssh
您可以使用vi文本编辑器来"编辑命令" 1至5,执行:
$ fc -e vi 1 5
删除命令历史
-c选项通过删除所有条目来清除历史记录列表:
$ history -c