如何在 Linux 中使用 history 命令 | Linux 中国
用强大的 history 命令使你的命令行提示符更有效率。-- Steve Morris
有用的原文链接请访问文末的“
原文链接
”获得可点击的文内链接、全尺寸原图和相关文章。致谢编译自 | http://opensource.com/article/18/6/history-command
作者 | Steve Morris
译者 | geekpi ?? ?? 共计翻译:
743
篇 贡献时间:1704 天用强大的 history 命令使你的命令行提示符更有效率。
随着我在终端中花费越来越多的时间,我感觉就像在不断地寻找新的命令,以使我的日常任务更加高效。GNU 的 history 命令是一个真正改变我日常工作的命令。
GNU history 命令保存了从该终端会话运行的所有其他命令的列表,然后允许你重放或者重用这些命令,而不用重新输入它们。如果你是一个老玩家,你知道 history 的力量,但对于我们这些半吊子或新手系统管理员来说, history 是一个立竿见影的生产力增益。
历史 101
要查看命令历史,请在 Linux 中打开终端程序,然后输入:
$ history
这是我得到的响应:
1
clear
2
ls
-
al
3
sudo
dnf update
-
y
4
history
history 命令显示自开始会话后输入的命令列表。 history 有趣的地方是你可以使用以下命令重放任意一个命令:
$
!
3
提示符中的 !3 告诉 shell 重新运行历史列表中第 3 个命令。我还可以输入以下命令来使用:
linuser@my_linux_box
:
!
sudo
dnf
history 将搜索与你提供的模式相匹配的最后一个命令,并运行它。
搜索历史
你还可以输入 !! 重新运行命令历史中的最后一条命令。而且,通过与grep 配对,你可以搜索与文本模式相匹配的命令,或者通过与 tail 一起使用,你可以找到你最后几条执行的命令。例如:
$ history
|
grep
dnf
3
sudo
dnf update
-
y
5
history
|
grep
dnf
$ history
|
tail
-
n
3
4
history
5
history
|
grep
dnf
6
history
|
tail
-
n
3
另一种实现这个功能的方法是输入 Ctrl-R 来调用你的命令历史记录的递归搜索。输入后,提示变为:
(
reverse
-
i
-
search
)
`":
现在你可以开始输入一个命令,并且会显示匹配的命令,按回车键执行。
更改已执行的命令
history 还允许你使用不同的语法重新运行命令。例如,如果我想改变我以前的命令 history | grep dnf 成 history | grep ssh,我可以在提示符下执行以下命令:
$
^
dnf
^
ssh
^
history 将重新运行该命令,但用 ssh 替换 dnf,并执行它。
删除历史
有时你想要删除一些或全部的历史记录。如果要删除特定命令,请输入 history -d <行号>。要清空历史记录,请执行 history -c。
历史文件存储在一个你可以修改的文件中。bash shell 用户可以在他们的家目录下找到 .bash_history。
下一步
你可以使用 history 做许多其他事情:
? 将历史缓冲区设置为一定数量? 记录历史中每行的日期和时间? 防止某些命令被记录在历史记录中有关 history 命令的更多信息和其他有趣的事情,请参考
GNU Bash 手册
[1]
。via:
http://opensource.com/article/18/6/history-command
作者:
Steve Morris
[3]
选题:lujun9972
译者:geekpi
校对:wxy
本文由
LCTT
原创编译,Linux中国
荣誉推出- 假维权:一团伙以使用极限词汇为由向商家索要封口费
- 演出少名家少出路何在 说书人转战网络能否重生?
- 西城年底建成使用首个胡同慢行系统
- 沙坪坝西永大道和江北松石大道公交优先道明日投入使用
- 长租公寓甲醛超标问题缘何多发?使用材料问题重重
- 使用油烟机也会犯“错误”
- 临泉人快看看你有没有这个证,可以抵现金使用!
- 中央财政积极推进农垦国有土地使用权确权登记发证工作
- 新学期课本竟破旧缺页有涂鸦,校方回应:使用旧课本符合规定
- 市石墨烯示范基地即将交付使用