Skip to content

Instantly share code, notes, and snippets.

@RANUX
Last active April 12, 2024 13:24
Show Gist options
  • Star 39 You must be signed in to star a gist
  • Fork 20 You must be signed in to fork a gist
  • Save RANUX/cb589d413687ca5bb6b69d9d2dbe7dc9 to your computer and use it in GitHub Desktop.
Save RANUX/cb589d413687ca5bb6b69d9d2dbe7dc9 to your computer and use it in GitHub Desktop.
Комбинации клавиш для Bash
##### Перемещение курсора:
Ctrl + a — переход в начало строки
Ctrl + b — переход на 1 символ назад
Ctrl + c — посылает программе SIGINT. Обычно, прерывает текущее задание
Ctrl + d — удаляет символ под курсором (аналог delete)
Ctrl + e — переход к концу строки
Ctrl + f — переход на 1 символ вперёд
Ctrl + xx — переходит от текущей позиции курса в начало строки и обратно.
Ctrl + p — Предыдущая команда (Стрелка вверх)
Ctrl + n — Следующая команда (Стрелка вниз)
Alt + b — Переместить курсор на одно слово назад (влево)
Alt + f — Переместить курсор на одно слово вперед (вправо)
Ctrl + b — Переместить курсор на один символ назад (влево)
Ctrl + f — Переместить курсор на один символ вперед (вправо)
Ctrl + xx — Переключение между началом строки и текущей позиции курсора
##### Редактирование
Ctrl + L — очищает экран. Аналог команды clear.
Alt + Del — Удалить слово перед курсором.
Alt + d — Исключить слово после курсора.
Ctrl + D — Удалить символ под курсором
Ctrl + H — Удалить символ перед курсором (Backspace)
Ctrl + Alt + H — Удаление слова перед курсором
Ctrl + W — Вырезать слово перед курсором в буфер обмена.
Ctrl + K — Вырезать строки после курсора в буфер обмена.
Ctrl + U — Вырезать / удалить все символы слева от курсора до начала строки в буфер обмена.
Alt + T — Поменять текущее слово с предыдущим
Ctrl + T — Поменять местами последние два символа перед курсором. Меняет символ под курсором на предыдущий. Или, если хотите, тянет предыдущий символ к концу строки.
Esc + T — Поменять местами последние два слова перед курсором.
Ctrl + Y — Вставить последнюю запись из буфера, которая была вырезана.
Alt + U — Возвести в ВЕРХНИЙ РЕГИСТР (прописными буквами) все символы от курсора до конца текущего слова.
Alt + L — Возвести в нижний регистр каждый символ от курсора до конца текущего слова.
Alt + C — Сделать прописным символ под курсором и перейти к концу слова.
Alt + R — Отменить изменения. Вернуть команду взятую из истории в исходное состояние.
Ctrl + _ — Отмена
Shift + PgUp / PgDown — прокрутку вверх / вниз
Ctrl + X; Ctrl + E — открывает $EDITOR для изменения введённой строки. После сохранения изменений, команда отправляется на исполнение. Если переменная не задана, то открывается системный текстовый редактор (для линукса это, зачастую, nano)
Ctrl + X @ — показывает возможные дополнения имени хоста
TAB - авто дополнение для имен файлов / каталогов
Например, чтобы перейти в каталог 'sample1', введите команду ```cd sam```, затем нажмите TAB и ENTER. Вводите только достаточное количество символов, чтобы однозначно идентифицировать каталог или программу, которую вы хотите открыть.
##### История
Ctrl + R — поиск по истории. Повторение поиска (нажмите несколько раз для листания по результам поиска).
Ctrl + P — Предыдущая команда в истории (то есть идти назад по истории команд)
Ctrl + N — Следующая команда в истории (то есть идти вперед по истории команд)
Ctrl + J — прекращает поиск и позволяет отредактировать найденную команду. Если поиск не производился, то аналогично нажатию return. (в zsh выполняет команду)
Ctrl + S — Вернуться к следующему самой последней команде. (Остерегайтесь, чтобы не выполнить его из терминала, потому что это также запустит свой XOFF).
Ctrl + Z — приостановить (suspend) текущую задачу.
Ctrl + O — Выполните команду найденную с помощью Ctrl + R или Ctrl + S
Ctrl + G — Выход из режима поиска
```history | grep regex``` — поиск в истории
!! — Выполнить еще раз последнюю команду
!! sudo — повторить последнюю команду с правами super user
!abc — Выполнить последнюю команду, имя которой начинается с abc
!abc:p — Вывести последнюю команду, имя которой начинается с abc
!$ — Последний аргумент предыдущей команды
ALT + . — Последний аргумент предыдущей команды
!* — Все аргументы предыдущей команды
^abc­^­def — Выполнить предыдущую команду, заменив abc на def
##### Управление процессом выполнения
Ctrl + C Прервать/Убить запущенное приложение (SIGINT)
Ctrl + S Остановить вывод на экран (для длительных многословных команд)
Затем используйте PgUp / PgDn для навигации
Ctrl + Q Разрешить вывод на экран (если ранее перестали использовать команду выше)
Ctrl + D Отправить EOF, если не была выключена опция, это закроет текущую оболочку (EXIT)
Ctrl + Z Послать сигнал SIGTSTP к текущей задаче, которая приостанавливает его.
Установить режим Vim в Bash:
```$ set -o vim```
Установить режим Emacs в Bash:
```$ set -o emacs```
@adlaternae
Copy link

adlaternae commented Oct 24, 2022

странная и неточная компиляция из разных источников, смешаны управляющие команды терминалов и хоткеи баша.
к примеру, в bash\sh ctrl-z посылает SIGTSTP, который приостанавливает вывод на текущий терминал, а сама задача таким образом отправляется работать как служба (daemon), вернуть задачу из бэкграунда можно командой fg

ctrl+c посылает SIGINT для прерывания работы задачи, но поведение зависит от приложения, этот сигнал может быть перехвачен в приложении. ctrl+break, как правило, не перехватывается

ctrl+q\s приостанавливает движение потоков ввода-вывода

ctrl+d посылает EOF в поток ввода, что для баш работает как Deattach, т.е. отсоединяет текущую сессию\консоль, что похоже на команду exit, но не совсем (в винде eof отправляется по ctrl+z)

и так далее ;))
опечатка, опять же: выполнить предыдущую команду с повышением прав sudo !!, а не наоборот. дополнение по табуляции не является стандартным поведением, его надо включить, для дебиана sudo aptitude install -y bash-completion

(пс: не искал этот гист специально, гитхаб показал на странице https://gist.github.com/starred)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment