Современные инструменты командной строки Linux №21: ATUIN — Поиск и синхронизация истории оболочки
Автор: NicoDemos
Загружено: 2026-08-10
Просмотров: 124
Описание:
Официальный репозиторий:
https://github.com/atuinsh/atuin
Официальная документация:
https://docs.atuin.sh/
Демонстрационная лаборатория:
https://github.com/nbaud/debian-frr-lab
Конфигурация Atuin в Ansible:
https://github.com/nbaud/debian-frr-l...
Добро пожаловать в серию «Современные инструменты командной строки Linux», посвященную небольшим, но мощным утилитам, которые делают повседневную работу в Linux быстрее, понятнее и приятнее.
В этом эпизоде мы рассмотрим Atuin: современную замену традиционной истории командной строки.
Atuin хранит команды в структурированной базе данных SQLite и предоставляет быстрый интерактивный интерфейс поиска через Ctrl-R.
Он записывает полезный контекст, такой как:
Рабочий каталог
Имя хоста
Временная метка
Сеанс оболочки
Код завершения
Длительность выполнения команды
Atuin работает локально, но также может синхронизировать историю сквозного шифрования между несколькими машинами.
--
Установка
Рекомендуемый установщик для Linux и других Unix-подобных систем:
curl --proto '=https' --tlsv1.2 -LsSf https://setup.atuin.sh | sh
Включите интеграцию с оболочкой:
Bash:
eval "$(atuin init bash)"
Zsh:
eval "$(atuin init zsh)"
Добавьте соответствующую команду в ~/.bashrc или ~/.zshrc и перезапустите оболочку.
Импорт существующей истории:
atuin import auto
---
Основные сведения об использовании
Нажмите Ctrl-R, чтобы открыть интерактивный интерфейс поиска.
Поиск из командной строки:
atuin search docker
Отображение полной истории:
atuin history list
Показ истории с информацией о хосте и каталоге:
atuin history list --human \
--format='{time} {host} {directory} {command}'
Другие полезные команды:
atuin stats
atuin doctor
atuin sync
Atuin поддерживает нечеткий, префиксный и полнотекстовый поиск.
Историю можно фильтровать по:
Хост
Каталог
Сессия
Рабочее пространство Git
Время
Код завершения
Многократно нажимайте Ctrl-R в интерфейсе, чтобы переключаться между режимами фильтрации.
--
Темы и настройка
Встроенные темы включают default, autumn, marine и none.
Пример:
atuin config set theme.name marine
Пользовательские темы можно разместить в:
~/.config/atuin/themes/
Вы также можете настроить макет, видимые столбцы, предварительный просмотр, сочетания клавиш, режимы поиска и поведение Ctrl-R.
В видео мы отображаем столбец хоста, чтобы различать команды от vm01, vm02 и vm03.
---
Зашифрованная синхронизация
Регистрация учетной записи:
atuin register -u nico -e [email protected]
Отображение ключа шифрования:
atuin key
Вход с другой машины:
atuin login -u nico
Синхронизация вручную:
atuin sync
Пароль используется для аутентификации учетной записи, а ключ шифрования шифрует и расшифровывает историю локально.
Вы можете использовать размещенный сервис Atuin или запустить собственный сервер с помощью Docker, Kubernetes или systemd.
Демонстрационная среда
Демонстрация использует три виртуальные машины Debian в моей лаборатории сетевого взаимодействия FRR spine-leaf:
vm01 — клиент Atuin — 10.0.10.2
vm02 — клиент Atuin — 10.0.20.2
vm03 — сервер Atuin — 10.0.30.2:8888
Клиенты взаимодействуют с vm03 через маршрутизируемую сеть FRR/OSPF.
Сервер Atuin работает на vm03 с Docker Compose и постоянным хранилищем SQLite.
Проверьте контейнер:
sudo docker compose \
-f /opt/atuin/docker-compose.yml ps
Просмотрите логи сервера:
sudo docker compose \
-f /opt/atuin/docker-compose.yml \
logs -f --tail=50 atuin
Используемые здесь HTTP-соединение и открытая регистрация предназначены только для этой изолированной демонстрационной сети. В реальном развертывании следует использовать TLS и правильно резервированное постоянное хранилище.
---
Автоматическая синхронизация
Проверьте интервал:
atuin config get sync_frequency --resolved
По умолчанию — один час.
Синхронизация после каждой команды:
atuin config set sync_frequency 0
---
Удаление истории
Удаление одной выбранной записи с помощью Ctrl-R:
Ctrl-O → Ctrl-D
Предварительный просмотр записей перед массовым удалением:
atuin search --cwd /home/nico/demo "^curl"
Удаление соответствующих записей:
atuin search --delete --cwd /home/nico/demo "^curl"
При включенной синхронизации удаления распространяются на другие машины.
---
Atuin полезен для:
Обмена историей команд между рабочими станциями и серверами
Восстановления команд после переустановки машины
Поиска команд, использованных в конкретном проекте
Различения истории команд с разных хостов
Запоминания сложных команд Docker, Kubernetes и сетевых команд
Создания личной базы знаний команд с возможностью поиска
Если вы запомните только одно:
Atuin превращает историю командной строки в структурированную, контекстную и доступную для поиска базу данных. Он работает локально или синхронизирует зашифрованную историю между всеми вашими машинами.
---
Полный плейлист: Современные инструменты командной строки Linux
https://www.youtube.com/playlist?list....
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: