centos history 用法详解
【摘要】 在 CentOS 中,你可以通过 history 命令查看执行过的命令记录,然后重新执行其中的某条命令。以下是具体方法: 1. 查看历史命令history输出示例:100 ls -l101 cd /tmp102 yum install httpd103 systemctl start httpd每条命令前的数字是 历史记录编号(如 100、101)。 2. 重新执行某条历史命令 方法...
在 CentOS 中,你可以通过 history
命令查看执行过的命令记录,然后重新执行其中的某条命令。以下是具体方法:
1. 查看历史命令
history
- 输出示例:
100 ls -l 101 cd /tmp 102 yum install httpd 103 systemctl start httpd
- 每条命令前的数字是 历史记录编号(如
100
、101
)。
2. 重新执行某条历史命令
方法 1:通过编号执行
!<编号>
- 示例:重新执行编号为
102
的命令(yum install httpd
):!102
方法 2:通过关键词执行
!关键词
- 示例:重新执行最近一条包含
yum
的命令:!yum
方法 3:通过方向键浏览
- 按 ↑ 或 ↓ 方向键,在终端历史记录中手动选择命令,按回车执行。
3. 高级用法
查看最近 N 条命令
history <N>
- 示例:查看最近 5 条命令:
history 5
清除历史记录
history -c # 清除当前会话的历史记录
删除某条历史记录
history -d <编号>
- 示例:删除编号为
102
的记录:history -d 102
4. 持久化历史记录
- 默认情况下,
history
记录存储在~/.bash_history
文件中,退出终端时自动保存。 - 如果需要立即保存历史记录(不等待退出):
history -a # 将当前会话的历史记录追加到文件
常见问题
Q1: 为什么 !102
执行后提示 command not found
?
- 可能原因:
- 历史记录编号不正确(先用
history
确认编号)。 - 命令中包含特殊字符(如
*
、?
),需用引号包裹:!102 # 如果 102 是 `ls *.txt`,建议改用 `fc 102` 或手动输入
- 历史记录编号不正确(先用
Q2: 如何禁用历史记录?
- 临时禁用:
unset HISTFILE
- 永久禁用:在
~/.bashrc
中添加:
然后执行:unset HISTFILE
source ~/.bashrc
总结
操作 | 命令 |
---|---|
查看历史记录 | history |
执行编号为 N 的命令 | !N |
执行最近一条含关键词的命令 | !关键词 |
查看最近 5 条命令 | history 5 |
删除编号为 N 的历史记录 | history -d N |
立即保存历史记录 | history -a |
通过以上方法,你可以轻松管理和重用历史命令。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)