Як шукати історію команд оболонки за допомогою текстового редактора?


8

Я знаю, що Ctrl+ Rдавайте шукати історію команд, але це трохи примітивно. Чи є можливість експортувати всю мою історію команд (не лише поточну сесію терміналу, а повну історію) до текстового файлу? Тоді я міг би скористатися текстовим редактором для зручного пошуку. Або якщо файл історії вже існує, де він?


Я припускаю, що ви мали на увазі історію команд вашої оболонки та відредагували, щоб використовувати оболонку за замовчуванням, bash.
муру

Відповіді:


13

Від 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вбудований.


1
Зауважте, що файл історії зазвичай не містить рядків, введених з початку поточного сеансу bash, які можна виправити виконанням history -a.
Денніс

@Dennis: Good point..added ..
heemayl


3

Історія башів зберігається у вашому домашньому каталозі ~/.bash_history.

В основному Ctrl+ Rпошук у цьому файлі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.