Linux_历史命令
Linux会保存用户的历史指令
历史指令保存在用户目录下的.bash_history文件(历史记录文件)中,并且每条指令都用时间戳的形式记录了执行时刻
当用户通过shell进入Linux系统时,Linux系统会先将.bash_history中的保存的之前的历史指令读取到历史记录缓存区中,在用户正常退出shell之前,执行的所有指令也会先记录在缓存区中,当用户正常退出shell(exit或者control+d)时,shell进程会自动将历史记录缓存区中的所有历史记录写入到.bash_history中
查看历史缓冲区
shell
1 | history #查看历史记录缓存区中保存的历史指令 |
从最开始到现在为止
通过键盘上下键快捷查看历史缓冲区
定量查看历史缓冲区的历史指令
shell
1 | history <数字> #查看缓冲区中最近的n条历史指令 |
手动写入.bash_history
如果执行了几条指令,比如执行两次ls
和ll
,查看一下历史缓存区
再查看.bash_history,发现没有记录在里面,因为历史记录保存在了历史缓存区,当退出shell的时候才会自动从缓存区写入.bash_history
shell
1 | history -w #手动将历史缓存写入用户目录下的.bash_history |
正常情况下,只有在 Shell 正常退出时,才会将缓冲区内容保存到.bash_history。如果想主动保存缓冲区的历史记录,执行 -w
选项即可
清除历史缓冲区
shell
1 | history -c #清除历史缓冲区 |
历史缓冲区写入.bash_history其实就是用新内容覆盖掉原有内容,所以清除历史缓冲区就是清除本次登录用户时的所有操作的记录,不会删除之前的历史记录
重复执行缓冲区历史指令
shell
1 | !<数字> #重复执行缓冲区中的第n条历史指令 |
shell
1 | !-<数字> #重复执行缓冲区中倒数第n行历史指令 |
shell
1 | !! #重复执行上一条命令 |
搜索历史命令
shell
1 | 快捷键:ctrl + r # 输入残缺指令,搜索对应完整历史指令 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 浴巾的贼船!
评论