Поиск по истории команд терминала 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 убрать нужно.

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

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

Post new comment

The content of this field is kept private and will not be shown publicly.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Copy the characters (all lower case) from the image.