复制成功
请遵守本站许可
REPORT
Chapter_Post // Field_Report

Post_Ref: RL-LINUX每日命

2026.04.08

Linux每日命令-33-history

Echo HaoRan
Echo HaoRan
#计划任务
ANALYSIS

Linux 每日一篇 - 33 - history#

Linux 命令历史管理神器!掌握 history 命令,轻松查看和管理命令历史,让操作效率翻倍!

history 命令是什么?#

history 命令是 Shell 内置功能,用于显示、搜索、管理用户在命令行中执行过的命令历史记录。它可以帮助用户快速找回之前执行的命令,提高工作效率。

基本用法#

PRTCL // PLAINTEXT
# 显示命令历史
history
# 显示最近 N 条命令
history 10
# 清空历史记录
history -c
# 将历史记录保存到文件
history -w
# 从文件读取历史记录
history -r
# 删除指定行的历史记录
history -d 100
# 将当前会话的历史添加到历史文件
history -a

实用技巧#

PRTCL // PLAINTEXT
# 在命令行中使用快捷键:
# !! - 执行上一条命令
# !n - 执行历史中第 n 条命令
# !string - 执行最近以 string 开头的命令
# !?string - 执行最近包含 string 的命令
# ^string1^string2 - 执行上一条命令,将 string1 替换为 string2
# 搜索历史命令
history | grep "pattern"
# 执行历史中倒数第 3 条命令
!-3
# 使用 Ctrl+R 进行反向搜索
# 按 Ctrl+R 然后输入关键词搜索历史命令
# 显示带时间戳的历史命令
export HISTTIMEFORMAT="%F %T "
history
# 设置历史记录保存数量
export HISTSIZE=5000
export HISTFILESIZE=5000
# 忽略重复命令
export HISTCONTROL="ignorespace:ignoredups"
# 或者
export HISTCONTROL="ignoreboth" # 忽略空格开头和重复命令
# 忽略特定命令
export HISTIGNORE="ls:pwd:history"
# 执行历史命令的一部分
!!:0 # 执行上一条命令的命令名
!!:$ # 执行上一条命令的最后一个参数
!!:1 # 执行上一条命令的第一个参数

常用场景#

PRTCL // PLAINTEXT
# 查看最近执行的命令
history
# 查找回滚数据库的命令
history | grep rollback
# 重新执行复杂的命令
!156 # 执行历史编号为 156 的命令
# 搜索包含特定关键词的命令
history | grep "mysql"
history | grep "ssh"
# 查看特定时间范围内的命令
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
history | grep "$(date +%Y-%m-%d)"
# 清理敏感信息(如密码)
history | grep -v "password"
# 将历史命令导出到文件分析
history > my_history.txt
# 查看今天执行的命令
export HISTTIMEFORMAT="%F "
history | grep "$(date +%F)"
# 重复执行修改文件权限的命令
history | grep chmod | tail -5

配置和优化#

PRTCL // PLAINTEXT
# 在 ~/.bashrc 中添加以下配置来优化 history:
# 显示时间戳
export HISTTIMEFORMAT="%F %T "
# 增加历史记录数量
export HISTSIZE=5000
export HISTFILESIZE=5000
# 忽略重复命令和以空格开头的命令
export HISTCONTROL="ignoreboth"
# 忽略特定命令
export HISTIGNORE="ls:pwd:history:clear:bg:fg:exit"
# 立即追加到历史文件(多终端共享)
shopt -s histappend
# 记录完整命令(包括换行)
shopt -s cmdhist
# 保存多行命令到单个历史条目
shopt -s lithist
# 实时同步历史(在每个命令后)
PROMPT_COMMAND="history -a; $PROMPT_COMMAND"

高级用法#

PRTCL // PLAINTEXT
# 使用 fc 编辑和执行历史命令
fc -l # 列出历史命令
fc 100 # 编辑历史编号为 100 的命令
fc -s string # 重新执行最近以 string 开头的命令
# 统计最常用的命令
history | awk '{print $2}' | sort | uniq -c | sort -nr | head -10
# 查看特定时间段的命令
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
history | awk '$3 ~ /12:00:00/,/13:00:00/'
# 导出历史命令为脚本
history | sed 's/^[ ]*[0-9]*[ ]*//' > commands.sh
# 从历史中恢复命令行序列
# 适用于重现操作步骤或教学演示
# 安全清除历史记录(删除敏感信息后)
history -c
history -w

安全注意事项#

PRTCL // PLAINTEXT
# 避免在命令行输入密码等敏感信息
# 好的做法是:
mysql -u username -p # 系统会提示输入密码
# 而不是:
# mysql -u username -p password
# 清理已记录的敏感命令
history | grep "sensitive_command"
# 找到编号后使用:
# history -d 编号
# 设置历史记录不保存某些命令
export HISTIGNORE="*password*:mysql*:*secret*"
# 正确清理历史记录
history -c # 清空内存中的历史
history -w # 写入到历史文件(清空后)

抖音文案#

🎯 Linuxhistory 命令!

✅ 基本用法:history ✅ 常用参数:history -option ✅ 实用技巧:history —help

每天一个 Linux 命令,30 天变身 Linux 高手!

#Linux 入门 #Shell 命令 #程序员必备 #技术分享


关于我#

全平台同名”汪多多是只猫”,专注分享实用技术教程,让你的 IT 学习之路更轻松!

关注我,每天一个 Linux 命令,轻松入门 Linux 系统!

R P
Rhine Lab Pioneer Division
Auth_Verified: 2026.04.08
// END OF POST

订阅

通过 RSS 订阅本站,新文章发布时第一时间收到通知。

Follow
Classified
Chapter_06
Protocol_Ref: CC-BY-NC-SA-4.0

Linux每日命令-33-history

Author: CHONGXIReleased: 2026.04.08

Licensed under CC BY-NC-SA 4.0

评论

© 2025-2026 EchoSpace
Powered by Astro & echohaoran Non-Collaborative_Entity // Protocol_V.4.21