history 常见优化配置

文章目录

一、写在哪个文件生效?(关键)

✅ Bash 环境下生效位置(最常见)

1️⃣ 全局生效(所有用户)

✅ 推荐方式(最规范)

bash 复制代码
/etc/profile.d/history_optimize.sh

内容示例:

bash 复制代码
cat >> /etc/profile.d/history_optimize.sh << EOF
#当前 shell 会话中保存的命令条数
export HISTSIZE=10000
#历史文件中最多保存多少条命令
export HISTFILESIZE=50000
#时间戳(审计必备)
export HISTTIMEFORMAT="%F %T "
#空格开通连续重复不记录:整段历史中去重
export HISTCONTROL=ignoreboth:erasedups
#忽略指定命令
export HISTIGNORE="history*:exit:pwd:clear"
#启用追加模式(⭐多窗口必备),防止多终端 history 互相覆盖
shopt -s histappend
#实时写入历史
PROMPT_COMMAND='history -a'
EOF
chmod +x /etc/profile.d/history_optimize.sh
source /etc/profile.d/history_optimize.sh

📌 优点:

  • 系统级
  • 自动加载
  • 不影响用户自定义配置

2️⃣ 全局兜底(老系统)

bash 复制代码
/etc/profile

⚠️ 不推荐大量修改,容易被系统升级覆盖


3️⃣ 当前用户生效

bash 复制代码
~/.bashrc

或:

bash 复制代码
~/.bash_profile

📌 适用于:

  • 个人运维账号
  • 跳板机用户

✅ 各文件加载顺序(很重要)

text 复制代码
登录 shell:
/etc/profile
  ↓
/etc/profile.d/*.sh
  ↓
~/.bash_profile
  ↓
~/.bashrc

📌 结论:

  • 登录服务器 → 看 /etc/profile.d/
  • 非登录 shell(SSH 再 su) → 看 ~/.bashrc

二、不同场景推荐配置位置

场景 推荐文件
生产服务器所有用户 /etc/profile.d/history_optimize.sh
个人运维账号 ~/.bashrc
跳板机 /etc/profile.d/
容器基础镜像 /etc/profile.d/

三、验证是否生效

bash 复制代码
echo $HISTSIZE
echo $HISTFILESIZE
echo $HISTTIMEFORMAT
shopt histappend

查看历史:

bash 复制代码
history | head

四、一句话总结(运维必记)

history 优化配置 = 数量 + 时间 + 去重 + 实时写入 + 正确文件

相关推荐
ITKEY_9 分钟前
emacs 文件管理Dired, the Directory Editor
linux·编辑器·emacs
源图客13 分钟前
解决CentOS操作系统网络异常问题
linux·运维·centos
HideF10 小时前
Linux sudo
linux
FlightYe10 小时前
视界原理之3D视频(四):裸眼、眼镜和头显
android·linux·c++·3d·ffmpeg·音视频
蹊黎11 小时前
Linux 下用 C 语言实现进度条
linux·c语言·单片机
牛马鸡niumasi13 小时前
【Linux】C语言文件操作
linux
say_fall13 小时前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++
wacsii13 小时前
【Linux进程(一)】Linux 进程初探:操作系统如何管理进程?fork() 为什么返回两次?
linux·运维·服务器
AI+程序员在路上13 小时前
RV1126B 上支持的模型及全流程应用--从CNN及语音到 LLMVLM 与跨平台选型
linux·c语言·人工智能
默|笙14 小时前
【Linux网络】传输层协议TCP(1)---TCP报文介绍
linux·网络·tcp/ip