Чтобы посмотреть историю вводимых команд нужно набрать в терминале history
set +o history отключить историю команд
set -o history включить историю команд
Количество хранимых команд определяется двумя переменными:
HISTSIZE (определяет количество команд, хранимых в памяти)
HISTFILESIZE (определяет количество команд, хранимых в файле)
эти переменные хранятся в файле ~/.bachrc
посмотреть значения этих переменных
echo $HISTSIZE
echo $HISTFILESIZE
history 5 посмотреть историю последних команд
history | grep install посмотреть всю историю и вывести те строки в которых есть install
history -d257 удалить команду номер 257
!! повторить последнюю выполненную команду
!-2 повторить предпоследнюю команду
!sud повторить последнюю команту имя которой начинается с sud (со всеми аргументами)
sudo !123 выполнить команду номер 123 от имени администратора
history -c очистить историю
к примеру, ранее вы выполняли команду cat /etc/X11/xorg.conf.backup | grep Driver
то чтобы выполнить ее снова, можно набрать !?xorg? (будет выполнена последняя команда c подстрокой xorg)
Поиск по истории
Ctrl-r в терминале,
Ctrl-r для следующего совпадения
Ctrl-s для передвижения в другую строну
Для некоторых терминалов Ctrl-s приводит к засыпанию.
Чтобы выйти из сна, нажмите Ctrl-q.
Чтобы отключить засыпание, есть команда: stty -ixon
Ctrl+f перемещение вправо на один символ
Ctrl+b перемещение влево на один символ
Ctrl+a (или клавиша Home) перемещение на начало строки
Ctrl+e (или клавиша End) перемещение в конец строки
Alt+f перемещение на начало предыдущего слова
Alt-b перемещение на начало последующего слова
Ctrl+d (или клавиша Delete) удаление символа, на котором стоит курсор
Ctrl+k удаление всех символов справа от курсора до конца строки с запоминанием удаленного для дальнейшего использования
Alt+d удаление символов справа от курсора до конца текущего слова с запоминанием удаленного для дальнейшего использования;
Ctrl+y вставка удаленных символов и слов, удаленных при помощи двух предыдущих комбинаций.
к примеру вы решили просмотреть файл cat /etc/X11/xorg.conf.backup
далее, выполняете что-то, и решили перейти в директорию /etc/X11
можно сделать следующее
cd !cat:$:h
!cat вернет последнюю команду cat с аргументами
:$ извлечет последний аргумент
:h извлечет путь без имени файла
:t извлекает имя файла
:r отрезать расширение. Можно указывать несколько раз, есть вы хотите отрезать несколько расширений (.tar.gz).
чтобы сохранять время выполнения каждой команды нужно добавить в файл ~/.bashrc эту строку export HISTTIMEFORMAT="%h %d %H:%M:%S "
shopt -s histappend добавлять новые команды в файл с историей, а не переписывать его каждый раз(нужно добавить в ~/.bashrc)
Чтобы мгновенно сохранять историю в файл, нужно добавить в файл ~/.bashrc,
если переменная $PROMPT_COMMAND не была задана ранее:
PROMPT_COMMAND='history -a'
Добавьте следующую строку, если переменная $PROMPT_COMMAND уже была задана:
PROMPT_COMMAND='$PROMPT_COMMAND; history -a'
Комментарии
Отправить комментарий