Поиск по истории команд терминала Linux

Чтоб вверх не нажимать много раз можно поискать по истории команд с помощью history | grep часть_команды. Повторить команду с заданным номером можно набрав !номер.

Еще можно нажать в консоли CTRL+R и начать вводить фразу поиска, появится первый результат поиска подстроки и найти более старую команду можно нажимая CTRL+R повторно.

Еще мне очень нравится, подсмотрел в комментариях к посту про Bash в записках о Linux, если создать в корне домашней директории пользователя файл .inputrc с таким содержимым:

set show-all-if-ambiguous On
"\e[A": history-search-backward
"\e[B": history-search-forward
set completion-ignore-case On

и перезапустить терминал, то листать стрелками вверх/вниз результаты поиска в хистори по первым буквам команд можно просто набрав эти буквы. Например хотим сделать diff который делали давно, набираем di и жмём стрелку вверх.

UPD: Говорят по умолчанию запоминается 500 команд, чтобы было больше надо в ~/.bashrc вставить:

export HISTSIZE=2000
export HISTFILE=~/.bash_history

Вставил. Посмотрим.

UPD: grep забыл: history | grep часть_команды, и пробелы до/после = в .bashrc убрать нужно.

Блог: RU Linux

Сделал себе такую же штуку со стрелками. Работает. Правда, в отличие от CTRL+R - ищет только с начала команды. Ну да ладно, ведь CTRL+R тоже никто не отменял.

З.Ы. В опенСУСЕ HISTSIZE=1000 по умолчанию