神奇的 shell 历史记录
Atuin 用 SQLite 数据库替换了你现有的 shell 历史记录,并为你的命令记录了额外的上下文信息。此外,它还提供了可选的、完全加密的历史记录同步功能,通过 Atuin 服务器在多台机器之间同步。
显示退出码、持续时间、时间和命令
除了搜索界面,它还可以做这样的事情:
# 搜索昨天下午 3 点之后记录的所有成功的 `make` 命令
atuin search --exit 0 --after "yesterday 3pm" make
你可以使用我托管的服务器,或者自己托管!或者干脆不使用同步功能。由于所有历史同步都是加密的,即使我想访问你的数据也无法做到。而且我真的不想这么做。
功能
- 重新绑定
ctrl-r
和up
(可配置)到全屏历史搜索界面 - 将 shell 历史记录存储在 sqlite 数据库中
- 备份和同步加密的 shell 历史记录
- 在不同终端、不同会话和不同机器之间共享相同的历史记录
- 记录退出码、当前工作目录、主机名、会话、命令持续时间等
- 计算统计数据,如"最常用命令"
- 不会替换旧的历史文件
- 使用 Alt-<num> 快速跳转到之前的项目
- 通过 ctrl-r 切换过滤模式;仅搜索当前会话、目录或全局历史记录
- 回车执行命令,tab 键编辑
文档
支持的 Shell
- zsh
- bash
- fish
- nushell
- xonsh
社区
论坛
Atuin 有一个社区论坛,如需帮助和支持请在这里提问:https://forum.atuin.sh/
Discord
Atuin 还有一个社区 Discord,可以在这里加入
快速开始
这将为你注册 Atuin Cloud 同步服务器。所有内容都是端到端加密的,因此你的秘密是安全的!
在文档中阅读更多关于离线设置、自托管服务器等内容。
curl --proto '=https' --tlsv1.2 -LsSf https://setup.atuin.sh | sh
atuin register -u <用户名> -e <邮箱>
atuin import auto
atuin sync
然后重启你的 shell!
[!注意]
对于 Bash 用户:上述设置使用
bash-preexec
进行必要的钩子,但bash-preexec
有一些限制。详情请参阅 shell 插件文档的 Bash 部分。
安全
如果你发现任何安全问题,我们希望你能通知 ellie@atuin.sh
贡献者
使用 contrib.rocks 制作。