Я хочу переглянути вміст мого .bash_history
файлу, але не знаю, як потрапити туди за допомогою командного рядка.
/home/username/.bash_history
?
.bash_history
додається лише тоді, коли термінал закритий.
Я хочу переглянути вміст мого .bash_history
файлу, але не знаю, як потрапити туди за допомогою командного рядка.
/home/username/.bash_history
?
.bash_history
додається лише тоді, коли термінал закритий.
Відповіді:
Якщо ви хочете отримати доступ до власне самого файлу, просто використовуйте ваш улюблений текстовий редактор (я використовую , emacs
але ви можете використовувати pluma
з gedit
або vim
або будь-яких інших ):
emacs ~/.bash_history
Це місце за замовчуванням, якщо ваш файл історії. Якщо ви там нічого не знайдете, можливо, ви змінили ім’я файла історії. Це зберігається у $HISTFILE
змінній, тому роздрукуйте його, щоб перевірити його поточне значення:
echo $HISTFILE
Якщо замість файлу ви просто хочете переглянути свою історію, ви можете запустити так, history
як запропонував @ minerz029. Команда без параметрів просто виводить вміст вашого подальше команди виконується в поточній оболонці , які ще не були записані в цей файл з номерами рядків.history
$HISTFILE
Якщо ви на самому справі потрібно висновок .bash_history
файлу, замінити history
з
cat ~/.bash_history
у всіх наведених нижче команд.
Якщо ви дійсно хочете, щоб команди без цифр були попереду, використовуйте цю команду замість history
:
history | cut -d' ' -f 4-
інакше різниці не буде (за винятком випадків, коли ви використовуєте іншу оболонку).
Можна використовувати
history | tail -n 15
щоб отримати лише останні 15 рядків вашої історії з останнім виконаним надрукованим останнім (внизу).
Як варіант, використовувати
history | grep "apt-get" | tail -n 15
щоб отримати останні 15 команд, які містяться apt-get
з останньою виконаною надрукованою останньою (внизу). Ви можете замінити apt-get
будь-яку команду (або аргумент команди), яку ви хочете шукати (це може бути звичайний вираз).
Можна використовувати
history | tac | less
прокручувати всі команди, виконані, починаючи з останньої вгорі. Натисніть, qщоб вийти.
Аналогічно використовуйте
history | grep "apt-get" | tac | less
прокручувати всі команди, виконані з " apt-get
" в них (включаючи аргументи), починаючи з останньої вгорі. Натисніть, qщоб вийти.
Окрім відмінної відповіді minerz029.
Щоб повторити - команда "історія" друкує історію разом із номером поруч.
Ви можете передавати дані історії в grep, менше тощо.
Результат історії також показує число зліва біля виходу. напр
469 free
470 ps -fA
471 ps -fA | grep xend
472 free
473 sudo vi /etc/xen/xend-config.sxp
474 cat /etc/default/grub
За допомогою цього числа ви можете повторно запустити команду.
наприклад, для повторного запуску 473 я б набрав термінал
admin@xen1~$ !473
після чого клавіша введення повторює команду поруч із 473 у виведенні історії.
Ви також можете здійснювати інтерактивний пошук назад в історії команд, ввівши ctrl + r
клавіші, після чого почніть вводити частину вмісту команди, і вона буде шукати та заповнювати її. Коли ви знайшли це, ви можете ввести Enter, щоб повторити його, або натисніть [tab]
клавішу, щоб скопіювати його в командний рядок, щоб спочатку відредагувати команду.
Звичайно, ці два останні варіанти працюють в оболонці bash. Я не впевнений, чи працюють ці функції в інших оболонках. Але оскільки bash є оболонкою Ubuntu за замовчуванням, ви повинні їх знайти там.
Ви можете спробувати історію, схожу на "запропонувати поле" https://github.com/dvorka/hstr - вона читає історію Bash та дозволяє швидку навігацію.
history | less