history 命令生成器
显示或编辑shell命令历史记录
开始使用历史记录功能
## 什么是历史记录?
`history`命令用于显示和操作shell的命令历史记录——即你在当前会话及以往会话中执行过的命令的编号列表。你可以查看最近的命令、重新执行它们、删除某些记录,或将内存中的列表与历史记录文件同步。
## 使用方法
1. **显示最近命令**:若不设置任何选项,则会列出全部历史记录;若设置偏移量(例如`20`),则仅显示最近的N条记录。 2. **选择操作**:清空列表(`-c`)、删除某条记录(`-d`),或读取/写入历史记录文件(`-a`、`-w`、`-r`、`-n`)。 3. **复制并执行**:将生成的命令粘贴到终端中即可执行。
常用选项
### 偏移量(定位)
传入一个数字即可仅显示最近的 N 条记录:`history 20`。
### `-c` 清空
删除内存中的全部历史记录列表。注意:除非后续使用 `history -w`,否则不会删除历史记录文件。
### `-d offset` 删除
根据历史记录的行号删除某一条记录:`history -d 10`。
### `-a` 追加
将当前会话中尚未被写入的历史记录追加到历史记录文件中。
### `-w` 写入
用当前内存中的记录列表覆盖历史记录文件——这有助于在执行 `-c` 清空操作后保留数据。
### `-r` 读取
读取历史记录文件,并将其内容追加到内存中的记录列表中。
### `-n` 读取未读记录
仅读取自上次读取以来,由其他会话追加到历史记录文件中的记录。
▶如何永久清除我的命令历史记录?
运行 \`history -c && history -w\`。\`-c\` 会清空内存中的列表,而 \`-w\` 会将此时已为空的列表写入历史文件(通常为 \`~/.bash_history\`)。
▶如何在不重新输入的情况下重新运行之前的命令?
使用 \`!N\`,其中 N 为 \`history\` 所显示的历史行号;或使用 \`!!\` 重复上一条命令;或使用 \`!prefix\` 重复以该前缀开头的最新命令(例如 \`!git\`)。
▶如何从历史记录中删除某条错误的命令?
使用 \`history\` 查找对应的编号,然后运行 \`history -d N\` 从内存列表中删除该条目。若要使更改持久化,请接着执行 \`history -w\`。
如果这个工具对你有帮助的话,请考虑请我喝杯咖啡。
请给我买杯咖啡吧。