Обзор history
Каждый раз, когда пользователь вводит команду в терминале, эта команда записывается в файл истории (обычно `~/.bash_history` или `~/.zsh_history`). Команда `history` считывает содержимое этого файла и отображает его на экране, и история сохраняется даже после завершения сеанса оболочки.
Основная роль history
Команда `history` в основном используется для следующих целей:
Основные области применения
- Повторное выполнение команд: Легко повторно выполнить длинные команды, которые были использованы ранее, без необходимости их повторного ввода.
- Отслеживание действий: Помогает понять, какие действия были выполнены в прошлом и отслеживать рабочий процесс.
- Повышение производительности: Позволяет быстро находить часто используемые команды и экономить время на ввод.
- Справка при написании скриптов: Использует ранее успешно выполненные комбинации команд для написания скриптов.
Переменные окружения и history
Функция истории зависит от нескольких переменных окружения:
Основные связанные переменные окружения
- `HISTSIZE`: Максимальное количество команд в истории, хранящихся в памяти. Сохраняется в течение текущего сеанса оболочки.
- `HISTFILESIZE`: Максимальное количество команд в истории, хранящихся в файле истории (`~/.bash_history` и т. д.). Сохраняется между сеансами оболочки.
- `HISTFILE`: Указывает путь к файлу, в который сохраняется история команд. Значение по умолчанию - `~/.bash_history`.
- `HISTCONTROL`: Управляет способом ведения записи истории. (например: `ignoredups` - игнорировать дубликаты команд, `ignorespace` - игнорировать команды, начинающиеся с пробела)
Основные параметры команды history
Команда `history` предоставляет различные параметры для просмотра, изменения и управления списком истории.
1. Просмотр и вывод истории
2. Изменение и повторное выполнение истории
Сгенерированная команда:
Комбинируйте команды.
Описание:
`history` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Примеры использования
Изучите различные примеры использования команды `history`, чтобы эффективно просматривать и повторно использовать историю команд.
Просмотр последних 20 команд
history 20
Выводит список из 20 последних выполненных команд с номерами.
Поиск конкретной строки в истории команд
history | grep docker
Использует команду `grep` для поиска команд, содержащих 'docker', в истории `history`.
Повторное выполнение предыдущей команды `ls`
!ls
Находит и повторно выполняет последнюю выполненную команду, начинающуюся с `ls`.
Повторное использование последнего аргумента последней команды
cat /var/log/syslog
less !$
Полезно, когда после выполнения `cat /var/log/syslog` вы хотите снова открыть `/var/log/syslog` с помощью команды `less`.
Немедленное сохранение текущей истории в файл
history -w
Немедленно сохраняет все команды, выполненные в текущем сеансе, в файл `~/.bash_history` перед закрытием оболочки.
Удаление конкретного номера истории
history -d 125
Удаляет команду с номером 125 из истории, когда вы проверяли с помощью команды `history`. (Внимание: один раз удалив, вы не сможете восстановить)