基本认识
linux默认配置是当打开一个shell终端后,执行的所有命令均不会写入到~/.bash_history文件中,只有当前用户退出后才会写入,这期间发生的所有命令其它终端是感知不到的。

问题场景
那么问题来了,假若之前history命令记录为c0,用户先打开了shell终端a,执行了一部分命令c1,又打开了一个shell终端b,又执行了一部分命令c2.
问题1.终端a执行的这部分命令终端b上看不到。
问题2.终端a正常退出,相关命令会写入到/.bash_history文件中(c1命令也会写入,即c0+c1),等到终端b正常退出后,相关命令也会写入到/.bash_history文件中,注意这个时候终端b写入的内容为c0+c2,也即c1记录会丢失!!!

解决方案
将下面这段内容添加到~/.bashrc 并执行 . ~/.bashrc即可

# format history
# save in ~/.bashrc

如下:

USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S  `whoami`@${USER_IP}: "
export HISTFILESIZE=1000000
export PROMPT_COMMAND="history -a; history -r;  $PROMPT_COMMAND"
shopt -s histappend
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'

linux 多个会话同时执行命令后history记录不全的解决方案相关推荐

  1. linux 终端必须退出 history才会记录吗,Linux随笔 - linux 多个会话同时执行命令后history记录不全的解决方案【转载】...

    基本认识 linux默认配置是当打开一个shell终端后,执行的所有命令均不会写入到~/.bash_history文件中,只有当前用户退出后才会写入,这期间发生的所有命令其它终端是感知不到的. 问题场 ...

  2. linux多个sh 同时执行命令,sh, 批量执行Linux命令

    step 1:创建一个sh批处理命令文件 # vim /etc/batch_ssh/install_redis.sh step 2:给当前用户,能够执行sh脚本权限 # chmod install_r ...

  3. ssh远程执行命令 linux,Linux下使用SSH远程执行命令方法收集

    说明:可以做SSH免密登录之后执行,这样可以省去每次执行输入密码的提示. 对于简单的命令: 如果是简单执行几个命令,则: ssh user@remoteNode "cd /home ; ls ...

  4. linux下执行命令后,输出结果如何实现列对齐?

    问题描述:我们在linux下执行命令时,比如netstat -i,输出列表每列错乱,如何实现输出结果列表能列对齐? 解决方案:使用column命令 如下: netstat -i | column -t

  5. Linux 实操———— Shell 远程执行命令

    引言 目前,开发人员的部署方式是,将项目打包(Maven 打包) 然后将 生成的 jar 包等文件,通过Xshell 等终端工具手动传输到远程服务器上,然后再通过在终端执行远程服务器上的 shell ...

  6. Linux中设置开机启动执行命令和普通用户配置环境变量开机启动生效

    记录:343 场景:在CentOS 7.9操作系统上,开机启动就执行自定义的命令,配置rc.local文件达到需求:在普通用户中配置环境变量开机启动生效,使用profile实现. 版本: 操作系统:C ...

  7. linux shell编写脚本,执行命令同时操作多台主机

    执行命令同时查看多台主机jps #!/bin/bashparams=$@ i=201 for (( i = 1 ; i <= 3 ; i = $i + 1 )) ; doecho ======= ...

  8. Go exec 包执行命令超时失效问题分析及解决方案

    来自:指月 https://www.lixueduan.com 原文:https://www.lixueduan.com/post/go/exex-cmd-timeout/ 本文主要从源码层面分析了 ...

  9. linux执行命令后日志打印输出到文件

    这里写自定义目录标题 使用tee命令可以把该指令执行后所有打印日志输出到文件中: 使用tee命令可以把该指令执行后所有打印日志输出到文件中: 统一格式:需要执行的命令 | tee 要输出的文件名 比如 ...

最新文章

  1. 1.2.1 算法的基本概念
  2. 深入浅出之动态内存(new,malloc深度分析)
  3. wpsppt流程图联系效果_风险隐患排查的手段—HAZOP 与检查表的区别及应用效果
  4. 18000 6c java_面向ISO18000-6C协议的无源超高频射频识别标签芯片设计
  5. 使用NoSQL实现实体服务–第4部分:Java EE
  6. android是语言吗,android – 内容描述应该是多种语言吗?
  7. linux mmap系统调用
  8. UVA - 753 A Plug for UNIX(网络流)
  9. 六部门集中约谈8家网约车顺风车平台 要求加快合规步伐
  10. 三维重建笔记_重建方法简介与汇总
  11. Atitit 提升扩展性的艺术 艾提拉著 目录 1. . 功能扩展 vs 性能扩展 1 1.1. udf机制 sp 等插件机制 1 1.2. 1.5. 脚本。脚本是扩展复杂功能的利器 2 1 1.3
  12. 双击jar包 运行SpringBoot项目
  13. python客观题阅卷_利用Python开发智能阅卷系统
  14. 树莓派无法打开摄像头模块,无法识别摄像头
  15. ubuntu16.04修改鼠标按键功能
  16. 当前的安全设置不允许从该位置下载文件。 的解决办法
  17. 虾皮 店铺如何获取免费流量?5种引流量办法
  18. 【会声会影】导入的srt字幕文件,如何快速批量调整字体及大小
  19. Android.mk 包含问题带来的so.toc needed by 错误
  20. 3mdax插件开发之环境配置(3dmax2018SDK +VS2017 +win10)详细步骤

热门文章

  1. 关于如何将sublime的主题应用到webstorm上
  2. 三种常见的SQL分页语句
  3. zoj 3620 Escape Time II
  4. 【JAVASCRIPT】表单序列化问题
  5. arcgis server 常见问题【转】
  6. CG-CTF-Web-单身一百年
  7. linux lighttpd php,Ubuntu下搭建Lighttpd+PHP+MySQL环境
  8. /opt/hbase/conf 中不能启动hbase_Hbase从入门到入坑
  9. Cookie 和 Session的区别 1
  10. H5页面在iOS网页数字颜色自动被改变成蓝色