【问题标题】:How to view the log of all commands?如何查看所有命令的日志?
【发布时间】:2012-03-18 05:28:21
【问题描述】:

我正在尝试查看我在 Git Bash 中输入到 unix 环境中的所有命令。

所以我不想查看 Git Hub 的可能命令列表。我也没有尝试查看推送和拉取的日志。

我只想查看我在命令行中输入的内容。这是因为我最近遇到了无法从 git 推送或拉取的连接问题。它只是突然发生的。一分钟前,我还在完美推拉。

然后,有人帮我通过 git bash 中的命令提示符解决了这个问题。

现在,我的朋友也有同样的问题。所以我正在寻找命令日志,希望它也能解决他的问题。

写入失败:管道损坏 致命:远端意外挂断。

【问题讨论】:

    标签: unix logging github git-bash


    【解决方案1】:

    您可以使用cat $HISTFILE 来做到这一点。

    Bash 默认将最后 500 条命令存储在历史文件中,很可能称为 ~/.bash_history。该文件位于变量 $HISTFILE 中(大小位于 $HISTFILESIZE 中)。您可以使用echo $HISTFILE 获取历史文件的路径。

    【讨论】:

    • 很奇怪。我拥有的 .bash_history 文件只有几天前的 111 行。它没有我刚才输入的任何命令。还有其他日志文件吗?
    • Bash 在终止时写入此文件。所以实际会话的命令是不可见的。
    • 请注意,'history -a' 会将当前会话的历史记录写入历史文件。
    • @Rudi 它也没有我在“几天前”和我评论时间之间输入的命令。 Git bash 已关闭,但历史记录未更新。更早的历史也丢失了:(你知道我怎样才能找回那些目前丢失的历史吗?
    • 显然使用 cat $HISTFILE |grep WhatYoureLookingFor 也很有帮助。
    【解决方案2】:

    如果你还在 shell 中,一个快速查看你最近的会话命令历史的方法是命令:

    $ history
    

    对于问题中提到的场景非常方便,即一位同事在您的会话中快速输入了一些命令,而您想返回并仔细查看它们。

    【讨论】:

    • 这很好,因为它以人类可读的格式打印命令日期。
    • 这将只显示最后 16 条命令——@r-m 建议的 history 1 将显示所有行。
    【解决方案3】:
    history 1
    

    这将显示历史记录中从第 1 行开始的所有条目。

    【讨论】:

      猜你喜欢
      • 2011-02-09
      • 2015-07-15
      • 2021-12-18
      • 1970-01-01
      • 1970-01-01
      • 2012-09-09
      • 2019-09-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多