关于 Atuin
Atuin 将 shell 历史记录存储在结构化数据库中,提供强大的搜索和跨设备同步功能。通过保存每条命令的执行时间、工作目录、退出码等信息,帮助开发者快速定位和重用历史命令。
主要功能
- 01导入和整合现有 shell 历史记录
- 02按命令、时间或执行结果搜索历史
- 03跨多台设备同步历史记录
- 04自动记录命令执行上下文和元数据
适用场景
- 01在大型项目中快速查找之前运行过的编译或测试命令
- 02维护跨多台开发机器的一致命令历史
- 03构建依赖 shell 命令历史的 Agent 工作流
安装
选择你的系统或包管理器,复制命令到终端运行。
安装完成后运行atuin --version确认安装成功。
命令示例
常用命令按使用顺序排列。
详细介绍
神奇的 Shell 历史记录
Atuin 会将现有的 Shell 历史记录替换为 SQLite 数据库,并为命令记录额外的上下文信息。此外,它还可通过 Atuin 服务,在不同设备间同步历史记录(可选且_全程加密_)。
显示退出代码、耗时、时间和命令
除了搜索界面,它还可以实现如下功能:
# search for all successful `make` commands, recorded after 3pm yesterday
atuin search --exit 0 --after "yesterday 3pm" make
你可以使用我托管的服务,也可以自行托管!当然也可以完全不使用同步功能。由于所有历史记录同步内容都会加密,即使我想访问你的数据,也无法做到。而且我真的不想这么做。
功能
- 将
ctrl-r和up(可配置)重新绑定为全屏历史记录搜索界面 - 将 Shell 历史记录存储在 SQLite 数据库中
- 备份并同步加密后的 Shell 历史记录
- 在不同终端、会话和设备间使用相同的历史记录
- 记录退出代码、当前工作目录、主机名、会话、命令耗时等信息
- 计算“最常用命令”等统计信息
- 不替换旧的历史记录文件
- 使用 Alt-<num> 快速跳转到之前的条目
- 按 ctrl-r 切换筛选模式;仅搜索当前会话、目录或全局范围内的历史记录
- 按回车执行命令,按 Tab 编辑命令
文档
支持的平台
Atuin 支持 zsh、bash、fish、nushell、xonsh 和 PowerShell。完整的平台矩阵以及各等级的含义,请参阅支持的平台。
社区
论坛
Atuin 有一个社区论坛,如需帮助和支持,请在此提问:https://forum.atuin.sh/
IRC
你也可以通过 libera.chat 上的 #atuin 联系我们。
Discord
Atuin 也有社区 Discord,可在此处加入。
快速入门
此操作会为你注册 Atuin Cloud 同步服务。一切都经过端到端加密,因此你的秘密信息安全无虞!
有关离线设置、可自托管的服务等内容,请阅读文档。
curl --proto '=https' --tlsv1.2 -LsSf https://setup.atuin.sh | sh
atuin register -u <USERNAME> -e <EMAIL>
atuin import auto
atuin sync
然后重新启动 Shell!
说明
Bash 用户请注意:上述操作会设置
bash-preexec,以便使用必要的钩子,但bash-preexec存在一些限制。详情请参阅 Shell 插件文档中的 Bash 部分。
相关项目
如有其他项目,欢迎提交 PR!
贡献者
由 contrib.rocks 制作。