Оболочка bash - горячие клавиши и поиск

Не стоит удивляться тому, что в оболочке bash присутствует большой набор горячих клавиш, который может сделать вашу работу с командной строкой значительно легче. Возможность редактировать содержимое командной строки предоставляет библиотека GNU Readline. Эту библиотеку используют также некоторые другие *nix приложения, поэтому изучение предложенных ниже горячих клавиш позволит вам улучшить свою продуктивность не только в оболочке bash.

Редактирование команд bash

Ctrl + a – перейти на начало командной строки,
Ctrl + e – перейти в конец командной строки,
Ctrl + k – удалить от курсора до конца командной строки,
Ctrl + u – удалить от курсора до начала командной строки,
Ctrl + w – удалить от курсора до начала слова,
Ctrl + y – вставить слово или текст который был вырезано с использованием одного из подходящих сочетаний клавиш,
Ctrl + xx – переместиться между началом командной строки и текущим положением курсора (работает в обе стороны),
Alt + b – переместить курсор на одно слово назад (или переместиться на начало текущего слова),
Alt + f – переместиться вперен на одно слово (или к началу текущего слова),
Alt + d – удалить до конца слова начиная с текущего положения курсора (все слово, если курсор находится в его начале),
Alt + c – сделать букву заглавной и переместиться в конец слова,
Alt + u – сделать все буквы большими до конца слова,
Alt + l – сделать все буквы маленькими до конца слова,
Alt + t – поменять местами текущее слово и предыдущее,
Ctrl + f – переместиться вперед на один символ,
Ctrl + b – переместиться назад на один символ,
Ctrl + d – удалить символ под курсором,
Ctrl + h – удалить символ перед курсором,
Ctrl + t – поменять местами символ под курсором и предыдущий.

Повторный вызов команд bash

Ctrl + r – искать в истории команд,
Ctrl + g – выйти из режима поиска команд,
Ctrl + p – перейти к предыдущей команде в истории,
Ctrl + n – перейти к следующей команде в истории,
Alt + . – использовать последнее слово из предыдущей команды.

Управление работой команд bash

Ctrl + l – очистить экран,
Ctrl + s – остановить вывод на экран (для долго выполняющихся команд с расширенным выводом),
Ctrl + q – продолжить вывод на экран,
Ctrl + c – остановить работу команды,
Ctrl + z – приостановить работу команды.

Команды с восклицательным знаком (Bash Bang)

!! – выполнить предыдущую команду,
!blah – выполнить последнюю команду начинающуюся с blah (к примеру, !ls),
!blah:p – вывести в консоль текст команды, которую бы выполнила команда !blah(также добавить эту команду в конец истории),
!$ – последнее слово предыдущей команды (то же самое, что и Alt + .),
!$:p – вывести в консоль текст, который бы заменила команда !$,
!* – предыдущая команда за исключением первого слова (к примеру, если предыдущая команда была vi cd /etc, то !* выполнит cd /etc),
!*:p – вывести в консоль текс, который бы заменила команда !*.

Кроме указанного выше есть еще одна интересная штука. С помощью символов ^^ мы можем выполнить предыдущую команду с заменой части текста на другой. К примеру:

$ ps a

$ ^a^aux
ls aux

Таким образом содержимое между "крышечками" заменяется на содержимое, которое указано после них.

Конечно, bash имеет гораздо большое возможностей, чем указано выше. Но если вы освоите уже эти горячие клавиши, то ваша продуктивность в командной строке значительно возрастет.

В случае, если считаете, что я пропустил важные горячие клавиши или возможности, то делитесь ими в комментариях.

Сие опубликовал в день года в разделах shell, bash, tips, shortcuts

Наверх