Как найти историю команд оболочки с помощью текстового редактора?

Я знаю, что Ctrl+R позволяет вам искать историю команд, но это немного примитивно. Есть ли способ экспортировать всю мою историю команд (не только текущий сеанс терминала, но и полную историю) в текстовый файл? Затем я мог бы использовать текстовый редактор для удобного поиска. Или, если файл истории уже существует, где он находится?

3 ответа

Решение

От man bash:

HISTFILE
    The name of the file in which command history is saved.
    The default value  is  ~/.bash_history.
    If unset, the command history is not saved when a shell exits.

Итак, переменная HISTFILE будет содержать имя файла, где будет сохранена история.

$ echo "$HISTFILE"
/home/user/.bash_history

Теперь вы можете искать шаблон:

$ grep "vim" "$HISTFILE"
vim foo.text
vim bar.text
vim file.txt

Как указал @Dennis, если хочешь, можешь бежать history -a добавить историю команд запущенного сеанса в $HISTFILE файл. Как правило, команды будут автоматически добавлены после закрытия сеанса, history -a будет делать то же самое прямо в этот момент.

Бежать help history чтобы получить больше идей о history встроенный сам.

История Bash сохраняется в вашем домашнем каталоге ~/.bash_history,

В основном Ctrl + R ищет из этого файла.

Попробуй это:

history > output.txt
less output.txt

Затем поиск, набрав / + searchterm

Другие вопросы по тегам