Bash. Комбинации клавиш
Bash - это стандартная командная оболочка для большинства *nix-подобных систем. В частности, в Linux она стоит по умолчанию. Есть и другие. Но, работая в Linux, я их пока не встречал. Таким образом, открыв консоль, вы запускаете Bash. И дальше вся ваша работа происходит в Bash.
Здесь я хочу привести список стандартных комбинаций клавиш, которые помогут при работе в Bash.
Используя клавишу CTRL:
Ctrl + a - Переместиться в начало строки
Ctrl + b - На однин символ назад
Ctrl + c - Прервать выполнение программы
Ctrl + d - Удалить символ под курсором
Ctrl + e - Переместиться в конец строки
Ctrl + f - На один сивол вперед
Ctrl + k - Удалить все до конца строки
Ctrl + Y - Вставить все что было удалено с помощью Ctrl + k
Ctrl + l - Очистить экран
Ctrl + r - Поиск по истории команд, в обратном направлении
Ctrl + u - Удалить все от курсора и назад до начала строки
Ctrl + z - Приостановить/ Остановить выполнение команды
Ctr + t - Поменять местами два символа
Используя клавишу ALT:
Alt + < - Переместиться к первой строки в истории команд (history)
Alt + > - Переместиться к последней строки в истории команд (history)
Alt + ? - Само предскажет нужный файл или директории (почти как Tab)
Alt + * - Показать все возможные окончания
Alt + / - Тоже что и Tab (закончить набор команды)
Alt + . - Вставить аргумент предыдущей команды
Alt + b - Двигаться назад по одному слову
Alt + c - Изменить букву со строчной в заглавную
Alt + d - Удалить все что стоит впереди курсора, до следующего слова
Alt + f - Двигаться вперед на одно слово
Alt + l - Сделать букву строчной
Alt + n - Поиск по истории вперед
Alt + p - Поиск по истории назад
Alt + r - Отозвать команду
Alt + t - Поменять слова местами
Alt + u - Сделать все буквы слова заглавными
Alt + back-space - Удалить все от курсора назад
Используя клавишу TAB:
"2T" означает двойное нажатие TAB
$ 2T - Показать все возможные команды
$ (string)2T - Показать все возможные команды, которые начинаются со string
$ /2T - Показать структуру папки /, включая скрытые папки и файлы (как ls -a)
$ *2T - Показать все поддиректории (без скрытых)
$ ~2T - Показать всех пользователей с "/etc/passwd"
$ $2T - Показать все системные переменные
$ @2T - Содержимое "/etc/hosts"
$ !# Повторить команду с истории, где # номер строки
Перевод статьи с http://linuxhelp.blogspot.com.
12 коммент.:
Вообще-то, это не комбинации bash. Это комбинации GNU Readline Library.
Точнее, дефолтные комбинации этой библиотеки.
С помощью файла ~/.inputrc можно тонко настроить библиотеку.
Да, вообще-то не клавиша Alt, а клавиша Meta, просто на современных клавиатурах в качестве Meta используется Alt.
Опять же, это настраивается с помощью xmodmap.
Кстати, есть два режима редактирования - vi и emacs, по-умолчанию, emacs.
Даже названия функций типично емаксовкие, например, M-. звучит как "yank-last-arg"
В терминологии emacs вместо "вставить" употребляется "yank".
За более подробной информацией
info Readline
Ctrl + ? = стирание символа (помогает, когда не работает Escape). Про bash уже Роман сказал. А умолчальгные настройки лежат, кажется, в /etc/inputrc. И по тому же умолчанию у меня не работает Alt + любая буква =)
P.S. а сюда нельзя постить, если зареген на Блоггере, а не Блоггере-бета?
>P.S. а сюда нельзя постить, если зареген >на Блоггере, а не Блоггере-бета?
Вроде можно.
Что еще могу добавить? Спасибо за хорошие комментарии. О клавише Meta только читал. В живую я ее никогда не видел. Действительно, все что касается ALT это от Meta. Поэтому, можно использовать не ALT, а Esc. Но мне это не удобно. Emacs не использую.
info Readline
Будем больше знать :)
В статье надо бы упомянуть, что вместо Alt-буква можно юзать Esc, буква, т.к. на половине терминалов Alt-буква не работает.
За за метку автору спасибо, но хочу внести небольшую поправку: что бы не в водить в заблуждение тех кто не очень в курсе, автору бы желательно поправить коментарий о самом bash. Он НЕ является стандартным для unix-подобных систем. Он является стандартым именно для linux. Другие же unix-подобные системы используют csh (для freebsd, точнее tcsh, csh там просто хардлинком), netbsd - csh. unix-ы в чистом виде чаще всего используют sh, solaris - ksh.
ОК. Всем спасибо за комментарии. На счет Alt и Esk, я в комментарии объяснил. В большинстве случаев это одно и тоже. Если не работает Alt, надо попробовать Esk, или изменить настройки, как написал roman lagunov. На счет bash, tcsh, csh, ksh - извините за невежество. Обещаю со всем разобраться. Еще раз спасибо за комментарии.
>Ctrl + d - удалить символ под курсором
При пустой строке это сообщение, что с stdinput ввода больше не будет; эквивалентно выходу из терминала командой exit. В отличие от ^C процесс не прерывается аварийно, а завершается
Router said
>Ctrl + d - удалить символ под курсором
При пустой строке это сообщение, что с stdinput ввода больше не будет; эквивалентно выходу из терминала командой exit
Спасибо. Никогда не пробовал.
Автору спасибо. Распечатаю на листик и дома рядом с компом положу :) На первое время пока не выучится - самое то
Хорошая идея с распечатыванием :)
Вобще-то документ man bash обязателен к прочтению! Появиться повод еще не один пост написать
Отправить комментарий