由于.bash_history只能记录历史命令,若需要每次注销时都记录时间、同时将最后的50条命令记录至某文件中,可以如何处理?

0. 写在前面

  • 先了解history与date命令用法
  • 强烈建议在 .bash_logout 中写命令时使用任何相对路径 (哭脸)
  • 环境 :阿里云Ubuntu 18.04.5 LTS (GNU/Linux 4.15.0-156-generic x86_64)

1. 处理时间 date

在命令的执行中,若需要借由其他命令提供的信息,可使用命令 或 $(命令)两种格式。

  • 简单获取时间
 echo `date`

在这里插入图片描述

  • 麻烦点的
date "+%Y-%m-%d%H:%M:%S"

2. 处理最后50条命令记录

 history 50 

 history | tail -n 50

3. 简单回顾重定向

在这里插入图片描述

1>:以覆盖方式将“正确数据”输出至指定文件或设备。
1>>:以累加方式将“正确数据”输出至指定文件或设备

例子:

echo `date` >> /home/zmx/log.txt

4.向 .bash_logout 中添加命令

  • .bash_logout 为隐藏文件 可以 find 一下是否存在,不存在就自己new一个,问题不大
find .bash_logout
  • vim 进入编辑即可

在这里插入图片描述

在这里插入图片描述

  • exit 之后重新进入 cat查看 log.txt 中是否已经有了我们想要的内容
 cat ./log.txt

在这里插入图片描述

如上图 over~

参考

  1. link
  2. yyq老师的PPT
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐