博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux历史命令
阅读量:6985 次
发布时间:2019-06-27

本文共 2233 字,大约阅读时间需要 7 分钟。

Linux历史命令

敲过的命令,Linux是会有记录的,预设可以记录1000条历史命令。这些命令保存在用户的家目录中的.bash_history文件中。只有当用户正常退出当前shell时,在当前shell中运行的命令才会保存至.bash_history文件中。

[root@centos-01 ~]# ls /root/.bash_history /root/.bash_history[root@centos-01 ~]# cat !$

history命令如果未改动过环境变量,默认可以把最近1000条历史命令打印出来。

[root@centos-01 ~]# history

历史命令条数由环境变量HISTSIZE决定的

[root@centos-01 ~]# echo $HISTSIZE1000

可以在/etc/profile文件中修改环境变量HISTSIZE

[root@centos-01 ~]# vi /etc/profile

如果修改了环境变量HISTSIZE,并想使之生效,那么需要重新进入终端。或者执行命令source /etc/profile使之生效。

[root@centos-01 ~]# source /etc/profile

清空当前内存中的历史命令

[root@centos-01 ~]# history -c[root@centos-01 ~]# history    1  history[root@centos-01 ~]# cat .bash_history

可以看到,文件中的历史命令并没有清空


修改历史命令保存的格式

[root@centos-01 ~]# history    1  history    2  cat .bash_history     3  vi /etc/profile    4  source /etc/profile     5  source /etc/profile    6  $HISTSIZE    7  echo $HISTSIZE    8  history[root@centos-01 ~]# HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "[root@centos-01 ~]# echo $HISTTIMEFORMAT%Y/%m/%d %H:%M:%S[root@centos-01 ~]# history     1  2018/05/06 00:11:46 history    2  2018/05/06 00:12:57 cat .bash_history     3  2018/05/06 00:16:12 vi /etc/profile    4  2018/05/06 00:18:16 source /etc/profile     5  2018/05/06 00:18:34 source /etc/profile    6  2018/05/06 00:19:41 $HISTSIZE    7  2018/05/06 00:19:57 echo $HISTSIZE    8  2018/05/06 00:20:27 history    9  2018/05/06 00:24:36 HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "   10  2018/05/06 00:24:54 echo $HISTTIMEFORMAT   11  2018/05/06 00:28:57 history

在新打开的终端中,再次查看环境变量HISTTIMEFORMAT

[root@centos-01 ~]# echo $HISTTIMEFORMAT[root@centos-01 ~]#

发现之前修改环境变量HISTTIMEFORMAT,只对当前终端有效,对其他终端无效。


要想使设置的环境变量HISTTIMEFORMAT有效,可以编辑/etc/profile文件。

[root@centos-01 ~]# vim /etc/profile

可以在HISTSIZE=5000下面另起一行,添加

HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "

保存退出

[root@centos-01 ~]# source !$source /etc/profile

再新打开一个终端,查看环境变量HISTTIMEFORMAT

[root@centos-01 ~]# echo $HISTTIMEFORMAT%Y/%m/%d %H:%M:%S

永久保存历史命令,可以增加隐藏权限

chattr +a ~/.bash_history

  • !!”连续两个‘!’,表示执行上一条指令
[root@centos-01 ~]# lsanaconda-ks.cfg[root@centos-01 ~]# !!lsanaconda-ks.cfg
  • “!n”(n是数字),表示执行历史命令中第n条指令。例如“!1002”,表示执行历史命令中第1002条命令。

  • “!字符串”(字符串大于等于1),倒着找历史命令中第一个以该字符串开头的命令。例如“!echo”,表示执行历史命令中最近一次以“echo”开头的指令。

转载于:https://www.cnblogs.com/Genesis2018/p/8999161.html

你可能感兴趣的文章
linux启动过程
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
xmlUtil 解析 创建
查看>>
我的友情链接
查看>>
linux 命令(3)echo
查看>>
Nginx基础入门之nginx基础配置项介绍(2)
查看>>
一次详细全面的***报告
查看>>
c# 三种异步编程模型EAP(*)、 APM(*)和 TPL
查看>>
deepin-安装问题:unable to find a medium containing a live file
查看>>
用 Hasor 谈一谈MVC设计模式
查看>>
IE 条件注释
查看>>
Windows热键注册(反汇编方法 查看win32api 原理)
查看>>
UNREFERENCED_PARAMETER的作用
查看>>
PHP计算表达式-栈
查看>>
IBATIS中关于iterate"$"与"#"的应用
查看>>
为什么要将对象序列化
查看>>
新增网址/网页 截图api[增加安全防护本接口已停用]源码可下载
查看>>
SpringMVC+Hibernate +MySql+ EasyUI实现POI导出Excel(二)
查看>>
刷leetcode第705题- 设计哈希集合
查看>>