centos history 用法详解

举报
林欣 发表于 2025/09/12 10:13:51 2025/09/12
【摘要】 在 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
    
  • 每条命令前的数字是 历史记录编号(如 100101)。

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

  • 可能原因:
    1. 历史记录编号不正确(先用 history 确认编号)。
    2. 命令中包含特殊字符(如 *?),需用引号包裹:
      !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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。