Я хочу просмотреть содержимое моего .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.
Повторим: команда «history» печатает историю вместе с номером рядом с ней.
Вы можете направить вывод истории в 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
клавиши, а затем начинайте вводить часть содержимого команды, и она будет искать и заполнять ее. Когда вы нашли его, вы можете набрать его, чтобы повторить, или нажать [tab]
клавишу, чтобы скопировать его в командную строку, чтобы сначала отредактировать команду.
Конечно, эти два последних варианта работают в оболочке bash. Я не уверен, работают ли эти функции в других оболочках. Но поскольку bash является оболочкой по умолчанию в Ubuntu, вы должны найти их там.
Вы можете попробовать историю в стиле «предложить окно» https://github.com/dvorka/hstr - она читает историю Bash и обеспечивает быструю навигацию.
history | less