我可以在一个目录中获取命令历史记录吗?

Can I get command history within one directory?

在 Mac 终端中,有没有办法获取特定目录中的命令历史记录?

我知道使用 history 我们可以获得之前命令的日志。但我只想要特定目录中的日志。我想看看我以前在这个文件夹里做了什么。

Bash 没有为 directory-specific 历史文件提供 out-of-the-box 方式。

我的解决方案是挂接到 cd 命令并更改 HISTFILE 变量,表示当前历史文件。这留作 reader 的练习,因为我自己会很恼火地失去每个 cd 的最近历史记录,而且很可能一旦你开始使用这个功能,你就不会想要使用它。

你的实际问题是什么?历史太大?然后不要滚动浏览它,而是搜索它。例如,对于 alias r='fc -e -',您可以通过键入 r foo 重复以 foo 开头的最后一个命令。或者进入 vi 模式 (ESC) 然后用 /foo.

搜索

我使用 https://github.com/wolfwoolford/dish 正是出于这个目的。多年来一直在使用它。这是我在任何新系统上安装的第一件事。