有趣的linux命令之history

history

history命令用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。
该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号!执行指定序号的历史命令。
历史命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取。在内存中,历史命令仅能够存储1000条历史命令,该数量是由环境变量HISTSIZE进行控制。

history常见命令参数
-c:清空当前历史命令;
-a:将历史命令缓冲区中命令写入历史命令文件【/root/.bash_history】;
-r:将历史命令文件中的命令读入当前历史命令缓冲区;
-w:将当前历史命令缓冲区命令写入历史命令文件中【/root/.bash_history】;
n:打印最近的n条历史命令
#  history会列出bash保存的所有历史命令,并且给它们编了号,我们可以使用“叹号接编号”的方式运行特定的历史

!+字母:调出最近使用一次以此字母开头的命令
!!: 表示最近使用的一次操作的命令
!+数字:表示调出历史记录的几条命令
!-数字:调出最近的几条命令

在这里插入图片描述
默认只显示序号和命令
如果需要显示命令执行时间,可以设置HISTTIMEFORMAT变量的值,如:

echo "export HISTTIMEFORMAT='%F %T '" >> /etc/profile

然后使用 source /etc/profile或者. /etc/profile刷新环境变量,再次查看记录已经带上执行时间了。
在这里插入图片描述
当然,如果想要显示更加详细的信息,例如执行该命令的用户、ip地址等,可以使用更加详细的格式化参数:

export HISTTIMEFORMAT="%F %T `who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` `whoami`"

则可以得到更加详细的记录信息。

猜你喜欢

转载自blog.csdn.net/hxj413977035/article/details/115464816