在Linux中使用history命令的方法
用强大的history命令使你的命令行提示符更有效率。
随着我在终端中花费越来越多的时间,我感觉就像在不断地寻找新的命令,以使我的日常任务更加高效。GNU的history命令是一个真正改变我日常工作的命令。
GNUhistory命令保存了从该终端会话运行的所有其他命令的列表,然后允许你重放或者重用这些命令,而不用重新输入它们。如果你是一个老玩家,你知道history的力量,但对于我们这些半吊子或新手系统管理员来说,history是一个立竿见影的生产力增益。
历史101
要查看命令历史,请在Linux中打开终端程序,然后输入:
$history
这是我得到的响应:
clear
ls-al
sudodnfupdate-y
history
history命令显示自开始会话后输入的命令列表。history有趣的地方是你可以使用以下命令重放任意一个命令:
$!3
提示符中的!3告诉shell重新运行历史列表中第3个命令。我还可以输入以下命令来使用:
linuser@my_linux_box:!sudodnf
history将搜索与你提供的模式相匹配的最后一个命令,并运行它。
搜索历史
你还可以输入!!重新运行命令历史中的最后一条命令。而且,通过与grep配对,你可以搜索与文本模式相匹配的命令,或者通过与tail一起使用,你可以找到你最后几条执行的命令。例如:
$history|grepdnf sudodnfupdate-y history|grepdnf $history|tail-n3 history history|grepdnf history|tail-n3
另一种实现这个功能的方法是输入Ctrl-R来调用你的命令历史记录的递归搜索。输入后,提示变为:
(reverse-i-search)`':
现在你可以开始输入一个命令,并且会显示匹配的命令,按回车键执行。
更改已执行的命令
history还允许你使用不同的语法重新运行命令。例如,如果我想改变我以前的命令history|grepdnf成history|grepssh,我可以在提示符下执行以下命令:
$^dnf^ssh^
history将重新运行该命令,但用ssh替换dnf,并执行它。
删除历史
有时你想要删除一些或全部的历史记录。如果要删除特定命令,请输入history-d<行号>。要清空历史记录,请执行history-c。
历史文件存储在一个你可以修改的文件中。bashshell用户可以在他们的家目录下找到.bash_history。
下一步
你可以使用history做许多其他事情:
- 将历史缓冲区设置为一定数量
- 记录历史中每行的日期和时间
- 防止某些命令被记录在历史记录中
有关history命令的更多信息和其他有趣的事情,请参考https://www.gnu.org/software/bash/manual/。
总结
以上所述是小编给大家介绍的在Linux中使用history命令的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!