Горячие клавиши командной строки

Материал из Gentoo Linux Wiki

Перейти к: навигация, поиск
Вернуться в раздел советов

Содержание

[править] Горячие клавиши командной строки

  • <ctrl> + d

Покинуть сессию текущего пользователя. Если это последний пользователь, то вы автоматически разлогинитесь (если вы в иксах, то закроется текущее окно терминала).

  • <ctrl> + r

Обратный поиск по образцу среди введенных команд. После нажатия просто вводите команду (или ее часть). Это, так называемая, функция "search as you type" (поиск во время набора). Чтобы перейти к следующей найденными команде еще раз нажмите <ctrl>+r. Enter запустит найденную команду, Esc выйдет из поиска, поместив последнюю показанную команду в командную строку. Нажмите <ctrl>+c для того, чтобы прервать и вернуться в пустую командную строку.

  • <ctrl> + l

Очистить экран, оставив нетронутой вводимую сейчас команду.

  • <ctrl> + c

Прерывает ввод текущей команды. Удобно, если вы передумали ;)

  • <ctrl> + u

Стирает все что введено слева от текущей позиции курсора.

  • <ctrl> + k

Стирает все что введено справа от текущей позиции курсора.

  • <ctrl> + w

Стирает слово левее курсора (или начало слова до курсора, если вы в середине слова).

  • <ctrl> + t

Меняет местами символ под курсором и символ слева от него.

  • <alt> + d

Скопировать слово под курсором в буфер.

  • <ctrl> + y

Вставить содержимое буфера (смотрите <alt> + d).

  • <alt> + f

Перейти на слово вперёд.

  • <alt> + b

Перейти на слово назад.

  • <ctrl> + a

Перейти в начало

  • <ctrl> + e

Перейти в конец

  • <ctls> + /

Undo как в emacs.

Примечание: По крайней мере в rxvt-unicode работает, обратная операция (redo) мне не известна.
  • <ctrl> + s

Приостановить вывод на консоль. Процесс при этом продолжает выполняться.

  • <ctrl> + q

Продолжить вывод, остановленный с помощью <ctrl> + s

Предупреждение: При использовании консольного "менеджера окон" screen последними двумя комбинациями пользоваться не рекомендуется (будет сложно восстановить вывод, т.к. это функция управления выводом терминала), лучше воспользоваться "родной" для него комбинацией C-a + Esc и далее курсором

Если вы используете bash (насчет других шеллов, не знаю), то можете помещать задания в фон и возвращать назад:

  • <ctrl> + z

Приостановить текущий процесс и послать его в фон. Очень удобно, к примеру, при редактировании файла, если нужно выполить некототрые действия и вернуться к редактированию (чтобы вернуться, используйте команду fg).

  • fg

Продолжить выполнение команды, помещенной в фон с помощью <ctrl> + z.

  • bg

Продолжить выполнение команды в фоновом режиме. Сначала нужно поместить команду в фон с помощью <ctrl> + z

  • jobs

В случае, если вы приостановили несколько процессов, вы можете воспользоваться командой jobs, которая вернет вам пронумерованный список приостановленных процессов. Для продолжения выполнения процесса используйте команду %<№ процесса из списка>

также смотрите man jobs для более детальной информации

[править] Самая горячая в мире клавиша <tab>

Ничего, что я ее так обозвал? Тема какая: можно по этой клавише дополнять не только команды и пути. Можно дополнять ключи, опции... Всякие приятные мелочи, которые порой надоедает набирать ручками. (В контексте статьи добавлю, что <tab> = <ctrl> + i)

[править] Что нам понадобится

  • bash-completion - это, собственно то, что нам надо
  • gentoo-bashcomp - это дополнительная библиотека команд, которые используются только в gentoo (ключи emerge, esearch и т.п.). Она будет установленна автоматически вместе с bash-completion.
  • bash-completion-config - утилита для подключения библиотек. (Опционально. Тот же эффект достигается eselect_ом.)

Предлагаю для начала поставить bash-completion.

# emerge bash-completion

[править] Что теперь с этим делать

Для того что бы это всё заработало необходимо добавить в ~/.bashrc следующие строки:

[[ -f /etc/profile.d/bash-completion ]] && \
     source /etc/profile.d/bash-completion

После перезапуска bash_а всё должно работать. Для проверки наберите в консоли

# esel<tab>bash<tab>l<tab>

Если всё сработало, то должно было получится

# eselect bashcomp list

Эта команда выведет на экран список библиотек для которых можно включить bash-completion. Библиотеки для которых эта фича уже включена будут помечены звёздочкой.

О том как включить или выключить поддержку для определённой библиотеки можно узнать выполнив:

# eselect bashcomp

Так например можно включить поддержку лиспа:

# eselect bashcomp enable lisp
Личные инструменты
На других языках