文章目录
- 重新绑定 up 和 ctrl-r 的全屏历史记录搜索 UI 界面 使用 sqlite 数据库存储 shell 历史记录 备份以及同步已加密的 shell 历史记录 在不同的终端、不同的会话以及不同的机器上都有相同的历史记录 记录退出代码、cwd、主机名、会话、命令持续时间,等等。 计算统计数据,如 "最常用的命令"。 不替换旧的历史文件 通过Alt-<num>快捷键快速跳转到之前的记录 通过 ctrl-r 切换过滤模式;可以仅从当前会话、目录或全局来搜索历史记录 支持的 Shells:zsh、bash、fish
-
- 这将为您注册由项目作者托管的默认同步服务器。一切都是端到端加密的,所以你的信息是安全的! bash <(curl https://raw.githubusercontent.com/ellie/atuin/main/install.sh)atuin register -u <USERNAME> -e <EMAIL> -p <PASSWORD>atuin import autoatuin sync
-
- 安装脚本将帮助您完成设置,确保您的 shell 正确配置。 # 不要以root身份运行,如果需要的话,会要求root。bash <(curl https://raw.githubusercontent.com/ellie/atuin/main/install.sh)
- 最好使用 rustup 来设置 Rust 工具链,然后你就可以运行下面的命令: cargo install atuin
- brew install atuin
- Atuin 也可以在 MacPorts 中找到 sudo port install atuin
- Atuin 在 Arch Linux 的 社区存储库 中可用。 pacman -S atuin
- git clone https://github.com/ellie/atuin.gitcd atuincargo install --path .
- 安装二进制文件后,需要安装 shell 插件。如果你使用的是脚本安装,那么这一切应该都会帮您完成!
- echo 'eval "$(atuin init zsh)"' >> ~/.zshrc 或使用插件管理器: zinit load ellie/atuin
- 我们需要设置一些钩子(hooks), 所以首先需要安装 bash-preexec : curl https://raw.githubusercontent.com/rcaloras/bash-preexec/master/bash-preexec.sh -o ~/.bash-preexec.shecho '[[ -f ~/.bash-preexec.sh ]] && source ~/.bash-preexec.sh' >> ~/.bashrc 然后设置 Atuin echo 'eval "$(atuin init bash)"' >> ~/.bashrc
- 添加 atuin init fish | source 到 ~/.config/fish/config.fish 文件中的 is-interactive 块中
- atuin search <query>
Atuin 搜索支持带有 * 或 % 字符的通配符。默认情况下,会执行前缀搜索(即,所有查询都会自动附加通配符)。
参数
描述
--cwd/-c
列出历史记录的目录(默认:所有目录)
--exclude-cwd
不包括在此目录中运行的命令(默认值:none)
--exit/-e
按退出代码过滤(默认:none)
--exclude-exit
不包括以该值退出的命令(默认值:none)
--before
仅包括在此时间之前运行的命令(默认值:none)
--after
仅包含在此时间之后运行的命令(默认值:none)
--interactive/-i
打开交互式搜索 UI(默认值:false)
--human/-h
对时间戳和持续时间使用人类可读的格式(默认值:false)
- # 打开交互式搜索 TUI atuin search -i# 打开预装了查询的交互式搜索 TUIatuin search -i atuin# 搜索所有以 cargo 开头且成功退出的命令。atuin search --exit 0 cargo# 从当前目录中搜索所有在2021年4月1日之前运行且失败的命令。atuin search --exclude-exit 0 --before 01/04/2021 --cwd .#搜索所有以 cargo 开头,成功退出且是在昨天下午3点之后运行的命令。atuin search --exit 0 --after "yesterday 3pm" cargo atuin sync 手动触发同步 Atuin 可以将您的历史记录备份到服务器,并使用它来确保多台机器具有相同的 shell 历史记录。这都是端到端加密的,因此服务器操作员_永远_看不到您的数据! 任何人都可以托管一个服务器(尝试 atuin server start,更多文档将在后面介绍),但作者在 https://api.atuin.sh 上托管了一个。这是默认的服务器地址,也可以进行更改。同样,我_不能_看到您的数据,也不想。
- atuin register -u <USERNAME> -e <EMAIL> -p <PASSWORD> 用户名(USERNAME)必须是唯一的,电子邮件(EMAIL)仅用于重要通知(安全漏洞、服务更改等),注册后,意味着你也已经登录了 🙂 同步应该从这里自动发生!
- 由于你的数据是加密的, Atuin 将为你生成一个密钥。它被存储在 Atuin 的数据目录里( Linus 上为 ~/.local/share/atuin) 你也可以通过以下方式获得它 atuin key 千万不要跟任何人分享密钥!
- 如果你想登录到一个新的机器上,你需要你的加密密钥(atuin key)。 atuin login -u <USERNAME> -p <PASSWORD> -k <KEY>
- atuin logout GitHub 仓库:https://github.com/ellie/atuin

除了通过 UI 进行搜索之外,还可以通过命令来进行更细粒度的搜索控制,比如搜索昨天下午3点之后记录的所有成功的 make 命令,则可以使用下面的命令:
atuin search --exit 0 --after "yesterday 3pm" make
你可以使用作者托管的服务器,也可以使用自己的服务器!或者干脆不使用 sync 功能也可以。所有的历史记录同步都是加密的,所以数据安全方面完全不用担心。
- 重新绑定 up 和 ctrl-r 的全屏历史记录搜索 UI 界面
- 使用 sqlite 数据库存储 shell 历史记录
- 备份以及同步已加密的 shell 历史记录
- 在不同的终端、不同的会话以及不同的机器上都有相同的历史记录
- 记录退出代码、cwd、主机名、会话、命令持续时间,等等。
- 计算统计数据,如 "最常用的命令"。
- 不替换旧的历史文件
- 通过Alt-<num>快捷键快速跳转到之前的记录
- 通过 ctrl-r 切换过滤模式;可以仅从当前会话、目录或全局来搜索历史记录
- 支持的 Shells:zsh、bash、fish
这将为您注册由项目作者托管的默认同步服务器。一切都是端到端加密的,所以你的信息是安全的!
bash <(curl https://raw.githubusercontent.com/ellie/atuin/main/install.sh)
atuin register -u <USERNAME> -e <EMAIL> -p <PASSWORD>
atuin import auto
atuin sync
bash <(curl https://raw.githubusercontent.com/ellie/atuin/main/install.sh)
atuin import auto
atuin import auto
安装脚本将帮助您完成设置,确保您的 shell 正确配置。
# 不要以root身份运行,如果需要的话,会要求root。
bash <(curl https://raw.githubusercontent.com/ellie/atuin/main/install.sh)
最好使用 rustup 来设置 Rust 工具链,然后你就可以运行下面的命令:
cargo install atuin
brew install atuin
Atuin 也可以在 MacPorts 中找到
sudo port install atuin
Atuin 在 Arch Linux 的 社区存储库 中可用。
pacman -S atuin
git clone https://github.com/ellie/atuin.git
cd atuin
cargo install --path .
cd atuin
cargo install --path .
安装二进制文件后,需要安装 shell 插件。如果你使用的是脚本安装,那么这一切应该都会帮您完成!
echo 'eval "$(atuin init zsh)"' >> ~/.zshrc
或使用插件管理器:
zinit load ellie/atuin
我们需要设置一些钩子(hooks), 所以首先需要安装 bash-preexec :
curl https://raw.githubusercontent.com/rcaloras/bash-preexec/master/bash-preexec.sh -o ~/.bash-preexec.sh
echo '[[ -f ~/.bash-preexec.sh ]] && source ~/.bash-preexec.sh' >> ~/.bashrc
然后设置 Atuin
echo 'eval "$(atuin init bash)"' >> ~/.bashrc
添加
atuin init fish | source
到 ~/.config/fish/config.fish 文件中的 is-interactive 块中
- atuin search <query>
Atuin 搜索支持带有 * 或 % 字符的通配符。默认情况下,会执行前缀搜索(即,所有查询都会自动附加通配符)。
|
参数 |
描述 |
|
|
列出历史记录的目录(默认:所有目录) |
|
|
不包括在此目录中运行的命令(默认值:none) |
|
|
按退出代码过滤(默认:none) |
|
|
不包括以该值退出的命令(默认值:none) |
|
|
仅包括在此时间之前运行的命令(默认值:none) |
|
|
仅包含在此时间之后运行的命令(默认值:none) |
|
|
打开交互式搜索 UI(默认值:false) |
|
|
对时间戳和持续时间使用人类可读的格式(默认值:false) |
# 打开交互式搜索 TUI
atuin search -i
# 打开预装了查询的交互式搜索 TUI
atuin search -i atuin
# 搜索所有以 cargo 开头且成功退出的命令。
atuin search --exit 0 cargo
# 从当前目录中搜索所有在2021年4月1日之前运行且失败的命令。
atuin search --exclude-exit 0 --before 01/04/2021 --cwd .
#搜索所有以 cargo 开头,成功退出且是在昨天下午3点之后运行的命令。
atuin search --exit 0 --after "yesterday 3pm" cargo
- atuin sync 手动触发同步
atuin search -i
# 打开预装了查询的交互式搜索 TUI
atuin search -i atuin
# 搜索所有以 cargo 开头且成功退出的命令。
atuin search --exit 0 cargo
# 从当前目录中搜索所有在2021年4月1日之前运行且失败的命令。
atuin search --exclude-exit 0 --before 01/04/2021 --cwd .
#搜索所有以 cargo 开头,成功退出且是在昨天下午3点之后运行的命令。
atuin search --exit 0 --after "yesterday 3pm" cargo
Atuin 可以将您的历史记录备份到服务器,并使用它来确保多台机器具有相同的 shell 历史记录。这都是端到端加密的,因此服务器操作员_永远_看不到您的数据!
任何人都可以托管一个服务器(尝试 atuin server start,更多文档将在后面介绍),但作者在 https://api.atuin.sh 上托管了一个。这是默认的服务器地址,也可以进行更改。同样,我_不能_看到您的数据,也不想。
atuin register -u <USERNAME> -e <EMAIL> -p <PASSWORD>
用户名(USERNAME)必须是唯一的,电子邮件(EMAIL)仅用于重要通知(安全漏洞、服务更改等),注册后,意味着你也已经登录了 🙂 同步应该从这里自动发生!
由于你的数据是加密的, Atuin 将为你生成一个密钥。它被存储在 Atuin 的数据目录里( Linus 上为 ~/.local/share/atuin)
你也可以通过以下方式获得它
atuin key
千万不要跟任何人分享密钥!
如果你想登录到一个新的机器上,你需要你的加密密钥(atuin key)。
atuin login -u <USERNAME> -p <PASSWORD> -k <KEY>
atuin logout
GitHub 仓库:https://github.com/ellie/atuin