Давно уже подсмотрел в FreeBSD (там это было "из коробки") и всегда добавляю в стартовые скрипты пару команд. После этого можно набирать первые несколько букв и стрелками вверх/вниз перебирать только команды, начинающиеся с заданного шаблона.
bindkey -k up history-search-backward
bindkey -k down history-search-forward
Этот вариант у меня работает в .tcshrc, для других шеллов может понадобиться небольшая модификация. Например, в виндовом баше в .inputrc (по идее, то же самое должно работать в убунте):
"\e[A": history-search-backward
"\e[B": history-search-forward