当前位置: 首页 > 科技观察

Atuin:神奇的shell历史管理工具,支持多终端实时同步_0

时间:2023-03-13 15:13:51 科技观察

除了通过UI搜索,还可以使用命令进行更细粒度的搜索控制,比如搜索记录在3之后的记录pmyesterday对于所有成功的make命令,可以使用如下命令:atuinsearch--exit0--after"yesterday3pm"make可以使用作者托管的服务器,也可以使用自己的服务器!或者根本不使用同步功能。所有历史同步均加密,数据安全无忧。FeaturesRebindupandctrl-rforfullscreenhistorysearchUI界面使用sqlite数据库存储shell历史备份并同步加密的shell历史在不同终端、不同会话、不同机器上具有相同的历史记录Loggingexitcode,cwd,hostname,会话、命令持续时间等。计算统计信息,例如“最常用的命令”。不替换旧的历史文件使用Alt-快捷键快速跳转到以前的记录使用ctrl-r切换过滤模式;您只能从当前会话、目录或全局搜索历史记录支持的Shell:zsh、bash、fish配置使用默认同步服务器这将向您注册项目作者托管的默认同步服务器。一切都经过端到端加密,因此您的信息是安全的!bash<(curlhttps://raw.githubusercontent.com/ellie/atuin/main/install.sh)atuinregister-u-e-patuinimportautoatuin仅离线同步(不同步)bash<(curlhttps://raw.githubusercontent.com/ellie/atuin/main/install.sh)atuinimportautoinstallscriptway(recommended)安装脚本将帮助您进行设置,确保您的shell正确配置。#不要以root身份运行,如果需要会询问root。bash<(curlhttps://raw.githubusercontent.com/ellie/atuin/main/install.sh)使用cargo最好使用rustup设置Rust工具链,然后你可以运行以下命令:cargoinstallatuinHomebrewbrewinstallatuinMacPortsAtuin在MacPorts中也可用sudoportinstallatuinPacmanAtuin在ArchLinux的社区存储库中可用。pacman-Satuin从源码编译安装gitclonehttps://github.com/ellie/atuin.gitcdatuincargoinstall--path.Shellplugin安装二进制文件后,需要安装shell插件。如果您使用的是脚本安装,这一切都应该为您完成!zshecho'eval"$(atuininitzsh)"'>>~/.zshrc或者使用插件管理器:zinitloadellie/atuinbash我们需要设置一些钩子(hooks),所以首先需要安装bash-preexec:curlhttps://raw.githubusercontent.com/rcaloras/bash-preexec/master/bash-preexec.sh-o~/.bash-preexec.shecho'[[-f~/.bash-preexec.sh]]&&source~/.bash-preexec.sh'>>~/.bashrc然后设置Atuinecho'eval"$(atuininitbash)"'>>~/.bashrcfish添加atuininitfish|sourceto~/.config/fish/config.fish文件atuin搜索中is-interactive块中的常用命令Atuin搜索支持带有*或%字符的通配符。默认情况下,执行前缀搜索(即通配符自动附加到所有查询)。参数说明--cwd/-c列出历史目录(默认:所有目录)--exclude-cwd排除在此目录下运行的命令(默认:无)--exit/-e按退出代码过滤(默认:none)--exclude-exit排除以该值退出的命令(默认值:none)--before仅包含在此时间之前运行的命令(默认值:none)--after仅包含在此时间之后运行的命令(默认值:none)--interactive/-i打开交互式搜索UI(默认值:false)--human/-h使用人类可读的时间戳和持续时间格式(默认值:false)示例#打开交互式搜索TUIatuinsearch-i#打开预加载查询交互式搜索TUIatuinsearch-iatuin#搜索所有以cargo开头并成功退出的命令。atuinsearch--exit0cargo#从当前目录搜索2021年4月1日之前失败的所有命令atuinsearch--exclude-exit0--before01/04/2021--cwd.#搜索所有失败的命令从货物开始,成功退出并在昨天下午3点后运行。atuinsearch--exit0--after"yesterday3pm"cargoatuinsync手动触发同步Atuin可以将您的历史记录备份到服务器并使用它来确保多台机器具有相同的shell历史记录。所有这些都是端到端加密的,因此服务器操作员_永远_看不到您的数据!任何人都可以托管服务器(尝试atuinserverstart,后面还有更多文档),但作者在https://api.atuin.sh托管了一个。这是默认的服务器地址,也可以更改。同样,我_看不到_您的数据,我也不想。注册同步账号atuinregister-u-e-p用户名(USERNAME)必须唯一,邮箱(EMAIL)仅用于重要通知(安全漏洞,服务变更等),注册后,意味着您也已登录:)同步应该会从这里自动发生!密钥由于您的数据已加密,Atuin将为您生成一个密钥。它存储在Atuin数据目录中(Linus上为~/.local/share/atuin),您也可以使用atuin密钥获取它不要与任何人共享密钥!登录如果您想登录一台新机器,您需要您的加密密钥(atuin密钥)。atuinlogin-u-p-klogoutatuinlogoutGitHub存储库:https://github.com/ellie/atuin