выжимка из статьи на хабре и комментариев к ней
CTRL+R — вводишь слово, с которым надо найти команду в истории. Повторные CTRL+R перебирают все команды в истории с этим словом.
CTRL+L — очистка экрана. Я обычно писал набирал clear [enter]> для этого.
CTRL+A — замена HOME, CTRL+E — end
CTRL+U — удаление текста от курсора до начала строки, CTRL+K — удаление от курсора до конца строки, CTRL+Y — вставить удаленный предыдущими примерами кусок текста, CTRL+C — удаление всей строки (обычно работает как отмена команды).
Ctrl+W удаляет слово слева от курсора, Alt+D — справа. Но удаленные слова еще и помещаются в буфер, последнее удаленное слово можно вставить начиная с текущего положения курсора по комбинации Ctrl+Y.
CTRL+T — меняет местами символ под курсором и предыдущий набранный (при опечатке вида /dev/dsa вместо /dev/sda)
^^ — нет это не смайлик. После попытки выполнить команду, набранную с ошибкой, строка вида ^ошибка^правильно запустит на выполнение исправленную команду.
# — если вместо набранной команды надо сначала выполнить другую, можно закомментировать строку и нажать [enter], впоследствии вернуться к команде в истории, раскомментировать и выполнить.
ALT+. — подставляет к текущей команде аргумент предыдущей. Например, чтобы после команды ls [длинный путь] не набирать этот путь для перехода в директорию, можно набрать cd + «Alt+.» + «ENTER»
Добавляем в ~/.inputrc строчки:
"\e[A": history-search-backward
"\e[B": history-search-forward
Теперь для поиска команды в истории достаточно ввести первые буквы и перебирать варианты стрелками вверх/вниз.
sudo !! — выполнить предыдущую команду через sudo.
Работу с хистори и настройка окружения (для постоянного использования добавить в .bashrc)
1. Ведение лога истории с datestamp'ом:
export HISTTIMEFORMAT='%F %T '
2. Занесение команды в .bash_history сразу же, после нажатия enter (а не после завершения сеанса), что весьма удобно при одновременной работе в нескольких сессиях:
PROMPT_COMMAND='history -a;history -n'
3. Удобная настройка PS1 (чтобы было видно и юзера/хост и желательно дату и время [у меня некоторые сессии висят неделями])
export PS1='\033[00;32m\][`date +%d" "%h" "%Y" "%T`] \u@\h \w\n \$\[\033[00m\] '
4. Увеличение размера хистори (при активной работе 500 — это очень мало)
export HISTSIZE=100500
5. Говорим башу не заносить в хистори повторяющиеся друг за другом команды:
export HISTCONTROL=ignoredups
6. Отключаем занесение «бесполезных» с точки зрения истории команд:
export HISTIGNORE="&:ls:[bf]g:exit:[ ]*:ssh:history"
7. Используем «сокращения» для популярных комманд:
alias u='sudo pacman -Syu'
alias extmonitor='xrandr --output VGA1 --auto --primary && xrandr --rate 72 && xrandr --output LVDS1 --off'
alias intmonitor='xrandr --output LVDS1 --auto --primary && xrandr --output VGA1 --off'
8. xdg-open filename - из консоли открыть файл в ассоциированной программе.
Можно дописать в .bashrc (или лучше в .bash_aliases)
alias x=«xdg-open»
Получаем
$ x %f
чтобы вызвать файл под курсором в mc
$ x.
чтобы открыть папку, в которой находишься