随笔 - 6  文章 - 124  评论 - 1  阅读 - 13042

Linux history 命令详解

简介

history 命令显示当前 shell 会话中以前执行过的命令列表。这对于无需重新输入命令即可重新调用或重新执行命令特别有用。

示例用法

显示命令历史列表

history

# 示例输出如下:

1  ls -l
2  cd /var/log
3  cat syslog

执行历史记录中的命令

!<number>

!2

# number 表示执行第几条命令

限制命令历史显示的条数

history <number>

history 10

清空当前 shell 会话的历史命令

history -c

把命令历史写入 ~/.bash_history 文件中

history -w

~/.bash_history 文件中读取命令

history -r

删除命令历史中的指定命令

history -d <number>

history -d 5

Ctrl + r 搜索历史命令

(reverse-i-search)`cat': cat syslog

重新执行上一条命令

!!

重新执行以指定字符串开头的最新历史命令

!<string>

!cat

结合 grep 使用

history | grep "ls"

搜索不以指定字符串开头的命令

!?ls

使用负数执行倒数最新的命令

!-2

追加命令历史到 ~/.bashrc_history 文件

history -a

设置多个 shell 会话的命令都追加写入到 ~/.bash_history 文件

# 修改 ~/.bashrc 文件,添加以下行

shopt -s histappend

环境变量设置

设置会话期间存储在内存中的命令数

export HISTSIZE=1000

设置保存在 ~/.bash_history 文件中的最大命令行数

export HISTFILESIZE=2000

定义重复或某些命令如何存储在历史记录中

  • ignoredups:忽略重复的命令

  • ignorespace:忽略以空格开头的命令

  • ignoreboth:合并以上两者

export HISTCONTROL=ignoreboth

从历史记录中排除指定的命令

export HISTIGNORE="ls:pwd:exit"

启用命令历史中的时间戳

export HISTTIMEFORMAT="%F %T "

# 示例输出如下:

1  2024-11-29 15:30:01 ls -l
2  2024-11-29 15:32:15 cd /var/log
posted on   我是唐青枫  阅读(58)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示