Linux基础命令history

一、基础操作

​1. 清空历史记录
​**-c / --clear**
清空当前 Shell 的历史命令缓存,但不会删除持久化存储的历史文件(如 ~/.bash_history)。
​示例:
bash
history -c # 清空内存中的历史记录
​2. 删除指定命令
​**-d <偏移量>**
删除历史列表中指定序号的命令。例如,删除第3条命令:
bash
history -d 3 # 删除内存中的第3条命令1,6
​3. 查看历史命令
n
显示最近的 n 条命令(默认显示全部)。例如:
bash
history 5 # 显示最近5条命令1,6

二、高级功能

​1. 历史文件读写
​**-a / --append**
将当前会话新增的命令追加到历史文件(如 ~/.bash_history)。
​适用场景:多终端同步历史记录。
​示例:

bash
history -a # 追加当前会话命令到文件
​**-n / --read**
读取历史文件中未读的命令到当前会话。
​适用场景:跨终端恢复历史记录。
​示例:

bash
history -n # 读取未读的历史命令
​**-r / --reverse**
将历史文件内容追加到当前会话历史列表。
​示例:

bash
history -r # 读取历史文件内容到内存
​**-w / --write**
将当前会话历史列表强制写入历史文件,覆盖原有内容。
​示例:

bash
history -w # 覆盖历史文件
​2. 命令操作
​**-p / --print**
展开命令参数并显示结果,但不存储到历史列表。
​示例:

bash
history -p “ls -l” # 显示 ls -l 的结果,不记录命令
​**-s / --shell**
将命令追加到历史列表并立即执行。
​示例:

bash
history -s “echo ‘Hello’” # 执行命令并记录

三、配置管理

​1. 时间戳显示
HISTTIMEFORMAT
在历史记录中添加时间戳(需在 .bashrc 或 .bash_profile 中配置):
bash
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S " # 显示精确到秒的时间3,5,8
​2. 忽略敏感命令
HISTCONTROL
ignorespace:命令前加空格不记录。
ignoredups:忽略连续重复命令。
ignoreboth:合并上述两种行为。
​示例:
bash
export HISTCONTROL=ignorespace # 忽略带空格的命令
​3. 历史记录限制
HISTSIZE
控制内存中保存的命令数量(默认1000条)。
​示例:

bash
export HISTSIZE=5000 # 内存保存5000条命令
HISTFILESIZE
控制历史文件的最大长度(默认1000条)。
​示例:

bash
export HISTFILESIZE=10000 # 文件保存1万条命令

四、典型操作示例

​1. 批量执行历史命令
bash
#执行第100~105条命令
for i in {100…105}; do history -s $i; done
​2. 安全审计
bash
#查找最近所有删除操作
history | grep -E ‘rm|mv|del’
​3. 导出历史为脚本
bash
history | awk ‘{$1=“”; print $0}’ > my_script.sh # 生成无序号的脚本

五、注意事项

​权限问题
修改历史文件需确保用户对 ~/.bash_history 有读写权限。
清空历史记录需谨慎,可能导致重要操作丢失。
​配置生效
环境变量修改需执行 source ~/.bashrc 或重启 Shell。
​跨会话同步
使用 export PROMPT_COMMAND=‘history -a’ 可实时同步历史记录。

六、完整选项速查表

选项 功能说明 来源
​**-c** 清空当前历史缓存
​**-d** 删除指定序号的命令
​**-a** 追加当前会话命令到历史文件
​**-n** 读取未读的历史命令到当前会话
​**-r** 读取历史文件内容到当前会话
​**-w** 强制写入当前会话历史到文件
​**-p** 展开命令参数并显示结果,不存储
​**-s** 追加命令到历史列表并立即执行
引用来源:

基础操作与选项说明:
配置与环境变量:
实战技巧与安全防护:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值