Я хочу просмотреть содержимое моего файла .bash_history
, но не знаю, как туда добраться через командную строку.
Я хочу просмотреть содержимое моего файла .bash_history
, но не знаю, как туда добраться через командную строку.
Если вы хотите получить доступ к самому фактическому файлу, просто используйте свой любимый текстовый редактор (я использую emacs
, но вы можете использовать pluma
gedit
или vim
или что-то еще):
emacs ~/.bash_history
Это местоположение по умолчанию, если ваш файл истории. Если вы ничего там не найдете, возможно, вы изменили имя файла истории. Это сохраняется в переменной $HISTFILE
, поэтому распечатайте ее, чтобы проверить ее текущее значение:
echo $HISTFILE
Если вместо файла вы просто хотите просмотреть свою историю, вы можете запустить history
, как предложили @ minerz029. команда history
без параметров просто печатает содержимое вашего $HISTFILE
после командами, выполненными в текущей оболочке, которые еще не были записаны в этот файл, с номерами строк.
Если вы на самом деле нуждаетесь в файле .bash_history
, замените history
на %%_de% во всех приведенных ниже командах.
Если вам действительно нужны команды без номеров спереди, используйте эту команду вместо cat ~/.bash_history
:
history | cut -d' ' -f 4-
в противном случае разница не будет (за исключением случаев, когда вы используете другую оболочку).
Вы можете использовать
history | tail -n 15
, чтобы получить только последние 15 строк вашей истории с последним выполненным, напечатанным последним (внизу).
В качестве альтернативы используйте
history | grep "apt-get" | tail -n 15
, чтобы получить последние 15 команд, содержащих history
, с последним выполненным последним (внизу). Вы можете заменить apt-get
любой командой (или аргументом команды), которую вы хотите найти (это может быть регулярное выражение).
Вы можете использовать
history | tac | less
для прокрутки all команд, запущенных с самого последнего в верхней части. Нажмите q для выхода.
Аналогично, используйте
history | grep "apt-get" | tac | less
для прокрутки all команд, выполняемых с ними " 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 я бы ввел в терминал
[email protected]~$ !473
, а затем клавишу ввода, чтобы повторить команду, расположенную рядом с 473 в выводе истории.
Вы также можете выполнить поиск в интерактивном режиме назад в истории команд, набрав ctrl + r
keys, затем начните вводить некоторые из содержимого команды, и она будет искать и заполнять ее. Когда вы его найдете, вы можете ввести ввод, чтобы повторить его, или нажмите клавишу [tab]
, чтобы скопировать его в командную строку, чтобы сначала отредактировать команду.
Конечно, эти последние два варианта работают в оболочке bash. Я не уверен, что эти функции работают в других оболочках. Но поскольку bash является оболочкой Ubuntu по умолчанию, вы должны найти их там.