-
总结
-
最后
===================================================================
-
Linux 命令的历史记录,会持久化存储,默认位置是当前用户家目录的
.bash_history
文件。 -
当 Linux 系统启动一个 Shell 时,Shell 会从
.bash_history
文件中,读取历史记录,存储在相应内存的缓冲区中。 -
我们平时所操作的 Linux 命令,都会记录在缓冲区中。包括 history 命令所执行的历史命令管理,都是在操作缓冲区,而不是直接操作
.bash_history
文件。 -
当我们退出 Shell,比如按下 Ctrl+D 时,Shell 进程会把历史记录缓冲区的内容,写回到
.bash_history
文件中去。
【所以现在你应该知道,永久删除记录该咋做了吧?】
===================================================================
清楚了 history 的基本原理,我们来具体学习一下如何使用它。
查看记录&查看指定行
- 直接输入 history 命令,可以看到最近操作的所有命令都显示出来了
root@ccx ~]# history
1 bash
2 ls
3 vim .bash_history
4 cat .bash_history
5 history
6 bash
- 有时候我不需要显示所有的历史命令,只显示最后的 10 条历史记录,可以在命令后加数字 N 即可
root@ccx ~]# history 10
主动保存缓冲区
正常情况下,只有在 Shell 正常退出时,才会将缓冲区内容保存到文件。如果你想主动保存缓冲区的历史记录,执行 -w 选项即可
root@ccx ~]# history -w
删除缓冲区
当然,如果你执行了一些敏感的命令操作,可以执行 -c 将缓冲区内容直接删除
root@ccx ~]# history -c
-
如果要重复执行一些命令,可以使用
!
来快速执行重复的命令。 -
举个例子,重复执行第 1024 历史命令,可以执行如下命令
root@ccx ~]# !1024
#1024 这个编号的命令内容是可以通过 history 查看哦
- 重复执行上一条命令
root@ccx ~]# !!
- 重复执行倒数第 6 条历史命令,可以通过负数表示,-6 表示倒数第 6 条记录
root@ccx ~]# !-6
- 有时候,需要重复执行某字符串开头的最后一个命令,同样可以通过 ! 来操作,然后按 Enter 执行即可
比如,刚才执行了一个很长命令,只记录命令开头是 curl,这时就可以通过 !curl 快速执行该命令
假设我最后一次执行的是 curl 1.1.1.1
root@ccx ~]# !curl
上面命令呢就是会执行curl 1.1.1.1
- 这个用法很高效,但存在不安全因素,因为有可能执行的命令不是你想要执行的,那就坏事了。可以通过
:p
来安全地执行。
root@ccx ~]# !curl:p
curl 1.1.1.1
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
[外链图片转存中…(img-OB27Cac5-1712615416101)]