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 优化配置 = 数量 + 时间 + 去重 + 实时写入 + 正确文件

相关推荐
M78佐菲11 小时前
ARM学习笔记(1)
linux·arm开发·笔记·嵌入式硬件·学习
益达丫12 小时前
Socket编程揭秘:端口、IP与进程通信的底层逻辑
linux·笔记
chicheese14 小时前
Linux 面试速查表:从初级到高级,附高频场景答题模板
linux·运维
Linux-lucky15 小时前
32-38-Linux学习之旅之MySQL综合
linux·运维·学习·mysql·ubuntu
vortex516 小时前
常用终端模拟器全面对比:Kitty、WezTerm、Ghostty 与 Konsole
linux
INGNIGHT17 小时前
270 · 电话号码的字母组合II(Trie)
linux·算法
zly350017 小时前
VMware Converter Standalone 物理机转化为虚拟机后源1硬盘变成了2个硬盘(2个硬盘文件)虚拟机无法启动。
linux·运维·服务器
GeW18 小时前
从内核到数据:Linux与工业数据库如何支撑高端制造
linux
小小的木头人19 小时前
Linux systemd Service 与 Timer 定时任务原理及实战
linux
熊明才21 小时前
WSL2 网络突然瘫痪(Network is unreachable / 没有 eth0)最短修复指南(2026年9月20日亲测可用)
linux·windows·wsl2