Краткое содержание
Вы проводите весь день, нажимая стрелочки в терминале в поисках предыдущих команд? Все мы через это проходили, но ваш опыт может быть лучше, если вы воспользуетесь этим удобным инструментом.
Что не так с командой history?
Команда history ведет учет других команд, которые вы выполняете в оболочке. Она может показать список ранее введенных вами команд и позволяет управлять этим списком.
Linux предлагает другие команды и сочетания клавиш для работы с этим списком. Например, !22 повторяет команду под номером 22 в списке history. Стрелки Вверх и Вниз обычно перемещают вас по истории, показывая каждую команду, пока вы не нажмете Enter, чтобы повторить одну из них. Ctrl R позволяет искать в истории.
Стоит отметить, что команда history существует уже довольно долго. Она была введена в 1979 году и стала более популярной с момента появления оболочки Bash в 1989 году. В результате это зрелый инструмент, который воплощает философию Unix — делать одно дело, но хорошо. Но у него есть и свои недостатки.
Несмотря на множество команд для работы с историей, они все довольно просты. Навигация и поиск происходят по одной строке за раз, что может быть неудобно. Также работа с историей в разных оболочках может вызывать путаницу. Открыв новый терминал, вы не получите доступ к истории предыдущего — пока не закроете его, конечно!
Как использовать команду history в Linux
Лучше, чем вводить ее вручную три раза.
Как работает Atuin?
Atuin — это программа, которая стремится улучшить стандартную историю в Linux, обеспечивая синхронизацию между хостами, интерфейс TUI, детализированные статистики и многое другое.
По умолчанию Atuin перехватывает стрелку Вверх, чтобы показать свой собственный вид вашей истории. Возможно, у вас уже есть комбинация Вверх > Enter для мгновенного повторения предыдущей команды в мышечной памяти. Если это так, вам может потребоваться время, чтобы привыкнуть к интерфейсу Atuin, который появляется, когда вы это делаете, но эта же комбинация будет выполнять ту же задачу: повторять последнюю команду.
Этот вид на весь экран вашей истории может потребовать привыкания, но как только вы освоите функции Atuin, его станет проще использовать. Инструмент легко установить и быстро настроить, поэтому лучший способ узнать о нем — попробовать его в действии.
Чтобы установить Atuin, следуйте инструкциям здесь. Самый быстрый способ установки — использовать эту команду:
Эта команда загружает скрипт оболочки и выполняет его. Использование curl в таком варианте несет небольшой риск, который можно избежать, убрав | sh. Это позволит загрузить файл, который вы сможете проверить для собственного спокойствия.
Скрипт установит Atuin в вашем домашнем каталоге и обновит ваш скрипт запуска (например, ~/.bashrc), чтобы запустить его. Когда вы вновь прочитаете этот файл, перезапустите терминал или откройте новую вкладку/окно, Atuin будет активирован.
Вы также можете использовать другие менеджеры пакетов, такие как Cargo, Homebrew или Pacman для установки Atuin, но это требует дополнительной ручной настройки.
Если вы получили ошибку «curl: (23) клиент вернул ОШИБКУ при записи», попробуйте установить curl с помощью apt вместо snap. Это помогло мне на Ubuntu.
Чем может помочь Atuin?
Несмотря на узкую задачу, Atuin обладает довольно большим набором функций и может показаться немного пугающим с первого взгляда. Я рекомендую делать это постепенно и экспериментировать с Atuin, пока вы им пользуетесь.
Основное использование
После установки Atuin вы можете открыть его интерфейс TUI, нажав стрелку Вверх. Сначала вы увидите пустой экран, поскольку у вас нет истории:
Если хотите, вы можете импортировать свою стандартную историю с помощью простой команды:
Как только у вас появится несколько команд в истории, вы сможете перемещаться по TUI с помощью стрелок Вверх и Вниз, чтобы выбрать команду для повторения. Обычно это будет последняя выполненная команда, которая по умолчанию будет выделена внизу списка.
Выделив команду, нажмите Enter, чтобы выполнить ее немедленно, или Tab, чтобы вставить ее в командную строку, готовую к редактированию. Если вы случайно открыли Atuin, вы можете выйти, нажав Esc — или стрелку Вниз, если вы уже находитесь внизу списка.
Поиск
Скорее всего, вы ищете команду с конкретным названием или с определенным файлом. В любом случае просто начните вводить текст, чтобы отфильтровать список истории и уточнить свой выбор:
Ваш поиск будет отображаться в нижней части терминала по мере ввода, и Atuin отфильтрует список истории соответственно.
Это нечеткий поиск, поэтому вы можете получить как близкие совпадения, так и точные результаты. Вы также можете использовать * как подстановочный знак, но я не нашел это особенно необходимым.
Настройка
Atuin имеет множество настроек для управления его поведением. Ознакомьтесь с файлом ~/.config/atuin/config.toml, в котором есть отличные комментарии к каждой настройке. Я внес несколько небольших корректировок в конфигурацию, когда начал использовать Atuin, и они мне хорошо послужили.
Во-первых, если вам не нравится стандартный нечеткий поиск, вы можете изменить его, чтобы он искал точную строку в каждом из команд:
Интерфейс TUI будет очищать ваш экран после использования и может быть немного слишком навязчивым. Это менее серьезная проблема, если вы используете полноэкранный терминал, но вы также можете уменьшить количество строк, которое использует Atuin, чтобы избежать этой проблемы:
Пример силы Atuin — это его контекстно-зависимая история. Вы можете использовать эту функцию, чтобы просматривать предыдущие команды, которые вы выполняли только в текущей сессии или только в текущем каталоге, среди прочего. Atuin отображает текущий фильтр внизу слева: например, "[ ГЛОБАЛЬНЫЙ ]" по умолчанию. Вы можете нажимать Ctrl-r, чтобы переключаться между режимами, но вы также можете изменить режим по умолчанию в зависимости от того, как вы вызываете Atuin:
Эта настройка указывает Atuin по умолчанию принимать только команды, которые вы выполнили в текущем каталоге, когда вы открываете его с помощью нажатия стрелки Вверх. Открытие Atuin с Ctrl-r будет использовать фильтр по умолчанию, однако это отличный способ легко получить доступ к двум режимам. Это также еще один пример того, насколько настраиваемым является этот инструмент.
Синхронизация
Хотя синхронизация абсолютно необязательна, Atuin поощряет ее, чтобы вы могли делиться своей историей между хостами. Если вы регулярно подключаетесь к удаленным хостам с помощью ssh, это может быть полезно, особенно если вы выполняете одни и те же задачи на них.
Лично мне не понадобилась синхронизация, но это впечатляющая функция, которая является одной из основных претензий к команде history по умолчанию.
Как подключиться к SSH-серверу с Windows, macOS или Linux
SSH доступен на всех популярных операционных системах.
Статистика
Если вам когда-либо будет интересно, какие команды вы выполняете, статистика Atuin может быть полезна. Вы можете просмотреть статистику для всей своей истории или за любой конкретный 24-часовой период:
В стандартном списке истории Atuin указывается время, за которое была выполнена каждая команда. Эта информация имеет значение, если вы часто запускаете долгие процессы, такие как компиляция программного обеспечения или анализ использования диска с помощью du. Она также включает интерактивные команды, такие как vim, чтобы вы могли видеть, сколько времени вы тратили на редактирование файла в определенный день.
Atuin также предоставляет эту информацию в режиме инспекции, который показывает детали конкретной команды, включая количество раз, когда вы выполняли ее за день и как часто она возвращала каждый код возврата:
Замечание инспектора о том, что он все еще находится в стадии разработки, но стоит помнить, что Atuin активно поддерживается, и множество авторов регулярно вносят изменения.
Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!
Вы также можете читать наши материалы в:
- Telegram: https://t.me/gergenshin
- Яндекс Дзен: https://dzen.ru/gergen
- Официальный сайт: https://www-genshin.ru