atuinsh/atuin
用 SQLite 替代 shell 历史记录,附带退出码、耗时等上下文,并可端到端加密同步到多台机器。
- Star
- 32,232
- Fork
- 1,028
- 未关闭 Issue
- 416
- 最近提交
- 14小时前
这是什么?
Atuin 用 SQLite 数据库替代 shell 默认的历史记录,并为每条命令记录退出码、工作目录、主机名、会话和执行耗时等信息。它默认将 ctrl-r 和上方向键绑定到全屏历史搜索界面,可按当前会话、当前目录或全局范围筛选。
历史记录可以通过 Atuin 服务器在多台机器之间同步,同步内容端到端加密,服务器无法读取明文。用户既可以使用官方云服务,也可以自行部署服务器,或者完全不开启同步,只在本地保存历史。
支持 zsh、bash、fish、nushell、xonsh 和 PowerShell。命令行中也能按时间范围、退出码等条件搜索历史,还可以统计最常用的命令。
核心功能
- 01默认将 ctrl-r 和上方向键绑定到全屏历史搜索
- 02使用 SQLite 存储历史,并记录退出码、工作目录、主机名和耗时
- 03通过自建或官方服务器实现端到端加密的多机同步
- 04可按会话、目录或全局范围筛选搜索结果
- 05命令行搜索支持退出码、时间范围等过滤条件
- 06保留原有的 shell 历史文件不做替换
适用场景
- 按退出状态或执行时间找回之前运行过的命令
- 在笔记本、台式机和服务器之间保持 shell 历史一致
- 只搜索当前项目目录下执行过的命令
- 在多台机器间同步历史,并通过加密保护隐私
快速上手
- 1
运行 README 中的官方安装脚本
- 2
在 Atuin Cloud 同步服务器上注册账户
atuin register -u <USERNAME> -e <EMAIL> - 3
导入现有的 shell 历史记录
atuin import auto - 4
同步历史记录,然后重启 shell
atuin sync
使用前须知
- 快速开始会为你注册 Atuin Cloud 同步服务器账户,不过文档也介绍了自托管和离线设置。
- Bash 支持依赖 bash-preexec,它存在已知限制。
收录于专题
标签
常见问题
- atuin 是什么?
- 用 SQLite 替代 shell 历史记录,附带退出码、耗时等上下文,并可端到端加密同步到多台机器。 Atuin 用 SQLite 数据库替代 shell 默认的历史记录,并为每条命令记录退出码、工作目录、主机名、会话和执行耗时等信息。它默认将 ctrl-r 和上方向键绑定到全屏历史搜索界面,可按当前会话、当前目录或全局范围筛选。
- atuin 可以免费使用吗?用的什么许可证?
- atuin 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- atuin 还在维护吗?
- 活跃维护中。atuin 最近一次提交是在 2026年11月7日。
- atuin 适合用来做什么?
- 按退出状态或执行时间找回之前运行过的命令 在笔记本、台式机和服务器之间保持 shell 历史一致 只搜索当前项目目录下执行过的命令 在多台机器间同步历史,并通过加密保护隐私
- atuin 怎么安装和运行?
- 运行 README 中的官方安装脚本 在 Atuin Cloud 同步服务器上注册账户: atuin register -u <USERNAME> -e <EMAIL> 导入现有的 shell 历史记录: atuin import auto 同步历史记录,然后重启 shell: atuin sync
- 在哪里获取 atuin?
- 源代码和安装说明在 GitHub 上:https://github.com/atuinsh/atuin
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一款会学习你访问习惯的 shell 目录跳转工具,输入几个模糊字符即可快速进入目标目录。
195065GoMIT更新于 11天前
通用命令行模糊查找工具,可过滤任意输入列表,并为 Shell 脚本提供交互式终端选择界面。
8.4万+176 本周4118GoMIT维护活跃更新于 11小时前
一个符合 POSIX 标准的 bash 脚本,用于在用户和 shell 级别安装并切换多个 Node.js 版本。
9.6万+39 本周1.1万ShellMIT维护活跃更新于 3天前