Atuin
Office Web - Source - Docker Image - Document
Atuin 使用 SQLite 数据库取代了你现有的 Shell 历史,并为你的命令记录了额外的内容。此外,它还通过 Atuin 服务器,在机器之间提供可选的、完全加密的历史记录同步功能。
官方不推荐直接使用 latest / main
初始化
bash
chown 1000:1000 ./data客户端配置
配置文件:~/.config/atuin/config.toml
toml
sync_address或环境变量
bash
ATUIN_SYNC_ADDRESS=设置同步
注: 如果你想用自架服务器 ,首先得先设置好 sync_address。
注册
bash
atuin register -u <YOUR_USERNAME> -e <YOUR EMAIL>
atuin key首次同步
bash
atuin sync完全同步
bash
atuin sync -f登录
bash
atuin login -u <USERNAME>导入历史
bash
atuin import auto或
bash
atuin import bash
atuin import zsh # etc删除历史
删除单个条目
用
Ctrl+R键或上箭头打开 TUI搜索你想删除的条目
按
Ctrl+O键打开选中的检查器核实这是正确的条目
按
Ctrl+D键删除同上
同上
按
Ctrl+AD键删除所选条目
删除与查询匹配的条目
先预览,然后删除
务必先运行不带 ---delete 的查询以验证结果
bash
# Step 1: preview - see what matches
atuin search "^curl https://internal"
# Step 2: delete - once you're satisfied the results are correct
atuin search --delete "^curl https://internal"组合滤波器
将 --delete 与任意搜索筛选器结合
bash
# Delete all failed commands run from a specific directory
atuin search --delete --exit 1 --cwd /home/user/experiments
# Delete commands matching a pattern that ran before a certain date
atuin search --delete --before "2024-01-01" "^tmp-script"
# Delete successful cargo commands run after yesterday at 3pm
atuin search --delete --exit 0 --after "yesterday 3pm" cargo删除所有历史
bash
atuin search --delete-it-all重新开始同步
bash
# Delete your sync account and all server-side data
atuin account delete
# Register a new account
atuin register
# Import your shell history fresh (optional)
atuin import auto过滤命令
bash
# Preview what will be removed
atuin history prune --dry-run
# Perform the deletion
atuin history prune删除重复历史
bash
# Preview duplicates that would be removed
atuin history dedup --dry-run --before "2025-01-01" --dupkeep 1
# Delete them
atuin history dedup --before "2025-01-01" --dupkeep 1| Flag | 描述 |
|---|---|
| --dry-run/-n | 不删除重复列表 |
| --before/-b | 仅考虑在此日期之前添加的条目(必要) |
| --dupkeep | 需要保留的近期重复数量 |
删除同步账户
bash
atuin account delete备份数据库
yaml
backup:
container_name: atuin_db_dumper
image: prodrigestivill/postgres-backup-local
env_file:
- .env
environment:
POSTGRES_HOST: postgresql
POSTGRES_DB: ${ATUIN_DB_NAME}
POSTGRES_USER: ${ATUIN_DB_USERNAME}
POSTGRES_PASSWORD: ${ATUIN_DB_PASSWORD}
SCHEDULE: "@daily"
BACKUP_DIR: /db_dumps
volumes:
- ./db_dumps:/db_dumps
depends_on:
- postgresql